English
- Live anisotropic filtering: added live anisotropic filtering controls (
Off / 2x / 4x / 8x / 16x) to the Graphics settings menu, persisted underanisotropic_filteringinsettings.ini(defaulting to Off) and clamped to the Vulkan device's hardware maximum. Changes apply upon saving graphics settings on the next rendered frame without restarting the game. Replaced mutable sampler descriptor tables with an immutable generation-based architecture (sampler_palette.h): candidate tables are assembled in advance and replace the active table only after allocations succeed, while previous generations remain pinned to active GPU command batches until fence completion, preventing in-flight descriptor races and allocation failures from corrupting active draws. Bounded Windows and Linux standalone CPU contract tests and Linux software Vulkan emulation (Actions 36079262997, covering 1,000 mode switches, fault injections, descriptor lifetimes, andsettings_interaction1/1) passed; physical-hardware GPU testing across all gameplay scenes remains open. Guest mip selection, single-level texture upload, and shader translation remain untouched; AF does not resolve distant-texture shimmer caused by missing mip chains. - Settings menu DLSS and FSR quality ordering: DLSS quality choices and left/right cycling now order consistently as Performance, Balanced, Quality, and DLAA, with FSR placing Native AA last. Persisted configuration values, defaults, and GPU runtime behavior remain unchanged. Rebuilt standalone
LoMenuFlowTestpassed across all 8 test groups; physical-hardware verification across all quality levels remains pending. - Settings menu interaction and performance: merged AA and DLSS/FSR selection into a unified flow, placed FSR sharpness directly after quality, and kept Save last. A confirms actions and dialogs only; Left/Right adjusts choices, with mouse adjustment retained. Cached static menu decoration at native output resolution to avoid repeated full-background software filtering on navigation; real-device end-to-end latency is not measured.
- System and Settings quit menu actions:
- Swapped the native System menu quit entry to "Quit to Desktop" across all nine supported game languages. Trailing garbage characters observed in in-game captures were resolved by including the UTF-16 null terminator in the string copy bounds. The native confirmation Yes routes to
SDL_QUITwith cancel recovery. In bounded physical-hardware testing on a verified build, the user explicitly confirmed that selecting and confirming "Quit to Desktop" in the native System menu successfully exits the game process. - Added a "Quit to Main Menu" action at the bottom of the System -> Settings -> Game page, supporting English, Traditional Chinese, Simplified Chinese, Japanese, and Korean. Confirmation defaults to Cancel, and Back cancels; confirming waits for retail Settings close completion before returning directly to the title screen without posting
SDL_QUITor saving settings. StandaloneLoMenuFlowTestpassed all 8 test groups; physical-hardware execution and dialog display remain unverified by users item by item.
- Swapped the native System menu quit entry to "Quit to Desktop" across all nine supported game languages. Trailing garbage characters observed in in-game captures were resolved by including the UTF-16 null terminator in the string copy bounds. The native confirmation Yes routes to
- Debug Save Anywhere persistence (Issue #61): preserved the debug "Save Anywhere" toggle across sessions in
settings.iniwithout adding it to the player settings menu. The setting defaults to disabled and persists immediately when toggled in the debug menu while keeping unconfirmed graphics previews intact. Windows standalone testLoSaveAnywhereConfigTestpassed configuration parsing, cross-process restoration, and preview coexistence. In-game validation on physical hardware remains pending, and camera offset upon reload remains a known limitation. - Controller and usability improvements:
- Cheats sidebar: LT selects the previous category and RT the next, wrapping at either end with single-step navigation per press; added an on-screen English/Chinese control footer. Controller switching was confirmed on a physical controller, and Windows
cheats_uiregression passed (1/1). - Implemented Issue #50 cursor auto-hide: the mouse pointer hides after 2 seconds of inactivity over the game window, reappears on pointer activity, and is restored when focus leaves the window.
- Disabled SDL text input/IME composition for the gameplay window on creation and focus regain so active IMEs do not consume normal gameplay keys.
- Controller rumble is enabled by default with persistent XInput/Xam-style motor state;
LO_CONTROLLER_RUMBLE=0remains the explicit opt-out.
- Cheats sidebar: LT selects the previous category and RT the next, wrapping at either end with single-step navigation per press; added an on-screen English/Chinese control footer. Controller switching was confirmed on a physical controller, and Windows
- Developer tooling and build guidance:
- Added
tools/README.mdcataloging formal offline analysis scripts, packaging/release helpers, profiling tools, and build drivers with explicit side-effect classifications, and added top-level structured navigation totools/tests/README.md. - Clarified how to reconcile the modified XenonRecomp tree after tracked patch updates, rebuild generator tools, regenerate PPC, and rebuild the runtime. Physical controller testing confirmed 2× hold fast-forward and release speed restoration once local clock sources were synchronized.
- Added
简体中文
- 实时各向异性过滤(AF):在图形设置菜单中新增实时各向异性过滤选项(
Off / 2x / 4x / 8x / 16x),配置项保存在settings.ini的anisotropic_filtering(默认关闭),并根据当前 Vulkan 设备的硬件上限向下钳制。保存图形设置后在下一渲染帧生效,无需重启游戏。将易变 sampler 描述符表重构为不可变代际管理架构(sampler_palette.h):候选表预先构建并在分配成功后替换活跃表,历史代际在对应 GPU 批次经栅栏检测完成前持续被引用钉住,避免了运行中描述符竞态以及分配失败破坏活跃渲染。Windows 与 Linux 独立 CPU 契约测试和 Linux 软件 Vulkan 仿真(Actions 36079262997,涵盖 1000 次档位切换、故障注入以及设置交互 1/1)已通过;全游戏实机 GPU 验证仍待推进。游戏原版 mip 选择、单层纹理上传与着色器翻译未做修改;AF 不解决因缺少 mip 链导致的远景纹理闪烁问题。 - 设置菜单 DLSS 与 FSR 画质档位排序:DLSS 画质选项与左右循环顺序统一调整为 Performance、Balanced、Quality 与 DLAA,FSR 相应将 Native AA 置于最后。已保存配置与 GPU 运行时行为不变。重建后的离线
LoMenuFlowTest全部 8 组测试均已通过;全档位实机验证仍待推进。 - 设置菜单交互与性能优化:合并抗锯齿与 DLSS/FSR 入口,FSR 锐化紧随画质选项,保存置于最后。A 仅确认操作与对话框,方向键左右调整选项,保留鼠标调整。按输出分辨率缓存静态菜单装饰,避免每次导航重复进行整屏背景软件滤波;尚未测量实机端到端延迟。
- 原生系统菜单与设置菜单退出动作:
- 将原生系统菜单退出入口调整为“退出到桌面(Quit to Desktop)”,覆盖全部 9 种语言的文案显示。字符串复制长度包含 UTF-16 终止符,消除了此前实机截图反馈中文案尾部乱码。确认对话框的 Yes 分支路由至
SDL_QUIT并具备取消恢复逻辑。在已验证构建的实机测试中,用户明确确认原生系统菜单确认退出到桌面已成功退出游戏进程。 - 在系统菜单的设置→游戏页末尾新增“退出到主菜单(Quit to Main Menu)”选项,支持英文、繁体中文、简体中文、日文和韩文。确认对话框默认选中取消,返回键直接取消;确认后等待原版设置应用与关闭完成,直接返回标题画面,不投递
SDL_QUIT且不触发设置保存。离线事件流测试通过;实机跳转及对话框显示尚未逐项实机验收。
- 将原生系统菜单退出入口调整为“退出到桌面(Quit to Desktop)”,覆盖全部 9 种语言的文案显示。字符串复制长度包含 UTF-16 终止符,消除了此前实机截图反馈中文案尾部乱码。确认对话框的 Yes 分支路由至
- 调试随时存档状态保存(Issue #61):在重启后记住调试菜单中的随时存档(Save Anywhere)开关状态,保存在
settings.ini且不加入玩家设置菜单。默认关闭,调试菜单切换即时持久化且不提交未确认的图形预览。Windows 独立测试LoSaveAnywhereConfigTest通过了解析、跨进程恢复与预览共存检查。实机游戏验证仍待推进,读档后的镜头偏移仍属已知局限。 - 手柄与可用性改进:
- 作弊菜单侧栏:LT 切到上一分类、RT 切到下一分类,首尾循环,每次按下只切换一次(长按不连跳);增加中英双语屏幕操作提示。实体手柄确认切换与无连跳正常,Windows
cheats_ui回归测试通过(1/1)。 - 实现 Issue #50 鼠标自动隐藏:鼠标在游戏窗口内停顿 2 秒无操作后自动隐藏,移动后恢复。
- 游戏窗口创建及重新获焦时显式关闭 SDL 文本输入/IME 组合,避免输入法抢占游戏按键。
- 手柄震动默认开启并保持 XInput/Xam 状态语义,仍可通过
LO_CONTROLLER_RUMBLE=0显式关闭。
- 作弊菜单侧栏:LT 切到上一分类、RT 切到下一分类,首尾循环,每次按下只切换一次(长按不连跳);增加中英双语屏幕操作提示。实体手柄确认切换与无连跳正常,Windows
- 开发者工具与构建指引:
- 新增
tools/README.md索引离线分析、打包发布、性能分析与构建工具并标注副作用分类,为tools/tests/README.md增加顶部结构化导航。 - 明确同步被跟踪 XenonRecomp 补丁后重建生成器工具、重新生成 PPC 和重建运行时的流程。实体手柄验证确认时钟源同步后 2× 按住加速与松开恢复正常。
- 新增