最あい扬扬吧 关注:15贴子:1,023

PS2游戏汗化教程

只看楼主收藏回复

http://jing.gbq.cn/data/oz01/tools.rar

工具


1楼2006-10-29 23:15回复
    软件列表:

    16进制查看:UltraEdit、winhex、Translhextion 

    PS2媒体转换:cubemedia2、pssplex 

    镜像修改:CD_DVD.Generator、apache、gd3-iml2iso 

    文本导入导出:CrystalScript、菜鸟工具 

    文本其他:TextPro、菜の数 

    字库修改:CrystalTile 

    码表:Shift-JIS_h(双字节)、ASCII(单字节)、Shift-JIS(B)(单双字节) 

    DLL:comdlg32.dll、MFC71.dll、MFC71u.dll、msvcr71.dll、Richtx32.ocx


    2楼2006-10-29 23:16
    回复
      2025-08-28 05:32:41
      广告
      不感兴趣
      开通SVIP免广告
      布局


      3楼2006-10-29 23:20
      回复
        除了CrystalTile和CrystalScript以外

        其他的全都是ANSI

        遇到需要转换编码的地方我就不提示了



        游戏显示文字的原理:

        在游戏中
        不可能每句话都单独做成图片
        一般都会有一张图片用来包含全部所要使用的文字
        这个图片我们称作“字库”
        字库中每一个含有单个文字的小部分都会被赋予一个“代号”
        一般都是一个双字节16进制数
        所有文字的“代号”集合
        我们称之为“氡怼?游戏中的某句话储存为文件的时候
        实际上只是储存文字的“代号”序列,也就是文本
        例如:在游戏中要显示“我是谁”这三个字
        假如在字库中“我”这个字在字库中的“代号”是0001、“是”0002、“谁”0003
        那么这句话储存为文件的时候是这样:0001 0002 0003(实际上应该是0100 0200 0300,不过本文并不涉及到这方面)


        汉化PS2游戏的特点:

        由于PS2硬件资料严重不足
        模拟器基本上不能用
        因此不能查看内存
        不能……
        也就是说
        只能用最基本的汉化游戏的方法来汉化PS2游戏
        目前大部分PS2游戏都没发汉化
        能汉化的PS2游戏一定是:
        1 使用标准日文编码,也就是SHIFT-JIS
        2 文本没有压缩,用16进制查看软件直接就能看到文本
        3 PS2模拟器能运行到有文字出现的画面,无论速度如何、画面怎样、在这之后怎样

        PS2英文游戏目前没法汉化
        除非它用的也是日文字库
        当然这就不太现实了……

        汉化PS2游戏的原理:

        由于游戏显示出来文字就是文本+对应的字库
        对应关系我们没法改
        但是文本和字库还是有可能修改的
        如果字库改不了
        那就只能用日文汉字来汉化游戏
        如果连文本都没法改
        那就真的没办法汉化了……


        汉化游戏的大概步骤:

        我们先要把文本从游戏文件中提取出来
        一特定的格式在电脑上保存为文本文件
        之后找字库以及判断字库是否能修改
        之后进行翻译
        如果字库改不了
        那么翻译的时候就要避免使用日文汉字中没有的文字
        翻译完毕之后
        直接用导出文本时用的码表将文本导入
        之后测试……

        如果能改
        则要注意别用太过生僻的汉字
        翻译完毕之后
        统计字数
        重新制作码表
        中这个码表修改字库以及文本导入
        之后测试……

        不改字库更容易一些
        不过日文汉字里面没有“你”“他”等常用称谓代词……
        很多字要到用的时候才知道闹心……



        文本修改
        查找文本:

        需要使用16进制查看软件

        常用的主要是这三个:UltraEdit、winhex、Translhextion

        UltraEdit最常用

        Winhex读取文件时可以不完全读取,这一点非常重要,因为PS2游戏中的文件经常上G……,用其他2个的话……那速度实在是慢得让人发狂……,但是此软件有个缺点……使用日文字体的时候会出现一些小问题……

        Translhextion支持自定义码表


        PS2整个游戏绝大部分都超过1G,直接用16进制查看软件挨个文件查看是不可能的,因此我们先要排除一些肯定没文本文件……PS2游戏媒体文件,PSS结尾的一般都是动画,以sound、BGM、mov等命名的文件或者文件夹也基本上都是影音文件,查找文本的时候直接跳过

        以《混沌时代4·新天魔界》开头的记忆卡识别画面为例:
        上图是完全没经过修改的截图


        4楼2006-10-29 23:21
        回复
          下面我们先在游戏中寻找这句文本

          在PS2游戏中

          在根目录下总会有一个文件名是由4个英文字母+下划线+3位数字+.+2位数字这样的文件

          这个文件是PS2游戏的启动文件

          一般叫做elf文件

          例如《混沌时代4·新天魔界》的elf文件名是:SLPM_655.72

          很多PS2游戏都会把和以及卡有关的文本放在这个文件里

          用UltraEdit打开这个文件

          按Ctrl+F出现下面的选项


          5楼2006-10-29 23:22
          回复
            查找93 64 8C B9

            这是日文汉字“电源”的16进制码

            找到所要找的文本之后:


            6楼2006-10-29 23:22
            回复
              注意左边以“h”结尾的数字,

              这个数字就是所选内容在文件中的位置

              在文本导出的时候会用得到

              如果看不到日文

              就选
              “查看”——“设置显示字体”——MS UI Gothic——在“脚本”里面选择日文
              “查看”——“十六进制/列块字体”——MS Gothic——在“脚本”里面选择日文

              我们可以看到含有所需文本的部分是从002a58d0开始,到002a5950结束

              记下这两个数

              之后打开菜鸟汉化工具


              7楼2006-10-29 23:23
              回复
                填入刚才找到的开始和结束地址

                随便打个名称

                选择单双字节ROM

                在“打开ROM”这一项里打开SLPM_655.72(默认会看不到这个文件,这时要在文件类型里面选择“全部文件”)

                码表就用我所提供的相应的码表

                要注意

                “填充字节”那里一定要填写

                我一般填写8140

                也就是在游戏中显示空格

                有兴趣的话大家可以试试看不填写会怎样……

                点击导出文本

                找个地方保存


                打开刚才导出的文本文件

                我们会看到这样一句话:

                2A58E4,117,#Scale[0.8]#Speed[0]#Color[0]メモリーカード(PS2)をチェックしています。#n抜いたり、电源を切ったりしないで下さい。

                2A58E4是文本的开始位置

                117是文本的长度

                后面就是文本的内容

                #Scale[0.8]#Speed[0]#Color[0]也算文本的一部分

                不过很显然它不显示出来

                那么它就是控制符

                后面的#n也是

                控制符具体是干什么的就要对照着游戏截图具体分析了

                一般都是改变颜色、换行之类的作用


                下面我们把“メモリーカード”改为“记忆卡”

                之后保存

                再用菜鸟工具导入文本:

                在“读取译文”中选择刚才保存的文本文件

                其他的和刚才一样

                开始结束地址不同填写

                然后点击“文本导入”

                把导入修改文本之后的SLPM_655.72替换游戏中的原文件(具体方法参考http://www.oz01.com/ps2hard/

                之后测试


                8楼2006-10-29 23:23
                回复
                  2025-08-28 05:26:41
                  广告
                  不感兴趣
                  开通SVIP免广告
                  メモリーカード已经变成记忆卡了

                  如果只是用日文汉字汉化的话

                  看到这里就可以了……



                  字库修改

                  查找字库目前最好的办法应该是用PS2模拟器……可惜我暂时不会……有待继续研究……

                  我一般都是靠运气……

                  不过每个游戏开发小组的习惯总是差不多的

                  最典型的就是IF和GUST

                  这两个公司目前习惯把字库放在elf文件里

                  《混沌时代NEXT》则是单独一个字库文件

                  其他游戏不详

                  查找字库之前我们我们要用PS2模拟器使用软加速插件

                  分辨率固定640*480

                  截一张有文字显示的图

                  注意保存格式必须BMP

                  之后放大图片

                  仔细查看字体大小

                  不过这个办法往往没用

                  有的游戏字库中每个文字的大小和显示出来的大小不同

                  例如PS上的《鬼魂力量·爱与邪恶》

                  在PS2上我还没找到这样的游戏

                  不过估计也会有

                  总之

                  会对查找字库有一定的帮助就是了……

                  由于字库不可能有什么关键字查询……

                  因此往往还是要靠运气……

                  在上百MB甚至上G的文件中寻找完全未知的某张图片……

                  基本上和大海捞针没什么两样……

                  假如我们确定某个文件中一定含有字库

                  那么我们就要使用CrystalTile来修改

                  还是以《混沌时代4·新天魔界》为例

                  我们已经确定它的字库在elf中

                  用CrystalTile打开SLPM_655.72


                  9楼2006-10-29 23:24
                  回复
                    我们会看到一堆绿色小方格

                    这游戏的字体大小我们根据游戏截图判断

                    大概是25*25以内

                    那么在长度宽度分别里填入25

                    之后在“不重组”那里重新选择一次不重组


                    10楼2006-10-29 23:24
                    回复
                      我们发现方格变大了

                      还是一堆绿色小方格……

                      别着急

                      拖动滚动条慢慢往下拉

                      这时候就要考验眼力了…


                      11楼2006-10-29 23:25
                      回复
                        BINGO!文字发现!

                        为了看着方便

                        我把缩放改为1

                        所以方格变小了

                        显而易见

                        字体是斜的

                        原因我也解释不清楚

                        不过无所谓

                        我们只要知道这种现象说明字体大小选的不正确就可以了

                        既然已经能辨认出来字体

                        那么估计大小也已经很接近了

                        试一下24*24


                        12楼2006-10-29 23:25
                        回复
                          BINGO!字体大小正确

                          之后我们按Ctrl+方向键左右来调整文字使其与方格对


                          13楼2006-10-29 23:26
                          回复
                            我们经过观察发现

                            字库的汉字与码表中的汉子都是一一对应的

                            很幸运

                            这游戏除了文本编码以外

                            连字库也是按照标准的SHIFT-JIS编码排列的

                            这使得我们修改字库变得极为简单

                            我个人认为用CrystalTile修改字库是最方便的

                            因为用它我们只需要先选定起始位置

                            之后在Tile编机器里面选好字体并打开一个码表

                            之后会出现什么效果

                            我建议大家自己看……

                            注意字体大小一定要选好……

                            否则就会变成芝麻大小……

                            另外要注意

                            即使是标准SHIFT-JIS的字库

                            有些也有点不同

                            在SHIFT-JIS编码中

                            以7F、FD-3F结尾的双字节编码都没有对应的汉字

                            有些游戏的字库里面去掉了这些码表对应的汉字图片

                            有些还保留7F,或者7F、FD、FE、FF

                            《混沌时代4·新天魔界》就保留了这些空位


                            14楼2006-10-29 23:26
                            回复
                              2025-08-28 05:20:41
                              广告
                              不感兴趣
                              开通SVIP免广告
                              CrystalTile是按照码表挨个往方格里面填汉字

                              不管汉字前面的编码是多少

                              因此一定要注意让码表与字库相对应

                              否则一定会出现汉字错乱的现象

                              下面还是以《混沌时代4·新天魔界》为例

                              我只打算修改从“亚”到“碗”之间的汉字

                              因此在码表里删除在“亚”之前以及在“碗”之后的全部内容

                              现在码表里都是日文汉字

                              大部分都和繁体汉字差不多

                              这时候TextPro就该出场了……使用方法我就不介绍了……一目了然

                              把码表中的汉字转换为简体汉字之后

                              用鼠标点击“亚”这个字所在的方格

                              在Tile编机器里面选择24号字体、楷体加粗

                              之后点击TBL打开刚才改好的码表

                              等待几秒钟……


                              15楼2006-10-29 23:27
                              回复