From 9f3089742af90aa2e96e18e9a95aa19a763ce59c Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Sat, 6 Jun 2026 17:07:30 -0500 Subject: [PATCH] Fixed ISO builds. --- cmake/targets/dolphin.cmake | 13 ++++++++----- scripts/build-gamecube.sh | 1 + scripts/build-wii.sh | 5 ++++- src/duskdolphin/log/log.c | 6 +++--- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/cmake/targets/dolphin.cmake b/cmake/targets/dolphin.cmake index a3138633..dac969e1 100644 --- a/cmake/targets/dolphin.cmake +++ b/cmake/targets/dolphin.cmake @@ -1,15 +1,18 @@ -# Build type: FAT (SD/USB via libfat) or ISO (DVD disc via libogc DVD driver) -set(DUSK_DOLPHIN_BUILD_TYPE "FAT" CACHE STRING "Dolphin asset source: FAT (SD/USB) or ISO (DVD disc)") -set_property(CACHE DUSK_DOLPHIN_BUILD_TYPE PROPERTY STRINGS "FAT" "ISO") +# Build type: DOL (SD/USB via libfat) or ISO (DVD disc via libogc DVD driver) +set(DUSK_DOLPHIN_BUILD_TYPE "DOL" CACHE STRING "Dolphin asset source: DOL (SD/USB) or ISO (DVD disc)") +set_property(CACHE DUSK_DOLPHIN_BUILD_TYPE PROPERTY STRINGS "DOL" "ISO") -# Target definitions +# Numeric tokens so #if DUSK_DOLPHIN_BUILD_TYPE == DOL works in C. +# DUSK_DOLPHIN_BUILD_TYPE is passed without quotes so it expands to the identifier. target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC DUSK_DOLPHIN DUSK_INPUT_GAMEPAD DUSK_DISPLAY_WIDTH=640 DUSK_DISPLAY_HEIGHT=480 DUSK_THREAD_PTHREAD - DUSK_DOLPHIN_BUILD_TYPE="${DUSK_DOLPHIN_BUILD_TYPE}" + DOL=1 + ISO=2 + DUSK_DOLPHIN_BUILD_TYPE=${DUSK_DOLPHIN_BUILD_TYPE} ) # Custom compiler flags diff --git a/scripts/build-gamecube.sh b/scripts/build-gamecube.sh index 8d8a74cd..cf1ebb52 100755 --- a/scripts/build-gamecube.sh +++ b/scripts/build-gamecube.sh @@ -7,6 +7,7 @@ fi mkdir -p build-gamecube cmake -S. -Bbuild-gamecube \ -DDUSK_TARGET_SYSTEM=gamecube \ + -DDUSK_DOLPHIN_BUILD_TYPE=DOL \ -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/GameCube.cmake" \ -DDKP_OGC_PLATFORM_LIBRARY=libogc2 cd build-gamecube diff --git a/scripts/build-wii.sh b/scripts/build-wii.sh index 33f18f66..348cdaa6 100755 --- a/scripts/build-wii.sh +++ b/scripts/build-wii.sh @@ -5,7 +5,10 @@ if [ -z "$DEVKITPRO" ]; then fi mkdir -p build-wii -cmake -S. -Bbuild-wii -DDUSK_TARGET_SYSTEM=wii -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/Wii.cmake" +cmake -S. -Bbuild-wii \ + -DDUSK_TARGET_SYSTEM=wii \ + -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/Wii.cmake" \ + -DDUSK_DOLPHIN_BUILD_TYPE=DOL cd build-wii make -j$(nproc) VERBOSE=1 mv Dusk.dol boot.dol \ No newline at end of file diff --git a/src/duskdolphin/log/log.c b/src/duskdolphin/log/log.c index b0d0ab83..b90630b3 100644 --- a/src/duskdolphin/log/log.c +++ b/src/duskdolphin/log/log.c @@ -10,7 +10,7 @@ #include #include -#ifdef DUSK_WII +#if DUSK_DOLPHIN_BUILD_TYPE == DOL #include #include @@ -38,7 +38,7 @@ void logDebug(const char_t *message, ...) { va_end(copy); fflush(stdout); - #ifdef DUSK_WII + #if DUSK_DOLPHIN_BUILD_TYPE == DOL // Print to file logInitFAT(); if(fatReady) { @@ -60,7 +60,7 @@ void logError(const char_t *message, ...) { va_start(args, message); // Write to file before displaying on screen - #ifdef DUSK_WII + #if DUSK_DOLPHIN_BUILD_TYPE == DOL logInitFAT(); if(fatReady) { FILE *file = fopen(LOG_ERROR_PATH, "a");