诡计对逻辑吧 关注:1,775贴子:7,095

诡计对逻辑 汉化尝试手记

只看楼主收藏回复

首先声明!现在没有一点进度,请大家不要抱有期待ORZ。
——————————————————————————————————————
诡计对逻辑一转眼已经发行了8年半,然而汉化仍然只到第四章——被切断的五“首”,后面的汉化估计是无生之年了ORZ,所以我就有了个自己动手的想法,也不知道这个难度到底怎么样,就凭着有点编程底子就开始尝试了,现在关于PSP游戏汉化有了一丢丢丢丢丢丢丢丢丢丢丢丢丢丢丢丢收获,写在这里与各位喜欢这个游戏的人分享,希望也能帮助志同道合的人(虽然看这个吧的人气是不会有了ORZ)。


IP属地:辽宁1楼2019-02-01 18:57回复

    放个图镇楼,顺便当签名档


    IP属地:辽宁2楼2019-02-01 18:58
    收起回复
      1.文件结构:
      诡计对逻辑的游戏是个iso(一般的PSP游戏也是),iso文件本质是个压缩文件,可以像rar文件一样解压,解压后,可以得到如下的文件(不同的游戏的文件结构可能不同):
      PSP_GAME:游戏内容
      ——USRDIR:
      ————data:
      ——————movie:游戏中的过场时间,文件格式为.pmf
      ——————sharing:文件夹中是每章的dat文件,但并不知道是干什么的
      ——————sound:游戏中的声音文件,文件格式为.sgb
      ——————.bin格式文件*16:每章的数据和人物数据
      ————module:
      ——————jis2ucs.bin:
      ——————cus2jis.bin:游戏语言用?
      ——————libfont.prx:字体?
      ——————libpsmfplayer.prx:播放用插件?
      ——————psmf.prx:插件文件?
      ——SYSDIR:
      ————UPDATE:
      ————BOOT.BIN:游戏启动的核心入口,整个游戏就是从它开始运行起来的
      ————EBOOT.BIN:EBOOT.BIN是BOOT.BIN的一种附属文件
      ————OPNSSMP.BIN:
      ——PARAM.SFO:游戏启动时候需要的一些参数数据
      ——PIC1.PNG:
      ——PIC0.PNG:
      ——ICON0.PNG:游戏开场图片
      ——SND0.AT3:背景音乐
      UMD_DATA.BIN:鬼知道这是什么东西,只有1KB
      ——————————————————————————————————————————
      PSP游戏中的视频文件是pmf格式的,音频是AT3格式的,声音是sgb格式的,和我们平时使用的文件格式不同,想要播放或修改它们需要专门的软件。


      IP属地:辽宁3楼2019-02-01 19:35
      收起回复
        2.相关软件
        CrystalTile2:十六进制编辑器,由于汉化需要接触到游戏源码,而游戏源码是十六进制显示的,所以这个工具是必要的(默认看帖的人有进制相关知识了23333)
        umdgen::ISO文件打包软件,解压之后需要使用这个软件将文件重新压缩成ISO文件(当然如果是用PC上的模拟器玩的话就不用压缩了,模拟器可以运行文件夹的)
        WQSG:可以将文字从文件中提取中,中间需要使用码表,当然还有压缩啦,控制码等各种问题,后面再详细介绍。


        IP属地:辽宁4楼2019-02-01 19:46
        收起回复
          3.具体文件:
          可以看到3楼中的文件结构中有一个.bin格式文件*16,这些文件如图

          可以看到除了character.bin和common.bin之外,其他的文件都很有规律,一个名字和名字加_A为一章,现在怀疑不带_A的文件是题目,带_A的文件是检验结果对不对的文件,但是具体它们是干嘛的还不确定。
          各章与英文对应表如下:

          第一列是上,第二列是下(诡计对逻辑有两部),我的游戏文件里上半部分多了一章,本来亡灵哈姆雷特应该在下半部分的,不过它在上半部分里也是没汉化的。而在两部中共有的是练习问题:尸体所指和特续:暴走的朱丽叶,不过因为上半部分打不了后面的章节,所以暴走的朱丽叶只能解锁一半。


          IP属地:辽宁5楼2019-02-01 19:55
          收起回复
            4.汉化相关:
            说完了文件结构、相关软件和具体文件后,可以开始说汉化方面我的收获了,不过具体原理性的东西我就不说了,想知道的同学可以在下一层的参考文献中看,我用CrystalTile2打开了NF.bin文件 ,也就是被盗的手办题面部分的文件,编码使用的是S-JIS编码(重要),打开之后可以看到下图。

            可以看到左侧是文件十六进制原码,右侧是在S-JIS编码下得到的本文,图中这段文本可以很明显看到是文件路径,应该是各种资源的位置,而这些资源并不是以单个文件的形式保存的,而是像这种编码的方式保存的,想要提取出来需要用4楼中的软件。

            再看上图,右侧有一些汉字了,但是很零碎,这是因为游戏文件用了某种压缩方式(游戏当然不会啥都不做就把文本放出来啊),并且有的地方使用了各种控制符(控制什么文字可以点击之类的)。由于上述两个原因,文本是无法提取出来的,这就需要游戏汉化的第一步——破解来做了,破解人员需要了解这个文件到底使用了什么压缩方法,控制符是怎么定义的,这样才能把文本提取出来,然后经过翻译人员翻译之后改写源码,压缩,测试,这样汉化就完成了。(自己理解的,不一定对......)
            ORZ虽然说着很简单,但是其实破解很难,我就是上一段中说的那个破解人员,我要知道这个文件到底是怎么压缩的。上面截的两个图都是已经汉化过的章节了,所以显示出来的有一些中文,而如果打开日语章节,里面则文字更杂乱。讲道理这个游戏已经有人汉化过了,所以之前的汉化组应该知道文件是怎么压缩的了,但是因为这个游戏太久远了,不知道汉化组是谁了ORZ,也就无从查起了(希望之情人士可以提供提供情报啊),所以这个任务就只能自己做了ORZ。


            IP属地:辽宁6楼2019-02-01 20:45
            回复
              该楼层疑似违规已被系统折叠 查看此楼


              IP属地:辽宁8楼2019-02-01 20:53
              回复(1)
                以前啃生肉啃到第二季一个神职者被石头砸死的案子啃到一半硬盘坏了一直没往下玩……楼主加油!


                IP属地:天津9楼2019-02-01 23:00
                回复
                  卧槽,顶顶顶


                  IP属地:浙江来自Android客户端10楼2019-02-03 00:34
                  回复
                    2019.2.8:
                    看源文件看到今日,得到了如下的收获。
                    1.代码中偶尔会向其中插入FF/EF/FE/BF/AE/EE/FA/F9/E2/F7/B5等等,可能在文字内,或者在文字间,一开始我怀疑是固定距离插入一个,但是后来看这个怀疑看来是不成立了,因为这个插入的字节可以移动位置,应该只是填充字节用的,中文版和日文版填充的内容是一致的,但是位置有变化)
                    2.有时因为压缩的原因(也许),有时双字节可能会代表两个字。
                    3.每章开头都会由 下面这段开头,然后下面就跟具体章节有关了
                    XX XX 00 00 XX XX 00 00 FA 50 52 43 53 00 08 01 04 01 05 DF 0F 0B 00 05
                    4.因为上半部和下半部都有练习章节,而且正好是一中一日两个语种的,但就算将中文版(上半部)中的编码移到日本版(下半部)中,也不能正确显示,看来如果想汉化下半部还需要改字模?
                    5.今天向一位PSP游戏汉化的前辈讨教了一下,发现汉化游戏根本不是像我这样用十六进制编辑器打开源文件(.bin文件),而是要再次解包,将.bin文件再解包到单个的文件,再对内容进行操作ORZ,看来我太小看游戏汉化了,那位dalao推荐我先尝试一下三国志9,了解一下文件的结构,可能下一步我要去学习一下再返回来进行本游戏的汉化。而且由于本人是学生,过了年可能就要学本职的东西了,可能就不会有进度了ORZ,先告个假了。
                    最后祝看到本帖的人新年快乐!


                    IP属地:辽宁11楼2019-02-08 21:35
                    回复


                      IP属地:浙江来自Android客户端12楼2019-02-20 16:36
                      收起回复
                        没想到啊还有人在做这个,支持一波吧,不管有没有成功,起码试过了。


                        IP属地:广东来自Android客户端13楼2019-03-04 10:37
                        回复
                          想做的话加我qq864223726,我也正在尝试汉化


                          IP属地:河南来自Android客户端14楼2019-03-05 10:51
                          收起回复


                            IP属地:浙江来自Android客户端15楼2019-03-14 14:09
                            回复
                              加油^0^~


                              IP属地:江苏来自Android客户端16楼2019-03-15 23:32
                              回复