前一段时间看了一下真神秘岛,发现不多,暂时先把发现的东西写下来。, J. P5 h' @+ A0 f" x; `) r+ I- ^
% M& l* ?% P; ?
游戏的包文件是*.dni,老外早就为我们开发好了解包器Riveal。# U6 e7 K! @( w
http://homepage.mac.com/rshayter/Riveal.html( o0 N% `1 Q6 R
- h" O" Y2 g7 x4 V1 n; f菜单的图片在某一个包中可以找到,应该可以轻松汉化。
2 i5 w" K6 Z6 s) _- C其他要汉化的东西就是为内嵌于游戏中的小窗口动画配上字幕了。! i* V* ~+ b* `3 j7 |! ^8 L2 J: u$ I( B
经研究发现,该游戏是使用ddraw.dll的游戏。
# p+ j4 g, B8 Z; |* H. D$ u: K所以有2个汉化思路。
; r7 W. L9 n; U" Y9 S
' y; u6 L/ | \8 P; m2 \1. 制作一个ddraw.dll的代理DLL,由于动画文件是独立存在的,用HOOK的方法在游戏读取的时候把动画文件ID写入内存共享文件,在代理DLL中读取再输出对应的文本,即可实现汉化。) X" l+ h1 X F) P
2. 使用内挂法,在文件读取动画文件的时候,把surface句柄和动画文件ID传给内挂DLL,在内挂DLL中往surface上写字即可实现汉化。此方法类似疯人院的汉化方法。# ?4 \: p8 r- G+ F
|