冒险解谜游戏中文网 ChinaAVG

标题: 【汉化资料】WME引擎编译后script格式初步分析(试验成功) [打印本页]

作者: shane007    时间: 2009-7-14 23:28
标题: 【汉化资料】WME引擎编译后script格式初步分析(试验成功)
最近在准备制作内嵌于script的WME引擎字幕翻译工具。 ; c: f: x6 Z2 J. m1 M7 i+ S% a5 x$ @
制作工具之前,想把script格式分析一下。
, c: J) L" }% w下面公布目前的发现: + f% M" v9 U& u8 {) a2 _

% l( r& Y' V( f4 W$ d+ I3 f暂时以迷迭香的scenes\TomHouse\scr\mom.script 为例子来说明 5 d6 Q/ N7 S; X- ^& e. g
$ i! K+ \3 p4 x5 Q8 l3 o$ {
1.文件头部1 : s; c+ d, a# w; [
这部分的内容是固定的,共32个字节
( L' W" [+ m4 E9 C1 T2 v  v4 c/ r* u7 c3 j  ~1 h4 H8 }
DEADC0DE
- a8 E# m. ]9 M2 G/ |2 F0 |02010000 3F000000 77150000 8B150000 C3170000 0A180000 0E180000 . M% p/ B" }7 d6 j
4 j2 i: H& M& d* u' O: k
最前面的是软件公司的标记,后面红色的意思不太明确,可能是版本号,3F000000 不知道是个什么数量. 后面蓝色的是5组偏移量,77150000 就是偏移00001577h,这一点测试过是正确的。
' B( A0 ^  ]. k0 \! D/ d& s找到那个偏移量后又是一个结构。 : U. ^, A4 Y8 c6 i9 U
结构如下
' @' j0 n- Z! ~! C6 U. x$ q) \
7 C  t; m+ m+ e; o& ?: f4bytes ------->1个数字N
. f9 }8 N7 J8 ZN*(4+m) bytes---->N组小结构,前面4个字节好像是个偏移量,后面是个字符串,好像是命令或函数。 5 r/ w1 h$ ~) u$ R1 L2 z2 ~
9 F( p1 B0 b/ Q$ _3 L' O/ l0 R
2.文件头部2
$ y: @. K5 e- Q* T" I5 O存放的是这个script文件的相对路径名。 % o7 {# k) `8 t8 u5 ?& H
比如scenes\TomHouse\scr\mom.script,00结尾。 % ~3 L7 b* e$ o4 h0 Q6 g/ r
7 h- `" M% y1 S0 ]+ Z
3.文件头部3
3 |3 j1 G) C  H512个字节,每4个字节1组,好像代表一个什么数字? , z) W4 h7 t5 l* Q! T4 u

6 E0 n5 b" I) W, G) d1 R* r4 ~4.数据部
9 m# T" P% B3 @- {+ a5 g数据部也有一个结构,再不断重复着。可能和尾部的数据也有关。 ( @8 y/ \7 ]7 n& O- h0 G
人物对话的Talk函数就写在这个数据部里面。有待进一步分析。 , o3 W4 o$ j, x

) P0 c0 _1 K9 J9 E9 `5.尾部
+ Y( e8 k5 p- v4 {& q$ Q2 v前面头部的蓝色部分的偏移量都指向尾部。 + G# M0 }' i6 d  x% v

. L" I# i6 q3 @* C" n: K分析到这里暂时已经知道为什么修改中间的字幕时,如果改变字幕字节长度就会出错了。 9 h. q8 {" J3 O; I* D
因为数据部的长度改变以后,头部的偏移量却没变,自然到原来的地方就找不到原来的数据了。
6 ?6 m5 J6 l$ p: s9 S0 |2 I& j2 \* G我们把文件结构分析清楚以后,应该可以做到任意改变字幕的长度。
; ]+ q( ^6 H& s: Q! E  x放上几个样本文件可以供分析用。
% m  v$ F4 ^: `' b, C# v! h  C2 n-----------------------------------------------
) G9 d* u+ N( q* K. M% P2009.7.15 更新
) p. z* K5 r1 {" ^我试验成功了,我在迷迭香的游戏开始的那句话里面加了2个字节。
1 `! r% u( Y3 Y然后把上面的5组偏移量都加上2,比如99 12 00 00 变为9b 12 00 00 ,进入游戏可以正常运行。
& G* m( ?5 d2 d( L附上2个文件,带目录拷贝到游戏根目录就行。 ! P1 V/ [( @2 s, X4 [2 ~: [
深绿可以下载看看,你什么地方改错了?我是用hexworkshop来加上2个字节的。
! `- w1 ~" f, _8 E! x- ~接下去可以着手开发工具了。
6 I7 M2 _% }8 l: T" p! K" v; k6 H3 D% V' u5 [
抓图
& P$ l% G+ r+ _/ y5 J# q, v [attach]13593[/attach]
作者: jimi    时间: 2009-7-15 13:25
我在想可不可以从WME引擎本身入手,比如重新编译什么的
作者: shane007    时间: 2009-7-15 17:07
回楼上,估计不行,因为暂时还没有有那么大能耐的人。; Y5 l3 W4 A6 O* B* l
但是,如果我说的让深绿他们去试验的那个试验能成功的话,估计问题就不大了。
作者: 深绿    时间: 2009-7-15 21:48
呃,很遗憾,试验不成功,这样改动后字幕就无法显示了…
作者: shane007    时间: 2009-7-15 22:33
2009.7.15 更新
作者: 深绿    时间: 2009-7-15 23:10
又试了一次,成功了…
3 i: q7 O: \" z) U真抱歉,看来之前太不仔细了~—。—
作者: shane007    时间: 2009-7-15 23:24
OK。太好了。  v& Q7 s3 |$ b  X/ ]7 P% F: J
文件结构分析到这个程度应该就差不多了。
9 F7 |; p' ~& u我发了个帖子,把编辑工具的设计大致写了一下。7 g/ _" {  w. o9 V* q8 q
你要是有时间能把它编出来就最好了。# O3 x8 C: X+ h! b, b- o4 u; G3 g+ C9 Y
要是没人编的话,周末我自己来编。




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2