From 33d49b43c3d10bddf7da7fafccfc55419ff025ae Mon Sep 17 00:00:00 2001 From: OusmBlueNinja <89956790+OusmBlueNinja@users.noreply.github.com> Date: Thu, 24 Apr 2025 21:08:05 -0500 Subject: [PATCH] trying so hard, yet nothing --- imgui.ini | 26 +++--- remake/build.log | 107 +++++++++++++++++++++++- src/assets/scenes/TilemapTest.cene | 38 +++++---- src/src/Components/TilemapComponent.cpp | 8 +- src/src/Components/TilemapComponent.h | 3 +- src/src/Engine.cpp | 7 +- src/src/Renderer.cpp | 70 ++++++++++++---- src/src/core/utils/TextureAtlas.h | 82 ++++++++++++------ src/src/editor/windows/Inspector.cpp | 4 +- 9 files changed, 268 insertions(+), 77 deletions(-) diff --git a/imgui.ini b/imgui.ini index f2138cf..44948da 100644 --- a/imgui.ini +++ b/imgui.ini @@ -14,8 +14,8 @@ Size=1280,701 Collapsed=0 [Window][Inspector] -Pos=772,19 -Size=508,701 +Pos=979,19 +Size=301,701 Collapsed=0 DockId=0x00000006,0 @@ -27,7 +27,7 @@ DockId=0x00000003,0 [Window][Viewport] Pos=344,19 -Size=426,390 +Size=633,390 Collapsed=0 DockId=0x00000007,0 @@ -37,13 +37,13 @@ Collapsed=0 [Window][Performance Info] Pos=344,411 -Size=426,309 +Size=633,309 Collapsed=0 -DockId=0x00000008,3 +DockId=0x00000008,2 [Window][Console] Pos=344,411 -Size=426,309 +Size=633,309 Collapsed=0 DockId=0x00000008,0 @@ -54,8 +54,8 @@ Collapsed=0 DockId=0x00000007,1 [Window][Profiler] -Pos=344,411 -Size=426,309 +Pos=344,868 +Size=1113,309 Collapsed=0 DockId=0x00000008,2 @@ -79,7 +79,7 @@ DockId=0x00000008,1 [Window][Color Correction] Pos=344,411 -Size=426,309 +Size=633,309 Collapsed=0 DockId=0x00000008,1 @@ -96,12 +96,12 @@ Collapsed=0 [Docking][Data] DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1280,701 Split=X - DockNode ID=0x00000005 Parent=0x11111111 SizeRef=1410,1158 Split=X + DockNode ID=0x00000005 Parent=0x11111111 SizeRef=977,1158 Split=X DockNode ID=0x00000001 Parent=0x00000005 SizeRef=342,701 Split=Y Selected=0x12EF0F59 DockNode ID=0x00000003 Parent=0x00000001 SizeRef=342,575 HiddenTabBar=1 Selected=0x12EF0F59 DockNode ID=0x00000004 Parent=0x00000001 SizeRef=342,581 HiddenTabBar=1 Selected=0x36AF052B - DockNode ID=0x00000002 Parent=0x00000005 SizeRef=1066,701 Split=Y Selected=0xC450F867 + DockNode ID=0x00000002 Parent=0x00000005 SizeRef=633,701 Split=Y Selected=0xC450F867 DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,847 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867 - DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,309 Selected=0x9B5D3198 - DockNode ID=0x00000006 Parent=0x11111111 SizeRef=508,1158 HiddenTabBar=1 Selected=0x36DC96AB + DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,309 Selected=0xA873C17F + DockNode ID=0x00000006 Parent=0x11111111 SizeRef=301,1158 HiddenTabBar=1 Selected=0x36DC96AB diff --git a/remake/build.log b/remake/build.log index 081a50b..ab8c037 100644 --- a/remake/build.log +++ b/remake/build.log @@ -1,4 +1,107 @@ -[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\TilemapComponent.cpp -o src\build\Components\TilemapComponent.o -[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Engine.cpp -o src\build\Engine.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\main.cpp -o src\build\main.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\ExceptionHandler.cpp -o src\build\core\utils\ExceptionHandler.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\input.cpp -o src\build\core\utils\input.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lapi.c -o src\build\lapi.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lauxlib.c -o src\build\lauxlib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lbaselib.c -o src\build\lbaselib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lcode.c -o src\build\lcode.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\utils\UID.cpp -o src\build\utils\UID.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lctype.c -o src\build\lctype.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lcorolib.c -o src\build\lcorolib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\ldblib.c -o src\build\ldblib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\ldebug.c -o src\build\ldebug.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\ldump.c -o src\build\ldump.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\ldo.c -o src\build\ldo.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lfunc.c -o src\build\lfunc.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\linit.c -o src\build\linit.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lgc.c -o src\build\lgc.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\liolib.c -o src\build\liolib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\llex.c -o src\build\llex.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\FileDialog.cpp -o src\build\core\utils\FileDialog.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lmathlib.c -o src\build\lmathlib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lmem.c -o src\build\lmem.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lobject.c -o src\build\lobject.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lopcodes.c -o src\build\lopcodes.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\loslib.c -o src\build\loslib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lparser.c -o src\build\lparser.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lstate.c -o src\build\lstate.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\TextComonent.cpp -o src\build\Components\TextComonent.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\SpriteComponent.cpp -o src\build\Components\SpriteComponent.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lstring.c -o src\build\lstring.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\AnimationComponent.cpp -o src\build\Components\AnimationComponent.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\loadlib.c -o src\build\loadlib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lstrlib.c -o src\build\lstrlib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\ltable.c -o src\build\ltable.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\ltablib.c -o src\build\ltablib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\ltm.c -o src\build\ltm.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lundump.c -o src\build\lundump.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lutf8lib.c -o src\build\lutf8lib.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\luac.c -o src\build\luac.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lzio.c -o src\build\lzio.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\utils\GameObjectsList.cpp -o src\build\utils\GameObjectsList.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lvm.c -o src\build\lvm.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\Logging.cpp -o src\build\core\utils\Logging.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\Texture.cpp -o src\build\core\utils\Texture.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\include\lua\lua.c -o src\build\lua.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\arena_allocator.c -o src\build\arena_allocator.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\PhysicsComponent.cpp -o src\build\Components\PhysicsComponent.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\aabb.c -o src\build\aabb.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\imgui\imgui_impl_opengl3.cpp -o src\build\imgui_impl_opengl3.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\array.c -o src\build\array.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\bitset.c -o src\build\bitset.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\broad_phase.c -o src\build\broad_phase.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\constraint_graph.c -o src\build\constraint_graph.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\editor\windows\AssetBrowser.cpp -o src\build\editor\windows\AssetBrowser.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\contact.c -o src\build\contact.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\body.c -o src\build\body.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\core.c -o src\build\core.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\imgui\imgui_impl_glfw.cpp -o src\build\imgui_impl_glfw.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\LoadingWindow.cpp -o src\build\core\utils\LoadingWindow.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\contact_solver.c -o src\build\contact_solver.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\distance.c -o src\build\distance.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\distance_joint.c -o src\build\distance_joint.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\id_pool.c -o src\build\id_pool.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\hull.c -o src\build\hull.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\geometry.c -o src\build\geometry.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\dynamic_tree.c -o src\build\dynamic_tree.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\island.c -o src\build\island.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\math_functions.c -o src\build\math_functions.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\manifold.c -o src\build\manifold.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\mover.c -o src\build\mover.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\mouse_joint.c -o src\build\mouse_joint.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\joint.c -o src\build\joint.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\motor_joint.c -o src\build\motor_joint.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\prismatic_joint.c -o src\build\prismatic_joint.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\CameraComponent.cpp -o src\build\Components\CameraComponent.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\sensor.c -o src\build\sensor.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\revolute_joint.c -o src\build\revolute_joint.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\timer.c -o src\build\timer.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\types.c -o src\build\types.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\solver_set.c -o src\build\solver_set.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\table.c -o src\build\table.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\shape.c -o src\build\shape.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\weld_joint.c -o src\build\weld_joint.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\wheel_joint.c -o src\build\wheel_joint.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\solver.c -o src\build\solver.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\xxhash\xxhash.c -o src\build\xxhash.o +[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\box2d\world.c -o src\build\world.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\imgui\imgui_demo.cpp -o src\build\imgui_demo.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\imgui\imgui_tables.cpp -o src\build\imgui_tables.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\LightComponent.cpp -o src\build\Components\LightComponent.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\ParticleComponent.cpp -o src\build\Components\ParticleComponent.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Entitys\Object.cpp -o src\build\Entitys\Object.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\imgui\imgui_draw.cpp -o src\build\imgui_draw.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\utils\Shader.cpp -o src\build\utils\Shader.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\Profiler.cpp -o src\build\core\utils\Profiler.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\imgui\imgui_widgets.cpp -o src\build\imgui_widgets.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\TilemapComponent.cpp -o src\build\Components\TilemapComponent.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Components\ScriptComponent.cpp -o src\build\Components\ScriptComponent.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Renderer.cpp -o src\build\Renderer.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\EngineConfig.cpp -o src\build\core\utils\EngineConfig.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\editor\windows\Inspector.cpp -o src\build\editor\windows\Inspector.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\utils.cpp -o src\build\core\utils\utils.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\core\utils\AssetManager.cpp -o src\build\core\utils\AssetManager.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\vendor\imgui\imgui.cpp -o src\build\imgui.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Engine.cpp -o src\build\Engine.o [LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\AnimationComponent.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\ParticleComponent.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\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\Profiler.o src\build\core\utils\Texture.o src\build\core\utils\utils.o src\build\editor\windows\AssetBrowser.o src\build\editor\windows\Inspector.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 -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto [RUN] Executed app.exe successfully. diff --git a/src/assets/scenes/TilemapTest.cene b/src/assets/scenes/TilemapTest.cene index 5e8cc9f..99cf022 100644 --- a/src/assets/scenes/TilemapTest.cene +++ b/src/assets/scenes/TilemapTest.cene @@ -1,6 +1,6 @@ engine_version: 0.1.0 scene_name: TilemapTest -scene_hash: 83d59efe885ac3d8546339353a2b5ed05c4f264ae8b17ad3695475e23e925ee6 +scene_hash: 7d49ebf46bff80d1f399d038f7cf65407940195676c52867fa427bc243f9614d format_version: 1 objects: - name: Hello, Create @@ -18,7 +18,17 @@ objects: TileSize: x: 32 y: 32 - Tiles: [] + Tiles: + - [3, 4, 158] + - [4, 3, 127] + - [3, 3, 126] + - [4, 2, 95] + - [3, 2, 94] + - [4, 1, 63] + - [3, 1, 62] + - [4, 0, 31] + - [4, 4, 159] + - [3, 0, 30] children: [] - name: NewObject uid: 248c6524f6b447cca4a249eb85500d59 @@ -44,16 +54,16 @@ color_correction: intensity: 1.20000005 threshold: 1 Assets: - - uaid: 3 - path: C:\Users\spenc\OneDrive\Pictures\Pixel Holy Spell Effect 32x32 Pack 3\01.png - filename: 01.png + - uaid: 1 + path: C:\Users\spenc\OneDrive\Pictures\6656e7221e49a1774d2fb280357e56f8d25d9d95.png + filename: 6656e7221e49a1774d2fb280357e56f8d25d9d95.png filetype: png type: 0 - size: [704, 576] - hash: 82866fcf3324b785 + size: [1024, 1024] + hash: e8aaee6025f21557 channels: 4 format: GL_RGBA - lastModified: 1687052107 + lastModified: 1744577923 - uaid: 2 path: C:\Users\spenc\OneDrive\Pictures\Pixel Holy Spell Effect 32x32 Pack 3\00.png filename: 00.png @@ -64,13 +74,13 @@ Assets: channels: 4 format: GL_RGBA lastModified: 1687052065 - - uaid: 1 - path: C:\Users\spenc\OneDrive\Pictures\6656e7221e49a1774d2fb280357e56f8d25d9d95.png - filename: 6656e7221e49a1774d2fb280357e56f8d25d9d95.png + - uaid: 3 + path: C:\Users\spenc\OneDrive\Pictures\Pixel Holy Spell Effect 32x32 Pack 3\01.png + filename: 01.png filetype: png type: 0 - size: [1024, 1024] - hash: e8aaee6025f21557 + size: [704, 576] + hash: 82866fcf3324b785 channels: 4 format: GL_RGBA - lastModified: 1744577923 \ No newline at end of file + lastModified: 1687052107 \ No newline at end of file diff --git a/src/src/Components/TilemapComponent.cpp b/src/src/Components/TilemapComponent.cpp index 078f68d..f27f9fe 100644 --- a/src/src/Components/TilemapComponent.cpp +++ b/src/src/Components/TilemapComponent.cpp @@ -100,7 +100,13 @@ void TilemapComponent::PlaceSelection(int gx, int gy) // Accessors uint64_t TilemapComponent::GetTextureUAID() const { return textureUAID; } std::shared_ptr TilemapComponent::GetTexture() const { return texture; } -const TextureAtlas& TilemapComponent::GetAtlas() const { return atlas; } +TextureAtlas* TilemapComponent::GetAtlas() { + return &atlas; +} + +const TextureAtlas* TilemapComponent::GetAtlas() const { + return &atlas; +} const core::types::Vec2& TilemapComponent::GetTileSize() const { return tileSize; } void TilemapComponent::SetTileSize(const core::types::Vec2& size) { tileSize = size; } int TilemapComponent::GetAtlasColumns() const { return atlasColumns; } diff --git a/src/src/Components/TilemapComponent.h b/src/src/Components/TilemapComponent.h index 0a57f4f..dad287d 100644 --- a/src/src/Components/TilemapComponent.h +++ b/src/src/Components/TilemapComponent.h @@ -22,7 +22,8 @@ public: // Accessors uint64_t GetTextureUAID() const; std::shared_ptr GetTexture() const; - const TextureAtlas &GetAtlas() const; + TextureAtlas *GetAtlas(); + const TextureAtlas *GetAtlas() const; const core::types::Vec2 &GetTileSize() const; void SetTileSize(const core::types::Vec2 &size); int GetAtlasColumns() const; diff --git a/src/src/Engine.cpp b/src/src/Engine.cpp index 55bc775..0f4ebda 100644 --- a/src/src/Engine.cpp +++ b/src/src/Engine.cpp @@ -1006,7 +1006,12 @@ void Engine::Run() core::types::Vec2 viewportSize(winSize.x, winSize.y); core::types::Vec2 screenMousePos(mousePos.x - winPos.x, mousePos.y - winPos.y); - if (selected) + bool mouseInWindow = + screenMousePos.x >= 0 && screenMousePos.y >= 0 && + screenMousePos.x < viewportSize.x && + screenMousePos.y < viewportSize.y; + + if (selected && mouseInWindow) { auto tilemap = selected->GetComponent(); if (tilemap && tilemap->HasSelection()) diff --git a/src/src/Renderer.cpp b/src/src/Renderer.cpp index 954fd1f..2507299 100644 --- a/src/src/Renderer.cpp +++ b/src/src/Renderer.cpp @@ -446,10 +446,6 @@ void Renderer::End() glBindFramebuffer(GL_FRAMEBUFFER, 0); } - - - - void Renderer::ClearLights() { PROFILE_ENGINE_SCOPE("Renderer::ClearLights"); @@ -468,23 +464,65 @@ void Renderer::AddLight(const glm::vec2 &screenPos, const glm::vec3 &color, floa s_LightsCount++; } -void Renderer::DrawTilemap(TilemapComponent *tilemap, const glm::vec2 &pos, float zoom, const glm::vec2 &cameraPos) +void Renderer::DrawTilemap(TilemapComponent *tilemap, + const glm::vec2 & /*pos*/, + float zoom, + const glm::vec2 &cameraPos) { - if (!tilemap || !tilemap->GetTexture()) + PROFILE_DEEP_SCOPE("Renderer::DrawTilemap"); + if (!tilemap) return; - const TextureAtlas &atlas = tilemap->GetAtlas(); - const core::types::Vec2 &tileSize = tilemap->GetTileSize(); + // grab atlas + texture + TextureAtlas *atlas = tilemap->GetAtlas(); + if (!atlas || !atlas->texture) + return; - for (const auto &[key, tileIndex] : tilemap->GetTileData()) + // world-space size of one cell + const auto &tileSize = tilemap->GetTileSize(); + glm::vec2 screenCenter{width * 0.5f, height * 0.5f}; + + // draw every cell + for (auto [key, tileIndex] : tilemap->GetTileData()) { - int x, y; - TilemapComponent::UnpackCoord(key, x, y); + // skip bad indices + if (tileIndex < 0 || tileIndex >= atlas->GetTotalFrames()) + continue; - glm::vec2 tileWorldPos = glm::vec2(x * tileSize.x, y * tileSize.y); - glm::vec2 screenPos = (tileWorldPos - cameraPos) * zoom + glm::vec2(width, height) * 0.5f; + // decode grid coords + int gx, gy; + TilemapComponent::UnpackCoord(key, gx, gy); - DrawTextureAtlas(&atlas, tileIndex, screenPos, 0.0f, zoom); + // world→screen position + glm::vec2 worldPos = {gx * tileSize.x, gy * tileSize.y}; + glm::vec2 screenPos = (worldPos - cameraPos) * zoom + screenCenter; + + // quad size in screen‐space + glm::vec2 finalSize = tileSize * zoom; + + // fetch UVs (already handles flipping for you) + auto uvRect = atlas->GetFrameUVRect(tileIndex); + + // batch that sprite + BatchedSprite entry{}; + entry.screenPos = screenPos; + entry.size = finalSize; + entry.rotationRad = 0.0f; + entry.textureID = atlas->texture->GetID(); + entry.normalMapID = defaultNormalMap; + entry.renderType = RenderType::Unlit; + entry.sprite = nullptr; + entry.texCoords = glm::vec4( + uvRect.min.x, uvRect.min.y, + uvRect.max.x, uvRect.max.y); + + SortedDrawEntry drawEntry{}; + drawEntry.sprite = entry; + drawEntry.shader = &unlitShader; + drawEntry.useLighting = false; + drawEntry.usesUV = true; + + sortedDrawList.push_back(drawEntry); } } @@ -556,7 +594,7 @@ void Renderer::DrawSprite(SpriteComponent *sprite, const glm::vec2 &pos, float z void Renderer::DrawTextureAtlas(const TextureAtlas *atlas, int index, const core::types::Vec2 &pos, float rotationDeg, float zoom) { - PROFILE_DEEP_SCOPE("DrawTextureAtlas"); + PROFILE_DEEP_SCOPE("Renderer::DrawTextureAtlas"); if (!atlas || !atlas->texture || index >= atlas->GetTotalFrames()) return; @@ -577,7 +615,7 @@ void Renderer::DrawTextureAtlas(const TextureAtlas *atlas, int index, const core entry.rotationRad = glm::radians(rotationDeg); entry.textureID = tex->GetID(); entry.normalMapID = defaultNormalMap; - entry.renderType = RenderType::Lit; + entry.renderType = RenderType::Unlit; entry.sprite = nullptr; entry.texCoords = glm::vec4(uvMin.x, uvMin.y, uvMax.x, uvMax.y); diff --git a/src/src/core/utils/TextureAtlas.h b/src/src/core/utils/TextureAtlas.h index 2db4f48..e7b9933 100644 --- a/src/src/core/utils/TextureAtlas.h +++ b/src/src/core/utils/TextureAtlas.h @@ -6,7 +6,7 @@ struct TextureAtlas { std::shared_ptr texture; - int frameWidth = 32; + int frameWidth = 32; int frameHeight = 32; TextureAtlas() = default; @@ -19,7 +19,7 @@ struct TextureAtlas void SetTexelSize(int texelWidth, int texelHeight) { - frameWidth = texelWidth; + frameWidth = texelWidth; frameHeight = texelHeight; } @@ -28,46 +28,76 @@ struct TextureAtlas return core::types::Vec2(frameWidth, frameHeight); } - core::types::Vec2 GetFrameUV(int index) - const + bool IsValid() const { - if (!texture || frameWidth <= 0 || frameHeight <= 0) - return core::types::Vec2(0.0f); + return texture && frameWidth > 0 && frameHeight > 0; + } - int texWidth = texture->GetSize().x; - int texHeight = texture->GetSize().y; + // how many columns (x-cells) the atlas has + int GetAtlasColumns() const + { + if (!IsValid()) return 0; + return texture->GetSize().x / frameWidth; + } - int cols = texWidth / frameWidth; - int x = index % cols; - int y = index / cols; + // how many rows (y-cells) the atlas has + int GetAtlasRows() const + { + if (!IsValid()) return 0; + return texture->GetSize().y / frameHeight; + } - float u = (float)(x * frameWidth) / (float)texWidth; - float v = 1.0f - (float)((y + 1) * frameHeight) / (float)texHeight; // flip y + // total frames (cols * rows) + int GetTotalFrames() const + { + return GetAtlasColumns() * GetAtlasRows(); + } + // (u,v) of top-left corner of frame, with V flipped so that y=0 is top + core::types::Vec2 GetFrameUV(int index) const + { + if (!IsValid()) return {0.0f, 0.0f}; + + int cols = GetAtlasColumns(); + int x = index % cols; + int y = index / cols; + + float u = (x * frameWidth) / float(texture->GetSize().x); + float v = 1.0f - ((y+1) * frameHeight) / float(texture->GetSize().y); return core::types::Vec2(u, v); } + // normalized width/height of one frame core::types::Vec2 GetFrameSizeUV() const { - if (!texture || frameWidth <= 0 || frameHeight <= 0) - return core::types::Vec2(0.0f); - + if (!IsValid()) return {0.0f, 0.0f}; return core::types::Vec2( - static_cast(frameWidth) / texture->GetSize().x, - static_cast(frameHeight) / texture->GetSize().y + float(frameWidth) / texture->GetSize().x, + float(frameHeight) / texture->GetSize().y ); } - int GetTotalFrames() const + // pixel-space rectangle of a frame: { x, y, w, h } + struct FrameRect { int x, y, w, h; }; + FrameRect GetFrameRect(int index) const { - if (!texture || frameWidth <= 0 || frameHeight <= 0) - return 0; + int cols = GetAtlasColumns(); + if (cols == 0) return {0,0, frameWidth, frameHeight}; - int texWidth = texture->GetSize().x; - int texHeight = texture->GetSize().y; - int cols = texWidth / frameWidth; - int rows = texHeight / frameHeight; + int fx = index % cols; + int fy = index / cols; + return { fx * frameWidth, + fy * frameHeight, + frameWidth, + frameHeight }; + } - return cols * rows; + // UV rectangle of a frame: { min, max } + struct UVRect { core::types::Vec2 min, max; }; + UVRect GetFrameUVRect(int index) const + { + auto uvMin = GetFrameUV(index); + auto uvSize = GetFrameSizeUV(); + return { uvMin, uvMin + uvSize }; } }; diff --git a/src/src/editor/windows/Inspector.cpp b/src/src/editor/windows/Inspector.cpp index 1df0f11..9e50185 100644 --- a/src/src/editor/windows/Inspector.cpp +++ b/src/src/editor/windows/Inspector.cpp @@ -630,7 +630,6 @@ void DrawInspectorUI(std::shared_ptr selected) ImGui::Dummy(ImVec2(64, 64)); } - // ─ Selection‐region preview ─ tilemap->hasSelection = hasSelection; if (hasSelection) { @@ -640,7 +639,7 @@ void DrawInspectorUI(std::shared_ptr selected) int y1 = std::max(selStartY, selEndY); tilemap->SetSelection(x0, y0, x1, y1); - + ImGui::SeparatorText("Selection Preview"); ImVec2 uv0( x0 * (float)texelWidth / texWidth, @@ -659,7 +658,6 @@ void DrawInspectorUI(std::shared_ptr selected) tilemap->ClearSelection(); } - // Debug info ImGui::Text("Atlas Resolution: %d x %d", texWidth, texHeight); if (mouseOver && tileX >= 0 && tileX < numCols && tileY >= 0 && tileY < numRows) {