YZB |
2024-05-28 20:50 |
前阵子在做土星三国英杰传文本简体补丁的时候看了一下游戏程序,发现游戏内置了一套精简的big5繁体编码,游戏读取文本编码然后从精简的编码表匹配定位该文字在字库中的位置,最后把这个字画出来显示到屏幕上。
所以要想把繁体的文本转成简体文本,第一个方法就是直接用游戏中精简的big5编码表做一个简体的字库出来,然后把简体字库替换进原游戏的繁体字库就可以了。
目前三国英杰传以及上次做的仙剑奇侠传的简体版都是使用的这个方法,优点是针对单个游戏单独修改该游戏使用的繁体字库,另外简体字库的文件大小也不会超出原繁体字库,不用修改原游戏程序,缺点是每个游戏都要做一套相匹配的简体字库。
第二种方法是使用一套完整的简体字库,在游戏定位繁体编码所在字库的位置以后,把该位置改成该字在简体字库的位置,这样屏幕上显示的就是简体文字了。
第二种方法优点是只需要做一套字库就可以匹配相同字库格式的那些繁体游戏了,缺点是只能匹配相同字库格式的繁体游戏,如果字库格式不一样就不能直接使用这套字库方案了,另外因为完整的简体字库较大,所 以 需 要更多的内存空间来存放字库,同时也需要修改原游戏的程序,把繁体字库位置改成简体字库位置。
不过我看了土星繁体中文的游戏也不多,就神秘岛 仙剑 以及三国英杰传 三国志4和三国5,神秘岛没看过,仙剑以及那几个三国游戏理论上应该都可以适用于第二套方案,因为土星的saroo卡目前拥有16M的内存,存放一套简体字库完全不成问题,改天用这个卡做一个三国来试试。
以上只是个人想法,如果有错误的地方欢迎指出,同时也欢迎回帖交流讨论。 |
|