前一段时间看了一下真神秘岛,发现不多,暂时先把发现的东西写下来。
4 s0 R7 q; y- h2 N# \% `# I4 e5 q+ d) ^
游戏的包文件是*.dni,老外早就为我们开发好了解包器Riveal。
- T1 L0 E- h% J: e, W ^http://homepage.mac.com/rshayter/Riveal.html
5 F+ r" i, c) M/ K, N$ y& [9 Y, _; E9 ~; s9 ?
菜单的图片在某一个包中可以找到,应该可以轻松汉化。$ N5 h) T% r: C2 i" i x) ?. z; W
其他要汉化的东西就是为内嵌于游戏中的小窗口动画配上字幕了。7 @" Y" x! c3 H6 r b
经研究发现,该游戏是使用ddraw.dll的游戏。
6 S* R* Y/ K$ N: O0 W& d所以有2个汉化思路。: i! H7 ]: y1 l4 u/ O4 `7 F! s
E2 U2 U, M( v+ G7 v5 y8 ^7 V1. 制作一个ddraw.dll的代理DLL,由于动画文件是独立存在的,用HOOK的方法在游戏读取的时候把动画文件ID写入内存共享文件,在代理DLL中读取再输出对应的文本,即可实现汉化。
# z8 {+ w+ }- r# H7 l+ D+ I+ [. S2. 使用内挂法,在文件读取动画文件的时候,把surface句柄和动画文件ID传给内挂DLL,在内挂DLL中往surface上写字即可实现汉化。此方法类似疯人院的汉化方法。
3 V) n& u2 q# W |