Repository navigation
hackmud 简体中文汉化补丁 v1.3.0
hackmud 简体中文汉化补丁 v1.3.0
本轮把 Unity 资产全量扫了一遍,补上剩余 3 处界面文本。
本版新增
| 原文 | 译文 | 所在 | 对象名 |
|---|---|---|---|
ACQUIRING HARDLINE |
接入硬连线中 |
level0 |
GameObject text(CanvasRenderer + RectTransform) |
HARDLINE ENGAGE |
硬连线接通 |
level0 |
GameObject text |
placeholder text |
占位文本 |
sharedassets0.assets |
GameObject label_text(3 处) |
本轮怎么找出来的(以及为什么没漏)
写了个扫描器把 level0 / resources.assets / sharedassets0.assets 里所有 Unity 对象
的全部长度前缀字符串取出来,再用「像不像给玩家看的文本」的规则筛:
- 筛出 143 条候选
- 其中 81 条是引擎/工具内部命名(
Cull Mode、Stencil ID、Font Atlas、digit (1)、
Main Camera、Bevel Clamp…)—— 着色器属性名与物体名,不是给玩家看的 - 其余多是音频片段名(
Incoming Attack Chain、robovac dreamtime、in risk we trust、
Slick Gold、vlan party…)、TMP 内部数据(LineBreaking Leading Characters、
Smiling face with smiling eyes、Default Style Sheet)、字体/材质名 —— 均不显示 - 真候选只有上表 3 条,且都用同一判据确认过
可译判据(同 v1.2.0)
把字面量拿去搜全部托管程序集的 #US 堆(本次扫了 102 个可解析程序集,
含 mscorlib / System.* / 全部 UnityEngine.* 模块 / Unity.TextMeshPro / Core.dll):
ACQUIRING HARDLINE→ 零命中HARDLINE ENGAGE→ 零命中placeholder text→ 零命中
代码若要用这些文本做逻辑,就必须在自己程序集里有同文字面量;零命中 ⇒ 只能是「读字段 → 显示」。
另用 GameObject 名字与组件构成佐证:三个都是带 CanvasRenderer + RectTransform 的 UI 元素
(名字分别是 text / text / label_text)。
技术说明
沿用等长替换(int32 字节长度 + UTF-8,中文多出的字节用尾部空格补齐):
| 文件 | 替换 | 文件大小 | 差异段 |
|---|---|---|---|
level0 |
2 处 | 36,168 B 不变 | 2 段(0x5fd4–0x6193) |
sharedassets0.assets |
3 处 | 1,490,000 B 不变 | 3 段(0x16b26c–0x16baac) |
前两条中文恰好占满原字节预算(18/18、15/15,零填充)。UnityPy 复载正常
(level0 250 对象、sharedassets0.assets 309 对象)。
校验值
| 文件 | SHA256 |
|---|---|
Managed/Core.dll |
04523E88269020BF92A20A05F132BB3FEF6C19F12D6AAE8855BC3437FA4FBF52 |
resources.assets |
5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7 |
sharedassets0.assets |
B837895A23225B7A4CEAD9AC477A2328AFD856FC585465E3022F9D26236A15EE |
level0 |
0465927CA0FCFD49519FB331487D0FAEC0653026982E731F430090C982A4695C |
安装 / 回滚
powershell -ExecutionPolicy Bypass -File install_zh.ps1 install
powershell -ExecutionPolicy Bypass -File install_zh.ps1 rollback已确认为「不可译」,不再重复排查
- 服务器下发的文本:
Top Donors、WHAT'S NEW、last_login、脚本输出等 scratch/chat面板标题:在Core.dll里但被同时当作窗口名/字典键,全文件仅一份副本- 引擎/音频/TMP 内部命名:见上文 143 条候选的分拣结果
- 终端历史回放:
%APPDATA%\hackmud\shell.txt的旧英文记录不是漏译,游戏内clear可清屏
⚠️ 风险声明
hackmud 官方规则禁止修改任何既有文件,并把 client file modification 视为 "custom client",
检测到可能导致封号。使用风险自负。分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有。