前一段时间看了一下真神秘岛,发现不多,暂时先把发现的东西写下来。
8 h# y( |7 [/ S9 H3 ?$ @1 u1 J7 S9 @/ m; ?$ B
游戏的包文件是*.dni,老外早就为我们开发好了解包器Riveal。- w3 t8 |3 k( z& V; y
http://homepage.mac.com/rshayter/Riveal.html
2 b1 f0 V! }( t0 O0 o7 L$ @5 n4 v& S5 K& @, g/ G5 `6 w$ C
菜单的图片在某一个包中可以找到,应该可以轻松汉化。
4 C, Y0 J C5 }其他要汉化的东西就是为内嵌于游戏中的小窗口动画配上字幕了。
; D- _$ J' o0 r o: O0 C经研究发现,该游戏是使用ddraw.dll的游戏。5 i1 I- k: V. ~4 J
所以有2个汉化思路。# a4 y9 A4 U" j: Z* Y0 R4 ?5 t( ^
9 E" g0 F* }3 |" O. t& O$ L1. 制作一个ddraw.dll的代理DLL,由于动画文件是独立存在的,用HOOK的方法在游戏读取的时候把动画文件ID写入内存共享文件,在代理DLL中读取再输出对应的文本,即可实现汉化。
3 k' L! Y. @, z7 r2. 使用内挂法,在文件读取动画文件的时候,把surface句柄和动画文件ID传给内挂DLL,在内挂DLL中往surface上写字即可实现汉化。此方法类似疯人院的汉化方法。! G: P4 n; E/ i
|