Wii NAND save storage is blocked by Dolphin's IOS ticket-rights check for homebrew (documented earlier this session as a known, non-code limitation), so Wii now defaults DUSK_SAVE_WII_METHOD to SD instead of NAND. Also: asset_t gains ASSET.baseDirectory, populated by each platform's asset loader with the real directory dusk.dsk was opened from (or, on PSP, the directory EBOOT.PBP itself lives in, since dusk.dsk is embedded inside it). Wii SD and PSP now write their single combined save file directly into that directory instead of a separate hardcoded path, and no longer need to create it (it's already known to exist). Linux now uses a `saves/` subdirectory of that same directory instead of ~/.dusk/saves, since it keeps multiple files (settings + one per slot). Wii NAND and GameCube/Wii memory-card storage are unaffected - neither has a real filesystem-path concept this applies to. Built and verified on Linux, PSP (Docker), GameCube (Docker) and Wii (Docker) - confirmed via the compiler invocation that Wii now compiles with DUSK_SAVE_WII_METHOD_SD. Co-Authored-By: Claude Sonnet 5 <[email protected]>
39 lines
1.3 KiB
CMake
39 lines
1.3 KiB
CMake
include(cmake/targets/dolphin.cmake)
|
|
|
|
target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC
|
|
DUSK_WII
|
|
)
|
|
|
|
# Wii save storage method - see src/duskdolphin/save/savedeviceplatform.h.
|
|
set(DUSK_SAVE_WII_METHOD "SD" CACHE STRING
|
|
"Wii save storage: NAND (internal storage via ISFS), CARD (GameCube-\
|
|
compatible memory card emulation), or SD (SD card via libfat)"
|
|
)
|
|
set_property(CACHE DUSK_SAVE_WII_METHOD PROPERTY STRINGS "NAND" "CARD" "SD")
|
|
|
|
target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC
|
|
DUSK_SAVE_WII_METHOD_${DUSK_SAVE_WII_METHOD}
|
|
)
|
|
|
|
# Generate Homebrew Channel meta.xml from project identity variables
|
|
string(TIMESTAMP DUSK_BUILD_DATE "%Y%m%d000000" UTC)
|
|
configure_file(
|
|
"${CMAKE_SOURCE_DIR}/docker/dolphin/meta.xml.in"
|
|
"${DUSK_BUILD_DIR}/meta.xml"
|
|
@ONLY
|
|
)
|
|
|
|
# ISO post-build: produce NTSC-J, NTSC-U and PAL disc images
|
|
if(DUSK_DOLPHIN_BUILD_TYPE STREQUAL "ISO")
|
|
add_custom_command(TARGET ${DUSK_BINARY_TARGET_NAME} POST_BUILD
|
|
COMMAND ${Python3_EXECUTABLE}
|
|
"${CMAKE_SOURCE_DIR}/tools/makedolphiniso.py"
|
|
"WII"
|
|
"${DUSK_BINARY_TARGET_NAME_DOL}"
|
|
"${DUSK_ASSETS_ZIP}"
|
|
"${DUSK_GAME_NAME}"
|
|
"${DUSK_BUILD_DIR}"
|
|
COMMENT "Building Wii ISO images (NTSC-J, NTSC-U, PAL)"
|
|
)
|
|
endif()
|