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