mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-24 00:02:45 +02:00
New port/src/optionsoverlay.c + port/include/optionsoverlay.h: an immediate-mode options overlay drawn as its own fast3d 2D display list, appended after the game DL. Implements docs/dev/OPTIONS-MENU-PLAN.md §2/§3. - config.c/h: configForEachOption() + configSetOptionMeta() label/step/enum side table; CONFIG_OPT_* enum. config.c stays free of specific-key knowledge. - gfx_pc.cpp gfx_run(): one-line hook runs optionsOverlayEmit() after the game DL, before gfx_flush. Returns NULL when closed -> zero bytes appended, golden dumps byte-identical. - video.c: F10 toggles (videoPumpEvents, next to F12); ESC closes; wheel scrolls; videoRequestLiveConfig()/liveCfgDirty re-applies VSync/FpsCap/ TextureFilter at frame start. - input.c: while open, controller 0 returns a neutral pad and nav (arrows/enter/wheel/mouse) routes to optionsOverlayHandleInput() — mirrors the D180 WI-1 swallow pattern. - v1 rows: VSync, FpsCap, MSAA(restart), TextureFilter, MouseAimSpeed, MouseTurnSpeed, MouseInvertY, MouseCaptureMode, ScreenShakeIntensity. Live-apply where possible; configSave() on close. - GE_OPTIONSOVERLAY=1 auto-opens at boot (env-gated diagnostic, left in). Port-layer only, no src/ edits, no #ifdef PORT in game code. Build links 241/241. Runtime framediff/soak/eyeball owed on an interactive machine (this headless env kills the GUI process early and writes 0-byte PPMs).