实在抱歉,又是很长时间没上论坛了。最近的时间实在是太紧张了,很难找出整块的时间完善咱们这个工具了,只能一点一点的改动。& P7 P1 L5 R0 D% g7 a
关于一个BF包中存在两个或者两个以上BIN文件的问题,我已经解决了,现在再打包的时候可以和原来的BF文件一模一样了。
8 y* V! s, D8 O4 d关于资源提取汉化写入的问题,我前一段时间按照007的要求改了,就是可以实现文字的左对齐、居中或者右对齐,也就是在文字的哪边补空格的问题。搜索和替换功能也已经实现了。另外,原来采用的是ACCESS的数据库,时间长了文件会变大,速度也偏慢。我改成了SQLITE数据库,文件小,速度快。可是某一次在单位和家里之间同步的时候不小心用旧程序给覆盖了。我如果有时间就把这里补一下。
: M$ V2 K! d/ W1 D按照kods的要求,补00应该是可以。但是这样会存在一个问题,就是汉化以后的文件再次提取的时候,这个句子的长度就变成汉化以后的,而不是原来的长度了。这是一个麻烦事。因为不见得汉化一次就能成功的。那程序的结构就需要变动,需要在数据库中保存原始的信息,这样才不会被后来的提取覆盖掉。让我再好好想一想。
1 ^! p; _$ }% n0 }& V7 R另外,需要各位帮个忙做一个测试,在需要汉化的BIN文件中,找两个资源测试。比如,在屏幕上显示的是"New Game"和"Load Game"这两行。用16进制工具打开BIN文件,这两行文字之间应该是三个(或者多个也无所谓)00分隔的。我需要大家帮忙测试的就是将这两行
# }& N/ E0 _& S0 dNew Game (00 00 00)Load Game
5 E) q& f# v+ w8 E" `7 {改成
4 |- ~5 H9 q* f3 |2 G5 L: M" g; vNew (00 00 00)Game Load Game
; }' ^( G. T, S: ?其中括号内的标识16进制代码
% U; v$ t5 Y9 o) g7 m这样,修改后的长度与原来的长度是相同的,然后再写入到BF包,去游戏中测试一下是不是显示的"New "和"Game Load Game",如果是,那么我们就可以实现汉化以后的长度大于原长度(前提是全部汉化后的整体长度小于或者等于原长度,这个应该没问题)。因为我这里游戏运行不起来,所以没法测试,只能拜托大家了。 |