最近无聊做了一个同级生2 PC98 简体中文版,效果还不错,具体内容和下载地址见我博客
http://littlepick.blog.sohu.com/
改论坛无法上传附件,也无法贴图(本地贴图),很不方便啊!
新下载地址:
http://d.namipan.com/d/9bbbe361e6c8b05449847bce520041454252f849489ae000
1. 解决存档问题了,字库不是通用字库,仍然是我自己做的,请大家测试,有bug回复之。。。
2. 缺字问题虽然目前还没有解决,但是只是时间问题,大家等吧,哈哈。
3. 用通用字库导入我试过一部分,可行的,但是会有一些小bug无法解决,再加上一个人做,工作量有点大,所以放弃了!
-------------------------------
上次漏了两个文件没有覆盖,所以还会有一个场景不能存档,下载下面的文件,将bin/Debug/mes文件夹下的mes文件复制覆盖游戏中的文件即可
源代码及其他现在地址:
http://d.namipan.com/d/eace2015d666706920092eea07cff42ca90cbd525aa2c400
上述我是用vs2008 visual basic写的
mesDecode 可以提取mes中的文字,有些bug还没修复,详细见Func.vb,提取替换的代码都在这里
LineMatch 比对日版和中版的文字(删除没有用的垃圾)
大家研究吧,哈哈,我没精力啦。
谁有精力研究,非常欢迎新建个帖子继续改进,直到最最完美的版本发布
关于mes的格式:
每一个mes文件的开头都有一段文字,头两个字节表示这段文字的长度,比如 02 01 就指这段文字有 0x0102 个字节。之后,只要用到这些字,就直接索引这些字(按顺序索引),比如下面
02 01 E3 6F E3 40 E2 9F E1 4B ...
E3 6F表示一个文字,它的索引是(0 + 0x80);E3 40的索引是(1 + 0x80);E2 9F这个文字索引是(2 + 0x80),以此类推。。。
但是开头这段文字的长度最大只能是0x0102字节,也就是只能有(0x0102 - 0x2)/2=128个文字,所以还会有很多文字没有被包括,那么这些文字就不用上述索引表示(索引只需要一个字节),而是直接用双字节表示,只是将高位字节减去0x20,举个例子:
DC 13 30 03 DD 6B 97 73 A4 EB E9 ...
DC通过索引,表示文字:【
DD通过索引,表示文字:】
13 30 03 是主角的名字,是我们一开始设置的名字
那么之后 6B 97 73 A4 EB E9 中哪些是索引的,哪些是直接表示的呢?判断很简单,逐字节判断,如果大于等于0x80,那么该字节为索引的,可以直接索引到一个文字;如果小于0x80,而下一个字节又是在0x40~0xFF区间,那么这两个字节是直接表示一个文字,只要将高位字节加0x20偏移量,就是文字的编码。 6B 97 73 A4 EB E9 的分析应该是四个字:
6B 97 73 A4 EB E9
pc98日版的编码表见bin/Debug/jp.tbl;中版的编码表见bin/Debug/cn.tbl
[
本帖最后由 waxixixi 于 2009-9-26 14:53 编辑 ]