实在抱歉,又是很长时间没上论坛了。最近的时间实在是太紧张了,很难找出整块的时间完善咱们这个工具了,只能一点一点的改动。2 v4 T, U& l" S. _. Y* j
关于一个BF包中存在两个或者两个以上BIN文件的问题,我已经解决了,现在再打包的时候可以和原来的BF文件一模一样了。
0 n7 S8 U$ R$ j8 P( D关于资源提取汉化写入的问题,我前一段时间按照007的要求改了,就是可以实现文字的左对齐、居中或者右对齐,也就是在文字的哪边补空格的问题。搜索和替换功能也已经实现了。另外,原来采用的是ACCESS的数据库,时间长了文件会变大,速度也偏慢。我改成了SQLITE数据库,文件小,速度快。可是某一次在单位和家里之间同步的时候不小心用旧程序给覆盖了。我如果有时间就把这里补一下。
+ h0 Q' {! b, ]4 f- B按照kods的要求,补00应该是可以。但是这样会存在一个问题,就是汉化以后的文件再次提取的时候,这个句子的长度就变成汉化以后的,而不是原来的长度了。这是一个麻烦事。因为不见得汉化一次就能成功的。那程序的结构就需要变动,需要在数据库中保存原始的信息,这样才不会被后来的提取覆盖掉。让我再好好想一想。
! o0 E0 w% ~. }- H另外,需要各位帮个忙做一个测试,在需要汉化的BIN文件中,找两个资源测试。比如,在屏幕上显示的是"New Game"和"Load Game"这两行。用16进制工具打开BIN文件,这两行文字之间应该是三个(或者多个也无所谓)00分隔的。我需要大家帮忙测试的就是将这两行7 F- w* E" k+ _ B: j" E! b8 n, z; H+ D
New Game (00 00 00)Load Game1 L+ c/ F, G3 _7 l' v% @
改成
/ d f4 {' l8 j4 t' F x" @# qNew (00 00 00)Game Load Game
- E7 E" T" g4 {" b o其中括号内的标识16进制代码8 b% t! u Y; O" ~7 u4 U q
这样,修改后的长度与原来的长度是相同的,然后再写入到BF包,去游戏中测试一下是不是显示的"New "和"Game Load Game",如果是,那么我们就可以实现汉化以后的长度大于原长度(前提是全部汉化后的整体长度小于或者等于原长度,这个应该没问题)。因为我这里游戏运行不起来,所以没法测试,只能拜托大家了。 |