$cat ~/patches/star-ocean-fdr.md
Star Ocean: First Departure R 星之海洋 1 首次启程 R
Switch 美版的简体中文补丁,翻译对话、菜单、物品和系统提示。使用独立覆盖包,保留原版数据。
简介
《星之海洋 1》Switch 复刻版(First Departure R)没有官方中文。这个补丁为 美版重新翻译了大部分对话、菜单、物品、技能和系统提示。仍保留英文的部分列在下方。
补丁以独立中文包加载:原版 4.38GB 游戏数据保持不变,中文内容放在 1.4GB 的覆盖包(cn.cpk)和一个程序补丁中,运行时替换。删除对应文件即可卸载。 模拟器(Ryujinx)和真机(Atmosphere)均可使用。
制作过程
复刻版没有现成的文本注入工具,需要先分析资源格式,再制作字库和文本替换工具:
- 容器层:CPK 封包 + SLZ 压缩(四种模式)。CPK 有一组结构等式约束, 尾部追加数据时,需要整体重排并同步内容表,否则可能在启动时崩溃。
- 字库:游戏用自带字表的位图字库,每块的字形数是战斗渲染器按原版 布局读取的,因此重新注入时必须保持字形数不变。中文去重后的字形数超出容量时,需要精简译文。
- 场景数据:城镇加载器使用了不会随数据移动而更新的绝对引用,所以重建后 必须保留原尺寸和位置,否则可能导致黑屏。内容密集的场景通过压缩原先未压缩的数据, 腾出空间放入中文,保持其他数据的位置不变。
- 运行验证:离线渲染、往返检查和模拟测试通过后,仍发现过实际运行中的问题。 因此修改后还需要在游戏中进行回归检查。
一个细节:游戏的角色名上限是 7 个字节,也就是 3 个汉字。老 PSP 汉化里 “拉蒂克斯”的末字显示成“工”,就是第 4 个字被截断的结果。
安装
先下载并解压 so1_chs_v1.2.7z(7-Zip / WinRAR)。注意:模拟器和真机的
目录层级不一样。
模拟器 Ryujinx:把整个 so1_chs 文件夹(保留这层文件夹)放进
…/sdcard/atmosphere/contents/0100EBF00E702000/,形成
…/0100EBF00E702000/so1_chs/exefs/main 与 …/so1_chs/romfs/cn.cpk。
真机 Atmosphere:不要 so1_chs 这层。把它里面的 exefs、romfs
两个文件夹直接放进 SD:/atmosphere/contents/0100EBF00E702000/,形成
…/0100EBF00E702000/exefs/main 与 …/0100EBF00E702000/romfs/cn.cpk。
启动游戏即为中文。首次启动会分析中文包,多等几秒属正常。
卸载:模拟器删掉 so1_chs 文件夹;真机删掉上述 exefs/main 与
romfs/cn.cpk。原版游戏不受任何影响。
仅适用于美版 v0(零售初版),TitleID 0100EBF00E702000;请勿与其他
修改 main 或 so1_en_data0.cpk 的 mod 同时启用。
仍保留英文的部分
- 主角/队友名:角色名存在存档里、且有 7 字节硬上限。中文名只对新开档 生效,直接改存档会触发完整性校验。测试中可以显示“罗迪克”,但发布版为兼容旧存档, 保留 RODDICK 等英文名字。
- 敌人名、部分战斗界面文字:文字存储在图像中,不经过字库,直接替换会破坏图像。
- 起名画面:游戏的字符输入盘不含中文。
已知问题
- 部分文本经图像识别迁移,可能有个别错字、别字或标点问题,欢迎带截图反馈。
- 极少数密集场景的个别系统提示仍为英文(容量取舍)。
更新日志
- v1.2(2026-08-09):修复从塔特罗伊前往阿斯特拉尔城时的必现崩溃。经阿斯特拉尔 洞窟或乘船到达都会触发,原因是目标场景文件重新压缩后无法被游戏解压器读取。 该文件改为不压缩存储,内容保持不变;同时处理另外 8 个主要城镇场景中的同类问题: 克拉特村、塔特罗伊斗技场、霍特、范伊尔城、反抗军据点(东/西)、 希尔瓦兰特南入口、波特米斯港口。另补翻 583 个场景的系统提示(1156 条), 标题署名改用矢量字体。已卡住的存档不用重开。
- v1.1(2026-08-07):修复商店/宝箱“获得了×ד提示显示数字乱码 (排查并修复了 280 个场景);修复顿悟/锻造/鉴定/生存/厨师等 专长与技能菜单的黑屏死机和乱码;补全写作/作曲/演奏/改造等全部 专长执行界面翻译(375 条);修复埃克达特等场景切换黑屏;技能说明 折行优化;跳过影片提示汉化。
- v1.0 Beta(2026-07-14):首个公开测试版。完成主要文本及设定/状态/装备/ 按键菜单;补全密集场景系统提示(37 个场景约 4300 条,保持数据位置不变); 窗口颜色四角改手绘 12px 箭头;标题画面署名。