From 9ee446431bb203c627d11b4aceae5885c56c09ac Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Mon, 2 Mar 2026 06:59:51 -0600 Subject: [PATCH] Moved build stuff to docker --- .ci/dolphin/build-gamecube.sh | 13 ---- .ci/dolphin/build-wii.sh | 13 ---- CMakeLists.txt | 2 +- archive/src/CMakeLists.txt | 74 ------------------- cmake/modules/Findcglm.cmake | 4 +- cmake/targets/linux.cmake | 6 +- cmake/targets/wii.cmake | 1 + docker/dolphin/Dockerfile | 5 +- scripts/build-gamecube-docker.sh | 2 +- scripts/build-gamecube.sh | 2 +- scripts/build-wii-docker.sh | 3 + src/CMakeLists.txt | 71 +++++++++++++++++- {archive/src => src}/assert/CMakeLists.txt | 0 {archive/src => src}/assert/assert.c | 0 {archive/src => src}/assert/assert.h | 0 {archive/src => src}/asset/CMakeLists.txt | 0 {archive/src => src}/asset/asset.c | 0 {archive/src => src}/asset/asset.h | 0 {archive/src => src}/asset/assettype.h | 0 .../src => src}/asset/type/CMakeLists.txt | 0 .../src => src}/asset/type/assetlanguage.c | 0 .../src => src}/asset/type/assetlanguage.h | 0 {archive/src => src}/asset/type/assetmap.c | 0 {archive/src => src}/asset/type/assetmap.h | 0 .../src => src}/asset/type/assetmapchunk.c | 0 .../src => src}/asset/type/assetmapchunk.h | 0 .../src => src}/asset/type/assetpalette.c | 0 .../src => src}/asset/type/assetpalette.h | 0 {archive/src => src}/asset/type/assetscript.c | 0 {archive/src => src}/asset/type/assetscript.h | 0 .../src => src}/asset/type/assettexture.c | 0 .../src => src}/asset/type/assettexture.h | 0 .../src => src}/asset/type/assettileset.c | 0 .../src => src}/asset/type/assettileset.h | 0 {archive/src => src}/debug/CMakeLists.txt | 0 {archive/src => src}/debug/debug.c | 0 {archive/src => src}/debug/debug.h | 0 {archive/src => src}/display/CMakeLists.txt | 0 .../src => src}/display/camera/CMakeLists.txt | 0 {archive/src => src}/display/camera/camera.c | 0 {archive/src => src}/display/camera/camera.h | 0 {archive/src => src}/display/color.csv | 0 {archive/src => src}/display/display.c | 0 {archive/src => src}/display/display.h | 0 {archive/src => src}/display/displaydefs.h | 0 {archive/src => src}/display/framebuffer.c | 0 {archive/src => src}/display/framebuffer.h | 0 .../src => src}/display/mesh/CMakeLists.txt | 0 {archive/src => src}/display/mesh/mesh.c | 0 {archive/src => src}/display/mesh/mesh.h | 0 {archive/src => src}/display/mesh/quad.c | 0 {archive/src => src}/display/mesh/quad.h | 0 .../display/palette/CMakeLists.txt | 0 .../src => src}/display/palette/palette.c | 2 +- .../src => src}/display/palette/palette.h | 0 {archive/src => src}/display/screen.c | 0 {archive/src => src}/display/screen.h | 0 {archive/src => src}/display/spritebatch.c | 0 {archive/src => src}/display/spritebatch.h | 0 {archive/src => src}/display/text.c | 0 {archive/src => src}/display/text.h | 0 {archive/src => src}/display/texture.c | 0 {archive/src => src}/display/texture.h | 0 .../display/tileset/CMakeLists.txt | 0 .../src => src}/display/tileset/tileset.c | 0 .../src => src}/display/tileset/tileset.h | 0 {archive/src => src}/dusk.h | 0 src/dusk/CMakeLists.txt | 28 ------- src/dusk/main.c | 13 ---- src/dusk/null.c | 12 --- {archive/src => src}/duskdefs.env | 0 {archive/src => src}/engine/CMakeLists.txt | 0 {archive/src => src}/engine/engine.c | 0 {archive/src => src}/engine/engine.h | 0 {archive/src => src}/error/CMakeLists.txt | 0 {archive/src => src}/error/error.c | 0 {archive/src => src}/error/error.h | 0 {archive/src => src}/event/CMakeLists.txt | 0 {archive/src => src}/event/event.c | 0 {archive/src => src}/event/event.h | 0 {archive/src => src}/event/eventcallback.h | 0 {archive/src => src}/event/eventuser.h | 0 {archive/src => src}/input/CMakeLists.txt | 0 {archive/src => src}/input/input.c | 0 {archive/src => src}/input/input.csv | 0 {archive/src => src}/input/input.h | 0 {archive/src => src}/input/inputaction.c | 0 {archive/src => src}/input/inputaction.h | 0 {archive/src => src}/input/inputbutton.c | 0 {archive/src => src}/input/inputbutton.h | 0 {archive/src => src}/item/CMakeLists.txt | 0 {archive/src => src}/item/backpack.c | 0 {archive/src => src}/item/backpack.h | 0 {archive/src => src}/item/inventory.c | 0 {archive/src => src}/item/inventory.h | 0 {archive/src => src}/item/item.csv | 0 {archive/src => src}/locale/CMakeLists.txt | 0 {archive/src => src}/locale/locale.h | 0 {archive/src => src}/locale/localeinfo.h | 0 {archive/src => src}/locale/localemanager.c | 0 {archive/src => src}/locale/localemanager.h | 0 {archive/src => src}/main.c | 0 {archive/src => src}/map/CMakeLists.txt | 0 {archive/src => src}/map/map.c | 0 {archive/src => src}/map/map.h | 0 {archive/src => src}/map/mapchunk.c | 0 {archive/src => src}/map/mapchunk.h | 0 {archive/src => src}/map/maptile.c | 0 {archive/src => src}/map/maptile.h | 0 {archive/src => src}/map/worldpos.c | 0 {archive/src => src}/map/worldpos.h | 0 {archive/src => src}/null.c | 0 src/platform/CMakeLists.txt | 9 +++ src/platform/SDL2/CMakeLists.txt | 0 src/platform/linux/CMakeLists.txt | 0 {archive/src => src}/scene/CMakeLists.txt | 0 {archive/src => src}/scene/scene.c | 0 {archive/src => src}/scene/scene.h | 0 {archive/src => src}/script/CMakeLists.txt | 0 .../src => src}/script/module/CMakeLists.txt | 0 .../script/module/display/CMakeLists.txt | 0 .../script/module/display/modulecamera.c | 0 .../script/module/display/modulecamera.h | 0 .../script/module/display/modulecolor.c | 0 .../script/module/display/modulecolor.h | 0 .../script/module/display/moduleglm.c | 0 .../script/module/display/moduleglm.h | 0 .../script/module/display/modulescreen.c | 0 .../script/module/display/modulescreen.h | 0 .../script/module/display/modulespritebatch.c | 0 .../script/module/display/modulespritebatch.h | 0 .../script/module/display/moduletext.c | 0 .../script/module/display/moduletext.h | 0 .../script/module/display/moduletexture.c | 0 .../script/module/display/moduletexture.h | 0 .../script/module/display/moduletileset.c | 0 .../script/module/display/moduletileset.h | 0 .../script/module/event/CMakeLists.txt | 0 .../script/module/event/moduleevent.c | 0 .../script/module/event/moduleevent.h | 0 .../script/module/input/CMakeLists.txt | 0 .../script/module/input/moduleinput.c | 0 .../script/module/input/moduleinput.h | 0 .../script/module/item/CMakeLists.txt | 0 .../script/module/item/moduleitem.c | 0 .../script/module/item/moduleitem.h | 0 .../script/module/locale/CMakeLists.txt | 0 .../script/module/locale/modulelocale.c | 0 .../script/module/locale/modulelocale.h | 0 .../script/module/map/CMakeLists.txt | 0 .../src => src}/script/module/map/modulemap.c | 0 .../src => src}/script/module/map/modulemap.h | 0 .../script/module/moduleplatform.h | 0 .../script/module/scene/CMakeLists.txt | 0 .../script/module/scene/modulescene.c | 0 .../script/module/scene/modulescene.h | 0 .../script/module/story/CMakeLists.txt | 0 .../script/module/story/modulestoryflag.c | 0 .../script/module/story/modulestoryflag.h | 0 .../script/module/system/CMakeLists.txt | 0 .../script/module/system/modulesystem.c | 0 .../script/module/system/modulesystem.h | 0 .../script/module/time/CMakeLists.txt | 0 .../script/module/time/moduletime.c | 0 .../script/module/time/moduletime.h | 0 .../script/module/ui/CMakeLists.txt | 0 .../src => src}/script/module/ui/moduleui.c | 0 .../src => src}/script/module/ui/moduleui.h | 0 {archive/src => src}/script/scriptcontext.c | 0 {archive/src => src}/script/scriptcontext.h | 0 {archive/src => src}/script/scriptmanager.c | 0 {archive/src => src}/script/scriptmanager.h | 0 {archive/src => src}/script/scriptmodule.c | 0 {archive/src => src}/script/scriptmodule.h | 0 {archive/src => src}/script/scriptvalue.h | 0 {archive/src => src}/story/CMakeLists.txt | 0 {archive/src => src}/story/storyflag.c | 0 {archive/src => src}/story/storyflag.csv | 0 {archive/src => src}/story/storyflag.h | 0 {archive/src => src}/story/storyflagdefs.h | 0 {archive/src => src}/thread/CMakeLists.txt | 0 {archive/src => src}/thread/thread.c | 0 {archive/src => src}/thread/thread.h | 0 {archive/src => src}/thread/threadmutex.c | 0 {archive/src => src}/thread/threadmutex.h | 0 {archive/src => src}/time/CMakeLists.txt | 0 {archive/src => src}/time/time.c | 0 {archive/src => src}/time/time.h | 0 {archive/src => src}/ui/CMakeLists.txt | 0 {archive/src => src}/ui/ui.c | 0 {archive/src => src}/ui/ui.h | 0 {archive/src => src}/util/CMakeLists.txt | 0 {archive/src => src}/util/array.c | 0 {archive/src => src}/util/array.h | 0 {archive/src => src}/util/math.c | 0 {archive/src => src}/util/math.h | 0 {archive/src => src}/util/memory.c | 0 {archive/src => src}/util/memory.h | 0 {archive/src => src}/util/sort.c | 0 {archive/src => src}/util/sort.h | 0 {archive/src => src}/util/string.c | 0 {archive/src => src}/util/string.h | 0 202 files changed, 95 insertions(+), 165 deletions(-) delete mode 100755 .ci/dolphin/build-gamecube.sh delete mode 100755 .ci/dolphin/build-wii.sh delete mode 100644 archive/src/CMakeLists.txt create mode 100755 scripts/build-wii-docker.sh rename {archive/src => src}/assert/CMakeLists.txt (100%) rename {archive/src => src}/assert/assert.c (100%) rename {archive/src => src}/assert/assert.h (100%) rename {archive/src => src}/asset/CMakeLists.txt (100%) rename {archive/src => src}/asset/asset.c (100%) rename {archive/src => src}/asset/asset.h (100%) rename {archive/src => src}/asset/assettype.h (100%) rename {archive/src => src}/asset/type/CMakeLists.txt (100%) rename {archive/src => src}/asset/type/assetlanguage.c (100%) rename {archive/src => src}/asset/type/assetlanguage.h (100%) rename {archive/src => src}/asset/type/assetmap.c (100%) rename {archive/src => src}/asset/type/assetmap.h (100%) rename {archive/src => src}/asset/type/assetmapchunk.c (100%) rename {archive/src => src}/asset/type/assetmapchunk.h (100%) rename {archive/src => src}/asset/type/assetpalette.c (100%) rename {archive/src => src}/asset/type/assetpalette.h (100%) rename {archive/src => src}/asset/type/assetscript.c (100%) rename {archive/src => src}/asset/type/assetscript.h (100%) rename {archive/src => src}/asset/type/assettexture.c (100%) rename {archive/src => src}/asset/type/assettexture.h (100%) rename {archive/src => src}/asset/type/assettileset.c (100%) rename {archive/src => src}/asset/type/assettileset.h (100%) rename {archive/src => src}/debug/CMakeLists.txt (100%) rename {archive/src => src}/debug/debug.c (100%) rename {archive/src => src}/debug/debug.h (100%) rename {archive/src => src}/display/CMakeLists.txt (100%) rename {archive/src => src}/display/camera/CMakeLists.txt (100%) rename {archive/src => src}/display/camera/camera.c (100%) rename {archive/src => src}/display/camera/camera.h (100%) rename {archive/src => src}/display/color.csv (100%) rename {archive/src => src}/display/display.c (100%) rename {archive/src => src}/display/display.h (100%) rename {archive/src => src}/display/displaydefs.h (100%) rename {archive/src => src}/display/framebuffer.c (100%) rename {archive/src => src}/display/framebuffer.h (100%) rename {archive/src => src}/display/mesh/CMakeLists.txt (100%) rename {archive/src => src}/display/mesh/mesh.c (100%) rename {archive/src => src}/display/mesh/mesh.h (100%) rename {archive/src => src}/display/mesh/quad.c (100%) rename {archive/src => src}/display/mesh/quad.h (100%) rename {archive/src => src}/display/palette/CMakeLists.txt (100%) rename {archive/src => src}/display/palette/palette.c (94%) rename {archive/src => src}/display/palette/palette.h (100%) rename {archive/src => src}/display/screen.c (100%) rename {archive/src => src}/display/screen.h (100%) rename {archive/src => src}/display/spritebatch.c (100%) rename {archive/src => src}/display/spritebatch.h (100%) rename {archive/src => src}/display/text.c (100%) rename {archive/src => src}/display/text.h (100%) rename {archive/src => src}/display/texture.c (100%) rename {archive/src => src}/display/texture.h (100%) rename {archive/src => src}/display/tileset/CMakeLists.txt (100%) rename {archive/src => src}/display/tileset/tileset.c (100%) rename {archive/src => src}/display/tileset/tileset.h (100%) rename {archive/src => src}/dusk.h (100%) delete mode 100644 src/dusk/CMakeLists.txt delete mode 100644 src/dusk/main.c delete mode 100644 src/dusk/null.c rename {archive/src => src}/duskdefs.env (100%) rename {archive/src => src}/engine/CMakeLists.txt (100%) rename {archive/src => src}/engine/engine.c (100%) rename {archive/src => src}/engine/engine.h (100%) rename {archive/src => src}/error/CMakeLists.txt (100%) rename {archive/src => src}/error/error.c (100%) rename {archive/src => src}/error/error.h (100%) rename {archive/src => src}/event/CMakeLists.txt (100%) rename {archive/src => src}/event/event.c (100%) rename {archive/src => src}/event/event.h (100%) rename {archive/src => src}/event/eventcallback.h (100%) rename {archive/src => src}/event/eventuser.h (100%) rename {archive/src => src}/input/CMakeLists.txt (100%) rename {archive/src => src}/input/input.c (100%) rename {archive/src => src}/input/input.csv (100%) rename {archive/src => src}/input/input.h (100%) rename {archive/src => src}/input/inputaction.c (100%) rename {archive/src => src}/input/inputaction.h (100%) rename {archive/src => src}/input/inputbutton.c (100%) rename {archive/src => src}/input/inputbutton.h (100%) rename {archive/src => src}/item/CMakeLists.txt (100%) rename {archive/src => src}/item/backpack.c (100%) rename {archive/src => src}/item/backpack.h (100%) rename {archive/src => src}/item/inventory.c (100%) rename {archive/src => src}/item/inventory.h (100%) rename {archive/src => src}/item/item.csv (100%) rename {archive/src => src}/locale/CMakeLists.txt (100%) rename {archive/src => src}/locale/locale.h (100%) rename {archive/src => src}/locale/localeinfo.h (100%) rename {archive/src => src}/locale/localemanager.c (100%) rename {archive/src => src}/locale/localemanager.h (100%) rename {archive/src => src}/main.c (100%) rename {archive/src => src}/map/CMakeLists.txt (100%) rename {archive/src => src}/map/map.c (100%) rename {archive/src => src}/map/map.h (100%) rename {archive/src => src}/map/mapchunk.c (100%) rename {archive/src => src}/map/mapchunk.h (100%) rename {archive/src => src}/map/maptile.c (100%) rename {archive/src => src}/map/maptile.h (100%) rename {archive/src => src}/map/worldpos.c (100%) rename {archive/src => src}/map/worldpos.h (100%) rename {archive/src => src}/null.c (100%) create mode 100644 src/platform/CMakeLists.txt create mode 100644 src/platform/SDL2/CMakeLists.txt create mode 100644 src/platform/linux/CMakeLists.txt rename {archive/src => src}/scene/CMakeLists.txt (100%) rename {archive/src => src}/scene/scene.c (100%) rename {archive/src => src}/scene/scene.h (100%) rename {archive/src => src}/script/CMakeLists.txt (100%) rename {archive/src => src}/script/module/CMakeLists.txt (100%) rename {archive/src => src}/script/module/display/CMakeLists.txt (100%) rename {archive/src => src}/script/module/display/modulecamera.c (100%) rename {archive/src => src}/script/module/display/modulecamera.h (100%) rename {archive/src => src}/script/module/display/modulecolor.c (100%) rename {archive/src => src}/script/module/display/modulecolor.h (100%) rename {archive/src => src}/script/module/display/moduleglm.c (100%) rename {archive/src => src}/script/module/display/moduleglm.h (100%) rename {archive/src => src}/script/module/display/modulescreen.c (100%) rename {archive/src => src}/script/module/display/modulescreen.h (100%) rename {archive/src => src}/script/module/display/modulespritebatch.c (100%) rename {archive/src => src}/script/module/display/modulespritebatch.h (100%) rename {archive/src => src}/script/module/display/moduletext.c (100%) rename {archive/src => src}/script/module/display/moduletext.h (100%) rename {archive/src => src}/script/module/display/moduletexture.c (100%) rename {archive/src => src}/script/module/display/moduletexture.h (100%) rename {archive/src => src}/script/module/display/moduletileset.c (100%) rename {archive/src => src}/script/module/display/moduletileset.h (100%) rename {archive/src => src}/script/module/event/CMakeLists.txt (100%) rename {archive/src => src}/script/module/event/moduleevent.c (100%) rename {archive/src => src}/script/module/event/moduleevent.h (100%) rename {archive/src => src}/script/module/input/CMakeLists.txt (100%) rename {archive/src => src}/script/module/input/moduleinput.c (100%) rename {archive/src => src}/script/module/input/moduleinput.h (100%) rename {archive/src => src}/script/module/item/CMakeLists.txt (100%) rename {archive/src => src}/script/module/item/moduleitem.c (100%) rename {archive/src => src}/script/module/item/moduleitem.h (100%) rename {archive/src => src}/script/module/locale/CMakeLists.txt (100%) rename {archive/src => src}/script/module/locale/modulelocale.c (100%) rename {archive/src => src}/script/module/locale/modulelocale.h (100%) rename {archive/src => src}/script/module/map/CMakeLists.txt (100%) rename {archive/src => src}/script/module/map/modulemap.c (100%) rename {archive/src => src}/script/module/map/modulemap.h (100%) rename {archive/src => src}/script/module/moduleplatform.h (100%) rename {archive/src => src}/script/module/scene/CMakeLists.txt (100%) rename {archive/src => src}/script/module/scene/modulescene.c (100%) rename {archive/src => src}/script/module/scene/modulescene.h (100%) rename {archive/src => src}/script/module/story/CMakeLists.txt (100%) rename {archive/src => src}/script/module/story/modulestoryflag.c (100%) rename {archive/src => src}/script/module/story/modulestoryflag.h (100%) rename {archive/src => src}/script/module/system/CMakeLists.txt (100%) rename {archive/src => src}/script/module/system/modulesystem.c (100%) rename {archive/src => src}/script/module/system/modulesystem.h (100%) rename {archive/src => src}/script/module/time/CMakeLists.txt (100%) rename {archive/src => src}/script/module/time/moduletime.c (100%) rename {archive/src => src}/script/module/time/moduletime.h (100%) rename {archive/src => src}/script/module/ui/CMakeLists.txt (100%) rename {archive/src => src}/script/module/ui/moduleui.c (100%) rename {archive/src => src}/script/module/ui/moduleui.h (100%) rename {archive/src => src}/script/scriptcontext.c (100%) rename {archive/src => src}/script/scriptcontext.h (100%) rename {archive/src => src}/script/scriptmanager.c (100%) rename {archive/src => src}/script/scriptmanager.h (100%) rename {archive/src => src}/script/scriptmodule.c (100%) rename {archive/src => src}/script/scriptmodule.h (100%) rename {archive/src => src}/script/scriptvalue.h (100%) rename {archive/src => src}/story/CMakeLists.txt (100%) rename {archive/src => src}/story/storyflag.c (100%) rename {archive/src => src}/story/storyflag.csv (100%) rename {archive/src => src}/story/storyflag.h (100%) rename {archive/src => src}/story/storyflagdefs.h (100%) rename {archive/src => src}/thread/CMakeLists.txt (100%) rename {archive/src => src}/thread/thread.c (100%) rename {archive/src => src}/thread/thread.h (100%) rename {archive/src => src}/thread/threadmutex.c (100%) rename {archive/src => src}/thread/threadmutex.h (100%) rename {archive/src => src}/time/CMakeLists.txt (100%) rename {archive/src => src}/time/time.c (100%) rename {archive/src => src}/time/time.h (100%) rename {archive/src => src}/ui/CMakeLists.txt (100%) rename {archive/src => src}/ui/ui.c (100%) rename {archive/src => src}/ui/ui.h (100%) rename {archive/src => src}/util/CMakeLists.txt (100%) rename {archive/src => src}/util/array.c (100%) rename {archive/src => src}/util/array.h (100%) rename {archive/src => src}/util/math.c (100%) rename {archive/src => src}/util/math.h (100%) rename {archive/src => src}/util/memory.c (100%) rename {archive/src => src}/util/memory.h (100%) rename {archive/src => src}/util/sort.c (100%) rename {archive/src => src}/util/sort.h (100%) rename {archive/src => src}/util/string.c (100%) rename {archive/src => src}/util/string.h (100%) diff --git a/.ci/dolphin/build-gamecube.sh b/.ci/dolphin/build-gamecube.sh deleted file mode 100755 index d06787c..0000000 --- a/.ci/dolphin/build-gamecube.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -docker build -t myapp:latest -f .ci/dolphin/Dockerfile . -docker run -it -v ./:/workdir myapp:latest /bin/bash -c ' \ - export PATH="$DEVKITPPC/bin:$PATH" && \ - cd /workdir && \ - rm -rf build-gamecube && \ - mkdir -p build-gamecube && \ - # cmake -S. -Bbuild-gamecube -DDUSK_TARGET_SYSTEM=gamecube -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/GameCube.cmake" && \ - cmake -S. -Bbuild-gamecube -DDUSK_TARGET_SYSTEM=wii -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/Wii.cmake" && \ - cd build-gamecube && \ - make -j$(nproc) VERBOSE=1 && \ - cp ./Dusk.dol ./boot.dol -' \ No newline at end of file diff --git a/.ci/dolphin/build-wii.sh b/.ci/dolphin/build-wii.sh deleted file mode 100755 index 8e33f68..0000000 --- a/.ci/dolphin/build-wii.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -docker build -t myapp:latest -f .ci/dolphin/Dockerfile . -docker run -v ./:/workdir myapp:latest /bin/bash -c ' \ - export PATH="$DEVKITPPC/bin:$PATH" && \ - cd /workdir && \ - rm -rf build-wii && \ - mkdir -p build-wii && \ - cmake -S. -Bbuild-wii -DDUSK_TARGET_SYSTEM=wii -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/Wii.cmake" && \ - cd build-wii && \ - make -j$(nproc) VERBOSE=1 && \ - mv ./Dusk.dol ./boot.dol -' -# docker run -it -v ./:/workdir myapp:latest /bin/bash \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 8025c5e..f274faf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,7 +67,7 @@ if(ENABLE_TESTS) ) else() set(DUSK_LIBRARY_TARGET_NAME "${DUSK_BINARY_TARGET_NAME}" CACHE INTERNAL ${DUSK_CACHE_TARGET}) - add_executable(${DUSK_BINARY_TARGET_NAME} ${DUSK_SOURCES_DIR}/dusk/null.c) + add_executable(${DUSK_BINARY_TARGET_NAME} ${DUSK_SOURCES_DIR}/null.c) endif() # Toolchains diff --git a/archive/src/CMakeLists.txt b/archive/src/CMakeLists.txt deleted file mode 100644 index 13db8e7..0000000 --- a/archive/src/CMakeLists.txt +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright (c) 2025 Dominic Masters -# -# This software is released under the MIT License. -# https://opensource.org/licenses/MIT - -if(NOT cglm_FOUND) - find_package(cglm REQUIRED) - target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PUBLIC cglm) -endif() - -if(NOT libzip_FOUND) - find_package(libzip REQUIRED) - target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PUBLIC zip) -endif() - -if(NOT Lua_FOUND) - find_package(Lua REQUIRED) - if(Lua_FOUND AND NOT TARGET Lua::Lua) - add_library(Lua::Lua INTERFACE IMPORTED) - set_target_properties( - Lua::Lua - PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${LUA_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${LUA_LIBRARIES}" - ) - endif() - target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PUBLIC Lua::Lua) -endif() - -# Libs - -# Includes -target_include_directories(${DUSK_LIBRARY_TARGET_NAME} - PUBLIC - ${CMAKE_CURRENT_LIST_DIR} -) - -# Sources - -# Main Binary Source -target_sources(${DUSK_BINARY_TARGET_NAME} - PUBLIC - main.c -) - -# Defs -dusk_env_to_h(duskdefs.env duskdefs.h) -target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} - PUBLIC - DUSK_TARGET_SYSTEM="${DUSK_TARGET_SYSTEM}" -) - -# Subdirs -add_subdirectory(assert) -add_subdirectory(asset) -add_subdirectory(debug) -add_subdirectory(display) -add_subdirectory(engine) -add_subdirectory(error) -add_subdirectory(event) -add_subdirectory(input) -add_subdirectory(item) -add_subdirectory(locale) -add_subdirectory(map) -add_subdirectory(scene) -add_subdirectory(script) -add_subdirectory(story) -add_subdirectory(time) -add_subdirectory(ui) -add_subdirectory(util) - -if(DUSK_TARGET_SYSTEM STREQUAL "linux" OR DUSK_TARGET_SYSTEM STREQUAL "psp") - add_subdirectory(thread) -endif() \ No newline at end of file diff --git a/cmake/modules/Findcglm.cmake b/cmake/modules/Findcglm.cmake index ddb99e0..7f3d786 100644 --- a/cmake/modules/Findcglm.cmake +++ b/cmake/modules/Findcglm.cmake @@ -4,10 +4,10 @@ # https://opensource.org/licenses/MIT include(FetchContent) - FetchContent_Declare( cglm - GIT_REPOSITORY https://git.wish.moe/YourWishes/cglm.git + # GIT_REPOSITORY https://git.wish.moe/YourWishes/cglm.git + GIT_REPOSITORY https://github.com/recp/cglm.git GIT_TAG v0.9.6 ) diff --git a/cmake/targets/linux.cmake b/cmake/targets/linux.cmake index ca3d620..c786eca 100644 --- a/cmake/targets/linux.cmake +++ b/cmake/targets/linux.cmake @@ -1,9 +1,13 @@ +# Find link platform-specific libraries find_package(SDL2 REQUIRED) find_package(OpenGL REQUIRED) + target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PUBLIC SDL2 pthread OpenGL::GL GL m -) \ No newline at end of file +) + +# TEST diff --git a/cmake/targets/wii.cmake b/cmake/targets/wii.cmake index e69de29..4f4f75c 100644 --- a/cmake/targets/wii.cmake +++ b/cmake/targets/wii.cmake @@ -0,0 +1 @@ +include(./dolphin.cmake) \ No newline at end of file diff --git a/docker/dolphin/Dockerfile b/docker/dolphin/Dockerfile index 18be462..055e04b 100644 --- a/docker/dolphin/Dockerfile +++ b/docker/dolphin/Dockerfile @@ -1,5 +1,6 @@ FROM devkitpro/devkitppc - +WORKDIR /workdir RUN apt update && \ apt install -y python3 python3-pip python3-polib python3-pil python3-dotenv python3-pyqt5 python3-opengl && \ - dkp-pacman -S --needed --noconfirm gamecube-sdl2 ppc-liblzma ppc-libzip \ No newline at end of file + dkp-pacman -S --needed --noconfirm gamecube-sdl2 ppc-liblzma ppc-libzip +VOLUME ["/workdir"] \ No newline at end of file diff --git a/scripts/build-gamecube-docker.sh b/scripts/build-gamecube-docker.sh index 03f8a5f..8da0b9b 100755 --- a/scripts/build-gamecube-docker.sh +++ b/scripts/build-gamecube-docker.sh @@ -1,3 +1,3 @@ #!/bin/bash docker build -t dusk-dolphin -f docker/dolphin/Dockerfile . -docker run --rm -v $(pwd):/workdir dusk-dolphin ls \ No newline at end of file +docker run --rm -v $(pwd):/workdir dusk-dolphin /bin/bash -c "./scripts/build-gamecube.sh" \ No newline at end of file diff --git a/scripts/build-gamecube.sh b/scripts/build-gamecube.sh index faf7665..9328f10 100755 --- a/scripts/build-gamecube.sh +++ b/scripts/build-gamecube.sh @@ -5,6 +5,6 @@ if [ -z "$DEVKITPRO" ]; then fi mkdir -p build-gamecube -cmake -S. -Bbuild-gamecube -DDUSK_TARGET_SYSTEM=gamcube -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/GameCube.cmake" +cmake -S. -Bbuild-gamecube -DDUSK_TARGET_SYSTEM=gamecube -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/GameCube.cmake" cd build-gamecube make -j$(nproc) VERBOSE=1 \ No newline at end of file diff --git a/scripts/build-wii-docker.sh b/scripts/build-wii-docker.sh new file mode 100755 index 0000000..f2893b4 --- /dev/null +++ b/scripts/build-wii-docker.sh @@ -0,0 +1,3 @@ +#!/bin/bash +docker build -t dusk-dolphin -f docker/dolphin/Dockerfile . +docker run --rm -v $(pwd):/workdir dusk-dolphin /bin/bash -c "./scripts/build-wii.sh" \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2e410a7..a9e09c8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,71 @@ -# Copyright (c) 2026 Dominic Masters -# +# Copyright (c) 2025 Dominic Masters +# # This software is released under the MIT License. # https://opensource.org/licenses/MIT -add_subdirectory(dusk) \ No newline at end of file +# Required Libraries +if(NOT cglm_FOUND) + find_package(cglm REQUIRED) + target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PUBLIC cglm) +endif() + +if(NOT libzip_FOUND) + find_package(libzip REQUIRED) + target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PUBLIC zip) +endif() + +if(NOT Lua_FOUND) + find_package(Lua REQUIRED) + if(Lua_FOUND AND NOT TARGET Lua::Lua) + add_library(Lua::Lua INTERFACE IMPORTED) + set_target_properties( + Lua::Lua + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${LUA_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${LUA_LIBRARIES}" + ) + endif() + target_link_libraries(${DUSK_LIBRARY_TARGET_NAME} PUBLIC Lua::Lua) +endif() + +# Includes +target_include_directories(${DUSK_LIBRARY_TARGET_NAME} + PUBLIC + ${CMAKE_CURRENT_LIST_DIR} +) + +# Main Binary Source +target_sources(${DUSK_BINARY_TARGET_NAME} + PUBLIC + main.c +) + +# Defs +dusk_env_to_h(duskdefs.env duskdefs.h) +target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} + PUBLIC + DUSK_TARGET_SYSTEM="${DUSK_TARGET_SYSTEM}" +) + +# Subdirs +add_subdirectory(assert) +add_subdirectory(asset) +add_subdirectory(debug) +add_subdirectory(display) +add_subdirectory(engine) +add_subdirectory(error) +add_subdirectory(event) +add_subdirectory(input) +add_subdirectory(item) +add_subdirectory(locale) +add_subdirectory(map) +add_subdirectory(scene) +add_subdirectory(script) +add_subdirectory(story) +add_subdirectory(time) +add_subdirectory(ui) +add_subdirectory(util) + +# if(DUSK_TARGET_SYSTEM STREQUAL "linux" OR DUSK_TARGET_SYSTEM STREQUAL "psp") +# add_subdirectory(thread) +# endif() \ No newline at end of file diff --git a/archive/src/assert/CMakeLists.txt b/src/assert/CMakeLists.txt similarity index 100% rename from archive/src/assert/CMakeLists.txt rename to src/assert/CMakeLists.txt diff --git a/archive/src/assert/assert.c b/src/assert/assert.c similarity index 100% rename from archive/src/assert/assert.c rename to src/assert/assert.c diff --git a/archive/src/assert/assert.h b/src/assert/assert.h similarity index 100% rename from archive/src/assert/assert.h rename to src/assert/assert.h diff --git a/archive/src/asset/CMakeLists.txt b/src/asset/CMakeLists.txt similarity index 100% rename from archive/src/asset/CMakeLists.txt rename to src/asset/CMakeLists.txt diff --git a/archive/src/asset/asset.c b/src/asset/asset.c similarity index 100% rename from archive/src/asset/asset.c rename to src/asset/asset.c diff --git a/archive/src/asset/asset.h b/src/asset/asset.h similarity index 100% rename from archive/src/asset/asset.h rename to src/asset/asset.h diff --git a/archive/src/asset/assettype.h b/src/asset/assettype.h similarity index 100% rename from archive/src/asset/assettype.h rename to src/asset/assettype.h diff --git a/archive/src/asset/type/CMakeLists.txt b/src/asset/type/CMakeLists.txt similarity index 100% rename from archive/src/asset/type/CMakeLists.txt rename to src/asset/type/CMakeLists.txt diff --git a/archive/src/asset/type/assetlanguage.c b/src/asset/type/assetlanguage.c similarity index 100% rename from archive/src/asset/type/assetlanguage.c rename to src/asset/type/assetlanguage.c diff --git a/archive/src/asset/type/assetlanguage.h b/src/asset/type/assetlanguage.h similarity index 100% rename from archive/src/asset/type/assetlanguage.h rename to src/asset/type/assetlanguage.h diff --git a/archive/src/asset/type/assetmap.c b/src/asset/type/assetmap.c similarity index 100% rename from archive/src/asset/type/assetmap.c rename to src/asset/type/assetmap.c diff --git a/archive/src/asset/type/assetmap.h b/src/asset/type/assetmap.h similarity index 100% rename from archive/src/asset/type/assetmap.h rename to src/asset/type/assetmap.h diff --git a/archive/src/asset/type/assetmapchunk.c b/src/asset/type/assetmapchunk.c similarity index 100% rename from archive/src/asset/type/assetmapchunk.c rename to src/asset/type/assetmapchunk.c diff --git a/archive/src/asset/type/assetmapchunk.h b/src/asset/type/assetmapchunk.h similarity index 100% rename from archive/src/asset/type/assetmapchunk.h rename to src/asset/type/assetmapchunk.h diff --git a/archive/src/asset/type/assetpalette.c b/src/asset/type/assetpalette.c similarity index 100% rename from archive/src/asset/type/assetpalette.c rename to src/asset/type/assetpalette.c diff --git a/archive/src/asset/type/assetpalette.h b/src/asset/type/assetpalette.h similarity index 100% rename from archive/src/asset/type/assetpalette.h rename to src/asset/type/assetpalette.h diff --git a/archive/src/asset/type/assetscript.c b/src/asset/type/assetscript.c similarity index 100% rename from archive/src/asset/type/assetscript.c rename to src/asset/type/assetscript.c diff --git a/archive/src/asset/type/assetscript.h b/src/asset/type/assetscript.h similarity index 100% rename from archive/src/asset/type/assetscript.h rename to src/asset/type/assetscript.h diff --git a/archive/src/asset/type/assettexture.c b/src/asset/type/assettexture.c similarity index 100% rename from archive/src/asset/type/assettexture.c rename to src/asset/type/assettexture.c diff --git a/archive/src/asset/type/assettexture.h b/src/asset/type/assettexture.h similarity index 100% rename from archive/src/asset/type/assettexture.h rename to src/asset/type/assettexture.h diff --git a/archive/src/asset/type/assettileset.c b/src/asset/type/assettileset.c similarity index 100% rename from archive/src/asset/type/assettileset.c rename to src/asset/type/assettileset.c diff --git a/archive/src/asset/type/assettileset.h b/src/asset/type/assettileset.h similarity index 100% rename from archive/src/asset/type/assettileset.h rename to src/asset/type/assettileset.h diff --git a/archive/src/debug/CMakeLists.txt b/src/debug/CMakeLists.txt similarity index 100% rename from archive/src/debug/CMakeLists.txt rename to src/debug/CMakeLists.txt diff --git a/archive/src/debug/debug.c b/src/debug/debug.c similarity index 100% rename from archive/src/debug/debug.c rename to src/debug/debug.c diff --git a/archive/src/debug/debug.h b/src/debug/debug.h similarity index 100% rename from archive/src/debug/debug.h rename to src/debug/debug.h diff --git a/archive/src/display/CMakeLists.txt b/src/display/CMakeLists.txt similarity index 100% rename from archive/src/display/CMakeLists.txt rename to src/display/CMakeLists.txt diff --git a/archive/src/display/camera/CMakeLists.txt b/src/display/camera/CMakeLists.txt similarity index 100% rename from archive/src/display/camera/CMakeLists.txt rename to src/display/camera/CMakeLists.txt diff --git a/archive/src/display/camera/camera.c b/src/display/camera/camera.c similarity index 100% rename from archive/src/display/camera/camera.c rename to src/display/camera/camera.c diff --git a/archive/src/display/camera/camera.h b/src/display/camera/camera.h similarity index 100% rename from archive/src/display/camera/camera.h rename to src/display/camera/camera.h diff --git a/archive/src/display/color.csv b/src/display/color.csv similarity index 100% rename from archive/src/display/color.csv rename to src/display/color.csv diff --git a/archive/src/display/display.c b/src/display/display.c similarity index 100% rename from archive/src/display/display.c rename to src/display/display.c diff --git a/archive/src/display/display.h b/src/display/display.h similarity index 100% rename from archive/src/display/display.h rename to src/display/display.h diff --git a/archive/src/display/displaydefs.h b/src/display/displaydefs.h similarity index 100% rename from archive/src/display/displaydefs.h rename to src/display/displaydefs.h diff --git a/archive/src/display/framebuffer.c b/src/display/framebuffer.c similarity index 100% rename from archive/src/display/framebuffer.c rename to src/display/framebuffer.c diff --git a/archive/src/display/framebuffer.h b/src/display/framebuffer.h similarity index 100% rename from archive/src/display/framebuffer.h rename to src/display/framebuffer.h diff --git a/archive/src/display/mesh/CMakeLists.txt b/src/display/mesh/CMakeLists.txt similarity index 100% rename from archive/src/display/mesh/CMakeLists.txt rename to src/display/mesh/CMakeLists.txt diff --git a/archive/src/display/mesh/mesh.c b/src/display/mesh/mesh.c similarity index 100% rename from archive/src/display/mesh/mesh.c rename to src/display/mesh/mesh.c diff --git a/archive/src/display/mesh/mesh.h b/src/display/mesh/mesh.h similarity index 100% rename from archive/src/display/mesh/mesh.h rename to src/display/mesh/mesh.h diff --git a/archive/src/display/mesh/quad.c b/src/display/mesh/quad.c similarity index 100% rename from archive/src/display/mesh/quad.c rename to src/display/mesh/quad.c diff --git a/archive/src/display/mesh/quad.h b/src/display/mesh/quad.h similarity index 100% rename from archive/src/display/mesh/quad.h rename to src/display/mesh/quad.h diff --git a/archive/src/display/palette/CMakeLists.txt b/src/display/palette/CMakeLists.txt similarity index 100% rename from archive/src/display/palette/CMakeLists.txt rename to src/display/palette/CMakeLists.txt diff --git a/archive/src/display/palette/palette.c b/src/display/palette/palette.c similarity index 94% rename from archive/src/display/palette/palette.c rename to src/display/palette/palette.c index c556551..3c0b5af 100644 --- a/archive/src/display/palette/palette.c +++ b/src/display/palette/palette.c @@ -28,7 +28,7 @@ void paletteInit( memoryZero(palette, sizeof(palette_t)); palette->colorCount = colorCount; - memoryCopy(colors, palette->colors, colorCount * sizeof(color_t)); + memoryCopy(palette->colors, colors, colorCount * sizeof(color_t)); } void paletteBind(palette_t *palette, const uint8_t slot) { diff --git a/archive/src/display/palette/palette.h b/src/display/palette/palette.h similarity index 100% rename from archive/src/display/palette/palette.h rename to src/display/palette/palette.h diff --git a/archive/src/display/screen.c b/src/display/screen.c similarity index 100% rename from archive/src/display/screen.c rename to src/display/screen.c diff --git a/archive/src/display/screen.h b/src/display/screen.h similarity index 100% rename from archive/src/display/screen.h rename to src/display/screen.h diff --git a/archive/src/display/spritebatch.c b/src/display/spritebatch.c similarity index 100% rename from archive/src/display/spritebatch.c rename to src/display/spritebatch.c diff --git a/archive/src/display/spritebatch.h b/src/display/spritebatch.h similarity index 100% rename from archive/src/display/spritebatch.h rename to src/display/spritebatch.h diff --git a/archive/src/display/text.c b/src/display/text.c similarity index 100% rename from archive/src/display/text.c rename to src/display/text.c diff --git a/archive/src/display/text.h b/src/display/text.h similarity index 100% rename from archive/src/display/text.h rename to src/display/text.h diff --git a/archive/src/display/texture.c b/src/display/texture.c similarity index 100% rename from archive/src/display/texture.c rename to src/display/texture.c diff --git a/archive/src/display/texture.h b/src/display/texture.h similarity index 100% rename from archive/src/display/texture.h rename to src/display/texture.h diff --git a/archive/src/display/tileset/CMakeLists.txt b/src/display/tileset/CMakeLists.txt similarity index 100% rename from archive/src/display/tileset/CMakeLists.txt rename to src/display/tileset/CMakeLists.txt diff --git a/archive/src/display/tileset/tileset.c b/src/display/tileset/tileset.c similarity index 100% rename from archive/src/display/tileset/tileset.c rename to src/display/tileset/tileset.c diff --git a/archive/src/display/tileset/tileset.h b/src/display/tileset/tileset.h similarity index 100% rename from archive/src/display/tileset/tileset.h rename to src/display/tileset/tileset.h diff --git a/archive/src/dusk.h b/src/dusk.h similarity index 100% rename from archive/src/dusk.h rename to src/dusk.h diff --git a/src/dusk/CMakeLists.txt b/src/dusk/CMakeLists.txt deleted file mode 100644 index 425b5c2..0000000 --- a/src/dusk/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2025 Dominic Masters -# -# This software is released under the MIT License. -# https://opensource.org/licenses/MIT - -# Libs - -# Includes -target_include_directories(${DUSK_LIBRARY_TARGET_NAME} - PUBLIC - ${CMAKE_CURRENT_LIST_DIR} -) - -# Sources - -# Main Binary Source -target_sources(${DUSK_BINARY_TARGET_NAME} - PUBLIC - main.c -) - -# Defs -target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} - PUBLIC - DUSK_TARGET_SYSTEM="${DUSK_TARGET_SYSTEM}" -) - -# Subdirs \ No newline at end of file diff --git a/src/dusk/main.c b/src/dusk/main.c deleted file mode 100644 index a8bf0bb..0000000 --- a/src/dusk/main.c +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Copyright (c) 2026 Dominic Masters - * - * This software is released under the MIT License. - * https://opensource.org/licenses/MIT - */ - -#include - -int main() { - printf("Hello, Dusk!\n"); - return 0; -} \ No newline at end of file diff --git a/src/dusk/null.c b/src/dusk/null.c deleted file mode 100644 index 1fa7f4c..0000000 --- a/src/dusk/null.c +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Copyright (c) 2026 Dominic Masters - * - * This software is released under the MIT License. - * https://opensource.org/licenses/MIT - */ - -// NULL (Empty source) file for allowing CMake to not complain about missing -// a source file early on during the build. -static void nullFunction(void) { - -} \ No newline at end of file diff --git a/archive/src/duskdefs.env b/src/duskdefs.env similarity index 100% rename from archive/src/duskdefs.env rename to src/duskdefs.env diff --git a/archive/src/engine/CMakeLists.txt b/src/engine/CMakeLists.txt similarity index 100% rename from archive/src/engine/CMakeLists.txt rename to src/engine/CMakeLists.txt diff --git a/archive/src/engine/engine.c b/src/engine/engine.c similarity index 100% rename from archive/src/engine/engine.c rename to src/engine/engine.c diff --git a/archive/src/engine/engine.h b/src/engine/engine.h similarity index 100% rename from archive/src/engine/engine.h rename to src/engine/engine.h diff --git a/archive/src/error/CMakeLists.txt b/src/error/CMakeLists.txt similarity index 100% rename from archive/src/error/CMakeLists.txt rename to src/error/CMakeLists.txt diff --git a/archive/src/error/error.c b/src/error/error.c similarity index 100% rename from archive/src/error/error.c rename to src/error/error.c diff --git a/archive/src/error/error.h b/src/error/error.h similarity index 100% rename from archive/src/error/error.h rename to src/error/error.h diff --git a/archive/src/event/CMakeLists.txt b/src/event/CMakeLists.txt similarity index 100% rename from archive/src/event/CMakeLists.txt rename to src/event/CMakeLists.txt diff --git a/archive/src/event/event.c b/src/event/event.c similarity index 100% rename from archive/src/event/event.c rename to src/event/event.c diff --git a/archive/src/event/event.h b/src/event/event.h similarity index 100% rename from archive/src/event/event.h rename to src/event/event.h diff --git a/archive/src/event/eventcallback.h b/src/event/eventcallback.h similarity index 100% rename from archive/src/event/eventcallback.h rename to src/event/eventcallback.h diff --git a/archive/src/event/eventuser.h b/src/event/eventuser.h similarity index 100% rename from archive/src/event/eventuser.h rename to src/event/eventuser.h diff --git a/archive/src/input/CMakeLists.txt b/src/input/CMakeLists.txt similarity index 100% rename from archive/src/input/CMakeLists.txt rename to src/input/CMakeLists.txt diff --git a/archive/src/input/input.c b/src/input/input.c similarity index 100% rename from archive/src/input/input.c rename to src/input/input.c diff --git a/archive/src/input/input.csv b/src/input/input.csv similarity index 100% rename from archive/src/input/input.csv rename to src/input/input.csv diff --git a/archive/src/input/input.h b/src/input/input.h similarity index 100% rename from archive/src/input/input.h rename to src/input/input.h diff --git a/archive/src/input/inputaction.c b/src/input/inputaction.c similarity index 100% rename from archive/src/input/inputaction.c rename to src/input/inputaction.c diff --git a/archive/src/input/inputaction.h b/src/input/inputaction.h similarity index 100% rename from archive/src/input/inputaction.h rename to src/input/inputaction.h diff --git a/archive/src/input/inputbutton.c b/src/input/inputbutton.c similarity index 100% rename from archive/src/input/inputbutton.c rename to src/input/inputbutton.c diff --git a/archive/src/input/inputbutton.h b/src/input/inputbutton.h similarity index 100% rename from archive/src/input/inputbutton.h rename to src/input/inputbutton.h diff --git a/archive/src/item/CMakeLists.txt b/src/item/CMakeLists.txt similarity index 100% rename from archive/src/item/CMakeLists.txt rename to src/item/CMakeLists.txt diff --git a/archive/src/item/backpack.c b/src/item/backpack.c similarity index 100% rename from archive/src/item/backpack.c rename to src/item/backpack.c diff --git a/archive/src/item/backpack.h b/src/item/backpack.h similarity index 100% rename from archive/src/item/backpack.h rename to src/item/backpack.h diff --git a/archive/src/item/inventory.c b/src/item/inventory.c similarity index 100% rename from archive/src/item/inventory.c rename to src/item/inventory.c diff --git a/archive/src/item/inventory.h b/src/item/inventory.h similarity index 100% rename from archive/src/item/inventory.h rename to src/item/inventory.h diff --git a/archive/src/item/item.csv b/src/item/item.csv similarity index 100% rename from archive/src/item/item.csv rename to src/item/item.csv diff --git a/archive/src/locale/CMakeLists.txt b/src/locale/CMakeLists.txt similarity index 100% rename from archive/src/locale/CMakeLists.txt rename to src/locale/CMakeLists.txt diff --git a/archive/src/locale/locale.h b/src/locale/locale.h similarity index 100% rename from archive/src/locale/locale.h rename to src/locale/locale.h diff --git a/archive/src/locale/localeinfo.h b/src/locale/localeinfo.h similarity index 100% rename from archive/src/locale/localeinfo.h rename to src/locale/localeinfo.h diff --git a/archive/src/locale/localemanager.c b/src/locale/localemanager.c similarity index 100% rename from archive/src/locale/localemanager.c rename to src/locale/localemanager.c diff --git a/archive/src/locale/localemanager.h b/src/locale/localemanager.h similarity index 100% rename from archive/src/locale/localemanager.h rename to src/locale/localemanager.h diff --git a/archive/src/main.c b/src/main.c similarity index 100% rename from archive/src/main.c rename to src/main.c diff --git a/archive/src/map/CMakeLists.txt b/src/map/CMakeLists.txt similarity index 100% rename from archive/src/map/CMakeLists.txt rename to src/map/CMakeLists.txt diff --git a/archive/src/map/map.c b/src/map/map.c similarity index 100% rename from archive/src/map/map.c rename to src/map/map.c diff --git a/archive/src/map/map.h b/src/map/map.h similarity index 100% rename from archive/src/map/map.h rename to src/map/map.h diff --git a/archive/src/map/mapchunk.c b/src/map/mapchunk.c similarity index 100% rename from archive/src/map/mapchunk.c rename to src/map/mapchunk.c diff --git a/archive/src/map/mapchunk.h b/src/map/mapchunk.h similarity index 100% rename from archive/src/map/mapchunk.h rename to src/map/mapchunk.h diff --git a/archive/src/map/maptile.c b/src/map/maptile.c similarity index 100% rename from archive/src/map/maptile.c rename to src/map/maptile.c diff --git a/archive/src/map/maptile.h b/src/map/maptile.h similarity index 100% rename from archive/src/map/maptile.h rename to src/map/maptile.h diff --git a/archive/src/map/worldpos.c b/src/map/worldpos.c similarity index 100% rename from archive/src/map/worldpos.c rename to src/map/worldpos.c diff --git a/archive/src/map/worldpos.h b/src/map/worldpos.h similarity index 100% rename from archive/src/map/worldpos.h rename to src/map/worldpos.h diff --git a/archive/src/null.c b/src/null.c similarity index 100% rename from archive/src/null.c rename to src/null.c diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt new file mode 100644 index 0000000..6a6c334 --- /dev/null +++ b/src/platform/CMakeLists.txt @@ -0,0 +1,9 @@ +# Copyright (c) 2026 Dominic Masters +# +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +if(DUSK_TARGET_SYSTEM STREQUAL "linux") + add_subdirectory(linux) + add_subdirectory(SDL2) +endif() \ No newline at end of file diff --git a/src/platform/SDL2/CMakeLists.txt b/src/platform/SDL2/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/platform/linux/CMakeLists.txt b/src/platform/linux/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/archive/src/scene/CMakeLists.txt b/src/scene/CMakeLists.txt similarity index 100% rename from archive/src/scene/CMakeLists.txt rename to src/scene/CMakeLists.txt diff --git a/archive/src/scene/scene.c b/src/scene/scene.c similarity index 100% rename from archive/src/scene/scene.c rename to src/scene/scene.c diff --git a/archive/src/scene/scene.h b/src/scene/scene.h similarity index 100% rename from archive/src/scene/scene.h rename to src/scene/scene.h diff --git a/archive/src/script/CMakeLists.txt b/src/script/CMakeLists.txt similarity index 100% rename from archive/src/script/CMakeLists.txt rename to src/script/CMakeLists.txt diff --git a/archive/src/script/module/CMakeLists.txt b/src/script/module/CMakeLists.txt similarity index 100% rename from archive/src/script/module/CMakeLists.txt rename to src/script/module/CMakeLists.txt diff --git a/archive/src/script/module/display/CMakeLists.txt b/src/script/module/display/CMakeLists.txt similarity index 100% rename from archive/src/script/module/display/CMakeLists.txt rename to src/script/module/display/CMakeLists.txt diff --git a/archive/src/script/module/display/modulecamera.c b/src/script/module/display/modulecamera.c similarity index 100% rename from archive/src/script/module/display/modulecamera.c rename to src/script/module/display/modulecamera.c diff --git a/archive/src/script/module/display/modulecamera.h b/src/script/module/display/modulecamera.h similarity index 100% rename from archive/src/script/module/display/modulecamera.h rename to src/script/module/display/modulecamera.h diff --git a/archive/src/script/module/display/modulecolor.c b/src/script/module/display/modulecolor.c similarity index 100% rename from archive/src/script/module/display/modulecolor.c rename to src/script/module/display/modulecolor.c diff --git a/archive/src/script/module/display/modulecolor.h b/src/script/module/display/modulecolor.h similarity index 100% rename from archive/src/script/module/display/modulecolor.h rename to src/script/module/display/modulecolor.h diff --git a/archive/src/script/module/display/moduleglm.c b/src/script/module/display/moduleglm.c similarity index 100% rename from archive/src/script/module/display/moduleglm.c rename to src/script/module/display/moduleglm.c diff --git a/archive/src/script/module/display/moduleglm.h b/src/script/module/display/moduleglm.h similarity index 100% rename from archive/src/script/module/display/moduleglm.h rename to src/script/module/display/moduleglm.h diff --git a/archive/src/script/module/display/modulescreen.c b/src/script/module/display/modulescreen.c similarity index 100% rename from archive/src/script/module/display/modulescreen.c rename to src/script/module/display/modulescreen.c diff --git a/archive/src/script/module/display/modulescreen.h b/src/script/module/display/modulescreen.h similarity index 100% rename from archive/src/script/module/display/modulescreen.h rename to src/script/module/display/modulescreen.h diff --git a/archive/src/script/module/display/modulespritebatch.c b/src/script/module/display/modulespritebatch.c similarity index 100% rename from archive/src/script/module/display/modulespritebatch.c rename to src/script/module/display/modulespritebatch.c diff --git a/archive/src/script/module/display/modulespritebatch.h b/src/script/module/display/modulespritebatch.h similarity index 100% rename from archive/src/script/module/display/modulespritebatch.h rename to src/script/module/display/modulespritebatch.h diff --git a/archive/src/script/module/display/moduletext.c b/src/script/module/display/moduletext.c similarity index 100% rename from archive/src/script/module/display/moduletext.c rename to src/script/module/display/moduletext.c diff --git a/archive/src/script/module/display/moduletext.h b/src/script/module/display/moduletext.h similarity index 100% rename from archive/src/script/module/display/moduletext.h rename to src/script/module/display/moduletext.h diff --git a/archive/src/script/module/display/moduletexture.c b/src/script/module/display/moduletexture.c similarity index 100% rename from archive/src/script/module/display/moduletexture.c rename to src/script/module/display/moduletexture.c diff --git a/archive/src/script/module/display/moduletexture.h b/src/script/module/display/moduletexture.h similarity index 100% rename from archive/src/script/module/display/moduletexture.h rename to src/script/module/display/moduletexture.h diff --git a/archive/src/script/module/display/moduletileset.c b/src/script/module/display/moduletileset.c similarity index 100% rename from archive/src/script/module/display/moduletileset.c rename to src/script/module/display/moduletileset.c diff --git a/archive/src/script/module/display/moduletileset.h b/src/script/module/display/moduletileset.h similarity index 100% rename from archive/src/script/module/display/moduletileset.h rename to src/script/module/display/moduletileset.h diff --git a/archive/src/script/module/event/CMakeLists.txt b/src/script/module/event/CMakeLists.txt similarity index 100% rename from archive/src/script/module/event/CMakeLists.txt rename to src/script/module/event/CMakeLists.txt diff --git a/archive/src/script/module/event/moduleevent.c b/src/script/module/event/moduleevent.c similarity index 100% rename from archive/src/script/module/event/moduleevent.c rename to src/script/module/event/moduleevent.c diff --git a/archive/src/script/module/event/moduleevent.h b/src/script/module/event/moduleevent.h similarity index 100% rename from archive/src/script/module/event/moduleevent.h rename to src/script/module/event/moduleevent.h diff --git a/archive/src/script/module/input/CMakeLists.txt b/src/script/module/input/CMakeLists.txt similarity index 100% rename from archive/src/script/module/input/CMakeLists.txt rename to src/script/module/input/CMakeLists.txt diff --git a/archive/src/script/module/input/moduleinput.c b/src/script/module/input/moduleinput.c similarity index 100% rename from archive/src/script/module/input/moduleinput.c rename to src/script/module/input/moduleinput.c diff --git a/archive/src/script/module/input/moduleinput.h b/src/script/module/input/moduleinput.h similarity index 100% rename from archive/src/script/module/input/moduleinput.h rename to src/script/module/input/moduleinput.h diff --git a/archive/src/script/module/item/CMakeLists.txt b/src/script/module/item/CMakeLists.txt similarity index 100% rename from archive/src/script/module/item/CMakeLists.txt rename to src/script/module/item/CMakeLists.txt diff --git a/archive/src/script/module/item/moduleitem.c b/src/script/module/item/moduleitem.c similarity index 100% rename from archive/src/script/module/item/moduleitem.c rename to src/script/module/item/moduleitem.c diff --git a/archive/src/script/module/item/moduleitem.h b/src/script/module/item/moduleitem.h similarity index 100% rename from archive/src/script/module/item/moduleitem.h rename to src/script/module/item/moduleitem.h diff --git a/archive/src/script/module/locale/CMakeLists.txt b/src/script/module/locale/CMakeLists.txt similarity index 100% rename from archive/src/script/module/locale/CMakeLists.txt rename to src/script/module/locale/CMakeLists.txt diff --git a/archive/src/script/module/locale/modulelocale.c b/src/script/module/locale/modulelocale.c similarity index 100% rename from archive/src/script/module/locale/modulelocale.c rename to src/script/module/locale/modulelocale.c diff --git a/archive/src/script/module/locale/modulelocale.h b/src/script/module/locale/modulelocale.h similarity index 100% rename from archive/src/script/module/locale/modulelocale.h rename to src/script/module/locale/modulelocale.h diff --git a/archive/src/script/module/map/CMakeLists.txt b/src/script/module/map/CMakeLists.txt similarity index 100% rename from archive/src/script/module/map/CMakeLists.txt rename to src/script/module/map/CMakeLists.txt diff --git a/archive/src/script/module/map/modulemap.c b/src/script/module/map/modulemap.c similarity index 100% rename from archive/src/script/module/map/modulemap.c rename to src/script/module/map/modulemap.c diff --git a/archive/src/script/module/map/modulemap.h b/src/script/module/map/modulemap.h similarity index 100% rename from archive/src/script/module/map/modulemap.h rename to src/script/module/map/modulemap.h diff --git a/archive/src/script/module/moduleplatform.h b/src/script/module/moduleplatform.h similarity index 100% rename from archive/src/script/module/moduleplatform.h rename to src/script/module/moduleplatform.h diff --git a/archive/src/script/module/scene/CMakeLists.txt b/src/script/module/scene/CMakeLists.txt similarity index 100% rename from archive/src/script/module/scene/CMakeLists.txt rename to src/script/module/scene/CMakeLists.txt diff --git a/archive/src/script/module/scene/modulescene.c b/src/script/module/scene/modulescene.c similarity index 100% rename from archive/src/script/module/scene/modulescene.c rename to src/script/module/scene/modulescene.c diff --git a/archive/src/script/module/scene/modulescene.h b/src/script/module/scene/modulescene.h similarity index 100% rename from archive/src/script/module/scene/modulescene.h rename to src/script/module/scene/modulescene.h diff --git a/archive/src/script/module/story/CMakeLists.txt b/src/script/module/story/CMakeLists.txt similarity index 100% rename from archive/src/script/module/story/CMakeLists.txt rename to src/script/module/story/CMakeLists.txt diff --git a/archive/src/script/module/story/modulestoryflag.c b/src/script/module/story/modulestoryflag.c similarity index 100% rename from archive/src/script/module/story/modulestoryflag.c rename to src/script/module/story/modulestoryflag.c diff --git a/archive/src/script/module/story/modulestoryflag.h b/src/script/module/story/modulestoryflag.h similarity index 100% rename from archive/src/script/module/story/modulestoryflag.h rename to src/script/module/story/modulestoryflag.h diff --git a/archive/src/script/module/system/CMakeLists.txt b/src/script/module/system/CMakeLists.txt similarity index 100% rename from archive/src/script/module/system/CMakeLists.txt rename to src/script/module/system/CMakeLists.txt diff --git a/archive/src/script/module/system/modulesystem.c b/src/script/module/system/modulesystem.c similarity index 100% rename from archive/src/script/module/system/modulesystem.c rename to src/script/module/system/modulesystem.c diff --git a/archive/src/script/module/system/modulesystem.h b/src/script/module/system/modulesystem.h similarity index 100% rename from archive/src/script/module/system/modulesystem.h rename to src/script/module/system/modulesystem.h diff --git a/archive/src/script/module/time/CMakeLists.txt b/src/script/module/time/CMakeLists.txt similarity index 100% rename from archive/src/script/module/time/CMakeLists.txt rename to src/script/module/time/CMakeLists.txt diff --git a/archive/src/script/module/time/moduletime.c b/src/script/module/time/moduletime.c similarity index 100% rename from archive/src/script/module/time/moduletime.c rename to src/script/module/time/moduletime.c diff --git a/archive/src/script/module/time/moduletime.h b/src/script/module/time/moduletime.h similarity index 100% rename from archive/src/script/module/time/moduletime.h rename to src/script/module/time/moduletime.h diff --git a/archive/src/script/module/ui/CMakeLists.txt b/src/script/module/ui/CMakeLists.txt similarity index 100% rename from archive/src/script/module/ui/CMakeLists.txt rename to src/script/module/ui/CMakeLists.txt diff --git a/archive/src/script/module/ui/moduleui.c b/src/script/module/ui/moduleui.c similarity index 100% rename from archive/src/script/module/ui/moduleui.c rename to src/script/module/ui/moduleui.c diff --git a/archive/src/script/module/ui/moduleui.h b/src/script/module/ui/moduleui.h similarity index 100% rename from archive/src/script/module/ui/moduleui.h rename to src/script/module/ui/moduleui.h diff --git a/archive/src/script/scriptcontext.c b/src/script/scriptcontext.c similarity index 100% rename from archive/src/script/scriptcontext.c rename to src/script/scriptcontext.c diff --git a/archive/src/script/scriptcontext.h b/src/script/scriptcontext.h similarity index 100% rename from archive/src/script/scriptcontext.h rename to src/script/scriptcontext.h diff --git a/archive/src/script/scriptmanager.c b/src/script/scriptmanager.c similarity index 100% rename from archive/src/script/scriptmanager.c rename to src/script/scriptmanager.c diff --git a/archive/src/script/scriptmanager.h b/src/script/scriptmanager.h similarity index 100% rename from archive/src/script/scriptmanager.h rename to src/script/scriptmanager.h diff --git a/archive/src/script/scriptmodule.c b/src/script/scriptmodule.c similarity index 100% rename from archive/src/script/scriptmodule.c rename to src/script/scriptmodule.c diff --git a/archive/src/script/scriptmodule.h b/src/script/scriptmodule.h similarity index 100% rename from archive/src/script/scriptmodule.h rename to src/script/scriptmodule.h diff --git a/archive/src/script/scriptvalue.h b/src/script/scriptvalue.h similarity index 100% rename from archive/src/script/scriptvalue.h rename to src/script/scriptvalue.h diff --git a/archive/src/story/CMakeLists.txt b/src/story/CMakeLists.txt similarity index 100% rename from archive/src/story/CMakeLists.txt rename to src/story/CMakeLists.txt diff --git a/archive/src/story/storyflag.c b/src/story/storyflag.c similarity index 100% rename from archive/src/story/storyflag.c rename to src/story/storyflag.c diff --git a/archive/src/story/storyflag.csv b/src/story/storyflag.csv similarity index 100% rename from archive/src/story/storyflag.csv rename to src/story/storyflag.csv diff --git a/archive/src/story/storyflag.h b/src/story/storyflag.h similarity index 100% rename from archive/src/story/storyflag.h rename to src/story/storyflag.h diff --git a/archive/src/story/storyflagdefs.h b/src/story/storyflagdefs.h similarity index 100% rename from archive/src/story/storyflagdefs.h rename to src/story/storyflagdefs.h diff --git a/archive/src/thread/CMakeLists.txt b/src/thread/CMakeLists.txt similarity index 100% rename from archive/src/thread/CMakeLists.txt rename to src/thread/CMakeLists.txt diff --git a/archive/src/thread/thread.c b/src/thread/thread.c similarity index 100% rename from archive/src/thread/thread.c rename to src/thread/thread.c diff --git a/archive/src/thread/thread.h b/src/thread/thread.h similarity index 100% rename from archive/src/thread/thread.h rename to src/thread/thread.h diff --git a/archive/src/thread/threadmutex.c b/src/thread/threadmutex.c similarity index 100% rename from archive/src/thread/threadmutex.c rename to src/thread/threadmutex.c diff --git a/archive/src/thread/threadmutex.h b/src/thread/threadmutex.h similarity index 100% rename from archive/src/thread/threadmutex.h rename to src/thread/threadmutex.h diff --git a/archive/src/time/CMakeLists.txt b/src/time/CMakeLists.txt similarity index 100% rename from archive/src/time/CMakeLists.txt rename to src/time/CMakeLists.txt diff --git a/archive/src/time/time.c b/src/time/time.c similarity index 100% rename from archive/src/time/time.c rename to src/time/time.c diff --git a/archive/src/time/time.h b/src/time/time.h similarity index 100% rename from archive/src/time/time.h rename to src/time/time.h diff --git a/archive/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt similarity index 100% rename from archive/src/ui/CMakeLists.txt rename to src/ui/CMakeLists.txt diff --git a/archive/src/ui/ui.c b/src/ui/ui.c similarity index 100% rename from archive/src/ui/ui.c rename to src/ui/ui.c diff --git a/archive/src/ui/ui.h b/src/ui/ui.h similarity index 100% rename from archive/src/ui/ui.h rename to src/ui/ui.h diff --git a/archive/src/util/CMakeLists.txt b/src/util/CMakeLists.txt similarity index 100% rename from archive/src/util/CMakeLists.txt rename to src/util/CMakeLists.txt diff --git a/archive/src/util/array.c b/src/util/array.c similarity index 100% rename from archive/src/util/array.c rename to src/util/array.c diff --git a/archive/src/util/array.h b/src/util/array.h similarity index 100% rename from archive/src/util/array.h rename to src/util/array.h diff --git a/archive/src/util/math.c b/src/util/math.c similarity index 100% rename from archive/src/util/math.c rename to src/util/math.c diff --git a/archive/src/util/math.h b/src/util/math.h similarity index 100% rename from archive/src/util/math.h rename to src/util/math.h diff --git a/archive/src/util/memory.c b/src/util/memory.c similarity index 100% rename from archive/src/util/memory.c rename to src/util/memory.c diff --git a/archive/src/util/memory.h b/src/util/memory.h similarity index 100% rename from archive/src/util/memory.h rename to src/util/memory.h diff --git a/archive/src/util/sort.c b/src/util/sort.c similarity index 100% rename from archive/src/util/sort.c rename to src/util/sort.c diff --git a/archive/src/util/sort.h b/src/util/sort.h similarity index 100% rename from archive/src/util/sort.h rename to src/util/sort.h diff --git a/archive/src/util/string.c b/src/util/string.c similarity index 100% rename from archive/src/util/string.c rename to src/util/string.c diff --git a/archive/src/util/string.h b/src/util/string.h similarity index 100% rename from archive/src/util/string.h rename to src/util/string.h