Skip to content

hackmud 简体中文汉化补丁 v1.3.0

Choose a tag to compare

@DRDRDRRDDRDR DRDRDRRDDRDR released this 29 Sep 04:55
· 3 commits to main since this release

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 开发者所有。