layout: restructure into src/ tests/ android/ scripts/ tools/

- extension/src/{port,platform,codepage} -> src/; native_render -> src/host
  (+ dxt, shaders/); libgr2 -> src/gr2; extension/third_party -> third_party
- extension/tests -> tests/port, libgr2/tests -> tests/gr2
- android-native -> android (build.sh, push-client.sh moved in)
- script -> scripts; tools/40250 -> tools/server; oracle -> tools/granny-oracle;
  perf tools -> tools/perf
- all build trees under build/ (native, release, android, port-gate)
- xrender:: CMake aliases -> mt::; port-map ledger impl paths rewritten

No code changes. ctest 15/15, port_gate macos+android PASS, port_map check 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-29 19:08:19 +09:00
co-authored by Claude Opus 5.5
parent 70710477cf
commit a46093104c
2817 changed files with 13728 additions and 13744 deletions
+8 -8
View File
@@ -3,8 +3,8 @@
## 语言包(2026-09-28 起为正式 pack)
```sh
cmake --build build-native --target locale_proto_patch eterpack_pack
python3 script/build_zh_locale.py
cmake --build build/native --target locale_proto_patch eterpack_pack
python3 scripts/build_zh_locale.py
```
生成器复制 40250 `Eternexus/locale_en/locale/en` 的文件结构到暂存目录
@@ -13,7 +13,7 @@ python3 script/build_zh_locale.py
中经审核的译文(同样校验占位符);报告在
`build/zh-locale/zh-locale-report.json`。职业与帝国说明采用龙驹中文文本。
暂存目录随后由 `eterpack_pack`(`extension/tests/eterpack_pack.cpp`,直接调用移植的 40250
暂存目录随后由 `eterpack_pack`(`tests/port/eterpack_pack.cpp`,直接调用移植的 40250
`CEterPack::Put` / `EncryptIndexFile`)打成 `locale_zh.eix/.epk`,格式与原版 `locale_en` 等
相同:231 个文件全部为 COMPRESS(LZO),索引经 LZO + TEA 加密。工具写完后以只读方式
重新打开 pack,逐个经 `CEterPack::Get` 读回并与源文件比对。用同一工具重打原版
@@ -30,11 +30,11 @@ python3 script/build_zh_locale.py
macOS 启动:
```sh
build-native/native_render/mt_native_render \
build/native/src/host/mt_native_render \
--live-client build/zh-locale/Client --login-screen --width 1024 --height 768
```
Android:`./push-android-client.sh --locale zh`(默认推送 `build/zh-locale/Client`,符号链接按
Android:`./android/push-client.sh --locale zh`(默认推送 `build/zh-locale/Client`,符号链接按
目标文件复制,并以 `locale_zh.cfg` 写入设备上的 `locale.cfg`)。
物品与怪物原型从 40250 原版解压,按线上 40250 服务端 `gb2312name` 的 VNUM 快照
@@ -75,11 +75,11 @@ Android:`./push-android-client.sh --locale zh`(默认推送 `build/zh-locale
## 服务端适配进度(2026-09-28)
服务端 `newcibn/locale_string.txt` 原有 733 个中文键,和 40250 英文参考字典的
762 个键比对后缺少 36 个。`script/build_zh_server_locale.py` 保留原字典的 733 个键
762 个键比对后缺少 36 个。`scripts/build_zh_server_locale.py` 保留原字典的 733 个键
及其原始 GBK 译文,补齐 36 个 40250 键,并修复两条丢失 `%d` 参数的译文;旧字典
特有的 7 个键继续保留。生成文件有 769 个键,全部译文按 GBK 编码,格式参数与
韩文调用键逐条一致。生成产物在 `build/zh-locale/server/newcibn/locale_string.txt`;
`python3 script/test_build_zh_server_locale.py` 验证键和旧译文保持不变。
`python3 scripts/test_build_zh_server_locale.py` 验证键和旧译文保持不变。
已将该文件部署到 `/usr/metin2/server/share/locale/newcibn/locale_string.txt`,远端
SHA-256 为 `7f16a8c7b9d08774ec90c4a86b80b17364b072c0af9e2b76a0ea9df027adaef8`。
@@ -90,7 +90,7 @@ SHA-256 为 `7f16a8c7b9d08774ec90c4a86b80b17364b072c0af9e2b76a0ea9df027adaef8`
只读导出的线上数据库中,`item_proto` 有 5,743 条、`mob_proto` 有 1,334 条,
`gb2312name` 全部能按 GBK 解码,但分别有 1,608 和 346 个名称不含汉字。
`script/audit_zh_server_names.py` 将线上 VNUM 与旧中文名称表比对,发现物品 1 处、
`scripts/audit_zh_server_names.py` 将线上 VNUM 与旧中文名称表比对,发现物品 1 处、
怪物/NPC 20 处同 VNUM 不同名(例如 VNUM 101 在线上是 `Wild Dog`,旧表是`幼狼`)。
旧表并非完整的 40250 名称表,因此本轮没有批量修改数据库。客户端已改用本次
只读导出的服务端名称快照,见 `data/zh_40250/README.md`,两侧 VNUM 名称由此一致。