前一段时间看了一下真神秘岛,发现不多,暂时先把发现的东西写下来。
7 l" ?6 p. ~" {# _1 k# s8 X( P: T8 P) ~
游戏的包文件是*.dni,老外早就为我们开发好了解包器Riveal。6 p3 @0 S" X' Z" Y3 A _' Z
http://homepage.mac.com/rshayter/Riveal.html
3 V- L* T6 j r3 r
: N. v8 _8 I9 V; m菜单的图片在某一个包中可以找到,应该可以轻松汉化。* q; D5 J2 |' x `" w
其他要汉化的东西就是为内嵌于游戏中的小窗口动画配上字幕了。
- q' ^) G5 k+ S+ l" V/ [% r- _经研究发现,该游戏是使用ddraw.dll的游戏。7 o2 a3 ~# _- k. m _2 m. ^' b% d
所以有2个汉化思路。' P: s8 y$ |& c8 f c
7 B( T9 G4 }2 @5 L+ @, b* X" A
1. 制作一个ddraw.dll的代理DLL,由于动画文件是独立存在的,用HOOK的方法在游戏读取的时候把动画文件ID写入内存共享文件,在代理DLL中读取再输出对应的文本,即可实现汉化。
) y' T; m7 f, c( i$ C7 `9 Z2. 使用内挂法,在文件读取动画文件的时候,把surface句柄和动画文件ID传给内挂DLL,在内挂DLL中往surface上写字即可实现汉化。此方法类似疯人院的汉化方法。
4 n# i1 f9 ~+ ?( x |