移动端界面大小设置:默认 600 逻辑高,系统选项可选 600/700/800

Android 上 40250 界面原先固定按 800 逻辑像素高排版,弹窗文字在手机上只有约 1 mm 高。
- UIScaleMode.h + host ui_scale.cpp:逻辑高度来自保存的设置(默认 600),ui_height.cfg 保存,下次启动生效;
  桌面可用 MT_UI_HEIGHT 测试
- app.GetUIHeight/GetAppliedUIHeight/SetUIHeight
- mt_uiscale PORT 模块:系统选项对话框加高一行,"界面大小 大/中/小",修改后聊天提示重启生效

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-29 23:10:51 +09:00
co-authored by Claude Opus 5.5
parent e33e41c12b
commit 71d8f8c6e7
10 changed files with 248 additions and 9 deletions
+4 -1
View File
@@ -116,8 +116,11 @@ SDL3 宿主主循环(src/host/live_client.cpp run_live_client)
PORT 扩展(40250 没有对应物,只为移动端/平台而加;不能改 40250 脚本;玩法语义只在用户明确要求时扩展,如 5 页背包):
- 由 `PythonBoot::RunMainScript` 注入的 Python 模块:`mt_autohunt`(自动狩猎,`AutoHuntScript.inc`)、`mt_register`
(客户端内账号注册)、`mt_framerate`(系统选项里的"画面帧率"行)、`mt_inventory`(5 页背包:改写 `InventoryWindow.py` 的装备格起点和页签,
(客户端内账号注册)、`mt_framerate`(系统选项里的"画面帧率"行)、`mt_uiscale`(系统选项里的"界面大小"行)、`mt_inventory`(5 页背包:改写 `InventoryWindow.py` 的装备格起点和页签,
泛化翻页、自动药水高亮和选宝石窗口的格子扫描)。它们包装 40250 窗口类的方法,不修改脚本文件。
- 界面大小(`platform/EterBase/UIScaleMode.h` + `src/host/ui_scale.cpp`):Android 上 40250 界面按 600 / 700 / 800
逻辑像素高排版(默认 600,最低就是 600:背包窗口 565 高),宽度随屏幕比例;选择存在 `ui_height.cfg`,下次启动生效。
桌面按窗口大小排版,`MT_UI_HEIGHT=600` 可在桌面上测试这一设置。
- 触控控制(`src/host/touch_controller.h`):摇杆、攻击/技能按钮,转成 40250 的输入接口。
- 帧率与功耗(`platform/EterBase/FrameRateMode.h` + `src/host/frame_policy.cpp` 的 `FrameRatePolicy`):30 / 60(默认)/ 显示器最高三档,
无输入一段时间降到 30 fps(自动狩猎时除外),Android 上配合 `setFrameRate` 和 ADPF。