From 4c24ae2bc2294c96a81d296a68b6d404f34358e7 Mon Sep 17 00:00:00 2001 From: coco875 <59367621+coco875@users.noreply.github.com> Date: Thu, 23 Jul 2026 02:02:58 +0200 Subject: [PATCH] Refactor cmake (#721) * some start of refactor * Update SetFlags.cmake * Update SetCmakeVar.cmake * Update SetFlags.cmake * Fix error int-convertion * more refactor * clean up include and source file * fix link of lib * fix a warning * fix include in src/actors * fix include in src/debug * fix include in src/ending * fix include in src/engine/actors * fix include in src/engine/cameras * fix include in src/engine/editor * fix include in src/engine/objects * fix include in src/engine/tracks * fix include in src/port/ui * fix include in src/racing * fix include in src/engine/vehicles * fix include in subfolder of src/engine * fix include in src/engine * fix include in src/enhancements * fix include in src * fix switch * invert common and findlib * Update SetFlags.cmake * clean up some workflow * some splification * Update build.sh * Update Game.h * add header back * Delete test_check.cmake * continue * Update common.cmake --- .github/workflows/linux-compile.yml | 7 +- .github/workflows/macos-compile.yml | 6 +- .github/workflows/main.yml | 23 +- CMakeLists.txt | 969 +++++------------- cmake/GenerateO2R.cmake | 22 + cmake/GetVersion.cmake | 48 + cmake/SetCmakeVar.cmake | 34 + cmake/SetFlags.cmake | 150 +++ cmake/StageRuntimeFiles.cmake | 7 + cmake/configure-packaging.cmake | 21 +- cmake/dependencies/FindLib.cmake | 41 + cmake/dependencies/common.cmake | 65 ++ cmake/dependencies/vcpkg.cmake | 30 + cmake/lus-cvars.cmake | 3 - cmake/packaging.cmake | 22 +- lus-cvars.cmake | 19 - script/Dockerfile | 7 - script/Dockerfile.x86 | 2 - script/build.sh | 50 +- src/actors/banana/render.inc.c | 2 +- src/actors/banana/update.inc.c | 2 +- src/actors/blue_and_red_shells/render.inc.c | 2 +- src/actors/blue_and_red_shells/update.inc.c | 4 +- src/actors/box_truck/render.inc.c | 2 +- src/actors/car/render.inc.c | 2 +- src/actors/cow/render.inc.c | 2 +- src/actors/fake_item_box/render.inc.c | 2 +- src/actors/fake_item_box/update.inc.c | 8 +- src/actors/falling_rock/render.inc.c | 2 +- src/actors/falling_rock/update.inc.c | 4 +- src/actors/green_shell/render.inc.c | 2 +- src/actors/green_shell/update.inc.c | 4 +- src/actors/item_box/render.inc.c | 2 +- src/actors/item_box/update.inc.c | 2 +- src/actors/kiwano_fruit/render.inc.c | 2 +- src/actors/kiwano_fruit/update.inc.c | 2 +- src/actors/mario_sign/render.inc.c | 2 +- src/actors/mario_sign/update.inc.c | 2 +- src/actors/paddle_boat/render.inc.c | 2 +- src/actors/palm_tree/render.inc.c | 2 +- src/actors/piranha_plant/render.inc.c | 2 +- src/actors/piranha_plant/update.inc.c | 2 +- src/actors/railroad_crossing/render.inc.c | 2 +- src/actors/railroad_crossing/update.inc.c | 2 +- src/actors/school_bus/render.inc.c | 2 +- src/actors/tanker_truck/render.inc.c | 2 +- src/actors/train/render.inc.c | 2 +- src/actors/train/update.inc.c | 2 +- src/actors/trees/render.inc.c | 2 +- src/actors/wario_sign/render.inc.c | 2 +- src/actors/wario_sign/update.inc.c | 2 +- src/actors/yoshi_egg/render.inc.c | 2 +- src/actors/yoshi_egg/update.inc.c | 2 +- src/animation.c | 2 +- src/camera.c | 2 +- src/code_800029B0.c | 13 +- src/code_80005FD0.c | 8 +- src/code_8003DC40.c | 2 +- src/code_80057C60.c | 6 +- src/code_80086E70.c | 4 +- src/code_80091440.c | 4 +- src/code_800AF9B0.c | 2 +- src/debug/all_variables.h | 26 +- src/effects.c | 2 +- src/ending/camera_junk.c | 2 +- src/ending/ceremony_and_credits.c | 2 +- src/ending/code_80280000.c | 9 +- src/ending/code_80281780.c | 7 +- src/ending/code_80281C40.c | 4 +- src/ending/podium_ceremony_actors.c | 3 +- src/engine/Actor.cpp | 2 +- src/engine/GarbageCollector.h | 2 +- src/engine/HM_Intro.cpp | 6 +- src/engine/Matrix.cpp | 2 +- src/engine/RaceManager.cpp | 2 +- src/engine/RandomItemTable.cpp | 2 +- src/engine/StaticMeshActor.cpp | 2 +- src/engine/actors/BowserStatue.cpp | 2 +- src/engine/actors/BowserStatue.h | 2 +- src/engine/actors/Cloud.cpp | 6 +- src/engine/actors/Cloud.h | 2 +- src/engine/actors/FallingRock.cpp | 8 +- src/engine/actors/FallingRock.h | 2 +- src/engine/actors/Finishline.cpp | 8 +- src/engine/actors/Finishline.h | 2 +- src/engine/actors/MarioSign.cpp | 6 +- src/engine/actors/MarioSign.h | 2 +- src/engine/actors/Ship.cpp | 6 +- src/engine/actors/Ship.h | 2 +- src/engine/actors/SpaghettiShip.cpp | 4 +- src/engine/actors/SpaghettiShip.h | 2 +- src/engine/actors/Starship.cpp | 4 +- src/engine/actors/Starship.h | 2 +- src/engine/actors/Text.cpp | 2 +- src/engine/actors/Tree.cpp | 4 +- src/engine/actors/WarioSign.cpp | 4 +- src/engine/actors/WarioSign.h | 2 +- src/engine/cameras/GameCamera.h | 2 +- src/engine/cameras/TourCamera.cpp | 6 +- src/engine/cameras/TourCamera.h | 2 +- src/engine/editor/Collision.cpp | 2 +- src/engine/editor/Editor.cpp | 2 +- src/engine/editor/EditorMath.cpp | 4 +- src/engine/editor/Gizmo.cpp | 4 +- src/engine/editor/Light.cpp | 4 +- src/engine/editor/ObjectPicker.cpp | 2 +- src/engine/editor/SceneManager.cpp | 6 +- src/engine/editor/SceneManager.h | 2 +- src/engine/objects/Bat.cpp | 6 +- src/engine/objects/Bat.h | 6 +- src/engine/objects/BombKart.cpp | 10 +- src/engine/objects/BombKart.h | 2 +- src/engine/objects/Boos.cpp | 12 +- src/engine/objects/Boos.h | 6 +- src/engine/objects/ChainChomp.cpp | 6 +- src/engine/objects/ChainChomp.h | 4 +- src/engine/objects/CheepCheep.cpp | 4 +- src/engine/objects/CheepCheep.h | 4 +- src/engine/objects/Crab.cpp | 10 +- src/engine/objects/Crab.h | 6 +- src/engine/objects/Flagpole.cpp | 4 +- src/engine/objects/Flagpole.h | 4 +- src/engine/objects/GrandPrixBalloons.cpp | 2 +- src/engine/objects/Hedgehog.h | 2 +- src/engine/objects/HotAirBalloon.cpp | 6 +- src/engine/objects/HotAirBalloon.h | 2 +- src/engine/objects/Lakitu.cpp | 15 +- src/engine/objects/Lakitu.h | 2 +- src/engine/objects/Mole.cpp | 10 +- src/engine/objects/Mole.h | 4 +- src/engine/objects/MoleGroup.cpp | 2 +- src/engine/objects/MoleGroup.h | 4 +- src/engine/objects/Object.cpp | 2 +- src/engine/objects/Penguin.cpp | 12 +- src/engine/objects/Podium.cpp | 6 +- src/engine/objects/Podium.h | 2 +- src/engine/objects/Seagull.cpp | 10 +- src/engine/objects/Snowman.cpp | 4 +- src/engine/objects/Snowman.h | 2 +- src/engine/objects/Thwomp.cpp | 14 +- src/engine/objects/TrashBin.cpp | 4 +- src/engine/objects/TrashBin.h | 2 +- src/engine/objects/Trophy.cpp | 4 +- src/engine/objects/Trophy.h | 2 +- src/engine/particles/StarEmitter.cpp | 2 +- src/engine/particles/StarEmitter.h | 4 +- src/engine/registry/RegisterActors.cpp | 2 +- src/engine/sky/Sky.cpp | 4 +- src/engine/sky/SkySnow.cpp | 2 +- src/engine/tracks/BansheeBoardwalk.cpp | 12 +- src/engine/tracks/BansheeBoardwalk.h | 2 +- src/engine/tracks/BigDonut.cpp | 12 +- src/engine/tracks/BigDonut.h | 2 +- src/engine/tracks/BlockFort.cpp | 12 +- src/engine/tracks/BlockFort.h | 2 +- src/engine/tracks/BowsersCastle.cpp | 10 +- src/engine/tracks/BowsersCastle.h | 2 +- src/engine/tracks/ChocoMountain.cpp | 12 +- src/engine/tracks/ChocoMountain.h | 2 +- src/engine/tracks/CustomTrack.cpp | 8 +- src/engine/tracks/DKJungle.cpp | 12 +- src/engine/tracks/DKJungle.h | 2 +- src/engine/tracks/DoubleDeck.cpp | 12 +- src/engine/tracks/DoubleDeck.h | 2 +- src/engine/tracks/FrappeSnowland.cpp | 14 +- src/engine/tracks/FrappeSnowland.h | 2 +- src/engine/tracks/Harbour.cpp | 16 +- src/engine/tracks/Harbour.h | 2 +- src/engine/tracks/KalimariDesert.cpp | 10 +- src/engine/tracks/KalimariDesert.h | 4 +- src/engine/tracks/KoopaTroopaBeach.cpp | 12 +- src/engine/tracks/KoopaTroopaBeach.h | 4 +- src/engine/tracks/LuigiRaceway.cpp | 16 +- src/engine/tracks/LuigiRaceway.h | 2 +- src/engine/tracks/MarioRaceway.cpp | 12 +- src/engine/tracks/MarioRaceway.h | 2 +- src/engine/tracks/MooMooFarm.cpp | 12 +- src/engine/tracks/MooMooFarm.h | 2 +- src/engine/tracks/PodiumCeremony.cpp | 14 +- src/engine/tracks/PodiumCeremony.h | 4 +- src/engine/tracks/RainbowRoad.cpp | 12 +- src/engine/tracks/RainbowRoad.h | 2 +- src/engine/tracks/RoyalRaceway.cpp | 12 +- src/engine/tracks/RoyalRaceway.h | 2 +- src/engine/tracks/SherbetLand.cpp | 12 +- src/engine/tracks/SherbetLand.h | 2 +- src/engine/tracks/Skyscraper.cpp | 12 +- src/engine/tracks/Skyscraper.h | 2 +- src/engine/tracks/TestTrack.cpp | 14 +- src/engine/tracks/TestTrack.h | 2 +- src/engine/tracks/ToadsTurnpike.cpp | 12 +- src/engine/tracks/ToadsTurnpike.h | 2 +- src/engine/tracks/Track.cpp | 10 +- src/engine/tracks/Track.h | 4 +- src/engine/tracks/WarioStadium.cpp | 14 +- src/engine/tracks/WarioStadium.h | 2 +- src/engine/tracks/YoshiValley.cpp | 14 +- src/engine/tracks/YoshiValley.h | 2 +- src/engine/vehicles/Boat.cpp | 4 +- src/engine/vehicles/Boat.h | 2 +- src/engine/vehicles/Bus.cpp | 8 +- src/engine/vehicles/Bus.h | 2 +- src/engine/vehicles/Car.cpp | 6 +- src/engine/vehicles/Car.h | 2 +- src/engine/vehicles/TankerTruck.cpp | 8 +- src/engine/vehicles/TankerTruck.h | 2 +- src/engine/vehicles/Train.cpp | 4 +- src/engine/vehicles/Train.h | 2 +- src/engine/vehicles/Truck.cpp | 6 +- src/engine/vehicles/Truck.h | 2 +- src/enhancements/collision_viewer.c | 2 +- src/enhancements/freecam/freecam.cpp | 4 +- src/gbiMacro.c | 2 +- src/main.c | 12 +- src/math_util_2.c | 4 +- src/menu_items.c | 13 +- src/menus.c | 6 +- src/player_controller.c | 4 +- src/port/Engine.cpp | 2 +- src/port/Game.cpp | 4 +- src/port/Game.h | 7 +- src/port/interpolation/FrameInterpolation.cpp | 4 +- src/port/ui/ContentBrowser.cpp | 14 +- src/port/ui/ContentBrowser.h | 2 +- src/port/ui/Menu.h | 2 +- src/port/ui/Properties.cpp | 2 +- src/port/ui/SceneExplorer.cpp | 2 +- src/port/ui/Tools.cpp | 2 +- src/port/ui/TrackProperties.cpp | 4 +- src/racing/collision.c | 2 +- src/racing/math_util.c | 2 +- src/racing/race_logic.c | 2 +- src/racing/render_courses.c | 2 +- src/render_objects.c | 4 +- src/render_player.c | 4 +- src/spawn_players.c | 8 +- src/update_objects.c | 11 +- 237 files changed, 1222 insertions(+), 1358 deletions(-) create mode 100644 cmake/GenerateO2R.cmake create mode 100644 cmake/GetVersion.cmake create mode 100644 cmake/SetCmakeVar.cmake create mode 100644 cmake/SetFlags.cmake create mode 100644 cmake/StageRuntimeFiles.cmake create mode 100644 cmake/dependencies/FindLib.cmake create mode 100644 cmake/dependencies/common.cmake create mode 100644 cmake/dependencies/vcpkg.cmake delete mode 100644 cmake/lus-cvars.cmake delete mode 100644 lus-cvars.cmake diff --git a/.github/workflows/linux-compile.yml b/.github/workflows/linux-compile.yml index c795d88e8..2d6c2f8d0 100644 --- a/.github/workflows/linux-compile.yml +++ b/.github/workflows/linux-compile.yml @@ -94,14 +94,9 @@ jobs: -v "${{ github.workspace }}:/project" \ spaghettikart-builder:latest \ bash -c " - cp vcpkg.json /tmp/vcpkg.json && \ - cd /tmp && \ - \${VCPKG_ROOT}/vcpkg install --triplet x64-linux && \ - cd /project && \ cmake -B build -G Ninja \ -DCMAKE_BUILD_TYPE=${{ matrix.config }} \ - -DCMAKE_TOOLCHAIN_FILE=/opt/vcpkg/scripts/buildsystems/vcpkg.cmake \ - -DVCPKG_TARGET_TRIPLET=x64-linux && \ + -DENABLE_VCPKG=ON && \ cmake --build build --parallel && \ make -C torch type=release -j\$(nproc) && \ torch/cmake-build-release/torch pack assets build/spaghetti.o2r o2r diff --git a/.github/workflows/macos-compile.yml b/.github/workflows/macos-compile.yml index ec72d0b57..d3c5dfbf8 100644 --- a/.github/workflows/macos-compile.yml +++ b/.github/workflows/macos-compile.yml @@ -18,13 +18,9 @@ jobs: submodules: recursive - name: Install dependencies run: brew install ninja cmake - - name: Install vcpkg - uses: lukka/run-vcpkg@v11.5 - with: - vcpkgDirectory: '${{ github.workspace }}/vcpkg' - name: Build run: | - cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake + cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DENABLE_VCPKG=ON cmake --build build-cmake -j --config ${{ matrix.config }} - name: Create Package run: | diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 34df3b7c5..3b97f5122 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -96,13 +96,9 @@ jobs: submodules: recursive - name: Install dependencies run: brew install ninja cmake - - name: Install vcpkg - uses: lukka/run-vcpkg@v11.5 - with: - vcpkgDirectory: '${{ github.workspace }}/vcpkg' - name: Build run: | - cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake + cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DENABLE_VCPKG=ON cmake --build build-cmake --config ${{ matrix.config }} -j3 - name: Download spaghetti.o2r uses: actions/download-artifact@v4 @@ -139,13 +135,9 @@ jobs: submodules: recursive - name: Install dependencies run: brew install ninja cmake - - name: Install vcpkg - uses: lukka/run-vcpkg@v11.5 - with: - vcpkgDirectory: '${{ github.workspace }}/vcpkg' - name: Build run: | - cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake + cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DENABLE_VCPKG=ON cmake --build build-cmake --config ${{ matrix.config }} -j3 - name: Download spaghetti.o2r uses: actions/download-artifact@v4 @@ -413,14 +405,9 @@ jobs: -v "${{ github.workspace }}:/project" \ spaghettikart-builder:latest \ bash -c " - cp vcpkg.json /tmp/vcpkg.json && \ - cd /tmp && \ - \${VCPKG_ROOT}/vcpkg install --triplet x64-linux && \ - cd /project && \ cmake -B build -G Ninja \ -DCMAKE_BUILD_TYPE=${{ matrix.config }} \ - -DCMAKE_TOOLCHAIN_FILE=/opt/vcpkg/scripts/buildsystems/vcpkg.cmake \ - -DVCPKG_TARGET_TRIPLET=x64-linux && \ + -DENABLE_VCPKG=ON && \ cmake --build build --parallel " @@ -525,7 +512,7 @@ jobs: spaghettikart-x86:latest \ bash -c " cd /project/build-x86 && \ - cpack -G External || true + cpack -G External " - name: Create Package @@ -533,7 +520,7 @@ jobs: mkdir -p spaghetti-x86-${{ matrix.config }} wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt mv gamecontrollerdb.txt spaghetti-x86-${{ matrix.config }}/ - cp build-x86/*.appimage spaghetti-x86-${{ matrix.config }}/spaghetti.appimage 2>/dev/null || true + cp build-x86/*.appimage spaghetti-x86-${{ matrix.config }}/spaghetti.appimage - name: Publish packaged artifacts uses: actions/upload-artifact@v4 diff --git a/CMakeLists.txt b/CMakeLists.txt index 53ae41d78..883763dfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,165 @@ cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR) # Set the project version and language -project(Spaghettify VERSION 1.0.0 LANGUAGES C CXX ASM) +project( + Spaghettify + VERSION 1.0.0 + LANGUAGES C CXX ASM) include(FetchContent) +# Set Project Version +include(cmake/GetVersion.cmake) + +# Set some Cmake variable +include(cmake/SetCmakeVar.cmake) + +# add_compile_options(-fsanitize=address) add_link_options(-fsanitize=address) + +set(YAML_CPP_STATIC_DEFINE ON) +include(libultraship/cmake/cvars.cmake) + +if(WIN32) + option(ENABLE_VCPKG "Enable vcpkg for dependencies" ON) +else() + option(ENABLE_VCPKG "Enable vcpkg for dependencies" OFF) +endif() + +if(ENABLE_VCPKG) + include(cmake/dependencies/vcpkg.cmake) +endif() + +set(SPAGHETTIKART_IOS OFF) +if(IOS OR CMAKE_SYSTEM_NAME STREQUAL "iOS") + set(SPAGHETTIKART_IOS ON) + set(PLATFORM "OS64") + include(cmake/ios.toolchain.cmake) + set(CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "YOUR_TEAM_ID") + set(PROJECT_ID "dev.net64.game") +endif() + +# Toggle for GLES (Required for many ARM/Mobile platforms) +option(USE_OPENGLES "Use OpenGLES instead of Desktop OpenGL" OFF) + +# Set game compilation version +set(VERSION us) +set(SKIP_XCODE_VERSION_CHECK ON) + +# TODO: Sorry i broke this +set(GFX_DEBUG_DISASSEMBLER OFF) + +if(MSVC) + set(CPP "${CMAKE_C_COMPILER}" "/EP") +else() + set(CPP "${CMAKE_C_COMPILER}" "-E" "-P" "-Wno-trigraphs" "-x" "c") +endif() + +if(WIN32) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/properties.h.in + ${CMAKE_CURRENT_SOURCE_DIR}/properties.h @ONLY) +endif() + +# Collect source files to build the executable +file( + GLOB ALL_FILES_ROOT + CONFIGURE_DEPENDS + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "src/*.c" + "src/*.h" + "src/os/guLookAtF.c" + "src/os/guPerspectiveF.c" + "src/os/guMtxF2L.c" + "src/os/guRotateF.c" + "src/os/guOrthoF.c" + "src/os/guScaleF.c" + "src/os/guTranslateF.c" + "src/os/guMtxCatF.c" + "src/os/guMtxCatL.c" + "src/os/guNormalize.c") + +file( + GLOB_RECURSE ALL_FILES + CONFIGURE_DEPENDS + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + "src/buffers/*.c" + "src/buffers/*.h" + "src/data/*.c" + "src/data/*.h" + "src/debug/*.c" + "src/debug/*.h" + "src/ending/*.c" + "src/ending/*.h" + "src/racing/*.c" + "src/racing/*.h" + "src/audio/*.c" + "src/audio/*.h" + "src/port/*.c" + "src/port/*.cpp" + "src/port/*.h" + "src/mods/*.c" + "src/mods/*.cpp" + "src/mods/*.h" + "assets/code/*.c" + "courses/*.c" + "courses/*.h" + "src/engine/*.cpp" + "src/engine/*.c" + "src/engine/*.h" + "src/enhancements/*.c" + "src/enhancements/*.cpp" + "src/enhancements/*.h" + "Resource.rc") + +list(APPEND ALL_FILES ${ALL_FILES_ROOT}) + +# Exclude specific files from the ALL_FILES list +list(FILTER ALL_FILES EXCLUDE REGEX ".*.inc.c") +list(FILTER ALL_FILES EXCLUDE REGEX "./src/debug/crash_screen_enhancement.c") + +if(SPAGHETTIKART_IOS) + set(IOS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/ios) + + set(STORYBOARD_FILE ${IOS_DIR}/Launch.storyboard) + set(IMAGE_FILES ${IOS_DIR}/PoweredBy.png) + set(ICON_FILES ${IOS_DIR}/Icon.png) + + list(APPEND ALL_FILES ${STORYBOARD_FILE} ${IMAGE_FILES} ${ICON_FILES}) + +endif() + +add_executable(${PROJECT_NAME} ${ALL_FILES}) +target_include_directories( + ${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/include/assets + ${CMAKE_CURRENT_SOURCE_DIR}/src) +target_compile_definitions(${PROJECT_NAME} PRIVATE YAML_CPP_STATIC_DEFINE) + +if(SPAGHETTIKART_IOS) + target_compile_definitions(${PROJECT_NAME} PRIVATE PLATFORM_IOS=1) + set_xcode_property(${PROJECT_NAME} PRODUCT_BUNDLE_IDENTIFIER ${PROJECT_ID} + All) + set_target_properties( + ${PROJECT_NAME} + PROPERTIES MACOSX_BUNDLE TRUE + MACOSX_BUNDLE_INFO_PLIST ${IOS_DIR}/plist.in + RESOURCE "${IMAGE_FILES};${STORYBOARD_FILE};${ICON_FILES}") +endif() + +include(cmake/SetFlags.cmake) + +# ############################################################################## +# MSVC runtime library +# ############################################################################## +if(MSVC) + set_property( + TARGET ${PROJECT_NAME} + PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +endif() + +include(cmake/dependencies/common.cmake) + +include(cmake/dependencies/FindLib.cmake) + # fmt's consteval format-string checking fails to compile under newer # AppleClang (Xcode 16+) with the spdlog/fmt versions in use (both vcpkg's on # CI and Torch's bundled copy — see cmake/TorchExternalFixes.cmake for the @@ -18,706 +174,45 @@ include(FetchContent) # spdlog/fmt update. Note the bump also needs matching MK64 loader changes, # see the discussion on PR #712. if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_definitions("FMT_CONSTEVAL=") + foreach(FMT_CONSUMER ${PROJECT_NAME} libultraship torch) + target_compile_definitions(${FMT_CONSUMER} PRIVATE "FMT_CONSTEVAL=") + endforeach() endif() -set(NATO_PHONETIC_ALPHABET - "Alfa" "Bravo" "Charlie" "Delta" "Echo" "Foxtrot" "Golf" "Hotel" - "India" "Juliett" "Kilo" "Lima" "Mike" "November" "Oscar" "Papa" - "Quebec" "Romeo" "Sierra" "Tango" "Uniform" "Victor" "Whiskey" - "Xray" "Yankee" "Zulu" -) - -# Get the patch version number from the project version -math(EXPR PATCH_INDEX "${PROJECT_VERSION_PATCH}") - -# Use the patch number to select the correct word -list(GET NATO_PHONETIC_ALPHABET ${PATCH_INDEX} PROJECT_PATCH_WORD) - -set(PROJECT_BUILD_NAME "Bolognese ${PROJECT_PATCH_WORD}" CACHE STRING "" FORCE) -set(PROJECT_TEAM "SpaghettiKart Team - HarbourMasters") - -execute_process( - COMMAND git config --global --add safe.directory ${CMAKE_SOURCE_DIR} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_QUIET -) - -execute_process( - COMMAND git describe --tags - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE PROJECT_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE -) -if (DEFINED PROJECT_VERSION AND NOT "${PROJECT_VERSION}" STREQUAL "") - string(REPLACE "-" ";" PROJECT_VERSION_LIST "${PROJECT_VERSION}") - list(GET PROJECT_VERSION_LIST 0 PROJECT_VERSION_PATCH) - string(REPLACE "." ";" PROJECT_VERSION_LIST "${PROJECT_VERSION_PATCH}") - list(LENGTH PROJECT_VERSION_LIST PROJECT_VERSION_LIST_LENGTH) - if (${PROJECT_VERSION_LIST_LENGTH} LESS 3) - set(PROJECT_VERSION_PATCH 0) - else() - list(GET PROJECT_VERSION_LIST 2 PROJECT_VERSION_PATCH) - endif() -else() - set(PROJECT_VERSION "Unknown") - execute_process( - COMMAND git log --pretty=format:%h -1 - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE PROJECT_VERSION_PATCH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if (DEFINED PROJECT_VERSION_PATCH AND NOT "${PROJECT_VERSION_PATCH}" STREQUAL "") - set(PROJECT_VERSION "${PROJECT_VERSION}-${PROJECT_VERSION_PATCH}") - endif() - set(PROJECT_VERSION_PATCH 0) -endif() - -message("Spaghetti Kart version: ${PROJECT_VERSION} ${PROJECT_PATCH_WORD}") - -if(APPLE) - enable_language(OBJCXX) -endif() - -# Set the minimum version of CMake and the deployment target for macOS -set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version") - -# Set CMake to build as Universal Binary for macOS -set(CMAKE_OSX_ARCHITECTURES=arm64;x86_64) - -# Set the C++ standard and enable the MSVC parallel build option -set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use") -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_C_STANDARD 11 CACHE STRING "The C standard to use") -set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Spaghettify) -#add_compile_options(-fsanitize=address) -#add_link_options(-fsanitize=address) - -# Add a custom module path to locate additional CMake modules -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") -set(YAML_CPP_STATIC_DEFINE ON) -add_compile_definitions(YAML_CPP_STATIC_DEFINE) -include(cmake/lus-cvars.cmake) - -if (WIN32) - include(cmake/automate-vcpkg.cmake) - if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(VCPKG_TRIPLET x64-windows-static) - set(VCPKG_TARGET_TRIPLET x64-windows-static) - else() - set(VCPKG_TRIPLET x86-windows-static) - set(VCPKG_TARGET_TRIPLET x86-windows-static) - endif() - vcpkg_bootstrap() - vcpkg_install_packages() - - set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME}) - set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) -endif() - -if (MSVC) - set(CPP "${CMAKE_C_COMPILER}" "/EP") -else() - set(CPP "${CMAKE_C_COMPILER}" "-E" "-P" "-Wno-trigraphs" "-x" "c") -endif() - -if(IOS) - set(PLATFORM "OS64") - include(cmake/ios.toolchain.cmake) - add_compile_definitions( - PLATFORM_IOS=1 -) - set(CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "YOUR_TEAM_ID") - set(PROJECT_ID "dev.net64.game") -endif() - -################################################################################ -# Set target arch type if empty. Visual studio solution generator provides it. -################################################################################ -if (CMAKE_SYSTEM_NAME STREQUAL "Windows") - if(NOT CMAKE_VS_PLATFORM_NAME) - set(CMAKE_VS_PLATFORM_NAME "x64") - endif() - message("${CMAKE_VS_PLATFORM_NAME} architecture in use") - - if(NOT ("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64" - OR "${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")) - message(FATAL_ERROR "${CMAKE_VS_PLATFORM_NAME} arch is not supported!") - endif() -endif() - -################################################################################ -# Compiler specific configuration types -################################################################################ -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|Clang|AppleClang") - set(COMMON_FLAGS "-Wall -Wextra -Wno-error \ - -Wno-return-type \ - -Wno-unused-parameter \ - -Wno-unused-function \ - -Wno-unused-variable \ - -Wno-missing-field-initializers \ - -Wno-parentheses \ - -Wno-narrowing \ - -Wno-missing-braces \ - -ffast-math \ - -flto=auto \ - -pipe" - ) - - set(COMMON_C_FLAGS "${COMMON_FLAGS} -Wno-int-conversion -Werror-implicit-function-declaration -Wno-incompatible-pointer-types") - set(COMMON_CXX_FLAGS "${COMMON_FLAGS} -Wno-c++11-narrowing -Wno-deprecated-enum-enum-conversion -fpermissive -fomit-frame-pointer") -elseif (MSVC) - set(COMMON_FLAGS "/fp:fast") - set(COMMON_C_FLAGS "${COMMON_FLAGS}") - set(COMMON_CXX_FLAGS "${COMMON_FLAGS}") -else() - set(COMMON_C_FLAGS "") - set(COMMON_CXX_FLAGS "") -endif() - -# fix LTO breaks debug information on Apple/Ninja https://gitlab.kitware.com/cmake/cmake/-/issues/25202 -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang" AND "${CMAKE_BUILD_TYPE}" STREQUAL "Debug") - add_link_options("-fno-lto") - add_compile_options("-fno-lto") -endif() - -################################################################################ -# Global configuration types -################################################################################ -if (MSVC) - set(CMAKE_C_FLAGS_DEBUG "/Od /Zi /DNDEBUG ${COMMON_C_FLAGS}") - set(CMAKE_CXX_FLAGS_DEBUG "/Od /Zi /DNDEBUG ${COMMON_CXX_FLAGS}") - set(CMAKE_C_FLAGS_RELEASE "/O2 /DNDEBUG ${COMMON_C_FLAGS}") - set(CMAKE_CXX_FLAGS_RELEASE "/O2 /DNDEBUG ${COMMON_CXX_FLAGS}") -else() - set(CMAKE_C_FLAGS_DEBUG "-g -DNDEBUG ${COMMON_C_FLAGS}") - set(CMAKE_CXX_FLAGS_DEBUG "-g -DNDEBUG ${COMMON_CXX_FLAGS}") - set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_C_FLAGS}") - set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_CXX_FLAGS}") - set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG ${COMMON_C_FLAGS}") - set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG ${COMMON_CXX_FLAGS}") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${COMMON_C_FLAGS}") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${COMMON_CXX_FLAGS}") -endif() - -# Toggle for GLES (Required for many ARM/Mobile platforms) -option(USE_OPENGLES "Use OpenGLES instead of Desktop OpenGL" OFF) - -# Set game compilation version -set(VERSION us) -set(USE_NETWORKING OFF) -set(SKIP_XCODE_VERSION_CHECK ON) - -# TODO: Sorry i broke this -set(GFX_DEBUG_DISASSEMBLER OFF) - -if(NOT MSVC) -include(CheckCCompilerFlag) -include(CheckCXXCompilerFlag) -check_c_compiler_flag("-Wno-error=int-conversion" HAS_WNO_ERROR_INT_CONVERSION) -check_cxx_compiler_flag("-Wno-error=changes-meaning" HAS_WNO_ERROR_CHANGES_MEANING) - -add_compile_options("$<$:-Wno-error=incompatible-pointer-types>" "$<$:-Wno-error=narrowing>") - -if(HAS_WNO_ERROR_INT_CONVERSION) - add_compile_options("$<$:-Wno-error=int-conversion>") -endif() - -if(HAS_WNO_ERROR_CHANGES_MEANING) - add_compile_options("$<$:-Wno-error=changes-meaning>") -endif() -endif() - -# Add compile definitions for the target -add_compile_definitions( - VERSION_US=1 - $<$:USE_OPENGLES> - ENABLE_RUMBLE=1 - F3DEX_GBI=1 - _LANGUAGE_C - _USE_MATH_DEFINES - CIMGUI_DEFINE_ENUMS_AND_STRUCTS - NON_MATCHING=1 - NON_EQUIVALENT=1 - AVOID_UB=1 - SPAGHETTI_VERSION="${PROJECT_VERSION}" -) - - -if (CMAKE_SYSTEM_NAME STREQUAL "Windows") - configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/properties.h.in ${CMAKE_CURRENT_SOURCE_DIR}/properties.h @ONLY) -endif() - -# Include directories -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/include/assets - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_SOURCE_DIR}/src/racing - ${CMAKE_CURRENT_SOURCE_DIR}/src/ending - ${CMAKE_CURRENT_SOURCE_DIR}/src/data - ${CMAKE_CURRENT_SOURCE_DIR}/src/buffers - ${CMAKE_CURRENT_SOURCE_DIR}/src/audio - ${CMAKE_CURRENT_SOURCE_DIR}/src/debug - ${CMAKE_CURRENT_SOURCE_DIR}/src/engine - ${CMAKE_CURRENT_SOURCE_DIR}/src/engine/tracks - ${CMAKE_CURRENT_SOURCE_DIR}/src/engine/actors - ${CMAKE_CURRENT_SOURCE_DIR}/src/engine/objects - ${CMAKE_CURRENT_SOURCE_DIR}/src/engine/sky - ${CMAKE_CURRENT_SOURCE_DIR}/src/engine/particles - ${CMAKE_CURRENT_SOURCE_DIR}/src/enhancements - ${CMAKE_CURRENT_SOURCE_DIR}/src/enhancements/freecam -) - -# Collect source files to build the executable -file(GLOB ALL_FILES_ROOT RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - "src/*.c" - "src/*.h" - "src/os/guLookAtF.c" - "src/os/guPerspectiveF.c" - "src/os/guMtxF2L.c" - "src/os/guRotateF.c" - "src/os/guOrthoF.c" - "src/os/guScaleF.c" - "src/os/guTranslateF.c" - "src/os/guMtxCatF.c" - "src/os/guMtxCatL.c" - "src/os/guNormalize.c" -) - -file(GLOB_RECURSE ALL_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - "src/buffers/*.c" - "src/buffers/*.h" - "src/data/*.c" - "src/data/*.h" - "src/debug/*.c" - "src/debug/*.h" - "src/ending/*.c" - "src/ending/*.h" - "src/racing/*.c" - "src/racing/*.h" - "src/audio/*.c" - "src/audio/*.h" - "src/port/*.h" - "src/port/*.c" - "src/port/*.cpp" - "src/mods/*.h" - "src/mods/*.c" - "src/mods/*.cpp" - "assets/code/*.c" - "courses/*.c" - "courses/*.h" - "src/engine/*.cpp" - "src/engine/*.h" - "src/engine/tracks/*.c" - "src/engine/tracks/*.h" - "src/engine/actors/*.cpp" - "src/engine/actors/*.h" - "src/engine/objects/*.cpp" - "src/engine/objects/*.h" - "src/engine/sky/*.cpp" - "src/engine/sky/*.h" - "src/engine/particles/*.cpp" - "src/engine/particles/*.h" - "src/enhancements/*.c" - "src/enhancements/*.h" - "src/enhancements/freecam/*.c" - "src/enhancements/freecam/*.cpp" - "src/enhancements/freecam/*.h" - "src/engine/*.cpp" - "src/engine/*.h" - "Resource.rc" -) - -list(APPEND ALL_FILES ${ALL_FILES_ROOT}) - -# Exclude specific files from the ALL_FILES list -list(FILTER ALL_FILES EXCLUDE REGEX ".*.inc.c") -list(FILTER ALL_FILES EXCLUDE REGEX "./src/debug/crash_screen_enhancement.c") - -if (CMAKE_SYSTEM_NAME STREQUAL "iOS") - set(IOS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/ios) - - set(STORYBOARD_FILE ${IOS_DIR}/Launch.storyboard) - set(IMAGE_FILES ${IOS_DIR}/PoweredBy.png) - set(ICON_FILES ${IOS_DIR}/Icon.png) - - list(APPEND ALL_FILES ${STORYBOARD_FILE} ${IMAGE_FILES} ${ICON_FILES}) - - add_executable(${PROJECT_NAME} ${ALL_FILES}) - set_xcode_property(${PROJECT_NAME} PRODUCT_BUNDLE_IDENTIFIER ${PROJECT_ID} All) - set_target_properties( - ${PROJECT_NAME} - PROPERTIES - MACOSX_BUNDLE TRUE - MACOSX_BUNDLE_INFO_PLIST ${IOS_DIR}/plist.in - RESOURCE "${IMAGE_FILES};${STORYBOARD_FILE};${ICON_FILES}" - ) -else() - add_executable(${PROJECT_NAME} ${ALL_FILES}) -endif() - -################################################################################ -# OpenGL / OpenGLES library -################################################################################ -if (UNIX AND NOT APPLE) - if (USE_OPENGLES) - find_library(GLESv2_LIBRARY GLESv2 REQUIRED) - target_link_libraries(${PROJECT_NAME} PRIVATE ${GLESv2_LIBRARY}) - else() - find_package(OpenGL REQUIRED) - target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL) - endif() -endif() - -################################################################################ -# MSVC runtime library -################################################################################ -if (MSVC) - if (CMAKE_SYSTEM_NAME STREQUAL "Windows") - get_property(MSVC_RUNTIME_LIBRARY_DEFAULT TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY) - if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") - string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" - $<$: - MultiThreadedDebug - > - $<$: - MultiThreaded - > - $<$,$>>:${MSVC_RUNTIME_LIBRARY_DEFAULT}> - ) - elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32") - string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" - $<$: - MultiThreadedDebug - > - $<$: - MultiThreaded - > - $<$,$>>:${MSVC_RUNTIME_LIBRARY_DEFAULT}> - ) - endif() - set_target_properties(${PROJECT_NAME} PROPERTIES MSVC_RUNTIME_LIBRARY ${MSVC_RUNTIME_LIBRARY_STR}) - endif() -endif() - -#=================== SSE2NEON =================== -set(SSE2NEON_DIR ${CMAKE_BINARY_DIR}/_deps/sse2neon) -file(DOWNLOAD "https://raw.githubusercontent.com/DLTcollab/sse2neon/refs/heads/master/sse2neon.h" "${SSE2NEON_DIR}/sse2neon.h") - -include_directories(${SSE2NEON_DIR}) - -#================== SEMVER =================== -set(SEMVER_DIR ${CMAKE_BINARY_DIR}/_deps/semver) -file(DOWNLOAD "https://raw.githubusercontent.com/Neargye/semver/refs/tags/v1.0.0-rc/include/semver.hpp" "${SEMVER_DIR}/semver.hpp") - -include_directories(${SEMVER_DIR}) - -#=================== DRLibs =================== -FetchContent_Declare( - dr_libs - GIT_REPOSITORY https://github.com/mackron/dr_libs.git - GIT_TAG da35f9d6c7374a95353fd1df1d394d44ab66cf01 -) -FetchContent_MakeAvailable(dr_libs) - -#=================== STB =================== -include_directories(${STB_DIR}) - -#=================== tomlplusplus =================== -include(FetchContent) -FetchContent_Declare( - tomlplusplus - GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git - GIT_TAG v3.4.0 -) -FetchContent_MakeAvailable(tomlplusplus) -target_link_libraries(${PROJECT_NAME} PRIVATE tomlplusplus::tomlplusplus) - -#==============================================================================# -# Libultraship Integration # -#==============================================================================# - -# Removes MPQ/OTR support -set(EXCLUDE_MPQ_SUPPORT TRUE CACHE BOOL "") -set(ENABLE_EXP_AUTO_CONFIGURE_CONTROLLERS ON CACHE BOOL "") -add_compile_definitions(EXCLUDE_MPQ_SUPPORT) - if(CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") - find_package(SDL2) + + nx_generate_nacp( + ${PROJECT_NAME}.nacp + NAME + "${PROJECT_NAME}" + AUTHOR + "${PROJECT_TEAM}" + VERSION + "${PROJECT_VERSION}") + + nx_create_nro(${PROJECT_NAME} NACP ${PROJECT_NAME}.nacp ICON + ${CMAKE_CURRENT_SOURCE_DIR}/icon.png) + + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.nro + DESTINATION . + COMPONENT ${PROJECT_NAME}) endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include - ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include/libultraship - ${SDL2_INCLUDE_DIRS} - ${dr_libs_SOURCE_DIR} -) - -if (NOT USE_OPENGLES) - include_directories(${GLEW_INCLUDE_DIRS}) -endif() - -add_subdirectory(libultraship ${CMAKE_CURRENT_SOURCE_DIR}/libultraship) -add_dependencies(${PROJECT_NAME} libultraship) -target_link_libraries(${PROJECT_NAME} PRIVATE libultraship) - -if (CMAKE_SYSTEM_NAME STREQUAL "Windows") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_DEBUG;" - "_CRT_SECURE_NO_WARNINGS;" - "ENABLE_DX11;" - ">" - "$<$:" - "NDEBUG" - ">" - "INCLUDE_GAME_PRINTF;" - "NOMINMAX" - "UNICODE;" - "_UNICODE;" - "_CRT_SECURE_NO_WARNINGS;" - "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS;" - ) - add_compile_definitions(STORMLIB_NO_AUTO_LINK) - set(STORMLIB_NO_AUTO_LINK ON) -elseif (CMAKE_SYSTEM_NAME STREQUAL "CafeOS") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_DEBUG" - ">" - "$<$:" - "NDEBUG" - ">" - "SPDLOG_ACTIVE_LEVEL=3;" - "SPDLOG_NO_THREAD_ID;" - "SPDLOG_NO_TLS;" - "STBI_NO_THREAD_LOCALS;" - ) -elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|Clang|AppleClang") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_DEBUG" - ">" - "$<$:" - "NDEBUG" - ">" - "$<$:ENABLE_CROWD_CONTROL>" - "SPDLOG_ACTIVE_LEVEL=0;" - "_CONSOLE;" - "_CRT_SECURE_NO_WARNINGS;" - "UNICODE;" - "_UNICODE" - ) -endif() - -if (CMAKE_SYSTEM_NAME STREQUAL "Windows") - find_package(Ogg CONFIG REQUIRED) - link_libraries(Ogg::ogg) - - find_package(Vorbis CONFIG REQUIRED) - link_libraries(Vorbis::vorbisfile) - set(ADDITIONAL_LIBRARY_DEPENDENCIES - "Ogg::ogg" - "Vorbis::vorbis" - "Vorbis::vorbisenc" - "Vorbis::vorbisfile" - ) -elseif(CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") - set(ADDITIONAL_LIBRARY_DEPENDENCIES - -lglad - SDL2::SDL2 - ) -elseif(CMAKE_SYSTEM_NAME STREQUAL "CafeOS") - set(ADDITIONAL_LIBRARY_DEPENDENCIES - "$<$:-Wl,--wrap=abort>" - ) - target_include_directories(${PROJECT_NAME} PRIVATE - ${DEVKITPRO}/portlibs/wiiu/include/ - ) -else() - find_package(Ogg REQUIRED) - find_package(Vorbis REQUIRED) - set(ADDITIONAL_LIBRARY_DEPENDENCIES - "Ogg::ogg" - "Vorbis::vorbis" - "Vorbis::vorbisenc" - "Vorbis::vorbisfile" - ) -endif() - - -if(USE_NETWORKING) - if(MSVC) - vcpkg_install_packages(sdl2-net) - endif() - include_directories(${SDL2_NET_INCLUDE_DIRS}) - target_compile_definitions(${PROJECT_NAME} PRIVATE USE_NETWORKING) - if(CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") - target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net) - elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - find_package(SDL2_net REQUIRED) - target_link_libraries(${PROJECT_NAME} PRIVATE $,SDL2_net::SDL2_net,SDL2_net::SDL2_net-static>) - else() - find_package(SDL2_net REQUIRED) - target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net-static) - endif() -endif() - -option(USE_STANDALONE "Build as a standalone executable" OFF) -option(BUILD_STORMLIB "Build with StormLib support" OFF) - -option(BUILD_SM64 "Build with Super Mario 64 support" OFF) -option(BUILD_MK64 "Build with Mario Kart 64 support" ON) -option(BUILD_SF64 "Build with Star Fox 64 support" OFF) -option(BUILD_FZERO "Build with F-Zero X support" OFF) -option(BUILD_MARIO_ARTIST "Build with Mario Artist support" OFF) - -add_subdirectory(torch) -target_link_libraries(${PROJECT_NAME} PRIVATE torch "${ADDITIONAL_LIBRARY_DEPENDENCIES}") - -if(CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch") - - nx_generate_nacp(${PROJECT_NAME}.nacp - NAME "${PROJECT_NAME}" - AUTHOR "${PROJECT_TEAM}" - VERSION "${PROJECT_VERSION}" -) - - nx_create_nro(${PROJECT_NAME} - NACP ${PROJECT_NAME}.nacp - ICON ${CMAKE_CURRENT_SOURCE_DIR}/icon.png -) - - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.nro DESTINATION . COMPONENT ${PROJECT_NAME}) -endif() - -################################################################################ +# ############################################################################## # Compile and link options -################################################################################ -if(MSVC) - if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") - target_compile_options(${PROJECT_NAME} PRIVATE - $<$: - /w; - /Od; - /MTd - > - $<$: - /Oi; - /Gy; - /W3; - /MT - > - /permissive-; - /MP; - ${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT}; - ${DEFAULT_CXX_EXCEPTION_HANDLING} - ) - target_compile_options(${PROJECT_NAME} PRIVATE $<$:/ZI;>) - target_compile_options(${PROJECT_NAME} PRIVATE $<$:/Zi;>) - elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32") - target_compile_options(${PROJECT_NAME} PRIVATE - $<$: - /MTd - > - $<$: - /O2; - /Oi; - /Gy; - /MT - > - /permissive-; - /MP; - /w; - ${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT}; - ${DEFAULT_CXX_EXCEPTION_HANDLING} - ) - endif() - if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") - target_link_options(${PROJECT_NAME} PRIVATE - $<$: - /INCREMENTAL - > - $<$: - /OPT:REF; - /OPT:ICF; - /INCREMENTAL:NO; - /FORCE:MULTIPLE - > - /MANIFEST:NO; - /DEBUG; - /SUBSYSTEM:WINDOWS - ) - elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32") - target_link_options(${PROJECT_NAME} PRIVATE - $<$: - /STACK:8777216 - > - $<$: - /OPT:REF; - /OPT:ICF; - /INCREMENTAL:NO; - /FORCE:MULTIPLE - > - /MANIFEST:NO; - /DEBUG; - /SUBSYSTEM:WINDOWS - ) - endif() +# ############################################################################## - # Remove /RTC from msvc flags - foreach (fentry - CMAKE_C_FLAGS - CMAKE_CXX_FLAGS - ) - string (REGEX REPLACE "/RTC(su|[1su])" "" ${fentry} "${${fentry}}") - endforeach(fentry) -endif() - -if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang") - if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS") - target_compile_options(${PROJECT_NAME} PRIVATE - -pthread - ) - - target_link_options(${PROJECT_NAME} PRIVATE - -pthread - ) - elseif (CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") - target_compile_options(${PROJECT_NAME} PRIVATE - -pthread - ) - - target_link_options(${PROJECT_NAME} PRIVATE - -pthread - ) - elseif (NOT CMAKE_SYSTEM_NAME STREQUAL "CafeOS") - if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") - set(CPU_OPTION -msse2 -mfpmath=sse) - endif() - - target_compile_options(${PROJECT_NAME} PRIVATE - -pthread - ${CPU_OPTION} - ) - - target_link_options(${PROJECT_NAME} PRIVATE - -pthread - -Wl,-export-dynamic - ) - endif() -endif() add_custom_command( - TARGET ${PROJECT_NAME} POST_BUILD - COMMENT "Copying asset yamls..." - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/config.yml" "$/config.yml" - COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/yamls/" "$/yamls/" - COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/meta/" "$/meta/" -) + TARGET ${PROJECT_NAME} + POST_BUILD + COMMENT "Copying asset yamls..." + COMMAND + ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR} + -DDESTINATION_DIR=$ + -P ${CMAKE_SOURCE_DIR}/cmake/StageRuntimeFiles.cmake + VERBATIM) if(NOT CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") include(ExternalProject) @@ -736,11 +231,20 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") SOURCE_DIR ${CMAKE_SOURCE_DIR}/torch CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/torch -DCMAKE_PROJECT_INCLUDE=${CMAKE_SOURCE_DIR}/cmake/TorchExternalFixes.cmake -) + -DUSE_STANDALONE=ON + -DBUILD_STORMLIB=${BUILD_STORMLIB} + -DBUILD_SM64=${BUILD_SM64} + -DBUILD_MK64=${BUILD_MK64} + -DBUILD_SF64=${BUILD_SF64} + -DBUILD_FZERO=${BUILD_FZERO} + -DBUILD_MARIO_ARTIST=${BUILD_MARIO_ARTIST} + -DBUILD_NAUDIO=${BUILD_NAUDIO} + ) ExternalProject_Get_Property(TorchExternal install_dir) - if (MSVC) - set(TORCH_EXECUTABLE ${install_dir}/src/TorchExternal-build/$/torch) + if(MSVC) + set(TORCH_EXECUTABLE + ${install_dir}/src/TorchExternal-build/$/torch) else() set(TORCH_EXECUTABLE ${install_dir}/src/TorchExternal-build/torch) endif() @@ -750,57 +254,62 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") DEPENDS TorchExternal WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${TORCH_EXECUTABLE} header -o baserom.us.z64 - COMMAND ${TORCH_EXECUTABLE} o2r baserom.us.z64 --additional-files meta/mods.toml - COMMAND ${TORCH_EXECUTABLE} pack assets spaghetti.o2r o2r - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/mk64.o2r" "${CMAKE_BINARY_DIR}/mk64.o2r" - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/spaghetti.o2r" "${CMAKE_BINARY_DIR}/spaghetti.o2r" -) + COMMAND ${TORCH_EXECUTABLE} o2r baserom.us.z64 --additional-files + meta/mods.toml + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/mk64.o2r" + "${CMAKE_BINARY_DIR}/mk64.o2r" + COMMAND + ${CMAKE_COMMAND} -DTORCH_EXECUTABLE=${TORCH_EXECUTABLE} + -DSOURCE_DIR=${CMAKE_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} + -P ${CMAKE_SOURCE_DIR}/cmake/GenerateO2R.cmake + VERBATIM) add_custom_target( GenerateO2R DEPENDS TorchExternal - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - COMMAND ${TORCH_EXECUTABLE} pack assets spaghetti.o2r o2r - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/spaghetti.o2r" "${CMAKE_BINARY_DIR}/spaghetti.o2r" -) + COMMAND + ${CMAKE_COMMAND} -DTORCH_EXECUTABLE=${TORCH_EXECUTABLE} + -DSOURCE_DIR=${CMAKE_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} + -P ${CMAKE_SOURCE_DIR}/cmake/GenerateO2R.cmake + VERBATIM) - if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - install(FILES "${CMAKE_BINARY_DIR}/spaghetti.o2r" DESTINATION . COMPONENT ${PROJECT_NAME}) + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + install( + FILES "${CMAKE_BINARY_DIR}/spaghetti.o2r" + DESTINATION . + COMPONENT ${PROJECT_NAME}) endif() - if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - add_custom_target(CreateOSXIcons - COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset - COMMAND sips -z 16 16 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_16x16.png - COMMAND sips -z 32 32 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_16x16@2x.png - COMMAND sips -z 32 32 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_32x32.png - COMMAND sips -z 64 64 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_32x32@2x.png - COMMAND sips -z 128 128 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_128x128.png - COMMAND sips -z 256 256 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_128x128@2x.png - COMMAND sips -z 256 256 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_256x256.png - COMMAND sips -z 512 512 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_256x256@2x.png - COMMAND sips -z 512 512 icon.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_512x512.png - COMMAND cp icon.png ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_512x512@2x.png - COMMAND iconutil -c icns -o ${CMAKE_BINARY_DIR}/macosx/spaghettikart.icns ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - COMMENT "Creating OSX icons ..." - ) + if(APPLE AND NOT SPAGHETTIKART_IOS) + add_custom_target( + CreateOSXIcons + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/macosx + COMMAND sips -s format icns icon.png --out + ${CMAKE_BINARY_DIR}/macosx/spaghettikart.icns + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMENT "Creating OSX icons ...") add_dependencies(${PROJECT_NAME} CreateOSXIcons) - configure_file("${CMAKE_SOURCE_DIR}/Info.plist" "${CMAKE_BINARY_DIR}/Info.plist" COPYONLY) + configure_file("${CMAKE_SOURCE_DIR}/Info.plist" + "${CMAKE_BINARY_DIR}/Info.plist" COPYONLY) endif() - set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE_TERMINAL YES) - set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE "${CMAKE_SOURCE_DIR}/SpaghettiKart.desktop") - set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_ICON_FILE "${CMAKE_SOURCE_DIR}/icon.png") + set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE_TERMINAL + YES) + set_property( + TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE + "${CMAKE_SOURCE_DIR}/SpaghettiKart.desktop") + set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_ICON_FILE + "${CMAKE_SOURCE_DIR}/icon.png") endif() -if(CMAKE_SYSTEM_NAME MATCHES "Linux") +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") set(CPACK_GENERATOR "External") elseif(CMAKE_SYSTEM_NAME MATCHES "Windows|NintendoSwitch|CafeOS") set(CPACK_GENERATOR "ZIP") -elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") +elseif(APPLE) set(CPACK_GENERATOR "Bundle") endif() -set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_SOURCE_DIR}/cmake/configure-packaging.cmake) +set(CPACK_PROJECT_CONFIG_FILE + ${CMAKE_SOURCE_DIR}/cmake/configure-packaging.cmake) include(cmake/packaging.cmake) diff --git a/cmake/GenerateO2R.cmake b/cmake/GenerateO2R.cmake new file mode 100644 index 000000000..32e1e053d --- /dev/null +++ b/cmake/GenerateO2R.cmake @@ -0,0 +1,22 @@ +foreach(REQUIRED_VARIABLE TORCH_EXECUTABLE SOURCE_DIR BINARY_DIR) + if(NOT DEFINED ${REQUIRED_VARIABLE}) + message(FATAL_ERROR "${REQUIRED_VARIABLE} is required") + endif() +endforeach() + +file(LOCK "${BINARY_DIR}/spaghetti-o2r.lock" GUARD PROCESS TIMEOUT 300) +execute_process( + COMMAND "${TORCH_EXECUTABLE}" pack assets spaghetti.o2r o2r + WORKING_DIRECTORY "${SOURCE_DIR}" + RESULT_VARIABLE GENERATE_RESULT) +if(NOT GENERATE_RESULT EQUAL 0) + message(FATAL_ERROR "Torch failed to generate spaghetti.o2r") +endif() + +execute_process( + COMMAND "${CMAKE_COMMAND}" -E copy_if_different + "${SOURCE_DIR}/spaghetti.o2r" "${BINARY_DIR}/spaghetti.o2r" + RESULT_VARIABLE COPY_RESULT) +if(NOT COPY_RESULT EQUAL 0) + message(FATAL_ERROR "Failed to stage spaghetti.o2r") +endif() diff --git a/cmake/GetVersion.cmake b/cmake/GetVersion.cmake new file mode 100644 index 000000000..8e918658b --- /dev/null +++ b/cmake/GetVersion.cmake @@ -0,0 +1,48 @@ +execute_process( + COMMAND git -c safe.directory=${CMAKE_SOURCE_DIR} describe --tags + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE PROJECT_VERSION + RESULT_VARIABLE GIT_DESCRIBE_RESULT + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(GIT_DESCRIBE_RESULT EQUAL 0 AND NOT PROJECT_VERSION STREQUAL "") + string(REPLACE "-" ";" PROJECT_VERSION_LIST "${PROJECT_VERSION}") + list(GET PROJECT_VERSION_LIST 0 PROJECT_VERSION_PATCH) + string(REPLACE "." ";" PROJECT_VERSION_LIST "${PROJECT_VERSION_PATCH}") + list(LENGTH PROJECT_VERSION_LIST PROJECT_VERSION_LIST_LENGTH) + if (${PROJECT_VERSION_LIST_LENGTH} LESS 3) + set(PROJECT_VERSION_PATCH 0) + else() + list(GET PROJECT_VERSION_LIST 2 PROJECT_VERSION_PATCH) + endif() +else() + set(PROJECT_VERSION "Unknown") + execute_process( + COMMAND git -c safe.directory=${CMAKE_SOURCE_DIR} log --pretty=format:%h -1 + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE PROJECT_VERSION_PATCH + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if (DEFINED PROJECT_VERSION_PATCH AND NOT "${PROJECT_VERSION_PATCH}" STREQUAL "") + set(PROJECT_VERSION "${PROJECT_VERSION}-${PROJECT_VERSION_PATCH}") + endif() + set(PROJECT_VERSION_PATCH 0) +endif() + +set(NATO_PHONETIC_ALPHABET + "Alfa" "Bravo" "Charlie" "Delta" "Echo" "Foxtrot" "Golf" "Hotel" + "India" "Juliett" "Kilo" "Lima" "Mike" "November" "Oscar" "Papa" + "Quebec" "Romeo" "Sierra" "Tango" "Uniform" "Victor" "Whiskey" + "Xray" "Yankee" "Zulu") +list(LENGTH NATO_PHONETIC_ALPHABET NATO_WORD_COUNT) +math(EXPR PATCH_INDEX "${PROJECT_VERSION_PATCH} % ${NATO_WORD_COUNT}") +list(GET NATO_PHONETIC_ALPHABET ${PATCH_INDEX} PROJECT_PATCH_WORD) + +set(PROJECT_BUILD_NAME + "Bolognese ${PROJECT_PATCH_WORD}" + CACHE STRING "" FORCE) +set(PROJECT_TEAM "SpaghettiKart Team - HarbourMasters") + +message("Spaghetti Kart version: ${PROJECT_VERSION} ${PROJECT_PATCH_WORD}") diff --git a/cmake/SetCmakeVar.cmake b/cmake/SetCmakeVar.cmake new file mode 100644 index 000000000..934f308ef --- /dev/null +++ b/cmake/SetCmakeVar.cmake @@ -0,0 +1,34 @@ +if(APPLE) + enable_language(OBJCXX) +endif() + +# Set the minimum version of CMake and the deployment target for macOS +set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version") + + +# Set the C++ standard and enable the MSVC parallel build option +set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use") +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_C_STANDARD 11 CACHE STRING "The C standard to use") + +# Automatically select the game target (for Visual Studio, etc.) +set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT + ${PROJECT_NAME}) + +# Add a custom module path to locate additional CMake modules +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") + +################################################################################ +# Set target arch type if empty. Visual studio solution generator provides it. +################################################################################ +if (CMAKE_SYSTEM_NAME STREQUAL "Windows") + if(NOT CMAKE_VS_PLATFORM_NAME) + set(CMAKE_VS_PLATFORM_NAME "x64") + endif() + message("${CMAKE_VS_PLATFORM_NAME} architecture in use") + + if(NOT ("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64" + OR "${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")) + message(FATAL_ERROR "${CMAKE_VS_PLATFORM_NAME} arch is not supported!") + endif() +endif() diff --git a/cmake/SetFlags.cmake b/cmake/SetFlags.cmake new file mode 100644 index 000000000..44bfce2fb --- /dev/null +++ b/cmake/SetFlags.cmake @@ -0,0 +1,150 @@ +if(MSVC) + target_compile_options(${PROJECT_NAME} PRIVATE /fp:fast) + + if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:/w;/Od;/ZI>" + "$<$:/O2;/Oi;/Gy;/W3;/Zi>" /permissive- /MP + ${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT} ${DEFAULT_CXX_EXCEPTION_HANDLING}) + target_link_options(${PROJECT_NAME} PRIVATE + "$<$:/INCREMENTAL>" + "$<$:/OPT:REF;/OPT:ICF;/INCREMENTAL:NO;/FORCE:MULTIPLE>" + /MANIFEST:NO /DEBUG /SUBSYSTEM:WINDOWS) + elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32") + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:/O2;/Oi;/Gy>" + /permissive- + /MP + /w + ${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT} + ${DEFAULT_CXX_EXCEPTION_HANDLING}) + target_link_options(${PROJECT_NAME} PRIVATE + "$<$:/STACK:8777216>" + "$<$:/OPT:REF;/OPT:ICF;/INCREMENTAL:NO;/FORCE:MULTIPLE>" + /MANIFEST:NO /DEBUG /SUBSYSTEM:WINDOWS) + endif() + + # Remove /RTC from msvc flags + foreach(fentry CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + string(REGEX REPLACE "/RTC(su|[1su])" "" ${fentry} "${${fentry}}") + endforeach() +else() + target_compile_options(${PROJECT_NAME} PRIVATE + -Wall + -Wextra + -Wno-error + -Wno-missing-field-initializers + -Wno-parentheses + -Wno-missing-braces + -ffast-math + -flto=auto + -pipe) + target_link_options(${PROJECT_NAME} PRIVATE -flto=auto) + + set(C_FLAGS -Werror-implicit-function-declaration + -Wno-incompatible-pointer-types) + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:${C_FLAGS}>") + + set(CXX_FLAGS -fpermissive -fomit-frame-pointer) + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:${CXX_FLAGS}>") + + include(CheckCCompilerFlag) + include(CheckCXXCompilerFlag) + + check_c_compiler_flag("-Wno-error=int-conversion" + HAS_WNO_ERROR_INT_CONVERSION) + if(HAS_WNO_ERROR_INT_CONVERSION) + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:-Wno-error=int-conversion>") + endif() + + check_cxx_compiler_flag("-Wno-error=narrowing" HAS_WNO_ERROR_NARROWING) + if(HAS_WNO_ERROR_NARROWING) + target_compile_options( + ${PROJECT_NAME} PRIVATE + "$<$:-Wno-error=narrowing>") + endif() + + check_cxx_compiler_flag("-Wno-error=changes-meaning" + HAS_WNO_ERROR_CHANGES_MEANING) + if(HAS_WNO_ERROR_CHANGES_MEANING) + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:-Wno-error=changes-meaning>") + endif() + + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:-g>" "$<$:-O3>" + "$<$:-Os>" "$<$:-O2;-g>") + + check_cxx_compiler_flag("-pthread" HAS_PTHREAD) + if(HAS_PTHREAD AND NOT CMAKE_SYSTEM_NAME STREQUAL "CafeOS") + target_compile_options(${PROJECT_NAME} PRIVATE -pthread) + target_link_options(${PROJECT_NAME} PRIVATE -pthread) + endif() + + if(NOT APPLE + AND NOT CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch" + AND NOT CMAKE_SYSTEM_NAME STREQUAL "CafeOS") + if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + check_cxx_compiler_flag("-msse2 -mfpmath=sse" HAS_SSE2) + if(HAS_SSE2) + target_compile_options(${PROJECT_NAME} PRIVATE -msse2 -mfpmath=sse) + endif() + endif() + + include(CheckLinkerFlag) + check_linker_flag("CXX" "-Wl,-export-dynamic" HAS_EXPORT_DYNAMIC) + if(HAS_EXPORT_DYNAMIC) + target_link_options(${PROJECT_NAME} PRIVATE -Wl,-export-dynamic) + endif() + endif() + + # LTO breaks debug information with AppleClang and Ninja. Keep LTO for all + # other configurations and explicitly override it for macOS Debug builds. + if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") + target_compile_options(${PROJECT_NAME} PRIVATE + "$<$:-fno-lto>") + target_link_options(${PROJECT_NAME} PRIVATE + "$<$:-fno-lto>") + endif() +endif() + +# Add compile definitions for the target +target_compile_definitions(${PROJECT_NAME} PRIVATE + NDEBUG + VERSION_US=1 + "$<$:USE_OPENGLES>" + ENABLE_RUMBLE=1 + F3DEX_GBI=1 + _LANGUAGE_C + _USE_MATH_DEFINES + CIMGUI_DEFINE_ENUMS_AND_STRUCTS + NON_MATCHING=1 + NON_EQUIVALENT=1 + AVOID_UB=1 + SPAGHETTI_VERSION="${PROJECT_VERSION}") + +target_compile_definitions(${PROJECT_NAME} PRIVATE "$<$:_DEBUG>") + +if(WIN32) + target_compile_definitions(${PROJECT_NAME} PRIVATE + "$<$:ENABLE_DX11>" + INCLUDE_GAME_PRINTF + NOMINMAX + UNICODE + _UNICODE + _CRT_SECURE_NO_WARNINGS + _SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS + STORMLIB_NO_AUTO_LINK) + set(STORMLIB_NO_AUTO_LINK ON) +elseif(CMAKE_SYSTEM_NAME STREQUAL "CafeOS") + target_compile_definitions( + ${PROJECT_NAME} PRIVATE SPDLOG_ACTIVE_LEVEL=3 SPDLOG_NO_THREAD_ID + SPDLOG_NO_TLS STBI_NO_THREAD_LOCALS) +elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|Clang|AppleClang") + target_compile_definitions(${PROJECT_NAME} PRIVATE + "$<$:ENABLE_CROWD_CONTROL>" + _CONSOLE _CRT_SECURE_NO_WARNINGS UNICODE _UNICODE) +endif() diff --git a/cmake/StageRuntimeFiles.cmake b/cmake/StageRuntimeFiles.cmake new file mode 100644 index 000000000..e04a55a58 --- /dev/null +++ b/cmake/StageRuntimeFiles.cmake @@ -0,0 +1,7 @@ +if(NOT DEFINED SOURCE_DIR OR NOT DEFINED DESTINATION_DIR) + message(FATAL_ERROR "SOURCE_DIR and DESTINATION_DIR are required") +endif() + +file(MAKE_DIRECTORY "${DESTINATION_DIR}") +file(COPY "${SOURCE_DIR}/config.yml" "${SOURCE_DIR}/yamls" + "${SOURCE_DIR}/meta" DESTINATION "${DESTINATION_DIR}") diff --git a/cmake/configure-packaging.cmake b/cmake/configure-packaging.cmake index 9226db686..9a6496919 100644 --- a/cmake/configure-packaging.cmake +++ b/cmake/configure-packaging.cmake @@ -1,23 +1,20 @@ set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY 0) -set(CPACK_COMPONENTS_ALL "SpaghettiKart") +set(CPACK_COMPONENTS_ALL "${CPACK_PACKAGE_NAME}") if (CPACK_GENERATOR STREQUAL "External") list(APPEND CPACK_COMPONENTS_ALL "extractor" "appimage") endif() -if (CPACK_GENERATOR MATCHES "DEB|RPM") -# https://unix.stackexchange.com/a/11552/254512 -set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/ship/bin")#/${CMAKE_PROJECT_VERSION}") -set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY 0) -elseif (CPACK_GENERATOR MATCHES "ZIP") -set(CPACK_PACKAGING_INSTALL_PREFIX "") +if(CPACK_GENERATOR MATCHES "DEB|RPM") + set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/ship/bin") +elseif(CPACK_GENERATOR MATCHES "ZIP") + set(CPACK_PACKAGING_INSTALL_PREFIX "") endif() -if (CPACK_GENERATOR MATCHES "External") -set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) -SET(CPACK_MONOLITHIC_INSTALL 1) -set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/bin") +if(CPACK_GENERATOR MATCHES "External") + set(CPACK_MONOLITHIC_INSTALL ON) + set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/bin") endif() if (CPACK_GENERATOR MATCHES "Bundle") @@ -26,4 +23,4 @@ if (CPACK_GENERATOR MATCHES "Bundle") set(CPACK_BUNDLE_ICON "macosx/SpaghettiKart.icns") # set(CPACK_BUNDLE_STARTUP_COMMAND "macosx/SpaghettiKart-macos.sh") set(CPACK_BUNDLE_APPLE_CERT_APP "-") -endif() \ No newline at end of file +endif() diff --git a/cmake/dependencies/FindLib.cmake b/cmake/dependencies/FindLib.cmake new file mode 100644 index 000000000..bbc33549a --- /dev/null +++ b/cmake/dependencies/FindLib.cmake @@ -0,0 +1,41 @@ +if(WIN32) + find_package(Ogg CONFIG REQUIRED) + find_package(Vorbis CONFIG REQUIRED) +elseif(CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") + set(ADDITIONAL_LIBRARY_DEPENDENCIES -lglad SDL2::SDL2) +elseif(CMAKE_SYSTEM_NAME STREQUAL "CafeOS") + set(ADDITIONAL_LIBRARY_DEPENDENCIES "$<$:-Wl,--wrap=abort>") + target_include_directories(${PROJECT_NAME} PRIVATE + ${DEVKITPRO}/portlibs/wiiu/include/) +else() + find_package(Ogg REQUIRED) + find_package(Vorbis REQUIRED) +endif() + +if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS") + set(ADDITIONAL_LIBRARY_DEPENDENCIES Ogg::ogg Vorbis::vorbis + Vorbis::vorbisenc Vorbis::vorbisfile) +endif() + +if(UNIX AND NOT APPLE) + if(USE_OPENGLES) + find_library(GLESv2_LIBRARY GLESv2 REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE ${GLESv2_LIBRARY}) + else() + find_package(OpenGL REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL) + endif() +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch") + find_package(SDL2) +endif() + +target_include_directories(${PROJECT_NAME} PRIVATE ${SDL2_INCLUDE_DIRS}) + +if(NOT USE_OPENGLES) + target_include_directories(${PROJECT_NAME} PRIVATE ${GLEW_INCLUDE_DIRS}) +endif() + +target_link_libraries(${PROJECT_NAME} + PRIVATE torch ${ADDITIONAL_LIBRARY_DEPENDENCIES}) diff --git a/cmake/dependencies/common.cmake b/cmake/dependencies/common.cmake new file mode 100644 index 000000000..65d5741a3 --- /dev/null +++ b/cmake/dependencies/common.cmake @@ -0,0 +1,65 @@ +# =================== SSE2NEON =================== +set(SSE2NEON_DIR ${CMAKE_BINARY_DIR}/_deps/sse2neon) +file( + DOWNLOAD + "https://raw.githubusercontent.com/DLTcollab/sse2neon/refs/heads/master/sse2neon.h" + "${SSE2NEON_DIR}/sse2neon.h") + +target_include_directories(${PROJECT_NAME} PRIVATE ${SSE2NEON_DIR}) + +# ================== SEMVER =================== +set(SEMVER_DIR ${CMAKE_BINARY_DIR}/_deps/semver) +file( + DOWNLOAD + "https://raw.githubusercontent.com/Neargye/semver/refs/tags/v1.0.0-rc/include/semver.hpp" + "${SEMVER_DIR}/semver.hpp") + +target_include_directories(${PROJECT_NAME} PRIVATE ${SEMVER_DIR}) + +# =================== DRLibs =================== +FetchContent_Declare( + dr_libs + GIT_REPOSITORY https://github.com/mackron/dr_libs.git + GIT_TAG da35f9d6c7374a95353fd1df1d394d44ab66cf01) +FetchContent_MakeAvailable(dr_libs) + +target_include_directories(${PROJECT_NAME} PRIVATE ${dr_libs_SOURCE_DIR}) + +# =================== tomlplusplus =================== +include(FetchContent) +FetchContent_Declare( + tomlplusplus + GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git + GIT_TAG v3.4.0) +FetchContent_MakeAvailable(tomlplusplus) +target_link_libraries(${PROJECT_NAME} PRIVATE tomlplusplus::tomlplusplus) + +# libultraship +# Removes MPQ/OTR support +set(EXCLUDE_MPQ_SUPPORT TRUE CACHE BOOL "") +set(ENABLE_EXP_AUTO_CONFIGURE_CONTROLLERS ON CACHE BOOL "") +target_compile_definitions(${PROJECT_NAME} PRIVATE EXCLUDE_MPQ_SUPPORT) + +target_include_directories( + ${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include + ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include/libultraship) + +add_subdirectory(libultraship ${CMAKE_BINARY_DIR}/libultraship) +add_dependencies(${PROJECT_NAME} libultraship) +target_link_libraries(${PROJECT_NAME} PRIVATE libultraship) + +# Torch +option(USE_STANDALONE "Build as a standalone executable" OFF) +option(BUILD_STORMLIB "Build with StormLib support" OFF) + +option(BUILD_SM64 "Build with Super Mario 64 support" OFF) +option(BUILD_MK64 "Build with Mario Kart 64 support" ON) +option(BUILD_SF64 "Build with Star Fox 64 support" OFF) +option(BUILD_FZERO "Build with F-Zero X support" OFF) +option(BUILD_MARIO_ARTIST "Build with Mario Artist support" OFF) +# Companion.cpp uses AudioManager unconditionally, so preserve Torch's ON +# default until its non-NAudio build is fixed upstream. +option(BUILD_NAUDIO "Build with NAudio support" ON) + +add_subdirectory(torch) diff --git a/cmake/dependencies/vcpkg.cmake b/cmake/dependencies/vcpkg.cmake new file mode 100644 index 000000000..844f449b3 --- /dev/null +++ b/cmake/dependencies/vcpkg.cmake @@ -0,0 +1,30 @@ +include(cmake/automate-vcpkg.cmake) + +if(WIN32) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(VCPKG_TRIPLET x64-windows-static) + set(VCPKG_TARGET_TRIPLET x64-windows-static) + else() + set(VCPKG_TRIPLET x86-windows-static) + set(VCPKG_TARGET_TRIPLET x86-windows-static) + endif() + + set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME}) + set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) +elseif(APPLE) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64") + set(VCPKG_TRIPLET arm64-osx) + set(VCPKG_TARGET_TRIPLET arm64-osx) + else() + set(VCPKG_TRIPLET x64-osx) + set(VCPKG_TARGET_TRIPLET x64-osx) + endif() +elseif(UNIX AND NOT APPLE) + set(VCPKG_TRIPLET x64-linux) + set(VCPKG_TARGET_TRIPLET x64-linux) +endif() + +vcpkg_bootstrap() +# install package from vcpkg.json +vcpkg_install_packages() + diff --git a/cmake/lus-cvars.cmake b/cmake/lus-cvars.cmake deleted file mode 100644 index 90130f657..000000000 --- a/cmake/lus-cvars.cmake +++ /dev/null @@ -1,3 +0,0 @@ -# kept for future reference -#set(CVAR_VSYNC_ENABLED "${CVAR_PREFIX_SETTING}.VsyncEnabled") -include("libultraship/cmake/cvars.cmake") diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake index 08d57f73a..2a9e8088b 100644 --- a/cmake/packaging.cmake +++ b/cmake/packaging.cmake @@ -43,9 +43,7 @@ set(CPACK_DEB_COMPONENT_INSTALL YES) set(CPACK_EXTERNAL_ENABLE_STAGING YES) set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${PROJECT_BINARY_DIR}/appimage-generate.cmake") -file(GENERATE - OUTPUT "${PROJECT_BINARY_DIR}/appimage-generate.cmake" - CONTENT [[ +set(APPIMAGE_SCRIPT_TEMPLATE [[ include(CMakePrintHelpers) cmake_print_variables(CPACK_TEMPORARY_DIRECTORY) cmake_print_variables(CPACK_TOPLEVEL_DIRECTORY) @@ -69,9 +67,10 @@ if (NOT LINUXDEPLOY_EXECUTABLE) endif() execute_process( - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CPACK_PACKAGE_DIRECTORY}/config.yml" "${CPACK_TEMPORARY_DIRECTORY}/usr/bin/config.yml" - COMMAND ${CMAKE_COMMAND} -E copy_directory "${CPACK_PACKAGE_DIRECTORY}/yamls/" "${CPACK_TEMPORARY_DIRECTORY}/usr/bin/yamls/" - COMMAND ${CMAKE_COMMAND} -E copy_directory "${CPACK_PACKAGE_DIRECTORY}/meta/" "${CPACK_TEMPORARY_DIRECTORY}/usr/bin/meta/" + COMMAND ${CMAKE_COMMAND} + -DSOURCE_DIR=${CPACK_PACKAGE_DIRECTORY} + -DDESTINATION_DIR=${CPACK_TEMPORARY_DIRECTORY}/usr/bin + -P @CMAKE_CURRENT_LIST_DIR@/StageRuntimeFiles.cmake COMMAND ${CMAKE_COMMAND} -E env OUTPUT=${CPACK_PACKAGE_FILE_NAME}.appimage @@ -80,14 +79,17 @@ execute_process( ${LINUXDEPLOY_EXECUTABLE} --appimage-extract-and-run --appdir=${CPACK_TEMPORARY_DIRECTORY} - --executable=$ - $<$>:--desktop-file=$> - $<$>:--icon-file=$> + --executable=$ + $<$>:--desktop-file=$> + $<$>:--icon-file=$> --output=appimage --verbosity=2 ) ]]) +string(CONFIGURE "${APPIMAGE_SCRIPT_TEMPLATE}" APPIMAGE_SCRIPT @ONLY) +file(GENERATE OUTPUT "${PROJECT_BINARY_DIR}/appimage-generate.cmake" + CONTENT "${APPIMAGE_SCRIPT}") endif() -include(CPack) \ No newline at end of file +include(CPack) diff --git a/lus-cvars.cmake b/lus-cvars.cmake deleted file mode 100644 index d6d056224..000000000 --- a/lus-cvars.cmake +++ /dev/null @@ -1,19 +0,0 @@ -set(LUS_BTN_A KbScancode::LUS_KB_SHIFT) -set(LUS_BTN_B KbScancode::LUS_KB_CONTROL) -set(LUS_BTN_L KbScancode::LUS_KB_Q) -set(LUS_BTN_R KbScancode::LUS_KB_SPACE) -set(LUS_BTN_Z KbScancode::LUS_KB_Z) -set(LUS_BTN_START KbScancode::LUS_KB_ENTER) -set(LUS_BTN_STICKUP KbScancode::LUS_KB_ARROWKEY_UP) -set(LUS_BTN_STICKDOWN KbScancode::LUS_KB_ARROWKEY_DOWN) -set(LUS_BTN_STICKLEFT KbScancode::LUS_KB_ARROWKEY_LEFT) -set(LUS_BTN_STICKRIGHT KbScancode::LUS_KB_ARROWKEY_RIGHT) -set(LUS_BTN_CUP KbScancode::LUS_KB_T) -set(LUS_BTN_CDOWN KbScancode::LUS_KB_G) -set(LUS_BTN_CLEFT KbScancode::LUS_KB_F) -set(LUS_BTN_CRIGHT KbScancode::LUS_KB_H) -set(LUS_BTN_DUP KbScancode::LUS_KB_NUMPAD8) -set(LUS_BTN_DDOWN KbScancode::LUS_KB_NUMPAD2) -set(LUS_BTN_DLEFT KbScancode::LUS_KB_NUMPAD4) -set(LUS_BTN_DRIGHT KbScancode::LUS_KB_NUMPAD6) -include("libultraship/cmake/cvars.cmake") \ No newline at end of file diff --git a/script/Dockerfile b/script/Dockerfile index ebfe509cf..a59b07e30 100644 --- a/script/Dockerfile +++ b/script/Dockerfile @@ -1,8 +1,6 @@ FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive -ENV VCPKG_ROOT=/opt/vcpkg -ENV PATH="${VCPKG_ROOT}:${PATH}" # Install base dependencies RUN apt-get update -y && apt-get -y upgrade && \ @@ -44,9 +42,4 @@ RUN wget https://github.com/Kitware/CMake/releases/download/v${DOCKER_CMAKE_VERS ./cmake-${DOCKER_CMAKE_VERSION}-linux-x86_64.sh --prefix=/usr/local --skip-license && \ rm cmake-${DOCKER_CMAKE_VERSION}-linux-x86_64.sh -# Install vcpkg -RUN git clone https://github.com/microsoft/vcpkg.git ${VCPKG_ROOT} && \ - cd ${VCPKG_ROOT} && \ - ./bootstrap-vcpkg.sh -disableMetrics - WORKDIR /project diff --git a/script/Dockerfile.x86 b/script/Dockerfile.x86 index 0d81c0d50..759088216 100644 --- a/script/Dockerfile.x86 +++ b/script/Dockerfile.x86 @@ -3,8 +3,6 @@ FROM --platform=linux/386 debian:bookworm ENV DEBIAN_FRONTEND=noninteractive -ENV VCPKG_ROOT=/opt/vcpkg -ENV PATH="${VCPKG_ROOT}:${PATH}" # Install base dependencies RUN apt-get update -y && apt-get -y upgrade && \ diff --git a/script/build.sh b/script/build.sh index 4395f96f6..c0fef31ea 100755 --- a/script/build.sh +++ b/script/build.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -e +set -euo pipefail # Unified build script for SpaghettiKart # @@ -22,6 +22,19 @@ GROUP_ID=$(id -g) cd "$PROJECT_DIR" +case "$BUILD_TYPE" in + Debug|Release|RelWithDebInfo|MinSizeRel) ;; + *) + echo "Unsupported build type: ${BUILD_TYPE}" >&2 + exit 1 + ;; +esac + +if [[ -n "$PACKAGE" && "$PACKAGE" != "appimage" ]]; then + echo "Unsupported package type: ${PACKAGE}" >&2 + exit 1 +fi + build_arch() { local arch=$1 local build_type=$2 @@ -30,7 +43,6 @@ build_arch() { local image_name="spaghettikart-${arch}" local dockerfile="" local platform="" - local triplet="" echo "========================================" echo "Building ${arch} ${build_type}" @@ -40,12 +52,10 @@ build_arch() { if [ "$arch" = "x86" ]; then dockerfile="script/Dockerfile.x86" platform="--platform linux/386" - triplet="x86-linux" # Ensure QEMU is set up for i386 emulation docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 2>/dev/null || true else dockerfile="script/Dockerfile" - triplet="x64-linux" fi # Build Docker image @@ -62,9 +72,9 @@ build_arch() { fi # Build package command if requested - local package_cmd="" + local package_cmd=":" if [ "$package" = "appimage" ]; then - package_cmd="&& cd ${build_dir} && cpack -G External" + package_cmd="cd ${build_dir} && cpack -G External" fi # Run build in Docker @@ -81,15 +91,17 @@ build_arch() { -e GROUP_ID="${GROUP_ID}" \ "${image_name}" \ bash -c " + set -e cmake -B ${build_dir} -G Ninja \ -DCMAKE_BUILD_TYPE=${build_type} && \ cmake --build ${build_dir} --parallel && \ - cp -f spaghetti.o2r ${build_dir}/ 2>/dev/null || true && \ - cp -f mk64.o2r ${build_dir}/ 2>/dev/null || true ${package_cmd} && \ - chown -R ${USER_ID}:${GROUP_ID} /project/${build_dir} 2>/dev/null || true + (cp -f spaghetti.o2r ${build_dir}/ 2>/dev/null || true) && \ + (cp -f mk64.o2r ${build_dir}/ 2>/dev/null || true) && \ + ${package_cmd} && \ + (chown -R ${USER_ID}:${GROUP_ID} /project/${build_dir} 2>/dev/null || true) " else - # x64: Use vcpkg for static linking + # x64: Let the CMake integration bootstrap and configure vcpkg. docker run --rm \ ${platform} \ -v "$(pwd):/project" \ @@ -98,21 +110,15 @@ build_arch() { -e GROUP_ID="${GROUP_ID}" \ "${image_name}" \ bash -c " - # Install vcpkg dependencies - if [ -f vcpkg.json ]; then - cp vcpkg.json /tmp/vcpkg.json && \ - cd /tmp && \ - \${VCPKG_ROOT}/vcpkg install --triplet ${triplet} 2>/dev/null || true && \ - cd /project - fi && \ + set -e cmake -B ${build_dir} -G Ninja \ -DCMAKE_BUILD_TYPE=${build_type} \ - -DCMAKE_TOOLCHAIN_FILE=/opt/vcpkg/scripts/buildsystems/vcpkg.cmake \ - -DVCPKG_TARGET_TRIPLET=${triplet} && \ + -DENABLE_VCPKG=ON && \ cmake --build ${build_dir} --parallel && \ - cp -f spaghetti.o2r ${build_dir}/ 2>/dev/null || true && \ - cp -f mk64.o2r ${build_dir}/ 2>/dev/null || true ${package_cmd} && \ - chown -R ${USER_ID}:${GROUP_ID} /project/${build_dir} 2>/dev/null || true + (cp -f spaghetti.o2r ${build_dir}/ 2>/dev/null || true) && \ + (cp -f mk64.o2r ${build_dir}/ 2>/dev/null || true) && \ + ${package_cmd} && \ + (chown -R ${USER_ID}:${GROUP_ID} /project/${build_dir} 2>/dev/null || true) " fi diff --git a/src/actors/banana/render.inc.c b/src/actors/banana/render.inc.c index 2ab1648c2..6a46f8b0f 100644 --- a/src/actors/banana/render.inc.c +++ b/src/actors/banana/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include diff --git a/src/actors/banana/update.inc.c b/src/actors/banana/update.inc.c index eabe4ba5b..04e4ef3de 100644 --- a/src/actors/banana/update.inc.c +++ b/src/actors/banana/update.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/blue_and_red_shells/render.inc.c b/src/actors/blue_and_red_shells/render.inc.c index 1274d8af8..eff91f463 100644 --- a/src/actors/blue_and_red_shells/render.inc.c +++ b/src/actors/blue_and_red_shells/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include /** diff --git a/src/actors/blue_and_red_shells/update.inc.c b/src/actors/blue_and_red_shells/update.inc.c index e2ff74d9e..5190d28f1 100644 --- a/src/actors/blue_and_red_shells/update.inc.c +++ b/src/actors/blue_and_red_shells/update.inc.c @@ -1,8 +1,8 @@ -#include +#include #include #include #include -#include +#include #include #include "port/Game.h" diff --git a/src/actors/box_truck/render.inc.c b/src/actors/box_truck/render.inc.c index 15fb96a14..d17cfacb0 100644 --- a/src/actors/box_truck/render.inc.c +++ b/src/actors/box_truck/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/car/render.inc.c b/src/actors/car/render.inc.c index 2bbc78b08..7fb8520a9 100644 --- a/src/actors/car/render.inc.c +++ b/src/actors/car/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/cow/render.inc.c b/src/actors/cow/render.inc.c index 5c04c8135..63395aba6 100644 --- a/src/actors/cow/render.inc.c +++ b/src/actors/cow/render.inc.c @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include diff --git a/src/actors/fake_item_box/render.inc.c b/src/actors/fake_item_box/render.inc.c index af0ca4d54..0b7ec41f3 100644 --- a/src/actors/fake_item_box/render.inc.c +++ b/src/actors/fake_item_box/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/fake_item_box/update.inc.c b/src/actors/fake_item_box/update.inc.c index f49a366e2..1c74b91ac 100644 --- a/src/actors/fake_item_box/update.inc.c +++ b/src/actors/fake_item_box/update.inc.c @@ -1,9 +1,9 @@ -#include "actors_extended.h" -#include "collision.h" +#include "racing/actors_extended.h" +#include "racing/collision.h" #include "defines.h" -#include "external.h" +#include "audio/external.h" #include "sounds.h" -#include +#include #include /** diff --git a/src/actors/falling_rock/render.inc.c b/src/actors/falling_rock/render.inc.c index b3c9da9a1..27a5bb55a 100644 --- a/src/actors/falling_rock/render.inc.c +++ b/src/actors/falling_rock/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include "port/interpolation/FrameInterpolation.h" diff --git a/src/actors/falling_rock/update.inc.c b/src/actors/falling_rock/update.inc.c index 48465aa02..61fa705a3 100644 --- a/src/actors/falling_rock/update.inc.c +++ b/src/actors/falling_rock/update.inc.c @@ -1,5 +1,5 @@ -#include "math_util.h" -#include +#include "racing/math_util.h" +#include #include #include #include diff --git a/src/actors/green_shell/render.inc.c b/src/actors/green_shell/render.inc.c index ac8094aed..ed519b85a 100644 --- a/src/actors/green_shell/render.inc.c +++ b/src/actors/green_shell/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/green_shell/update.inc.c b/src/actors/green_shell/update.inc.c index bd8db149e..15d4f4c15 100644 --- a/src/actors/green_shell/update.inc.c +++ b/src/actors/green_shell/update.inc.c @@ -1,8 +1,8 @@ -#include +#include #include #include #include -#include "collision.h" +#include "racing/collision.h" #include "port/Game.h" /** diff --git a/src/actors/item_box/render.inc.c b/src/actors/item_box/render.inc.c index 1c3e24e62..c1ea76b11 100644 --- a/src/actors/item_box/render.inc.c +++ b/src/actors/item_box/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include "port/interpolation/FrameInterpolation.h" diff --git a/src/actors/item_box/update.inc.c b/src/actors/item_box/update.inc.c index 47513ef8a..855e87071 100644 --- a/src/actors/item_box/update.inc.c +++ b/src/actors/item_box/update.inc.c @@ -1,4 +1,4 @@ -#include +#include /** * @brief Updates the item box under the hot air balloon object. diff --git a/src/actors/kiwano_fruit/render.inc.c b/src/actors/kiwano_fruit/render.inc.c index 0a50473b0..9aea3b2e5 100644 --- a/src/actors/kiwano_fruit/render.inc.c +++ b/src/actors/kiwano_fruit/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include "assets/textures/other_textures.h" diff --git a/src/actors/kiwano_fruit/update.inc.c b/src/actors/kiwano_fruit/update.inc.c index 5c9a97418..c4433a306 100644 --- a/src/actors/kiwano_fruit/update.inc.c +++ b/src/actors/kiwano_fruit/update.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/mario_sign/render.inc.c b/src/actors/mario_sign/render.inc.c index 56b22f65a..a862d88bd 100644 --- a/src/actors/mario_sign/render.inc.c +++ b/src/actors/mario_sign/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include "port/interpolation/FrameInterpolation.h" diff --git a/src/actors/mario_sign/update.inc.c b/src/actors/mario_sign/update.inc.c index 6a061eddd..6639bdf63 100644 --- a/src/actors/mario_sign/update.inc.c +++ b/src/actors/mario_sign/update.inc.c @@ -1,4 +1,4 @@ -#include +#include /** * @brief Updates the Mario sign actor. diff --git a/src/actors/paddle_boat/render.inc.c b/src/actors/paddle_boat/render.inc.c index 2faef15de..a85b58294 100644 --- a/src/actors/paddle_boat/render.inc.c +++ b/src/actors/paddle_boat/render.inc.c @@ -3,7 +3,7 @@ #include #include "camera.h" #include "main.h" -#include "actors.h" +#include "racing/actors.h" #include "courses/all_course_data.h" #include #include diff --git a/src/actors/palm_tree/render.inc.c b/src/actors/palm_tree/render.inc.c index cc76849ba..0ba267a46 100644 --- a/src/actors/palm_tree/render.inc.c +++ b/src/actors/palm_tree/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include "port/interpolation/FrameInterpolation.h" diff --git a/src/actors/piranha_plant/render.inc.c b/src/actors/piranha_plant/render.inc.c index dee288270..2fba23716 100644 --- a/src/actors/piranha_plant/render.inc.c +++ b/src/actors/piranha_plant/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/piranha_plant/update.inc.c b/src/actors/piranha_plant/update.inc.c index 3091bb072..0b385288f 100644 --- a/src/actors/piranha_plant/update.inc.c +++ b/src/actors/piranha_plant/update.inc.c @@ -1,4 +1,4 @@ -#include +#include /** * @brief Updates the piranha plant actor. diff --git a/src/actors/railroad_crossing/render.inc.c b/src/actors/railroad_crossing/render.inc.c index 7e90ec7b0..0fe1ce153 100644 --- a/src/actors/railroad_crossing/render.inc.c +++ b/src/actors/railroad_crossing/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include "assets/models/tracks/kalimari_desert/kalimari_desert_data.h" diff --git a/src/actors/railroad_crossing/update.inc.c b/src/actors/railroad_crossing/update.inc.c index 9c96a044a..77e306381 100644 --- a/src/actors/railroad_crossing/update.inc.c +++ b/src/actors/railroad_crossing/update.inc.c @@ -1,4 +1,4 @@ -#include +#include /** * @brief Updates the railroad crossing actor. diff --git a/src/actors/school_bus/render.inc.c b/src/actors/school_bus/render.inc.c index eb91c8d2b..6530a0974 100644 --- a/src/actors/school_bus/render.inc.c +++ b/src/actors/school_bus/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/tanker_truck/render.inc.c b/src/actors/tanker_truck/render.inc.c index 9fd91b0c0..e5f609900 100644 --- a/src/actors/tanker_truck/render.inc.c +++ b/src/actors/tanker_truck/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include diff --git a/src/actors/train/render.inc.c b/src/actors/train/render.inc.c index 5705a4bbf..893317a94 100644 --- a/src/actors/train/render.inc.c +++ b/src/actors/train/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/train/update.inc.c b/src/actors/train/update.inc.c index 101cd4c5a..67125ac7a 100644 --- a/src/actors/train/update.inc.c +++ b/src/actors/train/update.inc.c @@ -1,4 +1,4 @@ -#include +#include /** * @brief Updates the train engine actor. diff --git a/src/actors/trees/render.inc.c b/src/actors/trees/render.inc.c index 4fd2ff5e0..0c3b54df2 100644 --- a/src/actors/trees/render.inc.c +++ b/src/actors/trees/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/wario_sign/render.inc.c b/src/actors/wario_sign/render.inc.c index 5ff927462..402f47922 100644 --- a/src/actors/wario_sign/render.inc.c +++ b/src/actors/wario_sign/render.inc.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/actors/wario_sign/update.inc.c b/src/actors/wario_sign/update.inc.c index 645b79774..cb3deec24 100644 --- a/src/actors/wario_sign/update.inc.c +++ b/src/actors/wario_sign/update.inc.c @@ -1,4 +1,4 @@ -#include +#include /** * @brief Updates the Wario sign actor. diff --git a/src/actors/yoshi_egg/render.inc.c b/src/actors/yoshi_egg/render.inc.c index 3d8a35e51..7bb2cc884 100644 --- a/src/actors/yoshi_egg/render.inc.c +++ b/src/actors/yoshi_egg/render.inc.c @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include "port/interpolation/FrameInterpolation.h" diff --git a/src/actors/yoshi_egg/update.inc.c b/src/actors/yoshi_egg/update.inc.c index 87c217a2d..f874091b8 100644 --- a/src/actors/yoshi_egg/update.inc.c +++ b/src/actors/yoshi_egg/update.inc.c @@ -1,4 +1,4 @@ -#include +#include /** * @brief Updates the Yoshi egg actor. diff --git a/src/animation.c b/src/animation.c index ce5060233..85b003d64 100644 --- a/src/animation.c +++ b/src/animation.c @@ -1,7 +1,7 @@ #include #include #include -#include "math_util.h" +#include "racing/math_util.h" #include "animation.h" #include "memory.h" #include diff --git a/src/camera.c b/src/camera.c index dcd39e88a..b21146ac1 100644 --- a/src/camera.c +++ b/src/camera.c @@ -12,7 +12,7 @@ #include "racing/memory.h" #include "waypoints.h" #include "render_player.h" -#include "collision.h" +#include "racing/collision.h" #include "code_80057C60.h" #include "code_80005FD0.h" #include "main.h" diff --git a/src/code_800029B0.c b/src/code_800029B0.c index 4d68b49de..801d2e32d 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -4,22 +4,23 @@ #include #include "code_800029B0.h" -#include "TrackBrowser.h" +#include "engine/TrackBrowser.h" #include "memory.h" #include "waypoints.h" -#include "actors.h" +#include "racing/actors.h" #include "actor_types.h" -#include "math_util.h" +#include "racing/math_util.h" #include "audio/external.h" #include -#include "collision.h" +#include "racing/collision.h" #include "memory.h" #include "menu_items.h" -#include "skybox_and_splitscreen.h" +#include "racing/skybox_and_splitscreen.h" #include "code_8006E9C0.h" #include "spawn_players.h" #include "replays.h" -#include "render_courses.h" +#include "racing/render_courses.h" +#include "racing/memory.h" #include "main.h" #include "courses/all_course_data.h" #include "courses/all_course_packed.h" diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index 91119bdde..04b6107bc 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -6,17 +6,17 @@ #include #include "code_80005FD0.h" -#include "math_util.h" +#include "racing/math_util.h" #include "code_800029B0.h" #include "racing/memory.h" #include "waypoints.h" #include "camera.h" -#include "actors.h" -#include "actors_extended.h" +#include "racing/actors.h" +#include "racing/actors_extended.h" #include "render_player.h" #include "player_controller.h" #include "update_objects.h" -#include "collision.h" +#include "racing/collision.h" #include #include "vehicles.h" #include "render_objects.h" diff --git a/src/code_8003DC40.c b/src/code_8003DC40.c index f4c425ce7..c7dda356d 100644 --- a/src/code_8003DC40.c +++ b/src/code_8003DC40.c @@ -1,7 +1,7 @@ #include #include #include -#include "math_util.h" +#include "racing/math_util.h" #include #include "player_controller.h" #include "effects.h" diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 57eab27ab..3a9d04e7e 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -12,11 +12,11 @@ #include "camera.h" #include "code_80057C60.h" #include "main.h" -#include "actors.h" +#include "racing/actors.h" #include "code_800029B0.h" #include "racing/memory.h" #include -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80005FD0.h" #include "render_player.h" @@ -26,7 +26,7 @@ #include "code_80086E70.h" #include "effects.h" #include -#include "skybox_and_splitscreen.h" +#include "racing/skybox_and_splitscreen.h" #include #include "audio/external.h" #include "objects.h" diff --git a/src/code_80086E70.c b/src/code_80086E70.c index 00c3fcffd..7e4de6fb8 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -6,11 +6,11 @@ #include "code_80086E70.h" #include "camera.h" #include "objects.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "racing/memory.h" #include "update_objects.h" -#include "collision.h" +#include "racing/collision.h" #include "audio/external.h" #include "main.h" #include "code_80057C60.h" diff --git a/src/code_80091440.c b/src/code_80091440.c index 1e450bc92..0325c03ec 100644 --- a/src/code_80091440.c +++ b/src/code_80091440.c @@ -3,8 +3,8 @@ #include "code_800029B0.h" #include "code_80091440.h" #include "camera.h" -#include "math_util.h" -#include "collision.h" +#include "racing/math_util.h" +#include "racing/collision.h" void func_800914A0(void) { D_80152308 = gPlayerOne->unk_006 + 7; diff --git a/src/code_800AF9B0.c b/src/code_800AF9B0.c index 9876a40cb..bd276059e 100644 --- a/src/code_800AF9B0.c +++ b/src/code_800AF9B0.c @@ -7,7 +7,7 @@ #include "menu_items.h" #include "memory.h" #include "main.h" -#include "math_util.h" +#include "racing/math_util.h" #include Lights1 D_800E8680 = gdSPDefLights1(31, 31, 31, 255, 255, 255, 40, 40, 20); diff --git a/src/debug/all_variables.h b/src/debug/all_variables.h index 53a8d8282..3cc0515bc 100644 --- a/src/debug/all_variables.h +++ b/src/debug/all_variables.h @@ -6,10 +6,10 @@ #define _VARIABLES_H_ // #include does not work -#include +#include #include -#include -#include +#include +#include #include #include #include @@ -25,26 +25,26 @@ #include #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include -#include +#include #include #include #include #include #include #include -#include +#include #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/src/effects.c b/src/effects.c index 5fcfe5a43..933dcb08d 100644 --- a/src/effects.c +++ b/src/effects.c @@ -5,7 +5,7 @@ #include #include #include "code_800029B0.h" -#include "math_util.h" +#include "racing/math_util.h" #include "kart_attributes.h" #include "waypoints.h" #include "code_80005FD0.h" diff --git a/src/ending/camera_junk.c b/src/ending/camera_junk.c index 6e0a35b72..8982a4fcc 100644 --- a/src/ending/camera_junk.c +++ b/src/ending/camera_junk.c @@ -4,7 +4,7 @@ #include "camera_junk.h" #include "camera.h" -#include "math_util.h" +#include "racing/math_util.h" #include "ceremony_and_credits.h" #include "main.h" diff --git a/src/ending/ceremony_and_credits.c b/src/ending/ceremony_and_credits.c index fef0f95c4..143470fa4 100644 --- a/src/ending/ceremony_and_credits.c +++ b/src/ending/ceremony_and_credits.c @@ -8,7 +8,7 @@ #include #include #include -#include "math_util.h" +#include "racing/math_util.h" #include "ceremony_and_credits.h" #include "code_800029B0.h" #include "code_80280000.h" diff --git a/src/ending/code_80280000.c b/src/ending/code_80280000.c index 13f8cdb1b..0ae8b934e 100644 --- a/src/ending/code_80280000.c +++ b/src/ending/code_80280000.c @@ -9,10 +9,10 @@ #include #include "camera.h" #include "memory.h" -#include "math_util.h" +#include "racing/math_util.h" #include "code_80280000.h" #include "code_80281780.h" -#include "skybox_and_splitscreen.h" +#include "racing/skybox_and_splitscreen.h" #include "menu_items.h" #include "code_8006E9C0.h" #include "code_800029B0.h" @@ -20,11 +20,12 @@ #include "podium_ceremony_actors.h" #include "code_80281C40.h" #include "code_80057C60.h" -#include "actors.h" -#include "render_courses.h" +#include "racing/actors.h" +#include "racing/render_courses.h" #include "main.h" #include "render_player.h" #include "engine/TrackBrowser.h" +#include #include "engine/tracks/Track.h" #include "engine/Matrix.h" diff --git a/src/ending/code_80281780.c b/src/ending/code_80281780.c index 37de7df73..f361fa99c 100644 --- a/src/ending/code_80281780.c +++ b/src/ending/code_80281780.c @@ -10,17 +10,18 @@ #include "camera.h" #include "camera_junk.h" #include "spawn_players.h" -#include "skybox_and_splitscreen.h" +#include "racing/skybox_and_splitscreen.h" #include "code_8006E9C0.h" #include "podium_ceremony_actors.h" #include "code_80005FD0.h" -#include "collision.h" +#include "racing/collision.h" #include "code_80281C40.h" #include "code_800029B0.h" #include "menu_items.h" #include "main.h" #include "menus.h" -#include "render_courses.h" +#include "racing/render_courses.h" +#include "racing/memory.h" #include #include "port/Game.h" diff --git a/src/ending/code_80281C40.c b/src/ending/code_80281C40.c index d265f8824..08470accf 100644 --- a/src/ending/code_80281C40.c +++ b/src/ending/code_80281C40.c @@ -3,9 +3,9 @@ #include "code_80281C40.h" #include "main.h" -#include "math_util.h" +#include "racing/math_util.h" #include "models/tracks/royal_raceway/royal_raceway_displaylists.h" -#include "skybox_and_splitscreen.h" +#include "racing/skybox_and_splitscreen.h" #include "render_objects.h" #include "code_80057C60.h" #include "menu_items.h" diff --git a/src/ending/podium_ceremony_actors.c b/src/ending/podium_ceremony_actors.c index 040f79512..72e11a813 100644 --- a/src/ending/podium_ceremony_actors.c +++ b/src/ending/podium_ceremony_actors.c @@ -8,6 +8,7 @@ #include "main.h" #include "memory.h" #include +#include "racing/memory.h" #include "render_player.h" #include "render_objects.h" #include "podium_ceremony_actors.h" @@ -16,7 +17,7 @@ #include "code_80057C60.h" #include "code_80005FD0.h" #include "code_80281C40.h" -#include "math_util.h" +#include "racing/math_util.h" #include #include "port/interpolation/FrameInterpolation.h" diff --git a/src/engine/Actor.cpp b/src/engine/Actor.cpp index 72f7b3289..a9572611f 100644 --- a/src/engine/Actor.cpp +++ b/src/engine/Actor.cpp @@ -7,7 +7,7 @@ #include "engine/editor/Collision.h" extern "C" { -#include "math_util.h" +#include "racing/math_util.h" } AActor::AActor() {} diff --git a/src/engine/GarbageCollector.h b/src/engine/GarbageCollector.h index c96f1c36a..9977a31a3 100644 --- a/src/engine/GarbageCollector.h +++ b/src/engine/GarbageCollector.h @@ -2,7 +2,7 @@ #include #include -#include "Object.h" +#include "objects/Object.h" #include "World.h" diff --git a/src/engine/HM_Intro.cpp b/src/engine/HM_Intro.cpp index 5158d32eb..e0c2152e7 100644 --- a/src/engine/HM_Intro.cpp +++ b/src/engine/HM_Intro.cpp @@ -9,14 +9,14 @@ extern "C" { #include "main.h" #include "memory.h" -#include "math_util.h" +#include "racing/math_util.h" #include "courses/harbour/track.h" #include "courses/harbour/powered.h" #include "courses/harbour/ship2_model.h" #include "courses/harbour/ship3_model.h" -#include "collision.h" +#include "racing/collision.h" #include "menu_items.h" -#include "external.h" +#include "audio/external.h" #include "menus.h" extern Gfx ship1_spag1_mesh[]; } diff --git a/src/engine/Matrix.cpp b/src/engine/Matrix.cpp index 0e9f4ad06..8e003c9b1 100644 --- a/src/engine/Matrix.cpp +++ b/src/engine/Matrix.cpp @@ -5,7 +5,7 @@ extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" } diff --git a/src/engine/RaceManager.cpp b/src/engine/RaceManager.cpp index de8ed6984..700792426 100644 --- a/src/engine/RaceManager.cpp +++ b/src/engine/RaceManager.cpp @@ -8,7 +8,7 @@ #include "engine/RandomItemTable.h" extern "C" { -#include "render_courses.h" +#include "racing/render_courses.h" } RaceManager::RaceManager(World& world) : WorldContext(world) { diff --git a/src/engine/RandomItemTable.cpp b/src/engine/RandomItemTable.cpp index 5251bfbf7..9f68fe093 100644 --- a/src/engine/RandomItemTable.cpp +++ b/src/engine/RandomItemTable.cpp @@ -3,7 +3,7 @@ #include "port/Game.h" extern "C" { -#include "math_util.h" +#include "racing/math_util.h" } RandomItemTable::RandomItemTable() { diff --git a/src/engine/StaticMeshActor.cpp b/src/engine/StaticMeshActor.cpp index a2da8ef68..aa11cd037 100644 --- a/src/engine/StaticMeshActor.cpp +++ b/src/engine/StaticMeshActor.cpp @@ -4,7 +4,7 @@ extern "C" { #include "main.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" } diff --git a/src/engine/actors/BowserStatue.cpp b/src/engine/actors/BowserStatue.cpp index b9c2d56e8..c850d1730 100644 --- a/src/engine/actors/BowserStatue.cpp +++ b/src/engine/actors/BowserStatue.cpp @@ -5,7 +5,7 @@ #include "port/interpolation/FrameInterpolation.h" extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" #include "assets/models/tracks/bowsers_castle/bowsers_castle_data.h" #include "assets/models/tracks/bowsers_castle/bowsers_castle_displaylists.h" diff --git a/src/engine/actors/BowserStatue.h b/src/engine/actors/BowserStatue.h index 59a75e3e7..06d53fcbd 100644 --- a/src/engine/actors/BowserStatue.h +++ b/src/engine/actors/BowserStatue.h @@ -3,7 +3,7 @@ #include #include #include "engine/Actor.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" extern "C" { #include "common_structs.h" diff --git a/src/engine/actors/Cloud.cpp b/src/engine/actors/Cloud.cpp index f4c48ea75..27efd4297 100644 --- a/src/engine/actors/Cloud.cpp +++ b/src/engine/actors/Cloud.cpp @@ -8,9 +8,9 @@ extern "C" { #include "macros.h" #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "actor_types.h" -#include "actors.h" +#include "racing/actors.h" #include "assets/textures/other_textures.h" extern f32 gKartHopInitialVelocityTable[]; extern f32 gKartGravityTable[]; @@ -209,4 +209,4 @@ void ACloud::DrawEditorProperties() { if (ImGui::Button(ICON_FA_UNDO "##ResetSpeedB")) { Gravity = 0.0f; } -} \ No newline at end of file +} diff --git a/src/engine/actors/Cloud.h b/src/engine/actors/Cloud.h index e154a2b1c..5e5f1cabb 100644 --- a/src/engine/actors/Cloud.h +++ b/src/engine/actors/Cloud.h @@ -3,7 +3,7 @@ #include #include "engine/registry/RegisterContent.h" #include "engine/Actor.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" extern "C" { #include "camera.h" diff --git a/src/engine/actors/FallingRock.cpp b/src/engine/actors/FallingRock.cpp index 4cd4b72ce..3ee573ed7 100644 --- a/src/engine/actors/FallingRock.cpp +++ b/src/engine/actors/FallingRock.cpp @@ -1,7 +1,7 @@ #include "FallingRock.h" #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include #include #include "port/interpolation/FrameInterpolation.h" @@ -9,13 +9,13 @@ extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" #include "actor_types.h" #include "code_800029B0.h" -#include "collision.h" +#include "racing/collision.h" #include "code_800029B0.h" -#include "external.h" +#include "audio/external.h" } size_t AFallingRock::_count = 0; diff --git a/src/engine/actors/FallingRock.h b/src/engine/actors/FallingRock.h index ec05a8674..a9efb7e0f 100644 --- a/src/engine/actors/FallingRock.h +++ b/src/engine/actors/FallingRock.h @@ -3,7 +3,7 @@ #include #include "engine/registry/RegisterContent.h" #include "engine/Actor.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "engine/SpawnParams.h" #include "engine/CoreMath.h" diff --git a/src/engine/actors/Finishline.cpp b/src/engine/actors/Finishline.cpp index 5b853fbfc..c432cb9a0 100644 --- a/src/engine/actors/Finishline.cpp +++ b/src/engine/actors/Finishline.cpp @@ -1,10 +1,10 @@ #include #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "Finishline.h" #include "engine/Actor.h" -#include "World.h" +#include "engine/World.h" #include "assets/models/common_data.h" #include "src/port/Game.h" #include "port/interpolation/FrameInterpolation.h" @@ -12,9 +12,9 @@ extern "C" { #include "macros.h" #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "actor_types.h" -#include "actors.h" +#include "racing/actors.h" extern f32 gKartHopInitialVelocityTable[]; extern f32 gKartGravityTable[]; } diff --git a/src/engine/actors/Finishline.h b/src/engine/actors/Finishline.h index 681461c5c..9f117dbae 100644 --- a/src/engine/actors/Finishline.h +++ b/src/engine/actors/Finishline.h @@ -1,7 +1,7 @@ #pragma once #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "engine/registry/RegisterContent.h" #include "engine/Actor.h" diff --git a/src/engine/actors/MarioSign.cpp b/src/engine/actors/MarioSign.cpp index bf87b0f6b..efd142497 100644 --- a/src/engine/actors/MarioSign.cpp +++ b/src/engine/actors/MarioSign.cpp @@ -3,15 +3,15 @@ #include #include #include "port/interpolation/FrameInterpolation.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" #include "actor_types.h" #include "code_800029B0.h" -#include "collision.h" +#include "racing/collision.h" } size_t AMarioSign::_count = 0; diff --git a/src/engine/actors/MarioSign.h b/src/engine/actors/MarioSign.h index 699a68769..ed7133753 100644 --- a/src/engine/actors/MarioSign.h +++ b/src/engine/actors/MarioSign.h @@ -2,7 +2,7 @@ #include #include "engine/Actor.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "engine/World.h" #include "engine/registry/RegisterContent.h" diff --git a/src/engine/actors/Ship.cpp b/src/engine/actors/Ship.cpp index 934943768..8d4656b55 100644 --- a/src/engine/actors/Ship.cpp +++ b/src/engine/actors/Ship.cpp @@ -1,13 +1,13 @@ #include "Ship.h" #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "port/Game.h" -#include "Matrix.h" +#include "engine/Matrix.h" extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" #include "courses/harbour/ghostship_model.h" #include "courses/harbour/ship2_model.h" diff --git a/src/engine/actors/Ship.h b/src/engine/actors/Ship.h index e650c4e2f..312140aea 100644 --- a/src/engine/actors/Ship.h +++ b/src/engine/actors/Ship.h @@ -2,7 +2,7 @@ #include #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "engine/registry/RegisterContent.h" #include "engine/Actor.h" diff --git a/src/engine/actors/SpaghettiShip.cpp b/src/engine/actors/SpaghettiShip.cpp index 880933b42..8ba2729bc 100644 --- a/src/engine/actors/SpaghettiShip.cpp +++ b/src/engine/actors/SpaghettiShip.cpp @@ -1,11 +1,11 @@ #include "SpaghettiShip.h" #include -#include "Matrix.h" +#include "engine/Matrix.h" extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" #include "courses/harbour/ship_model.h" } diff --git a/src/engine/actors/SpaghettiShip.h b/src/engine/actors/SpaghettiShip.h index 7fb328ea3..0e9879b37 100644 --- a/src/engine/actors/SpaghettiShip.h +++ b/src/engine/actors/SpaghettiShip.h @@ -2,7 +2,7 @@ #include #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "engine/registry/RegisterContent.h" #include "engine/Actor.h" #include "engine/World.h" diff --git a/src/engine/actors/Starship.cpp b/src/engine/actors/Starship.cpp index bdafbbb4a..6213da6b0 100644 --- a/src/engine/actors/Starship.cpp +++ b/src/engine/actors/Starship.cpp @@ -1,12 +1,12 @@ #include "Starship.h" #include -#include "Matrix.h" +#include "engine/Matrix.h" #include "port/Game.h" extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" #include "courses/harbour/starship_model.h" } diff --git a/src/engine/actors/Starship.h b/src/engine/actors/Starship.h index 0ed400a67..ed813fa53 100644 --- a/src/engine/actors/Starship.h +++ b/src/engine/actors/Starship.h @@ -2,7 +2,7 @@ #include #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "engine/registry/RegisterContent.h" #include "engine/Actor.h" #include "engine/World.h" diff --git a/src/engine/actors/Text.cpp b/src/engine/actors/Text.cpp index d2468d2a1..ab56b62fa 100644 --- a/src/engine/actors/Text.cpp +++ b/src/engine/actors/Text.cpp @@ -14,7 +14,7 @@ extern "C" { #include "menu_items.h" #include "assets/models/data_segment2.h" #include "render_player.h" -#include "math_util.h" +#include "racing/math_util.h" #include "assets/textures/texture_data_2.h" #include "render_objects.h" #include "common_structs.h" diff --git a/src/engine/actors/Tree.cpp b/src/engine/actors/Tree.cpp index cd732c1e4..20b65df09 100644 --- a/src/engine/actors/Tree.cpp +++ b/src/engine/actors/Tree.cpp @@ -4,9 +4,9 @@ extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" -#include "actors.h" +#include "racing/actors.h" } ATree::ATree(Vec3f pos, Gfx* displaylist, f32 drawDistance, f32 minDrawDistance, const char* tlut = nullptr) { diff --git a/src/engine/actors/WarioSign.cpp b/src/engine/actors/WarioSign.cpp index 9b3a276ac..6b13e6fbf 100644 --- a/src/engine/actors/WarioSign.cpp +++ b/src/engine/actors/WarioSign.cpp @@ -6,11 +6,11 @@ extern "C" { #include "common_structs.h" -#include "math_util.h" +#include "racing/math_util.h" #include "main.h" #include "actor_types.h" #include "code_800029B0.h" -#include "collision.h" +#include "racing/collision.h" } size_t AWarioSign::_count = 0; diff --git a/src/engine/actors/WarioSign.h b/src/engine/actors/WarioSign.h index 355e7343a..88e89dbc4 100644 --- a/src/engine/actors/WarioSign.h +++ b/src/engine/actors/WarioSign.h @@ -3,7 +3,7 @@ #include #include "engine/registry/RegisterContent.h" #include "engine/Actor.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" class AWarioSign : public AActor { public: diff --git a/src/engine/cameras/GameCamera.h b/src/engine/cameras/GameCamera.h index 9031334ae..ec3d97a28 100644 --- a/src/engine/cameras/GameCamera.h +++ b/src/engine/cameras/GameCamera.h @@ -1,7 +1,7 @@ #pragma once #include -#include "CoreMath.h" +#include "engine/CoreMath.h" extern "C" { #include "camera.h" diff --git a/src/engine/cameras/TourCamera.cpp b/src/engine/cameras/TourCamera.cpp index ff50481bf..f03c2b50a 100644 --- a/src/engine/cameras/TourCamera.cpp +++ b/src/engine/cameras/TourCamera.cpp @@ -11,11 +11,11 @@ extern "C" { #include "main.h" #include "camera.h" #include "code_800029B0.h" -#include "ceremony_and_credits.h" +#include "ending/ceremony_and_credits.h" #include "common_structs.h" #include "spawn_players.h" -#include "math_util.h" -#include "external.h" +#include "racing/math_util.h" +#include "audio/external.h" } TourCamera::TourCamera(FVector pos, s16 rot, u32 mode) : GameCamera() { diff --git a/src/engine/cameras/TourCamera.h b/src/engine/cameras/TourCamera.h index ba43130ef..9d683724c 100644 --- a/src/engine/cameras/TourCamera.h +++ b/src/engine/cameras/TourCamera.h @@ -2,7 +2,7 @@ #include #include "GameCamera.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" extern "C" { #include "camera.h" diff --git a/src/engine/editor/Collision.cpp b/src/engine/editor/Collision.cpp index 9ded514d6..5712d8582 100644 --- a/src/engine/editor/Collision.cpp +++ b/src/engine/editor/Collision.cpp @@ -2,7 +2,7 @@ #include #include -#include "Matrix.h" +#include "engine/Matrix.h" #include "engine/Actor.h" #include "engine/objects/Object.h" diff --git a/src/engine/editor/Editor.cpp b/src/engine/editor/Editor.cpp index d8eeecda9..673667088 100644 --- a/src/engine/editor/Editor.cpp +++ b/src/engine/editor/Editor.cpp @@ -20,7 +20,7 @@ extern "C" { #include "common_structs.h" #include "main.h" #include "defines.h" -#include "actors.h" +#include "racing/actors.h" #include "camera.h" } diff --git a/src/engine/editor/EditorMath.cpp b/src/engine/editor/EditorMath.cpp index 02932a5a7..635d68d59 100644 --- a/src/engine/editor/EditorMath.cpp +++ b/src/engine/editor/EditorMath.cpp @@ -17,8 +17,8 @@ extern "C" { #include "common_structs.h" #include "main.h" #include "defines.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "camera.h" } diff --git a/src/engine/editor/Gizmo.cpp b/src/engine/editor/Gizmo.cpp index 4301f7db4..bb09dc765 100644 --- a/src/engine/editor/Gizmo.cpp +++ b/src/engine/editor/Gizmo.cpp @@ -23,10 +23,10 @@ extern "C" { #include "common_structs.h" #include "main.h" -#include "actors.h" +#include "racing/actors.h" #include "camera.h" #include "src/racing/collision.h" -#include "math_util.h" +#include "racing/math_util.h" } namespace TrackEditor { diff --git a/src/engine/editor/Light.cpp b/src/engine/editor/Light.cpp index 477793540..8a27b410a 100644 --- a/src/engine/editor/Light.cpp +++ b/src/engine/editor/Light.cpp @@ -21,9 +21,9 @@ extern "C" { #include "common_structs.h" #include "main.h" #include "defines.h" -#include "actors.h" +#include "racing/actors.h" #include "camera.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" } diff --git a/src/engine/editor/ObjectPicker.cpp b/src/engine/editor/ObjectPicker.cpp index 013ad983e..e95e32e94 100644 --- a/src/engine/editor/ObjectPicker.cpp +++ b/src/engine/editor/ObjectPicker.cpp @@ -21,7 +21,7 @@ extern "C" { #include "common_structs.h" #include "main.h" #include "defines.h" -#include "actors.h" +#include "racing/actors.h" #include "camera.h" } diff --git a/src/engine/editor/SceneManager.cpp b/src/engine/editor/SceneManager.cpp index f4b582bc5..36e42e985 100644 --- a/src/engine/editor/SceneManager.cpp +++ b/src/engine/editor/SceneManager.cpp @@ -2,7 +2,7 @@ #include "port/Game.h" #include "engine/CoreMath.h" -#include "World.h" +#include "engine/World.h" #include "GameObject.h" #include @@ -27,11 +27,11 @@ extern "C" { #include "common_structs.h" -#include "actors.h" +#include "racing/actors.h" #include "actor_types.h" #include "code_80005FD0.h" #include "code_800029B0.h" -#include "render_courses.h" +#include "racing/render_courses.h" } namespace TrackEditor { diff --git a/src/engine/editor/SceneManager.h b/src/engine/editor/SceneManager.h index 44c2f538f..0d12da569 100644 --- a/src/engine/editor/SceneManager.h +++ b/src/engine/editor/SceneManager.h @@ -1,7 +1,7 @@ #pragma once #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "engine/tracks/Track.h" #include #include diff --git a/src/engine/objects/Bat.cpp b/src/engine/objects/Bat.cpp index 148725bca..7dfbbaa4e 100644 --- a/src/engine/objects/Bat.cpp +++ b/src/engine/objects/Bat.cpp @@ -1,6 +1,6 @@ #include "Bat.h" -#include "World.h" -#include "CoreMath.h" +#include "engine/World.h" +#include "engine/CoreMath.h" #include "port/interpolation/FrameInterpolation.h" extern "C" { @@ -9,7 +9,7 @@ extern "C" { #include "assets/models/tracks/banshee_boardwalk/banshee_boardwalk_data.h" #include "assets/textures/tracks/banshee_boardwalk/banshee_boardwalk_data.h" #include "assets/models/common_data.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80086E70.h" #include "code_80057C60.h" diff --git a/src/engine/objects/Bat.h b/src/engine/objects/Bat.h index 67c5a0d74..4195ae4e7 100644 --- a/src/engine/objects/Bat.h +++ b/src/engine/objects/Bat.h @@ -5,8 +5,8 @@ #include "Object.h" #include "engine/registry/RegisterContent.h" -#include "World.h" -#include "CoreMath.h" +#include "engine/World.h" +#include "engine/CoreMath.h" extern "C" { #include "macros.h" @@ -16,7 +16,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "camera.h" -#include "some_data.h" +#include "assets/textures/some_data.h" } /** diff --git a/src/engine/objects/BombKart.cpp b/src/engine/objects/BombKart.cpp index 8009effef..9e7d7469e 100644 --- a/src/engine/objects/BombKart.cpp +++ b/src/engine/objects/BombKart.cpp @@ -10,21 +10,21 @@ extern "C" { #include "macros.h" #include "main.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" #include "bomb_kart.h" -#include "collision.h" +#include "racing/collision.h" #include "code_80086E70.h" #include "render_objects.h" #include "code_80057C60.h" #include "defines.h" #include "code_80005FD0.h" #include "math_util_2.h" -#include "collision.h" +#include "racing/collision.h" #include extern s8 gPlayerCount; } diff --git a/src/engine/objects/BombKart.h b/src/engine/objects/BombKart.h index b53b1c688..14962c405 100644 --- a/src/engine/objects/BombKart.h +++ b/src/engine/objects/BombKart.h @@ -4,7 +4,7 @@ #include "engine/registry/RegisterContent.h" #include "engine/objects/Object.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "common_structs.h" diff --git a/src/engine/objects/Boos.cpp b/src/engine/objects/Boos.cpp index f41197f46..9c4ea6492 100644 --- a/src/engine/objects/Boos.cpp +++ b/src/engine/objects/Boos.cpp @@ -1,6 +1,6 @@ #include "Boos.h" -#include "World.h" -#include "CoreMath.h" +#include "engine/World.h" +#include "engine/CoreMath.h" #include "port/interpolation/FrameInterpolation.h" extern "C" { @@ -11,16 +11,16 @@ extern "C" { #include "assets/models/common_data.h" #include "assets/textures/boo_frames.h" #include "assets/textures/other_textures.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80086E70.h" #include "code_80057C60.h" #include "code_800029B0.h" #include "code_80005FD0.h" #include "menus.h" -#include "race_logic.h" -#include "external.h" -#include "some_data.h" +#include "racing/race_logic.h" +#include "audio/external.h" +#include "textures/some_data.h" } size_t OBoos::_count = 0; diff --git a/src/engine/objects/Boos.h b/src/engine/objects/Boos.h index faaf35ee7..e7ca06097 100644 --- a/src/engine/objects/Boos.h +++ b/src/engine/objects/Boos.h @@ -5,8 +5,8 @@ #include "Object.h" #include "engine/registry/RegisterContent.h" -#include "World.h" -#include "CoreMath.h" +#include "engine/World.h" +#include "engine/CoreMath.h" extern "C" { #include "macros.h" @@ -16,7 +16,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "camera.h" -#include "some_data.h" +#include "assets/textures/some_data.h" } /** diff --git a/src/engine/objects/ChainChomp.cpp b/src/engine/objects/ChainChomp.cpp index fcbd19cf9..ee31759f8 100644 --- a/src/engine/objects/ChainChomp.cpp +++ b/src/engine/objects/ChainChomp.cpp @@ -1,5 +1,5 @@ #include "ChainChomp.h" -#include "World.h" +#include "engine/World.h" #include "port/interpolation/FrameInterpolation.h" extern "C" { @@ -9,12 +9,12 @@ extern "C" { #include "assets/textures/tracks/rainbow_road/rainbow_road_data.h" #include "assets/other/tracks/rainbow_road/rainbow_road_data.h" #include "assets/models/common_data.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80086E70.h" #include "code_80057C60.h" #include "code_80005FD0.h" -#include "external.h" +#include "audio/external.h" #include "course_offsets.h" } diff --git a/src/engine/objects/ChainChomp.h b/src/engine/objects/ChainChomp.h index 0d76a079c..1a28b27bb 100644 --- a/src/engine/objects/ChainChomp.h +++ b/src/engine/objects/ChainChomp.h @@ -4,7 +4,7 @@ #include #include "Object.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "macros.h" @@ -14,7 +14,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "camera.h" -#include "some_data.h" +#include "assets/textures/some_data.h" } /** diff --git a/src/engine/objects/CheepCheep.cpp b/src/engine/objects/CheepCheep.cpp index f81aeb795..145f1a4d5 100644 --- a/src/engine/objects/CheepCheep.cpp +++ b/src/engine/objects/CheepCheep.cpp @@ -7,7 +7,7 @@ extern "C" { -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "render_objects.h" #include "update_objects.h" @@ -15,7 +15,7 @@ extern "C" { #include "code_80086E70.h" #include "waypoints.h" #include "code_80057C60.h" -#include "some_data.h" +#include "textures/some_data.h" extern Vec3s D_800E634C[]; extern Lights1 D_800E45C0[]; } diff --git a/src/engine/objects/CheepCheep.h b/src/engine/objects/CheepCheep.h index bca65d100..55a0ed4d5 100644 --- a/src/engine/objects/CheepCheep.h +++ b/src/engine/objects/CheepCheep.h @@ -6,7 +6,7 @@ #include "engine/registry/RegisterContent.h" #include "engine/CoreMath.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "macros.h" @@ -14,7 +14,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "course_offsets.h" -#include "some_data.h" +#include "assets/textures/some_data.h" } diff --git a/src/engine/objects/Crab.cpp b/src/engine/objects/Crab.cpp index 7c3bc8d47..c4e057b8c 100644 --- a/src/engine/objects/Crab.cpp +++ b/src/engine/objects/Crab.cpp @@ -2,7 +2,7 @@ #include #include "Crab.h" #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "port/Game.h" #include "port/interpolation/FrameInterpolation.h" @@ -14,14 +14,14 @@ extern "C" { #include "camera.h" #include "update_objects.h" #include "render_objects.h" -#include "actors.h" +#include "racing/actors.h" #include "code_80057C60.h" #include "code_80086E70.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80005FD0.h" -#include "some_data.h" -#include "ceremony_and_credits.h" +#include "textures/some_data.h" +#include "ending/ceremony_and_credits.h" #include "assets/models/tracks/koopa_troopa_beach/koopa_troopa_beach_data.h" #include "assets/textures/tracks/koopa_troopa_beach/koopa_troopa_beach_data.h" #include "assets/models/common_data.h" diff --git a/src/engine/objects/Crab.h b/src/engine/objects/Crab.h index 425361b02..9a892bcf7 100644 --- a/src/engine/objects/Crab.h +++ b/src/engine/objects/Crab.h @@ -4,8 +4,8 @@ #include #include "engine/registry/RegisterContent.h" #include "engine/objects/Object.h" -#include "CoreMath.h" -#include "World.h" +#include "engine/CoreMath.h" +#include "engine/World.h" extern "C" { #include "macros.h" @@ -15,7 +15,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "course_offsets.h" -#include "some_data.h" +#include "assets/textures/some_data.h" } /** diff --git a/src/engine/objects/Flagpole.cpp b/src/engine/objects/Flagpole.cpp index 89d9dd825..cbb942eac 100644 --- a/src/engine/objects/Flagpole.cpp +++ b/src/engine/objects/Flagpole.cpp @@ -1,5 +1,5 @@ #include "Flagpole.h" -#include "World.h" +#include "engine/World.h" #include "port/interpolation/FrameInterpolation.h" extern "C" { @@ -8,7 +8,7 @@ extern "C" { #include "update_objects.h" #include "assets/models/tracks/yoshi_valley/yoshi_valley_data.h" #include "assets/models/common_data.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80086E70.h" #include "code_80057C60.h" diff --git a/src/engine/objects/Flagpole.h b/src/engine/objects/Flagpole.h index ebca915d4..49b718cdb 100644 --- a/src/engine/objects/Flagpole.h +++ b/src/engine/objects/Flagpole.h @@ -5,7 +5,7 @@ #include "Object.h" #include "engine/registry/RegisterContent.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "macros.h" @@ -15,7 +15,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "camera.h" -#include "some_data.h" +#include "assets/textures/some_data.h" } // This used to use directional_angle for rot. It now uses orientation for editor compatibility. diff --git a/src/engine/objects/GrandPrixBalloons.cpp b/src/engine/objects/GrandPrixBalloons.cpp index ba1c6f003..f97fc99fc 100644 --- a/src/engine/objects/GrandPrixBalloons.cpp +++ b/src/engine/objects/GrandPrixBalloons.cpp @@ -11,7 +11,7 @@ extern "C" { #include "render_objects.h" #include "code_80057C60.h" #include "code_80086E70.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "menus.h" } diff --git a/src/engine/objects/Hedgehog.h b/src/engine/objects/Hedgehog.h index 4a377ef32..cd500c746 100644 --- a/src/engine/objects/Hedgehog.h +++ b/src/engine/objects/Hedgehog.h @@ -15,7 +15,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "camera.h" -#include "some_data.h" +#include "textures/some_data.h" } /** diff --git a/src/engine/objects/HotAirBalloon.cpp b/src/engine/objects/HotAirBalloon.cpp index e080921e7..9eb8141e9 100644 --- a/src/engine/objects/HotAirBalloon.cpp +++ b/src/engine/objects/HotAirBalloon.cpp @@ -1,5 +1,5 @@ #include "HotAirBalloon.h" -#include "World.h" +#include "engine/World.h" #include "port/Game.h" #include "port/interpolation/FrameInterpolation.h" @@ -8,11 +8,11 @@ extern "C" { #include "update_objects.h" #include "assets/models/tracks/luigi_raceway/luigi_raceway_data.h" #include "assets/models/common_data.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80086E70.h" #include "code_80057C60.h" -#include "actors.h" +#include "racing/actors.h" } OHotAirBalloon::OHotAirBalloon(const SpawnParams& params) : OObject(params) { diff --git a/src/engine/objects/HotAirBalloon.h b/src/engine/objects/HotAirBalloon.h index dfbe3cfdb..cc4977724 100644 --- a/src/engine/objects/HotAirBalloon.h +++ b/src/engine/objects/HotAirBalloon.h @@ -4,7 +4,7 @@ #include "Object.h" #include "engine/registry/RegisterContent.h" -#include "World.h" +#include "engine/World.h" class OHotAirBalloon : public OObject { public: diff --git a/src/engine/objects/Lakitu.cpp b/src/engine/objects/Lakitu.cpp index 121191a12..dd64e37ff 100644 --- a/src/engine/objects/Lakitu.cpp +++ b/src/engine/objects/Lakitu.cpp @@ -7,32 +7,33 @@ #include "port/Game.h" extern "C" { +#include "racing/memory.h" #include "macros.h" #include "main.h" #include "code_800029B0.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" #include "bomb_kart.h" -#include "collision.h" +#include "racing/collision.h" #include "code_80086E70.h" #include "render_objects.h" #include "code_80057C60.h" #include "defines.h" #include "code_80005FD0.h" -#include "collision.h" +#include "racing/collision.h" #include "assets/models/tracks/bowsers_castle/bowsers_castle_data.h" -#include "ceremony_and_credits.h" +#include "ending/ceremony_and_credits.h" #include "objects.h" #include "update_objects.h" #include "render_objects.h" #include "course_offsets.h" #include "data/some_data.h" -#include "race_logic.h" +#include "racing/race_logic.h" #include "effects.h" #include "memory.h" #include diff --git a/src/engine/objects/Lakitu.h b/src/engine/objects/Lakitu.h index 8736a5b96..8e5e57f04 100644 --- a/src/engine/objects/Lakitu.h +++ b/src/engine/objects/Lakitu.h @@ -3,7 +3,7 @@ #include #include #include "Object.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "macros.h" diff --git a/src/engine/objects/Mole.cpp b/src/engine/objects/Mole.cpp index fe0211e1f..8478a1a39 100644 --- a/src/engine/objects/Mole.cpp +++ b/src/engine/objects/Mole.cpp @@ -10,18 +10,18 @@ extern "C" { #include "camera.h" #include "update_objects.h" #include "render_objects.h" -#include "actors.h" +#include "racing/actors.h" #include "code_80057C60.h" #include "code_80086E70.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80005FD0.h" -#include "some_data.h" -#include "ceremony_and_credits.h" +#include "textures/some_data.h" +#include "ending/ceremony_and_credits.h" #include "assets/models/tracks/moo_moo_farm/moo_moo_farm_data.h" #include "assets/textures/tracks/moo_moo_farm/moo_moo_farm_data.h" #include "sounds.h" -#include "external.h" +#include "audio/external.h" #include } diff --git a/src/engine/objects/Mole.h b/src/engine/objects/Mole.h index 342b77aa7..e8e00be6c 100644 --- a/src/engine/objects/Mole.h +++ b/src/engine/objects/Mole.h @@ -3,7 +3,7 @@ #include #include #include "Object.h" -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "MoleGroup.h" extern "C" { @@ -14,7 +14,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "course_offsets.h" -#include "some_data.h" +#include "textures/some_data.h" } class OMoleGroup; diff --git a/src/engine/objects/MoleGroup.cpp b/src/engine/objects/MoleGroup.cpp index a01e55877..cc6df7e60 100644 --- a/src/engine/objects/MoleGroup.cpp +++ b/src/engine/objects/MoleGroup.cpp @@ -4,7 +4,7 @@ extern "C" { #include "code_80057C60.h" #include "update_objects.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" } diff --git a/src/engine/objects/MoleGroup.h b/src/engine/objects/MoleGroup.h index 901f3c2f5..d9ef4fa53 100644 --- a/src/engine/objects/MoleGroup.h +++ b/src/engine/objects/MoleGroup.h @@ -2,8 +2,8 @@ #include #include -#include "World.h" -#include "CoreMath.h" +#include "engine/World.h" +#include "engine/CoreMath.h" #include "Mole.h" class OMole; diff --git a/src/engine/objects/Object.cpp b/src/engine/objects/Object.cpp index d7f9ac616..7bfbec141 100644 --- a/src/engine/objects/Object.cpp +++ b/src/engine/objects/Object.cpp @@ -1,7 +1,7 @@ #include #include "Object.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "camera.h" diff --git a/src/engine/objects/Penguin.cpp b/src/engine/objects/Penguin.cpp index a645b9633..994985758 100644 --- a/src/engine/objects/Penguin.cpp +++ b/src/engine/objects/Penguin.cpp @@ -8,23 +8,23 @@ extern "C" { #include "macros.h" #include "main.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" #include "bomb_kart.h" -#include "collision.h" +#include "racing/collision.h" #include "code_80086E70.h" #include "render_objects.h" #include "code_80057C60.h" #include "defines.h" #include "code_80005FD0.h" #include "math_util_2.h" -#include "collision.h" +#include "racing/collision.h" #include "assets/models/tracks/bowsers_castle/bowsers_castle_data.h" -#include "ceremony_and_credits.h" +#include "ending/ceremony_and_credits.h" #include "objects.h" #include "update_objects.h" #include "render_objects.h" diff --git a/src/engine/objects/Podium.cpp b/src/engine/objects/Podium.cpp index 621ba91ab..9f80acecb 100644 --- a/src/engine/objects/Podium.cpp +++ b/src/engine/objects/Podium.cpp @@ -7,11 +7,11 @@ extern "C" { #include "update_objects.h" #include "render_objects.h" #include "code_80057C60.h" -#include "podium_ceremony_actors.h" -#include "math_util.h" +#include "ending/podium_ceremony_actors.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "assets/models/common_data.h" -#include "some_data.h" +#include "textures/some_data.h" #include "code_80091440.h" #include "code_80086E70.h" #include "code_80086E70.h" diff --git a/src/engine/objects/Podium.h b/src/engine/objects/Podium.h index 52cef0761..268c40215 100644 --- a/src/engine/objects/Podium.h +++ b/src/engine/objects/Podium.h @@ -3,7 +3,7 @@ #include #include "engine/registry/RegisterContent.h" -#include "World.h" +#include "engine/World.h" class OPodium : public OObject { diff --git a/src/engine/objects/Seagull.cpp b/src/engine/objects/Seagull.cpp index 1b9d0f041..1c40b4312 100644 --- a/src/engine/objects/Seagull.cpp +++ b/src/engine/objects/Seagull.cpp @@ -2,7 +2,7 @@ #include #include "Seagull.h" #include -#include "World.h" +#include "engine/World.h" #include "port/Game.h" #include "port/interpolation/FrameInterpolation.h" @@ -14,14 +14,14 @@ extern "C" { #include "camera.h" #include "update_objects.h" #include "render_objects.h" -#include "actors.h" +#include "racing/actors.h" #include "code_80057C60.h" #include "code_80086E70.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80005FD0.h" -#include "some_data.h" -#include "ceremony_and_credits.h" +#include "textures/some_data.h" +#include "ending/ceremony_and_credits.h" #include "assets/models/common_data.h" #include "course_offsets.h" extern SplineData D_800E6034; diff --git a/src/engine/objects/Snowman.cpp b/src/engine/objects/Snowman.cpp index c68088ed0..263107fa2 100644 --- a/src/engine/objects/Snowman.cpp +++ b/src/engine/objects/Snowman.cpp @@ -1,5 +1,5 @@ #include "Snowman.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "render_objects.h" @@ -7,7 +7,7 @@ extern "C" { #include "assets/models/tracks/frappe_snowland/frappe_snowland_data.h" #include "assets/textures/tracks/frappe_snowland/frappe_snowland_data.h" #include "assets/models/common_data.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80086E70.h" #include "code_80057C60.h" diff --git a/src/engine/objects/Snowman.h b/src/engine/objects/Snowman.h index 2aac7366a..18d767777 100644 --- a/src/engine/objects/Snowman.h +++ b/src/engine/objects/Snowman.h @@ -4,7 +4,7 @@ #include "Object.h" #include "engine/registry/RegisterContent.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "common_structs.h" diff --git a/src/engine/objects/Thwomp.cpp b/src/engine/objects/Thwomp.cpp index b176dca70..5d97690d9 100644 --- a/src/engine/objects/Thwomp.cpp +++ b/src/engine/objects/Thwomp.cpp @@ -11,28 +11,28 @@ extern "C" { #include "macros.h" #include "main.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" #include "bomb_kart.h" -#include "collision.h" +#include "racing/collision.h" #include "code_80086E70.h" #include "render_objects.h" #include "code_80057C60.h" #include "defines.h" #include "code_80005FD0.h" #include "math_util_2.h" -#include "collision.h" +#include "racing/collision.h" #include "assets/models/tracks/bowsers_castle/bowsers_castle_data.h" #include "assets/textures/tracks/bowsers_castle/bowsers_castle_data.h" -#include "ceremony_and_credits.h" +#include "ending/ceremony_and_credits.h" #include "objects.h" #include "update_objects.h" #include "render_objects.h" -#include "some_data.h" +#include "textures/some_data.h" #include "assets/models/common_data.h" extern s8 gPlayerCount; } diff --git a/src/engine/objects/TrashBin.cpp b/src/engine/objects/TrashBin.cpp index 75c5390fa..ba59e62a0 100644 --- a/src/engine/objects/TrashBin.cpp +++ b/src/engine/objects/TrashBin.cpp @@ -1,7 +1,7 @@ #include #include #include "TrashBin.h" -#include "World.h" +#include "engine/World.h" #include "port/Game.h" #include "port/interpolation/FrameInterpolation.h" @@ -12,7 +12,7 @@ extern "C" { #include "update_objects.h" #include "assets/models/tracks/banshee_boardwalk/banshee_boardwalk_data.h" #include "assets/models/common_data.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "code_80086E70.h" #include "code_80057C60.h" diff --git a/src/engine/objects/TrashBin.h b/src/engine/objects/TrashBin.h index 551f2d44e..82d3300fc 100644 --- a/src/engine/objects/TrashBin.h +++ b/src/engine/objects/TrashBin.h @@ -4,7 +4,7 @@ #include "Object.h" #include "engine/registry/RegisterContent.h" -#include "World.h" +#include "engine/World.h" class OTrashBin : public OObject { public: diff --git a/src/engine/objects/Trophy.cpp b/src/engine/objects/Trophy.cpp index 3c6c8fc31..a3b959bf5 100644 --- a/src/engine/objects/Trophy.cpp +++ b/src/engine/objects/Trophy.cpp @@ -9,9 +9,9 @@ extern "C" { #include "update_objects.h" #include "code_80057C60.h" #include "assets/models/ceremony_data.h" -#include "podium_ceremony_actors.h" +#include "ending/podium_ceremony_actors.h" #include "engine/particles/StarEmitter.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "data/some_data.h" #include "engine/Matrix.h" diff --git a/src/engine/objects/Trophy.h b/src/engine/objects/Trophy.h index a6747aedc..4bdbbf0ea 100644 --- a/src/engine/objects/Trophy.h +++ b/src/engine/objects/Trophy.h @@ -3,7 +3,7 @@ #include #include "Object.h" #include "engine/registry/RegisterContent.h" -#include "World.h" +#include "engine/World.h" #include "engine/particles/StarEmitter.h" extern "C" { diff --git a/src/engine/particles/StarEmitter.cpp b/src/engine/particles/StarEmitter.cpp index 878990f9b..73159defc 100644 --- a/src/engine/particles/StarEmitter.cpp +++ b/src/engine/particles/StarEmitter.cpp @@ -9,7 +9,7 @@ extern "C" { #include "code_80057C60.h" #include "update_objects.h" #include "code_80086E70.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" } diff --git a/src/engine/particles/StarEmitter.h b/src/engine/particles/StarEmitter.h index e1c6e0416..93ef15b79 100644 --- a/src/engine/particles/StarEmitter.h +++ b/src/engine/particles/StarEmitter.h @@ -3,7 +3,7 @@ #include #include #include "ParticleEmitter.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "macros.h" @@ -13,7 +13,7 @@ extern "C" { #include "common_structs.h" #include "objects.h" #include "course_offsets.h" -#include "some_data.h" +#include "textures/some_data.h" } /** diff --git a/src/engine/registry/RegisterActors.cpp b/src/engine/registry/RegisterActors.cpp index 7409f2b06..14644bd66 100644 --- a/src/engine/registry/RegisterActors.cpp +++ b/src/engine/registry/RegisterActors.cpp @@ -4,7 +4,7 @@ extern "C" { #include "common_structs.h" -#include "actors.h" +#include "racing/actors.h" #include "actor_types.h" #include "assets/textures/other_textures.h" } diff --git a/src/engine/sky/Sky.cpp b/src/engine/sky/Sky.cpp index a7b1f0676..5e1afc1a7 100644 --- a/src/engine/sky/Sky.cpp +++ b/src/engine/sky/Sky.cpp @@ -15,8 +15,8 @@ extern "C" { #include "macros.h" #include "mk64.h" -#include "math_util.h" -#include "skybox_and_splitscreen.h" +#include "racing/math_util.h" +#include "racing/skybox_and_splitscreen.h" #include "menus.h" } diff --git a/src/engine/sky/SkySnow.cpp b/src/engine/sky/SkySnow.cpp index 97197a4b8..1047d79fa 100644 --- a/src/engine/sky/SkySnow.cpp +++ b/src/engine/sky/SkySnow.cpp @@ -17,7 +17,7 @@ extern "C" { #include "assets/textures/common_data.h" #include "math_util_2.h" #include "render_objects.h" -#include "math_util.h" +#include "racing/math_util.h" } size_t SkySnow::_count = 0; diff --git a/src/engine/tracks/BansheeBoardwalk.cpp b/src/engine/tracks/BansheeBoardwalk.cpp index 67a5f5e5d..755779827 100644 --- a/src/engine/tracks/BansheeBoardwalk.cpp +++ b/src/engine/tracks/BansheeBoardwalk.cpp @@ -6,7 +6,7 @@ #include #include "BansheeBoardwalk.h" -#include "World.h" +#include "engine/World.h" #include "align_asset_macro.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" @@ -24,20 +24,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" -#include "render_courses.h" +#include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" -#include "math_util.h" -#include "external.h" +#include "racing/math_util.h" +#include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" -#include "actors.h" -#include "collision.h" +#include "racing/actors.h" +#include "racing/collision.h" #include "memory.h" extern const char *banshee_boardwalk_dls[100]; } diff --git a/src/engine/tracks/BansheeBoardwalk.h b/src/engine/tracks/BansheeBoardwalk.h index 3c113c5a5..bc82b17cb 100644 --- a/src/engine/tracks/BansheeBoardwalk.h +++ b/src/engine/tracks/BansheeBoardwalk.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture banshee_boardwalk_textures[]; } diff --git a/src/engine/tracks/BigDonut.cpp b/src/engine/tracks/BigDonut.cpp index 88b9760c9..3a784dd2f 100644 --- a/src/engine/tracks/BigDonut.cpp +++ b/src/engine/tracks/BigDonut.cpp @@ -4,7 +4,7 @@ #include #include "BigDonut.h" -#include "World.h" +#include "engine/World.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/big_donut/big_donut_data.h" #include "assets/other/tracks/big_donut/big_donut_data.h" @@ -14,20 +14,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" -#include "render_courses.h" +#include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" -#include "math_util.h" -#include "external.h" +#include "racing/math_util.h" +#include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" -#include "actors.h" -#include "collision.h" +#include "racing/actors.h" +#include "racing/collision.h" #include "memory.h" extern s16 currentScreenSection; } diff --git a/src/engine/tracks/BigDonut.h b/src/engine/tracks/BigDonut.h index 2751adaf6..ac28b4811 100644 --- a/src/engine/tracks/BigDonut.h +++ b/src/engine/tracks/BigDonut.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture big_donut_textures[]; } diff --git a/src/engine/tracks/BlockFort.cpp b/src/engine/tracks/BlockFort.cpp index 6244e3ea2..d6e483451 100644 --- a/src/engine/tracks/BlockFort.cpp +++ b/src/engine/tracks/BlockFort.cpp @@ -4,7 +4,7 @@ #include #include "BlockFort.h" -#include "World.h" +#include "engine/World.h" #include "align_asset_macro.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/block_fort/block_fort_data.h" @@ -15,20 +15,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" -#include "render_courses.h" +#include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" -#include "math_util.h" -#include "external.h" +#include "racing/math_util.h" +#include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" -#include "actors.h" -#include "collision.h" +#include "racing/actors.h" +#include "racing/collision.h" #include "memory.h" #include "course_offsets.h" extern s16 currentScreenSection; diff --git a/src/engine/tracks/BlockFort.h b/src/engine/tracks/BlockFort.h index 0b0ee5345..b88a94641 100644 --- a/src/engine/tracks/BlockFort.h +++ b/src/engine/tracks/BlockFort.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture block_fort_textures[]; } diff --git a/src/engine/tracks/BowsersCastle.cpp b/src/engine/tracks/BowsersCastle.cpp index 431784020..67aff54ef 100644 --- a/src/engine/tracks/BowsersCastle.cpp +++ b/src/engine/tracks/BowsersCastle.cpp @@ -18,20 +18,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "code_8003DC40.h" #include "memory.h" extern const char *bowsers_castle_dls[108]; diff --git a/src/engine/tracks/BowsersCastle.h b/src/engine/tracks/BowsersCastle.h index 53e26e928..21de5d8ec 100644 --- a/src/engine/tracks/BowsersCastle.h +++ b/src/engine/tracks/BowsersCastle.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture bowsers_castle_textures[]; } diff --git a/src/engine/tracks/ChocoMountain.cpp b/src/engine/tracks/ChocoMountain.cpp index aa8e4666e..127d12ac3 100644 --- a/src/engine/tracks/ChocoMountain.cpp +++ b/src/engine/tracks/ChocoMountain.cpp @@ -4,7 +4,7 @@ #include #include "ChocoMountain.h" -#include "World.h" +#include "engine/World.h" #include "align_asset_macro.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/choco_mountain/choco_mountain_data.h" @@ -17,20 +17,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "code_8003DC40.h" #include "memory.h" #include "course_offsets.h" diff --git a/src/engine/tracks/ChocoMountain.h b/src/engine/tracks/ChocoMountain.h index b30d684a9..1f8389787 100644 --- a/src/engine/tracks/ChocoMountain.h +++ b/src/engine/tracks/ChocoMountain.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture choco_mountain_textures[]; } diff --git a/src/engine/tracks/CustomTrack.cpp b/src/engine/tracks/CustomTrack.cpp index 52f9f9672..4b331f8b4 100644 --- a/src/engine/tracks/CustomTrack.cpp +++ b/src/engine/tracks/CustomTrack.cpp @@ -14,10 +14,10 @@ #include "engine/editor/SceneManager.h" extern "C" { -#include "collision.h" -#include "render_courses.h" -#include "actors.h" -#include "math_util.h" +#include "racing/collision.h" +#include "racing/render_courses.h" +#include "racing/actors.h" +#include "racing/math_util.h" } CustomTrack::CustomTrack() { diff --git a/src/engine/tracks/DKJungle.cpp b/src/engine/tracks/DKJungle.cpp index 235bbd7d5..2cf83332b 100644 --- a/src/engine/tracks/DKJungle.cpp +++ b/src/engine/tracks/DKJungle.cpp @@ -4,7 +4,7 @@ #include #include "DKJungle.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/dks_jungle_parkway/dks_jungle_parkway_data.h" @@ -19,20 +19,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "code_8003DC40.h" #include "memory.h" #include "sounds.h" diff --git a/src/engine/tracks/DKJungle.h b/src/engine/tracks/DKJungle.h index 350f05e30..9640bbc43 100644 --- a/src/engine/tracks/DKJungle.h +++ b/src/engine/tracks/DKJungle.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture dks_jungle_parkway_textures[]; } diff --git a/src/engine/tracks/DoubleDeck.cpp b/src/engine/tracks/DoubleDeck.cpp index 04d97d22d..432964e92 100644 --- a/src/engine/tracks/DoubleDeck.cpp +++ b/src/engine/tracks/DoubleDeck.cpp @@ -4,7 +4,7 @@ #include #include "DoubleDeck.h" -#include "World.h" +#include "engine/World.h" #include "align_asset_macro.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/double_deck/double_deck_data.h" @@ -15,20 +15,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" extern s16 currentScreenSection; } diff --git a/src/engine/tracks/DoubleDeck.h b/src/engine/tracks/DoubleDeck.h index 701803cc8..22a7758bb 100644 --- a/src/engine/tracks/DoubleDeck.h +++ b/src/engine/tracks/DoubleDeck.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture double_deck_textures[]; } diff --git a/src/engine/tracks/FrappeSnowland.cpp b/src/engine/tracks/FrappeSnowland.cpp index e74b02f93..788d4699d 100644 --- a/src/engine/tracks/FrappeSnowland.cpp +++ b/src/engine/tracks/FrappeSnowland.cpp @@ -4,8 +4,8 @@ #include #include "FrappeSnowland.h" -#include "World.h" -#include "CoreMath.h" +#include "engine/World.h" +#include "engine/CoreMath.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/Snowman.h" @@ -18,20 +18,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" #include "update_objects.h" #include "course_offsets.h" diff --git a/src/engine/tracks/FrappeSnowland.h b/src/engine/tracks/FrappeSnowland.h index e14ffcd7e..f2729e702 100644 --- a/src/engine/tracks/FrappeSnowland.h +++ b/src/engine/tracks/FrappeSnowland.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture frappe_snowland_textures[]; } diff --git a/src/engine/tracks/Harbour.cpp b/src/engine/tracks/Harbour.cpp index 60602fd43..4a5a908af 100644 --- a/src/engine/tracks/Harbour.cpp +++ b/src/engine/tracks/Harbour.cpp @@ -1,11 +1,11 @@ #include #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include #include #include "Harbour.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/actors/BowserStatue.h" #include "engine/actors/Ship.h" @@ -35,20 +35,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" #include "courses/harbour/track.h" } @@ -737,4 +737,4 @@ void Harbour::Draw(ScreenContext* arg0) { bool Harbour::IsMod() { return true; -} \ No newline at end of file +} diff --git a/src/engine/tracks/Harbour.h b/src/engine/tracks/Harbour.h index 6e6e8f495..1ad5b17e5 100644 --- a/src/engine/tracks/Harbour.h +++ b/src/engine/tracks/Harbour.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" } class Harbour : public Track { diff --git a/src/engine/tracks/KalimariDesert.cpp b/src/engine/tracks/KalimariDesert.cpp index c6477cabc..2d226636c 100644 --- a/src/engine/tracks/KalimariDesert.cpp +++ b/src/engine/tracks/KalimariDesert.cpp @@ -18,20 +18,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" extern const char *kalimari_desert_dls[80]; } diff --git a/src/engine/tracks/KalimariDesert.h b/src/engine/tracks/KalimariDesert.h index 41569c8e7..f8025ed56 100644 --- a/src/engine/tracks/KalimariDesert.h +++ b/src/engine/tracks/KalimariDesert.h @@ -1,7 +1,7 @@ #pragma once #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "Track.h" #include "engine/vehicles/Train.h" @@ -13,7 +13,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture kalimari_desert_textures[]; } diff --git a/src/engine/tracks/KoopaTroopaBeach.cpp b/src/engine/tracks/KoopaTroopaBeach.cpp index 1d75ac789..a59ed70ea 100644 --- a/src/engine/tracks/KoopaTroopaBeach.cpp +++ b/src/engine/tracks/KoopaTroopaBeach.cpp @@ -5,7 +5,7 @@ #include #include "KoopaTroopaBeach.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/Crab.h" @@ -19,20 +19,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "code_8003DC40.h" #include "memory.h" extern const char *d_course_koopa_troopa_beach_dl_list1[148]; diff --git a/src/engine/tracks/KoopaTroopaBeach.h b/src/engine/tracks/KoopaTroopaBeach.h index 5366be5a6..5cff71fd3 100644 --- a/src/engine/tracks/KoopaTroopaBeach.h +++ b/src/engine/tracks/KoopaTroopaBeach.h @@ -4,7 +4,7 @@ #include "../CoreMath.h" #include "Track.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "assets/models/tracks/koopa_troopa_beach/koopa_troopa_beach_vertices.h" @@ -14,7 +14,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture koopa_troopa_beach_textures[]; } diff --git a/src/engine/tracks/LuigiRaceway.cpp b/src/engine/tracks/LuigiRaceway.cpp index ee805d0bf..70127e1bf 100644 --- a/src/engine/tracks/LuigiRaceway.cpp +++ b/src/engine/tracks/LuigiRaceway.cpp @@ -5,7 +5,7 @@ #include #include "LuigiRaceway.h" -#include "World.h" +#include "engine/World.h" #include "align_asset_macro.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/luigi_raceway/luigi_raceway_data.h" @@ -19,25 +19,25 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" -#include "render_courses.h" +#include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" -#include "math_util.h" -#include "external.h" +#include "racing/math_util.h" +#include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" -#include "actors.h" -#include "collision.h" +#include "racing/actors.h" +#include "racing/collision.h" #include "code_8003DC40.h" #include "memory.h" #include "courses/staff_ghost_data.h" -#include "framebuffer_effects.h" -#include "skybox_and_splitscreen.h" +#include "racing/framebuffer_effects.h" +#include "racing/skybox_and_splitscreen.h" extern const char* luigi_raceway_dls[120]; extern s16 currentScreenSection; } diff --git a/src/engine/tracks/LuigiRaceway.h b/src/engine/tracks/LuigiRaceway.h index 896272340..a7696c0c0 100644 --- a/src/engine/tracks/LuigiRaceway.h +++ b/src/engine/tracks/LuigiRaceway.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" -#include "path_spawn_metadata.h" +#include "data/path_spawn_metadata.h" extern const course_texture luigi_raceway_textures[]; } diff --git a/src/engine/tracks/MarioRaceway.cpp b/src/engine/tracks/MarioRaceway.cpp index 978d7cf11..58a7992bf 100644 --- a/src/engine/tracks/MarioRaceway.cpp +++ b/src/engine/tracks/MarioRaceway.cpp @@ -4,7 +4,7 @@ #include #include "MarioRaceway.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/actors/MarioSign.h" #include "engine/objects/Object.h" @@ -16,22 +16,22 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" + #include "racing/actors.h" #include "assets/models/tracks/mario_raceway/mario_raceway_data.h" #include "assets/other/tracks/mario_raceway/mario_raceway_data.h" - #include "collision.h" + #include "racing/collision.h" #include "memory.h" #include "courses/staff_ghost_data.h" extern const char *mario_raceway_dls[68]; diff --git a/src/engine/tracks/MarioRaceway.h b/src/engine/tracks/MarioRaceway.h index b85e41b09..27d199394 100644 --- a/src/engine/tracks/MarioRaceway.h +++ b/src/engine/tracks/MarioRaceway.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" } diff --git a/src/engine/tracks/MooMooFarm.cpp b/src/engine/tracks/MooMooFarm.cpp index 7d2f27b4d..9ef2b5e74 100644 --- a/src/engine/tracks/MooMooFarm.cpp +++ b/src/engine/tracks/MooMooFarm.cpp @@ -4,7 +4,7 @@ #include #include "MooMooFarm.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/moo_moo_farm/moo_moo_farm_data.h" @@ -17,20 +17,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" #include "code_80086E70.h" extern const char *moo_moo_farm_dls[92]; diff --git a/src/engine/tracks/MooMooFarm.h b/src/engine/tracks/MooMooFarm.h index b01ff9672..d8d85f640 100644 --- a/src/engine/tracks/MooMooFarm.h +++ b/src/engine/tracks/MooMooFarm.h @@ -12,7 +12,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture moo_moo_farm_textures[]; } diff --git a/src/engine/tracks/PodiumCeremony.cpp b/src/engine/tracks/PodiumCeremony.cpp index 134166eb5..e1a378e50 100644 --- a/src/engine/tracks/PodiumCeremony.cpp +++ b/src/engine/tracks/PodiumCeremony.cpp @@ -4,7 +4,7 @@ #include #include "PodiumCeremony.h" -#include "World.h" +#include "engine/World.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/royal_raceway/royal_raceway_data.h" #include "assets/other/tracks/royal_raceway/royal_raceway_data.h" @@ -21,23 +21,23 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" #include "courses/staff_ghost_data.h" - #include "podium_ceremony_actors.h" + #include "ending/podium_ceremony_actors.h" extern const char *royal_raceway_dls[]; } diff --git a/src/engine/tracks/PodiumCeremony.h b/src/engine/tracks/PodiumCeremony.h index 72f8a51b3..234f4864f 100644 --- a/src/engine/tracks/PodiumCeremony.h +++ b/src/engine/tracks/PodiumCeremony.h @@ -1,7 +1,7 @@ #pragma once #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include "Track.h" extern "C" { @@ -12,7 +12,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture royal_raceway_textures[]; } diff --git a/src/engine/tracks/RainbowRoad.cpp b/src/engine/tracks/RainbowRoad.cpp index 20e7e9a56..edf054524 100644 --- a/src/engine/tracks/RainbowRoad.cpp +++ b/src/engine/tracks/RainbowRoad.cpp @@ -4,7 +4,7 @@ #include #include "RainbowRoad.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/objects/ChainChomp.h" #include "engine/objects/BombKart.h" @@ -16,20 +16,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" extern const char *rainbow_road_dls[48]; } diff --git a/src/engine/tracks/RainbowRoad.h b/src/engine/tracks/RainbowRoad.h index 64fcb1a39..445a8beed 100644 --- a/src/engine/tracks/RainbowRoad.h +++ b/src/engine/tracks/RainbowRoad.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture rainbow_road_textures[]; } diff --git a/src/engine/tracks/RoyalRaceway.cpp b/src/engine/tracks/RoyalRaceway.cpp index df582ecbb..4e5b45c2b 100644 --- a/src/engine/tracks/RoyalRaceway.cpp +++ b/src/engine/tracks/RoyalRaceway.cpp @@ -4,7 +4,7 @@ #include #include "RoyalRaceway.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/royal_raceway/royal_raceway_data.h" @@ -16,20 +16,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" #include "courses/staff_ghost_data.h" extern const char *royal_raceway_dls[132]; diff --git a/src/engine/tracks/RoyalRaceway.h b/src/engine/tracks/RoyalRaceway.h index 4343f95a0..383a09b81 100644 --- a/src/engine/tracks/RoyalRaceway.h +++ b/src/engine/tracks/RoyalRaceway.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture royal_raceway_textures[]; } diff --git a/src/engine/tracks/SherbetLand.cpp b/src/engine/tracks/SherbetLand.cpp index c754d872a..e4ea7d5cc 100644 --- a/src/engine/tracks/SherbetLand.cpp +++ b/src/engine/tracks/SherbetLand.cpp @@ -4,7 +4,7 @@ #include #include "SherbetLand.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/sherbet_land/sherbet_land_data.h" @@ -17,20 +17,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" extern const char *sherbet_land_dls[72]; extern const char *sherbet_land_dls_2[72]; diff --git a/src/engine/tracks/SherbetLand.h b/src/engine/tracks/SherbetLand.h index 3ea125bde..5c3f9261d 100644 --- a/src/engine/tracks/SherbetLand.h +++ b/src/engine/tracks/SherbetLand.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture sherbet_land_textures[]; } diff --git a/src/engine/tracks/Skyscraper.cpp b/src/engine/tracks/Skyscraper.cpp index 9c6a7e831..d5a47ebde 100644 --- a/src/engine/tracks/Skyscraper.cpp +++ b/src/engine/tracks/Skyscraper.cpp @@ -4,7 +4,7 @@ #include #include "Skyscraper.h" -#include "World.h" +#include "engine/World.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/skyscraper/skyscraper_data.h" #include "assets/other/tracks/skyscraper/skyscraper_data.h" @@ -14,20 +14,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" extern s16 currentScreenSection; } diff --git a/src/engine/tracks/Skyscraper.h b/src/engine/tracks/Skyscraper.h index 370fe8d18..d0d9cf725 100644 --- a/src/engine/tracks/Skyscraper.h +++ b/src/engine/tracks/Skyscraper.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture skyscraper_textures[]; } diff --git a/src/engine/tracks/TestTrack.cpp b/src/engine/tracks/TestTrack.cpp index 07cfab61e..d3ce47979 100644 --- a/src/engine/tracks/TestTrack.cpp +++ b/src/engine/tracks/TestTrack.cpp @@ -1,11 +1,11 @@ #include #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include #include #include "TestTrack.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/actors/BowserStatue.h" #include "engine/actors/Ship.h" @@ -36,20 +36,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" extern Vtx mario_Plane_001_mesh_vtx_1[]; extern Gfx mario_Plane_001_mesh[]; diff --git a/src/engine/tracks/TestTrack.h b/src/engine/tracks/TestTrack.h index 15423d3f5..db824bd97 100644 --- a/src/engine/tracks/TestTrack.h +++ b/src/engine/tracks/TestTrack.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" } diff --git a/src/engine/tracks/ToadsTurnpike.cpp b/src/engine/tracks/ToadsTurnpike.cpp index f929a56e1..c64eacb0f 100644 --- a/src/engine/tracks/ToadsTurnpike.cpp +++ b/src/engine/tracks/ToadsTurnpike.cpp @@ -4,7 +4,7 @@ #include #include "ToadsTurnpike.h" -#include "World.h" +#include "engine/World.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/toads_turnpike/toads_turnpike_data.h" #include "assets/other/tracks/toads_turnpike/toads_turnpike_data.h" @@ -21,20 +21,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" #include "code_80086E70.h" extern const char *d_course_toads_turnpike_dl_list[81]; diff --git a/src/engine/tracks/ToadsTurnpike.h b/src/engine/tracks/ToadsTurnpike.h index dc69eaa15..2f8c5693f 100644 --- a/src/engine/tracks/ToadsTurnpike.h +++ b/src/engine/tracks/ToadsTurnpike.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture toads_turnpike_textures[]; } diff --git a/src/engine/tracks/Track.cpp b/src/engine/tracks/Track.cpp index c69e07323..92c98bfa1 100644 --- a/src/engine/tracks/Track.cpp +++ b/src/engine/tracks/Track.cpp @@ -17,7 +17,7 @@ extern "C" { #include "memory.h" #include "common_structs.h" #include "course_offsets.h" -#include "some_data.h" +#include "data/some_data.h" #include "code_8006E9C0.h" #include "code_8003DC40.h" #include "assets/models/common_data.h" @@ -25,10 +25,10 @@ extern "C" { #include "save.h" #include "replays.h" #include "code_800029B0.h" -#include "render_courses.h" -#include "collision.h" -#include "actors.h" -#include "math_util.h" +#include "racing/render_courses.h" +#include "racing/collision.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "code_80005FD0.h" extern StaffGhost* d_mario_raceway_staff_ghost; extern s8 gPlayerCount; diff --git a/src/engine/tracks/Track.h b/src/engine/tracks/Track.h index 6ca61a0e1..143bc228d 100644 --- a/src/engine/tracks/Track.h +++ b/src/engine/tracks/Track.h @@ -2,7 +2,7 @@ #define ENGINE_TRACK_H #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #ifdef __cplusplus #include "engine/SpawnParams.h" @@ -17,7 +17,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "bomb_kart.h" -#include "path_spawn_metadata.h" +#include "data/path_spawn_metadata.h" #include "waypoints.h" #include "sounds.h" #include "common_structs.h" diff --git a/src/engine/tracks/WarioStadium.cpp b/src/engine/tracks/WarioStadium.cpp index f5f940d7f..99e672e58 100644 --- a/src/engine/tracks/WarioStadium.cpp +++ b/src/engine/tracks/WarioStadium.cpp @@ -4,7 +4,7 @@ #include #include "WarioStadium.h" -#include "World.h" +#include "engine/World.h" #include "engine/objects/BombKart.h" #include "assets/models/tracks/wario_stadium/wario_stadium_data.h" #include "assets/other/tracks/wario_stadium/wario_stadium_data.h" @@ -16,23 +16,23 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" -#include "render_courses.h" +#include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" -#include "math_util.h" -#include "external.h" +#include "racing/math_util.h" +#include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" -#include "actors.h" -#include "collision.h" +#include "racing/actors.h" +#include "racing/collision.h" #include "code_8003DC40.h" #include "memory.h" -#include "skybox_and_splitscreen.h" +#include "racing/skybox_and_splitscreen.h" extern const char* wario_stadium_dls[108]; extern s16 currentScreenSection; } diff --git a/src/engine/tracks/WarioStadium.h b/src/engine/tracks/WarioStadium.h index b6b6bee80..37bedc726 100644 --- a/src/engine/tracks/WarioStadium.h +++ b/src/engine/tracks/WarioStadium.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" -#include "path_spawn_metadata.h" +#include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture wario_stadium_textures[]; } diff --git a/src/engine/tracks/YoshiValley.cpp b/src/engine/tracks/YoshiValley.cpp index 9f9547bf4..5b3aee507 100644 --- a/src/engine/tracks/YoshiValley.cpp +++ b/src/engine/tracks/YoshiValley.cpp @@ -1,11 +1,11 @@ #include #include -#include "CoreMath.h" +#include "engine/CoreMath.h" #include #include #include "YoshiValley.h" -#include "World.h" +#include "engine/World.h" #include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/Hedgehog.h" @@ -18,20 +18,20 @@ extern "C" { #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" - #include "render_courses.h" + #include "racing/render_courses.h" #include "code_8006E9C0.h" #include "code_80057C60.h" #include "defines.h" - #include "math_util.h" - #include "external.h" + #include "racing/math_util.h" + #include "audio/external.h" #include "code_80005FD0.h" #include "spawn_players.h" #include "render_objects.h" #include "assets/models/common_data.h" #include "save.h" #include "replays.h" - #include "actors.h" - #include "collision.h" + #include "racing/actors.h" + #include "racing/collision.h" #include "memory.h" extern const char *d_course_yoshi_valley_dl_list[124]; } diff --git a/src/engine/tracks/YoshiValley.h b/src/engine/tracks/YoshiValley.h index be3d8f21a..7c2429f85 100644 --- a/src/engine/tracks/YoshiValley.h +++ b/src/engine/tracks/YoshiValley.h @@ -11,7 +11,7 @@ extern "C" { #include "camera.h" #include "data/some_data.h" #include "objects.h" - #include "path_spawn_metadata.h" + #include "data/path_spawn_metadata.h" #include "code_800029B0.h" extern const course_texture yoshi_valley_textures[]; } diff --git a/src/engine/vehicles/Boat.cpp b/src/engine/vehicles/Boat.cpp index 9a47fe1e1..b0507c8c6 100644 --- a/src/engine/vehicles/Boat.cpp +++ b/src/engine/vehicles/Boat.cpp @@ -9,8 +9,8 @@ extern "C" { #include "main.h" #include "defines.h" #include "code_80005FD0.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" extern s8 gPlayerCount; diff --git a/src/engine/vehicles/Boat.h b/src/engine/vehicles/Boat.h index 0be119504..f660e8f77 100644 --- a/src/engine/vehicles/Boat.h +++ b/src/engine/vehicles/Boat.h @@ -1,7 +1,7 @@ #pragma once #include -#include "Actor.h" +#include "engine/Actor.h" #include #include "engine/registry/RegisterContent.h" #include "engine/SpawnParams.h" diff --git a/src/engine/vehicles/Bus.cpp b/src/engine/vehicles/Bus.cpp index f1252c303..654018782 100644 --- a/src/engine/vehicles/Bus.cpp +++ b/src/engine/vehicles/Bus.cpp @@ -9,12 +9,12 @@ extern "C" { #include "main.h" #include "defines.h" #include "code_80005FD0.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" extern s8 gPlayerCount; } @@ -373,4 +373,4 @@ void ABus::DrawEditorProperties() { if (ImGui::Button(ICON_FA_UNDO "##ResetSpeedB")) { SpeedB = 0.0f; } -} \ No newline at end of file +} diff --git a/src/engine/vehicles/Bus.h b/src/engine/vehicles/Bus.h index efcbe224a..7645b8a43 100644 --- a/src/engine/vehicles/Bus.h +++ b/src/engine/vehicles/Bus.h @@ -1,7 +1,7 @@ #pragma once #include -#include "Actor.h" +#include "engine/Actor.h" #include #include "engine/registry/RegisterContent.h" #include "engine/SpawnParams.h" diff --git a/src/engine/vehicles/Car.cpp b/src/engine/vehicles/Car.cpp index 9438a7332..4ccc321fd 100644 --- a/src/engine/vehicles/Car.cpp +++ b/src/engine/vehicles/Car.cpp @@ -9,12 +9,12 @@ extern "C" { #include "main.h" #include "defines.h" #include "code_80005FD0.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" extern s8 gPlayerCount; } diff --git a/src/engine/vehicles/Car.h b/src/engine/vehicles/Car.h index 993506aa6..57a8dc999 100644 --- a/src/engine/vehicles/Car.h +++ b/src/engine/vehicles/Car.h @@ -1,7 +1,7 @@ #pragma once #include -#include "Actor.h" +#include "engine/Actor.h" #include #include "engine/registry/RegisterContent.h" #include "engine/SpawnParams.h" diff --git a/src/engine/vehicles/TankerTruck.cpp b/src/engine/vehicles/TankerTruck.cpp index ea9993652..258a28109 100644 --- a/src/engine/vehicles/TankerTruck.cpp +++ b/src/engine/vehicles/TankerTruck.cpp @@ -9,12 +9,12 @@ extern "C" { #include "main.h" #include "defines.h" #include "code_80005FD0.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" extern s8 gPlayerCount; } @@ -373,4 +373,4 @@ void ATankerTruck::DrawEditorProperties() { if (ImGui::Button(ICON_FA_UNDO "##ResetSpeedB")) { SpeedB = 0.0f; } -} \ No newline at end of file +} diff --git a/src/engine/vehicles/TankerTruck.h b/src/engine/vehicles/TankerTruck.h index 8f3a44511..711ca89a5 100644 --- a/src/engine/vehicles/TankerTruck.h +++ b/src/engine/vehicles/TankerTruck.h @@ -1,7 +1,7 @@ #pragma once #include -#include "Actor.h" +#include "engine/Actor.h" #include #include "engine/registry/RegisterContent.h" #include "engine/SpawnParams.h" diff --git a/src/engine/vehicles/Train.cpp b/src/engine/vehicles/Train.cpp index f76592756..a4b0e2ce2 100644 --- a/src/engine/vehicles/Train.cpp +++ b/src/engine/vehicles/Train.cpp @@ -15,8 +15,8 @@ extern "C" { #include "defines.h" #include "code_80005FD0.h" #include "vehicles.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "waypoints.h" diff --git a/src/engine/vehicles/Train.h b/src/engine/vehicles/Train.h index be1d00bdc..487d294c4 100644 --- a/src/engine/vehicles/Train.h +++ b/src/engine/vehicles/Train.h @@ -7,7 +7,7 @@ #include "engine/CoreMath.h" #include "engine/World.h" -#include "Actor.h" +#include "engine/Actor.h" extern "C" { #include "main.h" diff --git a/src/engine/vehicles/Truck.cpp b/src/engine/vehicles/Truck.cpp index a191aec37..d60237344 100644 --- a/src/engine/vehicles/Truck.cpp +++ b/src/engine/vehicles/Truck.cpp @@ -9,12 +9,12 @@ extern "C" { #include "main.h" #include "defines.h" #include "code_80005FD0.h" -#include "actors.h" -#include "math_util.h" +#include "racing/actors.h" +#include "racing/math_util.h" #include "sounds.h" #include "update_objects.h" #include "render_player.h" -#include "external.h" +#include "audio/external.h" extern s8 gPlayerCount; } diff --git a/src/engine/vehicles/Truck.h b/src/engine/vehicles/Truck.h index bf567e240..0529a87e8 100644 --- a/src/engine/vehicles/Truck.h +++ b/src/engine/vehicles/Truck.h @@ -1,7 +1,7 @@ #pragma once #include -#include "Actor.h" +#include "engine/Actor.h" #include #include "engine/registry/RegisterContent.h" #include "engine/SpawnParams.h" diff --git a/src/enhancements/collision_viewer.c b/src/enhancements/collision_viewer.c index d6da29e33..1e47e7a13 100644 --- a/src/enhancements/collision_viewer.c +++ b/src/enhancements/collision_viewer.c @@ -9,7 +9,7 @@ #include "engine/Matrix.h" #include "collision_viewer.h" -#include "math_util.h" +#include "racing/math_util.h" #include "assets/textures/other_textures.h" #include "assets/models/common_data.h" diff --git a/src/enhancements/freecam/freecam.cpp b/src/enhancements/freecam/freecam.cpp index dadecc1c7..c5ee60319 100644 --- a/src/enhancements/freecam/freecam.cpp +++ b/src/enhancements/freecam/freecam.cpp @@ -20,8 +20,8 @@ extern "C" { #include "code_80005FD0.h" #include #include "freecam_engine.h" -#include "math_util.h" -#include "skybox_and_splitscreen.h" +#include "racing/math_util.h" +#include "racing/skybox_and_splitscreen.h" #include "freecam.h" } diff --git a/src/gbiMacro.c b/src/gbiMacro.c index d9b803518..0049e2fae 100644 --- a/src/gbiMacro.c +++ b/src/gbiMacro.c @@ -5,7 +5,7 @@ #include #include "src/port/interpolation/matrix.h" -#include "math_util.h" +#include "racing/math_util.h" extern s16 D_800E43A8; diff --git a/src/main.c b/src/main.c index 728d65609..62e7faa21 100644 --- a/src/main.c +++ b/src/main.c @@ -17,20 +17,20 @@ #include #include "buffers.h" #include "camera.h" -#include "race_logic.h" -#include "skybox_and_splitscreen.h" +#include "racing/race_logic.h" +#include "racing/skybox_and_splitscreen.h" #include "render_objects.h" #include "effects.h" -#include "code_80281780.h" +#include "ending/code_80281780.h" #include "audio/external.h" #include "code_800029B0.h" -#include "code_80280000.h" -#include "podium_ceremony_actors.h" +#include "ending/code_80280000.h" +#include "ending/podium_ceremony_actors.h" #include "menu_items.h" #include "code_80057C60.h" #include "player_controller.h" #include "render_player.h" -#include "actors.h" +#include "racing/actors.h" #include "replays.h" #include #include "enhancements/freecam/freecam.h" diff --git a/src/math_util_2.c b/src/math_util_2.c index cad716279..b76be6eea 100644 --- a/src/math_util_2.c +++ b/src/math_util_2.c @@ -3,11 +3,11 @@ #include #include "math_util_2.h" #include "main.h" -#include "math_util.h" +#include "racing/math_util.h" #include "objects.h" #include "memory.h" -#include "collision.h" +#include "racing/collision.h" #include "render_player.h" #include "code_80057C60.h" #include "defines.h" diff --git a/src/menu_items.c b/src/menu_items.c index b6142ca37..375258be1 100644 --- a/src/menu_items.c +++ b/src/menu_items.c @@ -13,22 +13,23 @@ #include "code_80005FD0.h" #include "code_8006E9C0.h" #include "menus.h" +#include "racing/memory.h" #include "save.h" #include "code_80057C60.h" -#include "credits.h" +#include "ending/credits.h" #include "assets/models/data_segment2.h" #include "code_800AF9B0.h" -#include "code_80281780.h" +#include "ending/code_80281780.h" #include "memory.h" #include "audio/external.h" #include "render_objects.h" #include "replays.h" #include #include "textures.h" -#include "math_util.h" +#include "racing/math_util.h" #include "save_data.h" -#include "podium_ceremony_actors.h" -#include "skybox_and_splitscreen.h" +#include "ending/podium_ceremony_actors.h" +#include "racing/skybox_and_splitscreen.h" #include #include "buffers.h" #include "racing/race_logic.h" @@ -50,7 +51,7 @@ #include "engine/TrackBrowser.h" #include "src/engine/HM_Intro.h" #include "src/port/interpolation/FrameInterpolation.h" -#include "heap.h" +#include "audio/heap.h" #include const char* GetCupName(void); diff --git a/src/menus.c b/src/menus.c index d9b84c0a9..8476e43d3 100644 --- a/src/menus.c +++ b/src/menus.c @@ -7,11 +7,11 @@ #include #include "menus.h" -#include "TrackBrowser.h" -#include "editor/Editor.h" +#include "engine/TrackBrowser.h" +#include "engine/editor/Editor.h" #include "main.h" #include "code_800029B0.h" -#include "actors.h" +#include "racing/actors.h" #include "audio/external.h" #include "code_800029B0.h" #include "code_80005FD0.h" diff --git a/src/player_controller.c b/src/player_controller.c index b8a33c4c6..ed9aaff67 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -7,10 +7,10 @@ #include "code_800029B0.h" #include "kart_attributes.h" #include "racing/memory.h" -#include "math_util.h" +#include "racing/math_util.h" #include "render_player.h" #include "effects.h" -#include "collision.h" +#include "racing/collision.h" #include "waypoints.h" #include "audio/external.h" #include "code_8003DC40.h" diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 3d516130e..5b3b1bcac 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -3,7 +3,7 @@ #include #include "ship/utils/StringHelper.h" #include "GameExtractor.h" -#include "mods/ModManager.h" +#include "engine/mods/ModManager.h" #include "ui/ImguiUI.h" #include "ship/Context.h" #include "ship/controller/controldevice/controller/mapping/ControllerDefaultMappings.h" diff --git a/src/port/Game.cpp b/src/port/Game.cpp index 598b31100..8ccd382e6 100644 --- a/src/port/Game.cpp +++ b/src/port/Game.cpp @@ -17,7 +17,7 @@ #include "engine/objects/BombKart.h" #include "engine/objects/Lakitu.h" -#include "Smoke.h" +#include "engine/Smoke.h" #include "engine/HM_Intro.h" @@ -42,7 +42,7 @@ extern "C" { #include "main.h" #include "audio/load.h" #include "audio/external.h" -#include "render_courses.h" +#include "racing/render_courses.h" #include "menus.h" #include "update_objects.h" #include "spawn_players.h" diff --git a/src/port/Game.h b/src/port/Game.h index 1ce73555f..63ad92a4b 100644 --- a/src/port/Game.h +++ b/src/port/Game.h @@ -229,12 +229,11 @@ void* GetCup(); void CM_RunGarbageCollector(void); void CM_ResetAudio(void); -// Add print formatting check attribute +NORETURN void CM_ThrowRuntimeError(const char* fmt, ...) #if defined(__GNUC__) || defined(__clang__) -__attribute__((format(printf, 1, 2))) + __attribute__((format(printf, 1, 2))) #endif - -NORETURN void CM_ThrowRuntimeError(const char* fmt, ...); + ; // NOLINTEND(readability-identifier-naming) diff --git a/src/port/interpolation/FrameInterpolation.cpp b/src/port/interpolation/FrameInterpolation.cpp index 1d306964d..981ef3fa6 100644 --- a/src/port/interpolation/FrameInterpolation.cpp +++ b/src/port/interpolation/FrameInterpolation.cpp @@ -11,7 +11,7 @@ #include "src/engine/CoreMath.h" extern "C" { -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "render_player.h" @@ -907,4 +907,4 @@ static bool invert_matrix(const float m[16], float invOut[16]) { } return true; -} \ No newline at end of file +} diff --git a/src/port/ui/ContentBrowser.cpp b/src/port/ui/ContentBrowser.cpp index 1065007b6..3427c08c2 100644 --- a/src/port/ui/ContentBrowser.cpp +++ b/src/port/ui/ContentBrowser.cpp @@ -3,7 +3,7 @@ #include "UIWidgets.h" #include "ship/Context.h" #include "port/Engine.h" -#include "SpawnParams.h" +#include "engine/SpawnParams.h" #include #include @@ -14,19 +14,19 @@ #include "spdlog/formatter.h" #include #include -#include "CoreMath.h" -#include "World.h" -#include "AllActors.h" +#include "engine/CoreMath.h" +#include "engine/World.h" +#include "engine/AllActors.h" #include "port/Game.h" #include "src/engine/editor/SceneManager.h" #include "engine/TrackBrowser.h" -#include "World.h" +#include "engine/World.h" extern "C" { #include "common_structs.h" -#include "actors.h" -#include "collision.h" +#include "racing/actors.h" +#include "racing/collision.h" } namespace TrackEditor { diff --git a/src/port/ui/ContentBrowser.h b/src/port/ui/ContentBrowser.h index 5d4e4c338..d4097a732 100644 --- a/src/port/ui/ContentBrowser.h +++ b/src/port/ui/ContentBrowser.h @@ -2,7 +2,7 @@ #include #include "engine/tracks/Track.h" -#include "AllActors.h" +#include "engine/AllActors.h" namespace TrackEditor { class ContentBrowserWindow : public Ship::GuiWindow { diff --git a/src/port/ui/Menu.h b/src/port/ui/Menu.h index ae34c5d21..f3b2fd3dd 100644 --- a/src/port/ui/Menu.h +++ b/src/port/ui/Menu.h @@ -13,7 +13,7 @@ extern "C" { #include "main.h" #include "menus.h" #include "code_800029B0.h" -#include "external.h" +#include "audio/external.h" } namespace Ship { diff --git a/src/port/ui/Properties.cpp b/src/port/ui/Properties.cpp index fc3eb2d1e..88974290c 100644 --- a/src/port/ui/Properties.cpp +++ b/src/port/ui/Properties.cpp @@ -20,7 +20,7 @@ #include "engine/vehicles/Train.h" extern "C" { -#include "actors.h" +#include "racing/actors.h" } namespace TrackEditor { diff --git a/src/port/ui/SceneExplorer.cpp b/src/port/ui/SceneExplorer.cpp index 980d519f0..68c670b97 100644 --- a/src/port/ui/SceneExplorer.cpp +++ b/src/port/ui/SceneExplorer.cpp @@ -15,7 +15,7 @@ #include "port/Game.h" extern "C" { -#include "actors.h" +#include "racing/actors.h" } namespace TrackEditor { diff --git a/src/port/ui/Tools.cpp b/src/port/ui/Tools.cpp index 76073abb9..741c4a838 100644 --- a/src/port/ui/Tools.cpp +++ b/src/port/ui/Tools.cpp @@ -17,7 +17,7 @@ extern "C" { #include "code_800029B0.h" #include "code_80057C60.h" -#include "actors.h" +#include "racing/actors.h" } namespace TrackEditor { diff --git a/src/port/ui/TrackProperties.cpp b/src/port/ui/TrackProperties.cpp index 18a2c4655..ccf677776 100644 --- a/src/port/ui/TrackProperties.cpp +++ b/src/port/ui/TrackProperties.cpp @@ -21,8 +21,8 @@ extern "C" { #include "code_800029B0.h" #include "sounds.h" -#include "external.h" -#include "render_courses.h" +#include "audio/external.h" +#include "racing/render_courses.h" #include "render_objects.h" } diff --git a/src/racing/collision.c b/src/racing/collision.c index 3a6fb789d..fd653df96 100644 --- a/src/racing/collision.c +++ b/src/racing/collision.c @@ -15,7 +15,7 @@ #include "port/Game.h" #include "libultraship/bridge/resourcebridge.h" #include -#include "RaceManager.h" +#include "engine/RaceManager.h" #pragma intrinsic(sqrtf) diff --git a/src/racing/math_util.c b/src/racing/math_util.c index 201bd8330..9d83a5914 100644 --- a/src/racing/math_util.c +++ b/src/racing/math_util.c @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include "buffers.h" #include "buffers/trig_tables.h" diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index 2cfda0cea..4118add2f 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -5,7 +5,7 @@ #include #include #include -#include "TrackBrowser.h" +#include "engine/TrackBrowser.h" #include "camera.h" #include "waypoints.h" #include "replays.h" diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index 97a8162f8..e077396c8 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -16,7 +16,7 @@ #include "actors.h" #include "math_util.h" #include "memory.h" -#include "code_80281780.h" +#include "ending/code_80281780.h" #include "collision.h" #include "skybox_and_splitscreen.h" #include "courses/all_course_data.h" diff --git a/src/render_objects.c b/src/render_objects.c index 54b36625a..f100ab95d 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -14,7 +14,7 @@ #include #include "camera.h" #include "memory.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "objects.h" #include "waypoints.h" @@ -28,7 +28,7 @@ #include "render_objects.h" #include "update_objects.h" #include "menu_items.h" -#include "collision.h" +#include "racing/collision.h" #include "main.h" #include "menus.h" #include "code_80086E70.h" diff --git a/src/render_player.c b/src/render_player.c index cacac6666..ad4b5eb26 100644 --- a/src/render_player.c +++ b/src/render_player.c @@ -6,7 +6,7 @@ #include #include "code_800029B0.h" #include "camera.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" #include "main.h" #include "decode.h" @@ -20,7 +20,7 @@ #include "player_controller.h" #include "render_objects.h" #include -#include "skybox_and_splitscreen.h" +#include "racing/skybox_and_splitscreen.h" #include "spawn_players.h" #include #include diff --git a/src/spawn_players.c b/src/spawn_players.c index a5e5d739f..5233f428a 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -12,15 +12,15 @@ #include "buffers.h" #include "kart_dma.h" #include "camera.h" -#include "math_util.h" +#include "racing/math_util.h" #include "player_controller.h" #include "code_80057C60.h" -#include "collision.h" -#include "render_courses.h" +#include "racing/collision.h" +#include "racing/render_courses.h" #include "replays.h" #include "code_80005FD0.h" #include "render_player.h" -#include "podium_ceremony_actors.h" +#include "ending/podium_ceremony_actors.h" #include "main.h" #include "menus.h" #include "render_player.h" diff --git a/src/update_objects.c b/src/update_objects.c index a8bd556bd..006e5607d 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -9,8 +9,9 @@ #include "main.h" #include "memory.h" #include "camera.h" -#include "math_util.h" +#include "racing/math_util.h" #include "math_util_2.h" +#include "racing/memory.h" #include "render_objects.h" #include "objects.h" #include "waypoints.h" @@ -22,13 +23,13 @@ #include #include "audio/external.h" #include "sounds.h" -#include -#include "race_logic.h" -#include "collision.h" +#include +#include "racing/race_logic.h" +#include "racing/collision.h" #include "effects.h" #include "code_80091440.h" #include "menu_items.h" -#include "podium_ceremony_actors.h" +#include "ending/podium_ceremony_actors.h" #include "courses/all_course_data.h" #include #include "src/ending/ceremony_and_credits.h"