v0.5.0: settings UI, control styles, save import, documentation

PD-style F10 menu with six groups, checkbox/slider/dropdown controls (D504),
wording pass and real-unit sliders (D505-D509), overlay/FPS-counter window
scaling (D510, D512), small settings (D511), control scheme Ext/Original
(D513) with the game's own N64 styles (D516-D518), emulator-format save
import on first launch (D514), build arch tag (D515), converter argv quoting
and sidecar size check, one PC options UI (D519) with by-eye follow-ups,
antialiased overlay sliders (D520), README settings paths, ROADMAP trim,
D441 tier-1 all-level sweep (21/21 pass).

Refs: D503-D520 D349 D441
This commit is contained in:
James Dansereau committed 2026-10-06 18:35:43 -04:00
1 parent daa2522511
commit aa5a1b81fe
36 files changed
+2911 -1812

No files matched your search

+12
View File
@@ -6,6 +6,14 @@ function(target_architecture OUT_VAR)
# Derive from the cross-compiler target, e.g. x86_64-w64-mingw32-gcc
string(REGEX MATCH "^(i[3-6]86|x86_64|aarch64|arm|powerpc|wasm32)" _arch
"${CMAKE_C_COMPILER_TARGET}")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "")
# D515: a stripped native env (e.g. the build-pc.sh PowerShell re-exec
# before it restored PROCESSOR_ARCHITECTURE) leaves
# CMAKE_HOST_SYSTEM_PROCESSOR / CMAKE_SYSTEM_PROCESSOR empty. Ask the
# compiler instead of silently producing an untagged binary ("ge007..").
execute_process(COMMAND "${CMAKE_C_COMPILER}" -dumpmachine
OUTPUT_VARIABLE _dm OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "^(i[3-6]86|x86_64|aarch64|arm|powerpc|wasm32)" _arch "${_dm}")
else()
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64)$")
set(_arch "x86_64")
@@ -24,5 +32,9 @@ function(target_architecture OUT_VAR)
set(_arch "i686")
endif()
if(_arch STREQUAL "")
message(FATAL_ERROR "TargetArch: could not determine the target architecture (CMAKE_SYSTEM_PROCESSOR empty and compiler -dumpmachine did not match); refusing to build an untagged binary -- the 'ge007..' bug, see D515.")
endif()
set(${OUT_VAR} "${_arch}" PARENT_SCOPE)
endfunction()