前一段时间看了一下真神秘岛,发现不多,暂时先把发现的东西写下来。 s @) v: e9 `) }) H
A1 m, V* \6 c
游戏的包文件是*.dni,老外早就为我们开发好了解包器Riveal。: J' \/ p5 `! R0 s
http://homepage.mac.com/rshayter/Riveal.html# `( s. w# |" N+ ~
9 [5 y4 F0 D" u V9 R( r菜单的图片在某一个包中可以找到,应该可以轻松汉化。
0 C4 O, x! c9 G, o2 e4 A其他要汉化的东西就是为内嵌于游戏中的小窗口动画配上字幕了。
7 {( s4 E( f. s% G经研究发现,该游戏是使用ddraw.dll的游戏。
! w! Z; K6 O+ Y# z0 e T所以有2个汉化思路。
, X$ _ `0 K1 c* T$ I4 d) g2 w, c" ~, [2 Z+ P; u' V3 P
1. 制作一个ddraw.dll的代理DLL,由于动画文件是独立存在的,用HOOK的方法在游戏读取的时候把动画文件ID写入内存共享文件,在代理DLL中读取再输出对应的文本,即可实现汉化。4 w" a3 |1 i W0 A' P9 I9 t! [
2. 使用内挂法,在文件读取动画文件的时候,把surface句柄和动画文件ID传给内挂DLL,在内挂DLL中往surface上写字即可实现汉化。此方法类似疯人院的汉化方法。1 }! G$ F( w* T6 E
|