网站菜单
日记 - PS2游戏《罗马之影》汉化工作完整记录
* 日记 | Syameimaru Aya | PS2游戏《罗马之影》汉化工作完整记录
Avatar 作者: Syameimaru Aya ( 2026/08/11 09:33)
阅读量: 14
《罗马之影》汉化工作笔记
*目前仅对游戏日版进行研究,美版的可行性不做保证*
目前能够提取、替换的资源有:
文本(MSG1/MSG0格式)
图片、贴图文件(OIM3格式)
游戏内的视频(MEPG2格式,上下两半分开的隔行扫描格式,TMPGenc进行编码)
注:iso解压后的image0.img是主要的资源存储位置,image1.img和image2.img完全存储着视频。
0. LINK分割
image0.img中连续存储着很多LINK头的文件,这是CPK0包裹的上级,请先自编程序将每个LINK头的文件分割出来。后文的所有操作都是在提前分割LINK文件的情况下完成。
1. 提取文本(部分)
游戏中的文本为MSG1/MSG0格式,被CPK0容器包裹,在hex编辑器中可以清晰看到MSG1文件头前必然有CPK0头。可以使用GameExtractor提供的脚本提取出来(MSG0不行)。此时文本被lzss0压缩,经过解压可以得到文本。此时文本是aa bb cc dd ee ff格式,aa bb是标准的shift-jis,可读,但是修改不影响字体显示。cc dd为“控制码”,决定了文本的显示,对应着字库的文本排列顺序。ee ff似乎固定为80 00。
在建立好文本对应控制码的表后即可开始替换文本,可以选择只替换控制码。随后重新压缩,控制文件大小比原本的小,随后补00直到原本文件尾部,此时文本替换完毕。重新覆盖回iso中,运行游戏可以见到效果。
2. 替换图片
2.1. 普通图片(不是字库)的替换
游戏中图片为OIM3格式,同样与MSG一样被CPK0包裹。同样使用GameExtractor提取。GameExtractor也有OIM3解包为png的功能,也可以用其提供的脚本进行批量处理。压缩则需要自编程序。(字库的替换比较特别,后面单独解释)由于使用索引颜色,所以编辑的时候请不要使用RGB颜色。修改完毕后自编脚本重打包LINK,LINK覆盖回源image0.img或者iso文件,补00即可。
2.2. 字库的替换
提取出字库图片后,可以看到似乎有两层,下层为灰色,上层为隐约的白色。这是因为游戏的字库在一字节内保存了两个像素的两层数据,将一个字节按四位分成两半,每一半中,前两位是下层的灰度数据,后两位是上层的灰度数据。在这样提取后可以清晰地得到两个图片。即可进行修改。在反处理后重新打包、覆盖即可(参考2.1)
3. 替换视频
游戏中的视频都在image1.img和image2.img中,用hex编辑器打开在前面很快就能找到enc...tmpgenc....之类的标签,十分明显。这时记录下标签,自己编写程序可以轻松把全部视频提取出来。然可以看到每个视频都被分成上下两部分,上面是奇数扫描线,下面是偶数扫描线。(这个我也不太清楚,可能上面是偶数)此时为pss格式。提取出的视频可以用pss plex转为m2v视频和wav音频后,再使用ffmepg或者其他什么软件把这种隔行扫描格式变成正常视频即可。在编辑后,使用ffmepg重新转回mepg2格式,再转回上下分场格式,使用TMPGenc对应或接近的版本(如容易找到的2.52版本)进行编码后,再用pss plex即可变回pss格式即可覆盖回去(记得补00)
4. 注意事项
1.游戏字库为512x512 4bpp双层,每个字20x20,因此实际上只有约1000字可供修改
2.部分字库图片与文本在同一个LINK包裹内,请先替换字库的LINK,然后再直接将MSG1/0替换回ISO
-----
2026/8/17修改:现已找到部分主菜单文本位置,应该是提取MSG1文本的脚本出现问题,正重新编写
2026/8/18修改:找不到主菜单等文本的原因证实:MSG1标识[有时候是MSG0,压缩算法等与MSG1完全一致,但是无法使用Game Extractor提取,所以最好自编程序提取
« 上一页 (第139页 共6293页) 下一页 »
* (2) *
评论: (1)
* 日记 | Syameimaru Aya | PS2游戏《罗马之影》汉化工作完整记录
官方QQ群-310379632
© DCMS-Social