diff --git a/.gitmodules b/.gitmodules index 8b95c0b..e76a0bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "CMake"] - path = submodules/CMake - url = https://github.com/QuasarApp/CMake.git -[submodule "submodules/CMake"] - path = submodules/CMake - url = https://github.com/QuasarApp/CMake.git +[submodule "submodules/QuasarAppLib"] + path = submodules/QuasarAppLib + url = https://github.com/QuasarApp/QuasarAppLib.git diff --git a/CMakeLists.txt b/CMakeLists.txt index d34f083..a7dfeaa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,7 +27,7 @@ endif() find_package(Qt6 COMPONENTS Core REQUIRED) find_package(Qt6 COMPONENTS Test QUIET) -include(submodules/CMake/QuasarApp.cmake) +include(submodules/QuasarAppLib/CMake/QuasarApp.cmake) updateGitVars() set(BUTTERFLY_ENGINE_VERSION "0.${GIT_COMMIT_COUNT}.${GIT_COMMIT_HASH}") @@ -35,18 +35,15 @@ set(BUTTERFLY_ENGINE_VERSION "0.${GIT_COMMIT_COUNT}.${GIT_COMMIT_HASH}") option(BUTTERFLY_ENGINE_TESTS "This option disables or enables tests of the ${PROJECT_NAME} project" ON) option(BUTTERFLY_ENGINE_EXAMPLE "This option disables or enables example app of the ${PROJECT_NAME} project" ON) -if (ANDROID OR IOS OR NOT QT_VERSION_MAJOR OR QA_WASM32) +if (ANDROID OR IOS OR QA_WASM32) set(BUTTERFLY_ENGINE_TESTS OFF CACHE BOOL "This option force disbled for ANDROID IOS QA_WASM32 and Not Qt projects" FORCE) endif() -if (NOT QT_VERSION_MAJOR) - set(BUTTERFLY_ENGINE_EXAMPLE OFF CACHE BOOL "This option force disbled for Not Qt projects" FORCE) -endif() - make_directory(Distro) initAll() +add_subdirectory(submodules/QuasarAppLib) add_subdirectory(src/engine) if (DEFINED BUTTERFLY_ENGINE_EXAMPLE) diff --git a/src/engine/ButterflyEngine.qrc b/src/engine/ButterflyEngine.qrc index b8f2469..8edcf34 100644 --- a/src/engine/ButterflyEngine.qrc +++ b/src/engine/ButterflyEngine.qrc @@ -1,31 +1,28 @@ - CrawlModule/qmldir - CrawlModule/Crawl.qml - CrawlModule/GraphicItem.qml - CrawlModule/MainMenu.qml - CrawlModule/MainMenuButton.qml - CrawlModule/Metrix.qml - CrawlModule/PagePopUp.qml - CrawlModule/Scene.qml - CrawlModule/SettingsView.qml - CrawlModule/SnakeItem.qml - CrawlModule/DefaultMenu.qml - CrawlModule/AbstractMenuView.qml - CrawlModule/Light.qml - CrawlModule/DayLight.qml - CrawlModule/particles/ParticleEffect.qml - CrawlModule/particles/CrawlVectorDirection.qml - CrawlModule/particles/CrawlTargetDirection.qml - CrawlModule/particles/FireParticel.qml - CrawlCoreAssets/particles/fireColorTable.png - CrawlCoreAssets/particles/sphere.png - CrawlCoreAssets/particles/smokeSprite.png - CrawlModule/particles/Fire.qml - CrawlModule/particles/Wint.qml - CrawlModule/PreviewControl.qml - CrawlModule/StoreView.qml - CrawlModule/SelectLevelView.qml + src/ButterflyEngineModule/qmldir + src/ButterflyEngineModule/Crawl.qml + src/ButterflyEngineModule/GraphicItem.qml + src/ButterflyEngineModule/MainMenu.qml + src/ButterflyEngineModule/MainMenuButton.qml + src/ButterflyEngineModule/Metrix.qml + src/ButterflyEngineModule/PagePopUp.qml + src/ButterflyEngineModule/Scene.qml + src/ButterflyEngineModule/SettingsView.qml + src/ButterflyEngineModule/SnakeItem.qml + src/ButterflyEngineModule/DefaultMenu.qml + src/ButterflyEngineModule/AbstractMenuView.qml + src/ButterflyEngineModule/Light.qml + src/ButterflyEngineModule/DayLight.qml + src/ButterflyEngineModule/particles/ParticleEffect.qml + src/ButterflyEngineModule/particles/CrawlVectorDirection.qml + src/ButterflyEngineModule/particles/CrawlTargetDirection.qml + src/ButterflyEngineModule/particles/FireParticel.qml + src/ButterflyEngineModule/particles/Fire.qml + src/ButterflyEngineModule/particles/Wint.qml + src/ButterflyEngineModule/PreviewControl.qml + src/ButterflyEngineModule/StoreView.qml + src/ButterflyEngineModule/SelectLevelView.qml languages/en.qm diff --git a/src/engine/CMakeLists.txt b/src/engine/CMakeLists.txt index ca8451a..1bb142e 100644 --- a/src/engine/CMakeLists.txt +++ b/src/engine/CMakeLists.txt @@ -13,24 +13,18 @@ add_definitions(-DBUTTERFLY_ENGINE_LIBRARY) file(GLOB_RECURSE SOURCE_CPP "src/*.cpp" "src/*.h" + "*.qrc" ) -if (${QT_VERSION_MAJOR}) - file(GLOB_RECURSE SOURCE_QRC - "*.qrc" - ) - -endif() - set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/public") set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/private") -add_library(${CURRENT_PROJECT} ${SOURCE_CPP} ${SOURCE_QRC}) +add_library(${CURRENT_PROJECT} ${SOURCE_CPP} ) + +find_package(Qt6 COMPONENTS Quick REQUIRED) +target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt6::Core Qt6::Quick QuasarApp) -if (${QT_VERSION_MAJOR}) - target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt${QT_VERSION_MAJOR}::Core ) -endif() target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR}) target_include_directories(${CURRENT_PROJECT} PRIVATE ${PRIVATE_INCUDE_DIR}) diff --git a/src/engine/src/private/engine.cpp b/src/engine/src/private/engine.cpp index e1afd8e..c1868d9 100644 --- a/src/engine/src/private/engine.cpp +++ b/src/engine/src/private/engine.cpp @@ -5,9 +5,7 @@ //# of this license document, but changing it is not allowed. //# -#include "availablelevelsmodel.h" #include "engine.h" -#include "mainmenumodel.h" #include #include @@ -25,7 +23,6 @@ namespace ButterflyEngine { Engine::Engine(QObject *parent): QObject(parent) { _store = new Store(); - _menu = new MainMenuModel(); setNewUser(new User()); @@ -40,7 +37,6 @@ Engine::~Engine() { _availableLvls.clear(); - delete _menu; delete _currentUser; } @@ -70,8 +66,7 @@ void Engine::setLevel(ILevel *world) { } if (!_currentLevel->world()) { - QuasarAppUtils::Params::log("Failed to init world. The World Object is null: " + - _currentLevel->world()->itemName(), + QuasarAppUtils::Params::log("Failed to init world. The World Object is null: ", QuasarAppUtils::Error); _currentLevel = nullptr; diff --git a/src/engine/src/private/engine.h b/src/engine/src/private/engine.h index 868eb2e..9465657 100644 --- a/src/engine/src/private/engine.h +++ b/src/engine/src/private/engine.h @@ -11,8 +11,8 @@ #include #include #include -#include -#include +#include +#include namespace ButterflyEngine { @@ -20,8 +20,6 @@ class IWorld; class Store; class StartData; class User; -class StoreViewModel; -class MainMenuModel; /** * @brief The Engine class @@ -172,8 +170,6 @@ private: ILevel* _currentLevel = nullptr; QHash _availableLvls; - MainMenuModel *_menu = nullptr; - User *_currentUser = nullptr; Store *_store = nullptr; }; diff --git a/src/engine/src/public/ButterflyEngine/components/claster.h b/src/engine/src/public/ButterflyEngine/components/claster.h index ee732ec..66cf4c8 100644 --- a/src/engine/src/public/ButterflyEngine/components/claster.h +++ b/src/engine/src/public/ButterflyEngine/components/claster.h @@ -8,7 +8,7 @@ #ifndef CLASTER_H #define CLASTER_H -#include "Crawl/iworlditem.h" +#include "ButterflyEngine/interfaces/iworlditem.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/core/player.h b/src/engine/src/public/ButterflyEngine/core/player.h index e9ba490..eaddc3c 100644 --- a/src/engine/src/public/ButterflyEngine/core/player.h +++ b/src/engine/src/public/ButterflyEngine/core/player.h @@ -9,7 +9,7 @@ #ifndef PLAYER_H #define PLAYER_H -#include "icontrol.h" +#include "ButterflyEngine/interfaces/icontrol.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/global.h b/src/engine/src/public/ButterflyEngine/global.h index ddfaa65..4e83ffd 100644 --- a/src/engine/src/public/ButterflyEngine/global.h +++ b/src/engine/src/public/ButterflyEngine/global.h @@ -10,7 +10,7 @@ #include -#define BUTTERFLY_ENGINE_VERSION "0.4.d1c1d18" +#define BUTTERFLY_ENGINE_VERSION "0.5.dcf74f0" #if defined(BUTTERFLY_ENGINE_LIBRARY) # define BUTTERFLY_ENGINE_EXPORT Q_DECL_EXPORT diff --git a/src/engine/src/public/ButterflyEngine/interfaces/iai.h b/src/engine/src/public/ButterflyEngine/interfaces/iai.h index a806e62..a17de11 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/iai.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/iai.h @@ -8,7 +8,7 @@ #ifndef IAI_H #define IAI_H -#include "global.h" +#include "ButterflyEngine/global.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/interfaces/icontrol.h b/src/engine/src/public/ButterflyEngine/interfaces/icontrol.h index b7bdb21..7909cae 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/icontrol.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/icontrol.h @@ -9,7 +9,7 @@ #define CRAWL_ICONTROL_H #include -#include "global.h" +#include "ButterflyEngine/global.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/interfaces/iitem.h b/src/engine/src/public/ButterflyEngine/interfaces/iitem.h index 1eacc4b..34c7e54 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/iitem.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/iitem.h @@ -12,7 +12,7 @@ #include #include #include -#include "global.h" +#include "ButterflyEngine/global.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/interfaces/ilevel.h b/src/engine/src/public/ButterflyEngine/interfaces/ilevel.h index 4fe86d9..b2658bf 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/ilevel.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/ilevel.h @@ -5,11 +5,13 @@ //# of this license document, but changing it is not allowed. //# -#include #ifndef LEVEL_H #define LEVEL_H +#include "ButterflyEngine/global.h" +#include + namespace ButterflyEngine { @@ -22,7 +24,7 @@ class IPreviewScaneWorld; * All levels libraries should be override this interface. * */ -class ILevel +class BUTTERFLY_ENGINE_EXPORT ILevel { public: ILevel() = default; diff --git a/src/engine/src/public/ButterflyEngine/interfaces/ipreviewscaneworld.h b/src/engine/src/public/ButterflyEngine/interfaces/ipreviewscaneworld.h index c8c198d..47a41f7 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/ipreviewscaneworld.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/ipreviewscaneworld.h @@ -8,7 +8,7 @@ #ifndef IPREVIEWSCANEWORLD_H #define IPREVIEWSCANEWORLD_H -#include "iworld.h" +#include "ButterflyEngine/interfaces/iworld.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/interfaces/irender.h b/src/engine/src/public/ButterflyEngine/interfaces/irender.h index de30bb0..1d6dd45 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/irender.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/irender.h @@ -8,7 +8,7 @@ #ifndef IRENDER_H #define IRENDER_H -#include "global.h" +#include "ButterflyEngine/global.h" #include "quasarapp.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/interfaces/iworld.h b/src/engine/src/public/ButterflyEngine/interfaces/iworld.h index b4c9e21..ff60231 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/iworld.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/iworld.h @@ -8,7 +8,7 @@ #ifndef CRAWL_IWORLD_H #define CRAWL_IWORLD_H -#include "gameresult.h" +#include "ButterflyEngine/core/gameresult.h" #include "iitem.h" #include "playableobject.h" #include "startdata.h" diff --git a/src/engine/src/public/ButterflyEngine/interfaces/iworlditem.h b/src/engine/src/public/ButterflyEngine/interfaces/iworlditem.h index e9c3a7a..fe7c7d0 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/iworlditem.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/iworlditem.h @@ -8,7 +8,7 @@ #ifndef IWORLDITEM_H #define IWORLDITEM_H -#include +#include #include "global.h" namespace ButterflyEngine { diff --git a/src/engine/src/public/ButterflyEngine/interfaces/iworldlight.h b/src/engine/src/public/ButterflyEngine/interfaces/iworldlight.h index cc28db9..57ccc2b 100644 --- a/src/engine/src/public/ButterflyEngine/interfaces/iworldlight.h +++ b/src/engine/src/public/ButterflyEngine/interfaces/iworldlight.h @@ -5,7 +5,7 @@ //# of this license document, but changing it is not allowed. //# -#include "clasteritem.h" +#include "ButterflyEngine/core/clasteritem.h" #ifndef IWORLDLIGHT_H #define IWORLDLIGHT_H diff --git a/src/example/CMakeLists.txt b/src/example/CMakeLists.txt index 3ebd939..9317cc9 100644 --- a/src/example/CMakeLists.txt +++ b/src/example/CMakeLists.txt @@ -30,6 +30,8 @@ updateGitVars() qt_add_executable(${CURRENT_PROJECT} ${ALL_SOURCES}) +find_package(Qt6 COMPONENTS Quick REQUIRED) + target_link_libraries(${CURRENT_PROJECT} PUBLIC ${PROJECT_NAME}Engine) target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR}) diff --git a/src/example/Deploy/ButterflyEngine.json b/src/example/Deploy/ButterflyEngine.json index 44c5c3d..5897a56 100644 --- a/src/example/Deploy/ButterflyEngine.json +++ b/src/example/Deploy/ButterflyEngine.json @@ -4,11 +4,11 @@ "src/build/Debug/ButterflyEngineEaxample.exe" ], "clear": true, - "binPrefix": "/media/D/builds/build-ButterflyEngine-Desktop_Qt_6_5_2_GCC_64bit-Debug", + "binPrefix": "/home/andrei/git/build-ButterflyEngine-Desktop_Qt_6_5_2_GCC_64bit-Debug", "libDir": [ - "/media/D/builds/ButterflyEngine", + "/home/andrei/git/ButterflyEngine", "/home/andrei/Qt/6.5.2/gcc_64", - "/media/D/builds/build-ButterflyEngine-Desktop_Qt_6_5_2_GCC_64bit-Debug" + "/home/andrei/git/build-ButterflyEngine-Desktop_Qt_6_5_2_GCC_64bit-Debug" ], "recursiveDepth": "10", "deploySystem": false, @@ -17,11 +17,11 @@ "qif": true, "zip": true, "ignoreEnv": [ - "/media/D/builds/ButterflyEngine/Distro" + "/home/andrei/git/ButterflyEngine/Distro" ], "extraLib": "crypto", - "targetDir": "/media/D/builds/ButterflyEngine/Distro", - "deployVersion": "0.4.d1c1d18", + "targetDir": "/home/andrei/git/ButterflyEngine/Distro", + "deployVersion": "0.5.dcf74f0", } diff --git a/src/engine/src/private/asyncimageresponse.cpp b/src/example/src/asyncimageresponse.cpp similarity index 100% rename from src/engine/src/private/asyncimageresponse.cpp rename to src/example/src/asyncimageresponse.cpp diff --git a/src/engine/src/private/asyncimageresponse.h b/src/example/src/asyncimageresponse.h similarity index 100% rename from src/engine/src/private/asyncimageresponse.h rename to src/example/src/asyncimageresponse.h diff --git a/src/engine/src/private/availablelevelsmodel.cpp b/src/example/src/availablelevelsmodel.cpp similarity index 100% rename from src/engine/src/private/availablelevelsmodel.cpp rename to src/example/src/availablelevelsmodel.cpp diff --git a/src/engine/src/private/availablelevelsmodel.h b/src/example/src/availablelevelsmodel.h similarity index 100% rename from src/engine/src/private/availablelevelsmodel.h rename to src/example/src/availablelevelsmodel.h diff --git a/src/engine/src/private/baseuserlistmodel.cpp b/src/example/src/baseuserlistmodel.cpp similarity index 100% rename from src/engine/src/private/baseuserlistmodel.cpp rename to src/example/src/baseuserlistmodel.cpp diff --git a/src/engine/src/private/baseuserlistmodel.h b/src/example/src/baseuserlistmodel.h similarity index 100% rename from src/engine/src/private/baseuserlistmodel.h rename to src/example/src/baseuserlistmodel.h diff --git a/src/engine/src/private/defaultbackgroundai.cpp b/src/example/src/defaultbackgroundai.cpp similarity index 100% rename from src/engine/src/private/defaultbackgroundai.cpp rename to src/example/src/defaultbackgroundai.cpp diff --git a/src/engine/src/private/defaultbackgroundai.h b/src/example/src/defaultbackgroundai.h similarity index 88% rename from src/engine/src/private/defaultbackgroundai.h rename to src/example/src/defaultbackgroundai.h index b9cd662..4b85322 100644 --- a/src/engine/src/private/defaultbackgroundai.h +++ b/src/example/src/defaultbackgroundai.h @@ -8,8 +8,8 @@ #ifndef DEFAULTBACKGROUNDAI_H #define DEFAULTBACKGROUNDAI_H -#include "Crawl/defaultcontrol.h" -#include +#include "ButterflyEngine/core/defaultcontrol.h" +#include class QTimer; namespace ButterflyEngine { diff --git a/src/engine/src/private/imageprovider.cpp b/src/example/src/imageprovider.cpp similarity index 100% rename from src/engine/src/private/imageprovider.cpp rename to src/example/src/imageprovider.cpp diff --git a/src/engine/src/private/imageprovider.h b/src/example/src/imageprovider.h similarity index 100% rename from src/engine/src/private/imageprovider.h rename to src/example/src/imageprovider.h diff --git a/src/example/main.cpp b/src/example/src/main.cpp similarity index 100% rename from src/example/main.cpp rename to src/example/src/main.cpp diff --git a/src/engine/src/private/mainmenumodel.cpp b/src/example/src/mainmenumodel.cpp similarity index 96% rename from src/engine/src/private/mainmenumodel.cpp rename to src/example/src/mainmenumodel.cpp index 86076be..9dac12e 100644 --- a/src/engine/src/private/mainmenumodel.cpp +++ b/src/example/src/mainmenumodel.cpp @@ -5,7 +5,7 @@ //# of this license document, but changing it is not allowed. //# -#include +#include #include "availablelevelsmodel.h" #include "mainmenumodel.h" #include "settingsviewmodel.h" diff --git a/src/engine/src/private/mainmenumodel.h b/src/example/src/mainmenumodel.h similarity index 100% rename from src/engine/src/private/mainmenumodel.h rename to src/example/src/mainmenumodel.h diff --git a/src/engine/src/private/settingsviewmodel.cpp b/src/example/src/settingsviewmodel.cpp similarity index 100% rename from src/engine/src/private/settingsviewmodel.cpp rename to src/example/src/settingsviewmodel.cpp diff --git a/src/engine/src/private/settingsviewmodel.h b/src/example/src/settingsviewmodel.h similarity index 100% rename from src/engine/src/private/settingsviewmodel.h rename to src/example/src/settingsviewmodel.h diff --git a/src/engine/src/private/storeviewmodel.cpp b/src/example/src/storeviewmodel.cpp similarity index 100% rename from src/engine/src/private/storeviewmodel.cpp rename to src/example/src/storeviewmodel.cpp diff --git a/src/engine/src/private/storeviewmodel.h b/src/example/src/storeviewmodel.h similarity index 100% rename from src/engine/src/private/storeviewmodel.h rename to src/example/src/storeviewmodel.h diff --git a/submodules/CMake b/submodules/CMake deleted file mode 160000 index 3b89e31..0000000 --- a/submodules/CMake +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3b89e311c350868cead4bf2a36fd557989716043 diff --git a/submodules/QuasarAppLib b/submodules/QuasarAppLib new file mode 160000 index 0000000..53a6770 --- /dev/null +++ b/submodules/QuasarAppLib @@ -0,0 +1 @@ +Subproject commit 53a67709ff90b544036cb90edbfe8cb1ded6dc0b