From 3eb38d67f2426e86febc0263fb14a95f94d750f2 Mon Sep 17 00:00:00 2001 From: OusmBlueNinja <89956790+OusmBlueNinja@users.noreply.github.com> Date: Sat, 10 May 2025 13:24:53 -0500 Subject: [PATCH] started on scenes in Projects --- imgui.ini | 40 +++++++++++------------ remake/build.log | 2 +- src/src/core/functions/ProjectManager.cpp | 14 +++++++- src/src/core/functions/ProjectManager.h | 2 ++ 4 files changed, 36 insertions(+), 22 deletions(-) diff --git a/imgui.ini b/imgui.ini index 40efe1d..5024d2b 100644 --- a/imgui.ini +++ b/imgui.ini @@ -10,24 +10,24 @@ Collapsed=1 [Window][WindowOverViewport_11111111] Pos=0,19 -Size=1280,701 +Size=32,32 Collapsed=0 [Window][Inspector] -Pos=913,19 -Size=367,163 +Pos=25,19 +Size=7,11 Collapsed=0 DockId=0x0000001B,0 [Window][Scene Tree] Pos=0,19 -Size=341,268 +Size=15,15 Collapsed=0 DockId=0x0000000F,0 [Window][Viewport] -Pos=343,19 -Size=568,202 +Pos=17,19 +Size=6,15 Collapsed=0 DockId=0x00000017,0 @@ -36,14 +36,14 @@ Size=1280,19 Collapsed=0 [Window][Performance Info] -Pos=1107,223 -Size=173,268 +Pos=30,36 +Size=4,7 Collapsed=0 DockId=0x00000019,0 [Window][Console] -Pos=343,223 -Size=716,497 +Pos=17,36 +Size=8,15 Collapsed=0 DockId=0x00000013,0 @@ -78,8 +78,8 @@ Collapsed=0 DockId=0x00000015,1 [Window][Color Correction] -Pos=1107,493 -Size=173,227 +Pos=30,45 +Size=4,7 Collapsed=0 DockId=0x0000001A,0 @@ -113,8 +113,8 @@ Collapsed=0 DockId=0x0000000E,0 [Window][Audio Output] -Pos=1061,223 -Size=44,497 +Pos=27,36 +Size=4,15 Collapsed=0 DockId=0x00000012,0 @@ -125,8 +125,8 @@ Collapsed=0 DockId=0x0000000D,0 [Window][Resources] -Pos=0,289 -Size=341,431 +Pos=0,36 +Size=15,15 Collapsed=0 DockId=0x00000010,0 @@ -136,8 +136,8 @@ Size=550,695 Collapsed=0 [Window][Lua Globals] -Pos=913,184 -Size=367,37 +Pos=25,32 +Size=7,7 Collapsed=0 DockId=0x0000001C,0 @@ -181,7 +181,7 @@ Column 1 Width=86 Column 2 Weight=1.0000 [Docking][Data] -DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1280,701 Split=X +DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=32,32 Split=X DockNode ID=0x00000005 Parent=0x11111111 SizeRef=989,1158 Split=X DockNode ID=0x00000001 Parent=0x00000005 SizeRef=341,701 Split=Y Selected=0x12EF0F59 DockNode ID=0x00000003 Parent=0x00000001 SizeRef=342,637 Split=Y Selected=0x12EF0F59 @@ -197,7 +197,7 @@ DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1280,701 Spl DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,497 Split=X Selected=0xEA83D666 DockNode ID=0x00000015 Parent=0x00000008 SizeRef=1283,172 Split=X Selected=0xEA83D666 DockNode ID=0x00000011 Parent=0x00000015 SizeRef=1206,168 Split=Y Selected=0x9B5D3198 - DockNode ID=0x00000013 Parent=0x00000011 SizeRef=1449,273 Selected=0xEA83D666 + DockNode ID=0x00000013 Parent=0x00000011 SizeRef=1449,273 HiddenTabBar=1 Selected=0xEA83D666 DockNode ID=0x00000014 Parent=0x00000011 SizeRef=1449,222 HiddenTabBar=1 Selected=0x9B5D3198 DockNode ID=0x00000012 Parent=0x00000015 SizeRef=75,168 HiddenTabBar=1 Selected=0x56009A08 DockNode ID=0x00000016 Parent=0x00000008 SizeRef=292,172 Split=Y Selected=0x3FC1A724 diff --git a/remake/build.log b/remake/build.log index d5eb900..33933f0 100644 --- a/remake/build.log +++ b/remake/build.log @@ -1,2 +1,2 @@ -[COMPILE] g++ -std=c++20 -Wall -g -DGLM_ENABLE_EXPERIMENTAL -O2 -static -static-libstdc++ -static-libgcc -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\core\utils\Logging.cpp -o src\build\core\utils\Logging.o +[COMPILE] g++ -std=c++20 -Wall -g -DGLM_ENABLE_EXPERIMENTAL -O2 -static -static-libstdc++ -static-libgcc -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\functions\ProjectManager.cpp -o src\build\core\functions\ProjectManager.o [LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\AnimationComponent.o src\build\Components\AudioPlayerComponent.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\ParticleComponent.o src\build\Components\PathFollowerComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\core\audio\AudioEngine.o src\build\core\functions\Prefab.o src\build\core\functions\ProjectManager.o src\build\core\functions\ScenePacker.o src\build\core\scripts\LuaGlobalBridge.o src\build\core\scripts\ScriptCore.o src\build\core\utils\AssetManager.o src\build\core\utils\EngineConfig.o src\build\core\utils\ExceptionHandler.o src\build\core\utils\FileDialog.o src\build\core\utils\input.o src\build\core\utils\LoadingWindow.o src\build\core\utils\Logging.o src\build\core\utils\Popup.o src\build\core\utils\Profiler.o src\build\core\utils\Texture.o src\build\core\utils\utils.o src\build\editor\utils\Themes.o src\build\editor\windows\AssetBrowser.o src\build\editor\windows\AudioInfo.o src\build\editor\windows\Inspector.o src\build\editor\windows\LuaGlobals.o src\build\editor\windows\SceneTree.o src\build\Entitys\Object.o src\build\utils\GameObjectsList.o src\build\utils\Shader.o src\build\utils\UID.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o src\build\xxhash.o src\build\miniaudio.o src\build\ImGuizmo.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto -ldbghelp -lz -lfreetype diff --git a/src/src/core/functions/ProjectManager.cpp b/src/src/core/functions/ProjectManager.cpp index 0864ce4..9311a7a 100644 --- a/src/src/core/functions/ProjectManager.cpp +++ b/src/src/core/functions/ProjectManager.cpp @@ -12,12 +12,15 @@ namespace fs = std::filesystem; std::string ProjectManager::s_currentProjectPath; std::string ProjectManager::s_currentProjectName; +std::string ProjectManager::s_defaultScene; + bool ProjectManager::Init() { s_currentProjectPath.clear(); s_currentProjectName.clear(); - Logger::LogOk("Project Core initialized"); + s_defaultScene.clear(); + Logger::LogOk("Project Core"); return true; } @@ -46,6 +49,8 @@ bool ProjectManager::LoadProject(const std::string& projectPath, std::string savedName = config["Name"].as(projectName); std::string createdDate = config["CreatedDate"].as("unknown"); + std::string s_defaultScene = config["s_defaultScene"].as("s_defaultScene"); + Logger::LogInfo("Loaded project '%s' at '%s' (created %s)", savedName.c_str(), @@ -60,6 +65,11 @@ bool ProjectManager::LoadProject(const std::string& projectPath, if (ec) Logger::LogError("Could not ensure Prefabs dir: %s", ec.message().c_str()); + + fs::create_directories(baseDir / "Assets" / "Scenes", ec); + if (ec) + Logger::LogError("Could not ensure Scenes dir: %s", + ec.message().c_str()); return true; } @@ -82,6 +92,8 @@ bool ProjectManager::SaveProject(const std::string& projectPath, out << YAML::BeginMap; out << YAML::Key << "Name" << YAML::Value << projectName; out << YAML::Key << "EngineVersion" << YAML::Value << g_engineConfig.version; + out << YAML::Key << "s_defaultScene" << YAML::Value << s_defaultScene; + auto now = std::chrono::system_clock::now(); auto t = std::chrono::system_clock::to_time_t(now); diff --git a/src/src/core/functions/ProjectManager.h b/src/src/core/functions/ProjectManager.h index 504670a..5180116 100644 --- a/src/src/core/functions/ProjectManager.h +++ b/src/src/core/functions/ProjectManager.h @@ -26,4 +26,6 @@ public: private: static std::string s_currentProjectPath; static std::string s_currentProjectName; + static std::string s_defaultScene; + };