闪之轨迹汉化设置

贡献者: 桂方胜

闪之轨迹汉化设置,你一看全明白了!

1一旦解压成功,你会在闪轨的游戏文件里发现一个名为“data.psarc”的好东西,这就是闪轨的资源文件包。

2data.psarc的解包*.psarc是在PS3上常见的一个通用打包格式,其目的是为了防止零散文件造成的读取和存储效率低下的问题。使用PSARC-Tools就能很轻易的完成对他的拆包操作,相关程式网上各种分布。解包完毕后你就会看到我大闪轨的真身了。

3pkg的解包通过第二步解包粗来的尽是些奇葩的pkg,显然我们无法直接调戏这些文件。就凭法老控的尿性,比如scena.pkg里那必须有我们想要的妹子……呃……文本了。那么这个pkg需要如何解包呢?按照汉化碧轨的经验,把pkg拖到UE或者WinHex里一看就明白了。有人会很兴奋,妈蛋你看这不就是明文么?呵呵呵呵呵,如果我没猜错的话,这应是falcom自己脑洞大开想出来的一个格式吧……

4是这样那就糟了,falcom那帮欲求不满的程序员会用各种呵呵的创意给下暗桩,看起来简单实际上……唉想起来都是泪……略懂霓虹语的同志应该明白,这里的明文是不完整的,其间似乎被“过滤”了什么?

5回到pkg文件的开头,我们发现这里依照某种方式排列着这个文件包中保存的文件信息。

6这里先给大家分析一下头部索引的含义。pkg文件最开始的4个字节对我们的解包没用,无需关心。后四个字节表示的是文件包中文件的个数(采用低位在前高位在后的保存方式)。比如scena.pkg,说明了里头保存有0x00000142个(十进制=322个)的文件

7之后的0x0142*0x50的区间就是文件索引的保存区域了,正如这里提到的一样,每个文件用了0x50个字节来进行记录。我们把这0x50个字节成为文件索引(划线部分),其含义如下:蓝色部分(64字节)表示文件名,ASCII码哦。红线部分(4字节)表示这个文件的真实大小,单位是字节。黄线部分(4字节)表示这个文件在包中的大小,单位是字节。绿色部分(4字节)表示这个文件在pkg包中的起始偏移地址。黑色部分(4字节)表示压缩类型。压缩类型下面会具体说明。

8里的压缩类型目测是有三种:00 00 00 00,这种称为未压缩类型,也就是文件的确是以明文方式保存在pkg中,直接提取即可。01 00 00 00,这种被我称为F*ckFalcom压缩标记,表示文件经过了F*ckFalcom的算法压缩。03 00 00 00,这种被我称为F*ckFalcomEx压缩标记,表示文件经过了F*ckFalcom的算法压缩,并在头部放置了意味不明的4个字节(做校验?)。F*ckFalcom压缩算法如下:头部有11个字节被定义成了压缩参数。前4个字节是解压后大小,单位字节;后4个字节是压缩体大小,单位字节;最后3个字节是压缩指针预定义。处理完毕压缩参数后,解压过程开始读取压缩体,以流的形式“排列”在内存中。解压过程从头依次遍历数据流,当读取到的字节与上面提到的压缩指针预定义的第一个字节相同时,继续读取后两个字节(我们这里按顺序定义这两个字节为ROLLBACK/COPY),并启动解码子过程,否则原样输出到输出流中。解码子过程会将输出流末尾往前ROLLBACK字节处复制COPY个字节的内容直接输出。如此反复,直到文件处理完毕。简单编写代码后,得以顺利解压所有pkg文件:

9现在,我们已经能完全弄到文本进行汉化了。

1 2 3 4 5