前一段时间看了一下真神秘岛,发现不多,暂时先把发现的东西写下来。
- Q$ Q- Y& y8 \2 V: O- [
2 i( m- n9 b7 z2 o游戏的包文件是*.dni,老外早就为我们开发好了解包器Riveal。2 _# [$ e0 ~2 H0 I, A9 D {3 u) v
http://homepage.mac.com/rshayter/Riveal.html$ |9 b4 r& F* k0 z
* P+ c9 V9 ~" j; x" d t6 n. z菜单的图片在某一个包中可以找到,应该可以轻松汉化。
3 g+ A* Q1 F* V6 `7 n4 ?其他要汉化的东西就是为内嵌于游戏中的小窗口动画配上字幕了。- E* \ f B( E; x# s
经研究发现,该游戏是使用ddraw.dll的游戏。6 I. t2 D9 Q. n. M3 b) _2 G
所以有2个汉化思路。" d; \, ~) \5 x" Z0 l' {2 \
3 X9 Q- `: d- U: k! a: w1 S1. 制作一个ddraw.dll的代理DLL,由于动画文件是独立存在的,用HOOK的方法在游戏读取的时候把动画文件ID写入内存共享文件,在代理DLL中读取再输出对应的文本,即可实现汉化。 i) c3 Z' @1 Z- f4 W
2. 使用内挂法,在文件读取动画文件的时候,把surface句柄和动画文件ID传给内挂DLL,在内挂DLL中往surface上写字即可实现汉化。此方法类似疯人院的汉化方法。/ F$ a) ?' @3 E: V; T: R
|