设为首页收藏本站官方微博

汉化资料 惊恐鬼屋Scratches初步汉化分析

[复制链接]
查看: 3641|回复: 2
打印 上一主题 下一主题

[汉化资料] 惊恐鬼屋Scratches初步汉化分析

跳转到指定楼层
楼主
发表于 2009-12-23 13:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

惊恐鬼屋Scratches初步汉化分析

看了一下惊恐鬼屋Scratches这个游戏。
/ h7 o9 k) ?0 w. U包文件有2个,scratches.res和scream.res,, v3 C0 n9 X, z+ x3 j0 v+ C2 F
包文件的格式如下,可以用Game Extractor来解开。
' U  f! o# S- |5 z: H  Ohttp://wiki.xentax.com/index.php/Scratches_RES& B1 S4 \- ~5 s9 E7 v6 l
从scratches.res里面解出一个font-michael.tga文件,就是在游戏利用的字体。
9 I' w' `9 I8 k. Tscream.res里面也有一个字体文件,但是游戏好像没有用到。6 l2 |# S% X+ n3 W  r

1 O( \3 B& w% U; e# i) q6 y8 K" p用OD调试后,发现这是一个使用opengl API的游戏。
4 r. R9 i% `7 N! N6 f在某句字幕上下了内存断点,断下来之后找到了和显示有关的代码段。
7 d3 B) J3 \  R7 j) k; E3 P9 U0 m4 J% q! W) R- _
0040C5D0  /$  53            push    ebx# y7 z) W5 K& ]" `. P9 Q( s
0040C5D1  |.  51            push    ecx$ x8 O1 W0 o) [: |
0040C5D2  |.  52            push    edx
& D6 Q0 T+ G/ p) u( ^0040C5D3  |.  56            push    esi
7 c9 D1 h/ L( L" T# C8 [0040C5D4  |.  57            push    edi5 i! h* u$ T5 A: b' c
0040C5D5  |.  55            push    ebp8 w8 T6 m7 J6 x0 t$ R
0040C5D6  |.  81EC 10010000 sub     esp, 110' A  `' [" @% b# B% P
0040C5DC  |.  89C6          mov     esi, eax
$ c" y. @% O# E/ N0040C5DE  |.  89C7          mov     edi, eax7 N; ~+ ?: K2 U+ z/ Y" U
0040C5E0  |.  29C9          sub     ecx, ecx2 D" ~( q3 i3 d0 _& U. j7 t- J
0040C5E2  |.  49            dec     ecx* r* @$ e9 b8 Y2 O
0040C5E3  |.  31C0          xor     eax, eax4 a) A* ~$ P! y2 g" `2 }  q: `
0040C5E5  |.  F2:AE         repne   scas byte ptr es:[edi]
! Z9 S1 j3 H" D4 y! L! T9 ?! f0040C5E7  |.  F7D1          not     ecx
) Y) j* z7 g$ W$ _0040C5E9  |.  49            dec     ecx
! D' Z/ B7 `" q' {, @' w, [6 Y0040C5EA  |.  31DB          xor     ebx, ebx
, z* I' ?* W# [0040C5EC  |.  31ED          xor     ebp, ebp
0 W1 p" ]. d5 L, S8 g5 m8 ~0040C5EE  |.  81F9 00010000 cmp     ecx, 100, w: K. }* @2 R' q% |4 i
0040C5F4  |.  72 0D         jb      short 0040C603! [+ v  t, Y8 c
0040C5F6  |.  81C4 10010000 add     esp, 110
3 B! O6 b: F4 V, {  V) D9 O  z6 U0040C5FC  |.  5D            pop     ebp% m  ?3 Q. Y; k, X, y* @
0040C5FD  |.  5F            pop     edi
/ w) s7 T; U2 v$ d- o/ F/ X/ w0040C5FE  |.  5E            pop     esi/ S( I) Y( v5 h0 L: L% v: d- M
0040C5FF  |.  5A            pop     edx
' S5 m6 G9 A' T0040C600  |.  59            pop     ecx+ t( ^( o0 ]+ |3 Q  B4 Q
0040C601  |.  5B            pop     ebx. u2 P3 o2 l& o' ^# d
0040C602  |.  C3            retn
4 K) k: Z1 @) T$ k/ M' r0040C603  |>  89E7          mov     edi, esp+ n, ^1 W$ k1 y, u. V+ V. }; x
0040C605  |.  57            push    edi& G# }+ k% t" N2 e" b
0040C606  |>  8A06          /mov     al, byte ptr [esi]
* t: v( T" P3 `8 V0040C608  |.  8807          |mov     byte ptr [edi], al
! D8 C2 N7 _/ O9 d* ^) i0040C60A  |.  3C 00         |cmp     al, 06 X5 v% E. y8 k2 {( k3 f
0040C60C  |.  74 10         |je      short 0040C61E. c, T( ^9 E" }
0040C60E  |.  8A46 01       |mov     al, byte ptr [esi+1]$ d. p0 k( n- n8 L1 F1 R
0040C611  |.  83C6 02       |add     esi, 2
; k% b& [) `" S! X0040C614  |.  8847 01       |mov     byte ptr [edi+1], al
. K: T3 s: ^0 A0040C617  |.  83C7 02       |add     edi, 2
+ R& V4 d+ f  K6 Z+ ]0040C61A  |.  3C 00         |cmp     al, 0( a& f4 y: Q: e5 l. B: o& v
0040C61C  |.^ 75 E8         \jnz     short 0040C606; m! @! E1 a8 [; o4 t9 d/ p
0040C61E  |>  5F            pop     edi
: J( Q( ^* E% B4 f3 Z0040C61F  |.  8A1424        mov     dl, byte ptr [esp]# u- I8 V+ L; n: [
0040C622  |.  89E0          mov     eax, esp/ V1 D9 k6 H5 @: U7 C0 `
0040C624  |.  84D2          test    dl, dl1 m8 [! b0 [' m- x
0040C626  |.  74 09         je      short 0040C631& ]: Q7 M6 F) j, k8 I  R. J
0040C628  |>  8A70 01       /mov     dh, byte ptr [eax+1]* A1 z/ M& ]: c3 T" Y% O, Z7 ~4 b  Q
0040C62B  |.  40            |inc     eax
* t5 w3 ~8 G# r( J. k: V: m) f0040C62C  |.  45            |inc     ebp8 i3 d& Z( {. H# S% l5 M
0040C62D  |.  84F6          |test    dh, dh
+ {- l, c3 V. h2 }! b- r8 R0040C62F  |.^ 75 F7         \jnz     short 0040C628; M. P5 W5 X1 A) b
0040C631  |>  81FD D2000000 cmp     ebp, 0D2
  R( k0 i( [) {0040C637  |.  0F8E 61010000 jle     0040C79E
; {9 T# J  d) ]5 q0040C63D  |.  89EA          mov     edx, ebp* Z1 Z" r  ^1 a$ o0 G
0040C63F  |.  89E8          mov     eax, ebp
: s! u4 m6 B, A- _) s0 C" U. U, e0040C641  |.  C1FA 1F       sar     edx, 1F
' n& m+ ^" N- ]; n0040C644  |.  C1E2 02       shl     edx, 2
) v) Y4 Z% }$ F. h, }3 u0040C647  |.  1BC2          sbb     eax, edx
. j' ~. g! Q; q, k, ^$ U0040C649  |.  C1F8 02       sar     eax, 2( s2 b( T. H' z* t3 _1 V
0040C64C  |.  89C7          mov     edi, eax
+ j" U' w2 V3 r7 ]9 Q- \: w0040C64E  |.  C78424 040100>mov     dword ptr [esp+104], 3
9 p1 [0 N, k% L0 X3 ~0040C659  |>  89E0          mov     eax, esp
7 \2 D3 Z+ N' |0040C65B  |.  31D2          xor     edx, edx
! t& K( `# Z9 X3 q0040C65D  |.  8A0C24        mov     cl, byte ptr [esp]
8 d) x+ G* d4 |" E0040C660  |.  8915 8477EF02 mov     dword ptr [2EF7784], edx$ {( G9 W5 U5 i6 ?6 k
0040C666  |.  8915 8C77EF02 mov     dword ptr [2EF778C], edx# Q4 H1 a, i/ v! k, {
0040C66C  |.  899424 080100>mov     dword ptr [esp+108], edx
, P% z0 `* G+ e* T+ Y: I3 j0040C673  |.  89E2          mov     edx, esp) y9 e/ p/ w. G8 W' M0 f7 U
0040C675  |.  84C9          test    cl, cl7 ?0 Q/ E* I7 z4 \9 c
0040C677  |.  0F84 89000000 je      0040C706! F2 o7 M5 q0 P) O9 I
0040C67D  |.  8B8C24 040100>mov     ecx, dword ptr [esp+104]
) C7 ^, e7 H# K  \: L0040C684  |.  4F            dec     edi3 n, x- Q$ G) J$ [3 O
0040C685  |.  C1E1 02       shl     ecx, 2
: x8 Q5 D8 d3 b0040C688  |.  89BC24 000100>mov     dword ptr [esp+100], edi3 [) g8 j0 Q' @
0040C68F  |.  898C24 0C0100>mov     dword ptr [esp+10C], ecx
  z& v4 d% E9 {; P, P# h6 Z& o0040C696  |>  8A0A          mov     cl, byte ptr [edx]
5 y3 G; @- P) J$ P0040C698  |.  80F9 20       cmp     cl, 20( t8 |+ L+ a) b1 W. g5 b4 R. s0 W
0040C69B  |.  0F85 6A010000 jnz     0040C80B
" D0 L" E) V) s, ?: f% z9 q0 H0040C6A1  |.  3B9C24 000100>cmp     ebx, dword ptr [esp+100]% M1 v, f( a& N6 n# b# G/ X  E5 X8 s4 d
0040C6A8  |.  7C 53         jl      short 0040C6FD$ ]" ?- @! k) \4 O" W
0040C6AA  |.  8BBC24 0C0100>mov     edi, dword ptr [esp+10C]3 F- _* d0 z9 R. k
0040C6B1  |.  C602 00       mov     byte ptr [edx], 03 T# O( P. r! A" B/ |
0040C6B4  |.  89C6          mov     esi, eax
& ~0 {# q' m% ]0 ^) P! O, ~0040C6B6  |.  8BBF 7477EF02 mov     edi, dword ptr [edi+2EF7774]
/ I% `; `& u$ s/ b$ b0040C6BC  |.  31DB          xor     ebx, ebx! m7 X& f  j3 h  h5 a
0040C6BE  |.  57            push    edi
4 F0 o! D8 z5 x' N) a3 b! D4 N0040C6BF  |>  8A06          /mov     al, byte ptr [esi]% N+ L( G6 B/ |  y; q
0040C6C1  |.  8807          |mov     byte ptr [edi], al% x3 H6 C4 u/ Z! E' j- R9 F
0040C6C3  |.  3C 00         |cmp     al, 0, |7 G# l$ X+ K) D! O; F
0040C6C5  |.  74 10         |je      short 0040C6D7+ |2 M( |4 F9 V4 Q6 M
0040C6C7  |.  8A46 01       |mov     al, byte ptr [esi+1]( E1 x" `9 d- G! I
0040C6CA  |.  83C6 02       |add     esi, 2
( F8 ?( [2 M& c. V% h2 I- h0040C6CD  |.  8847 01       |mov     byte ptr [edi+1], al/ m8 ^+ B- V: R4 s1 L; `
0040C6D0  |.  83C7 02       |add     edi, 2
, W7 _- K) L# M" J/ \0040C6D3  |.  3C 00         |cmp     al, 06 b* Y$ x" {2 k. _( n* C, B9 x# |
0040C6D5  |.^ 75 E8         \jnz     short 0040C6BF6 e2 d. i0 B8 L4 j) |
0040C6D7  |>  5F            pop     edi% q5 H9 P4 g9 Y& q) k$ ?
0040C6D8  |.  8D42 01       lea     eax, dword ptr [edx+1]& z. N" v6 r% ?; v
0040C6DB  |.  8BBC24 0C0100>mov     edi, dword ptr [esp+10C]" R: q9 a" ~; @6 E* l: ~$ m& H
0040C6E2  |.  8B9424 080100>mov     edx, dword ptr [esp+108]( B, C* w. m& E$ g) Q; S) P  F/ f; A
0040C6E9  |.  83EF 04       sub     edi, 4
' h8 L* k6 k, c. K% W2 q% d, v0040C6EC  |.  42            inc     edx
2 V: S: p+ R6 L2 W& Q% v, [+ [0040C6ED  |.  89BC24 0C0100>mov     dword ptr [esp+10C], edi
# @. g: R) l) J$ \% F' L9 R8 ~0 k0040C6F4  |.  899424 080100>mov     dword ptr [esp+108], edx6 G; f+ m/ v! J: j2 e# M  S
0040C6FB  |.  89C2          mov     edx, eax
, E6 e/ F4 t" _; Q& ]7 u* M0040C6FD  |>  43            inc     ebx
$ z, @8 [+ c; w0040C6FE  |.  8A6A 01       mov     ch, byte ptr [edx+1]' {. D1 c; a, k9 A2 a* d
0040C701  |.  42            inc     edx* _, j/ D" C* j- r0 @
0040C702  |.  84ED          test    ch, ch' ?) a$ W, E; i8 o& {! P8 _- [  ~
0040C704  |.^ 75 90         jnz     short 0040C696' a* U) u2 p7 m( n( R
0040C706  |>  83FD 10       cmp     ebp, 100 `3 \3 B( v/ y* }% b4 B0 Y
0040C709  |.  7F 05         jg      short 0040C710  N: N9 f$ ?7 Y( _: x
0040C70B  |.  BD 20000000   mov     ebp, 20
& B* f; F0 ]* N7 `( F0040C710  |>  8B9424 040100>mov     edx, dword ptr [esp+104]( n) V8 x& }, `
0040C717  |.  2B9424 080100>sub     edx, dword ptr [esp+108]
! @  Y9 ^/ X0 k9 e$ T: g) K0040C71E  |.  85D2          test    edx, edx9 W# d, l5 |( j& C9 Q# s
0040C720  |.  7C 23         jl      short 0040C745
, [: H3 Y- F, o& Z0040C722  |.  89C6          mov     esi, eax: p% b1 m4 X' m; p3 k% O
0040C724  |.  8B3C95 7477EF>mov     edi, dword ptr [edx*4+2EF7774]
3 ^3 [1 I9 ~3 ?  r  V0040C72B  |.  57            push    edi2 K/ g# `: g9 ~- o
0040C72C  |>  8A06          /mov     al, byte ptr [esi]9 b+ A4 s* n+ u/ \# s. a  A; ?
0040C72E  |.  8807          |mov     byte ptr [edi], al( D: A9 I5 ~: {0 n6 Z
0040C730  |.  3C 00         |cmp     al, 0
$ V6 z) z3 F5 {: x' J' K# q0040C732  |.  74 10         |je      short 0040C744
  o* U/ n) B4 E0040C734  |.  8A46 01       |mov     al, byte ptr [esi+1]- y1 m( N. f$ v
0040C737  |.  83C6 02       |add     esi, 2
+ P4 {8 r/ v8 A0040C73A  |.  8847 01       |mov     byte ptr [edi+1], al* ]/ D) H% i. J8 E0 V) u7 H- D
0040C73D  |.  83C7 02       |add     edi, 2, e- @3 @* e/ m4 a# j# v# e
0040C740  |.  3C 00         |cmp     al, 0
2 l5 ~% P  f7 t! l' s) f6 ~3 R0040C742  |.^ 75 E8         \jnz     short 0040C72C; e3 [2 Q( e* n3 u" A0 U
0040C744  |>  5F            pop     edi
! N# I5 K2 d9 Y0040C745  |>  E8 E6500100   call    00421830
* C/ F9 [4 S( c/ {, M# u! ]" F1 `0040C74A  |.  A3 8877EF02   mov     dword ptr [2EF7788], eax
; K8 N0 _8 t$ Q' e8 k. h, @0040C74F  |.  8B8424 040100>mov     eax, dword ptr [esp+104]
7 T& Z  V1 B- s0 }/ f( C: K+ |0040C756  |.  40            inc     eax
8 B* q$ s) \5 W9 y; B9 @/ N0040C757  |.  A3 8477EF02   mov     dword ptr [2EF7784], eax4 ?6 H: y1 b$ d+ A
0040C75C  |.  C705 8C77EF02>mov     dword ptr [2EF778C], 1
& j7 l& \) M) s" U6 w" `0040C766  |.  B8 64000000   mov     eax, 642 @  |4 G$ ]( t! U
0040C76B  |.  89C2          mov     edx, eax
; k+ }5 M0 r* f) w' m( K, Z; N0040C76D  |.  8B0D E880EF02 mov     ecx, dword ptr [2EF80E8]
5 _. k5 v7 |$ S9 C1 N0040C773  |.  C1FA 1F       sar     edx, 1F( S% d' R8 p! F
0040C776  |.  F7F9          idiv    ecx
% f' R( T0 K4 Z% Z: ^: c% V, p3 ]* z0040C778  |.  89C3          mov     ebx, eax
" T" ~1 |2 [! v+ C% m( h0040C77A  |.  89EA          mov     edx, ebp% }+ ~- s: j8 \- U
0040C77C  |.  89E8          mov     eax, ebp
1 w* d5 n; O3 F. [  p! `9 T0040C77E  |.  C1FA 1F       sar     edx, 1F" A" H+ |9 o5 j) U
0040C781  |.  C1E2 04       shl     edx, 44 ~' H; ?. Q4 _$ H/ G9 n1 N4 ^8 z
0040C784  |.  1BC2          sbb     eax, edx4 q' }8 i6 F. s0 h# a/ e
0040C786  |.  C1F8 04       sar     eax, 4
& H! x! t" u0 k/ u+ \0040C789  |.  01C3          add     ebx, eax  y, X( r! K4 ~7 ^% q8 u0 t
0040C78B  |.  891D 9077EF02 mov     dword ptr [2EF7790], ebx! J$ S: S- Y/ @: Z0 \* M
0040C791  |.  81C4 10010000 add     esp, 110
' m9 y) {" g8 w$ h* [  [0040C797  |.  5D            pop     ebp; D4 x9 D" q# k( A* E  k% _
0040C798  |.  5F            pop     edi
2 m2 F% V- X1 W8 L+ S% e0040C799  |.  5E            pop     esi* c  G( j" a( J5 M# P8 M8 {
0040C79A  |.  5A            pop     edx
+ f* L& ?' A+ l, q8 r2 I- v0040C79B  |.  59            pop     ecx
( [  u7 G: _( L% c- w# O& A+ o0040C79C  |.  5B            pop     ebx: D3 n9 D4 _5 p. W
0040C79D  |.  C3            retn
4 K1 ^/ e1 F7 T9 _  R0 E0040C79E  |>  81FD 8C000000 cmp     ebp, 8C
# w0 L; I  E" V: T2 @0040C7A4  |.  7C 28         jl      short 0040C7CE
/ Y/ \- A5 o; v( @0040C7A6  |.  81FD D2000000 cmp     ebp, 0D2
5 y; W3 u: i+ R: g0040C7AC  |.  7F 20         jg      short 0040C7CE8 w# L, B; n" l2 j* M; `' D9 H
0040C7AE  |.  B9 03000000   mov     ecx, 3/ _: @. P0 r& f8 N, L& \' V
0040C7B3  |.  89EA          mov     edx, ebp2 a  h  b) R# x3 q
0040C7B5  |.  89E8          mov     eax, ebp
; U6 Z6 ?" D# I. R2 B) u0040C7B7  |.  C1FA 1F       sar     edx, 1F
' h! J- J) G7 ~" }0040C7BA  |.  F7F9          idiv    ecx5 P# A! |9 C! F* i$ P6 N
0040C7BC  |.  C78424 040100>mov     dword ptr [esp+104], 29 h$ D" a& d" X. v
0040C7C7  |.  89C7          mov     edi, eax
$ a. v9 x+ I. L5 t6 v# W9 p3 Z0040C7C9  |.^ E9 8BFEFFFF   jmp     0040C6594 ]& ]6 v; V( U
0040C7CE  |>  83FD 46       cmp     ebp, 46
; k8 |+ c; i5 [0 t, Q' v0040C7D1  |.  7C 25         jl      short 0040C7F8, v; `. @2 e2 m: [6 j6 _" _
0040C7D3  |.  81FD 8C000000 cmp     ebp, 8C: Z, v+ z6 W0 j6 f, }4 I; V
0040C7D9  |.  7F 1D         jg      short 0040C7F8
* l+ _1 V7 z: i$ h/ m" w8 b* l0040C7DB  |.  89EA          mov     edx, ebp: ]" _% Z# ?' g- l  w
0040C7DD  |.  89E8          mov     eax, ebp, G4 |% E0 Q8 X! g6 e
0040C7DF  |.  C1FA 1F       sar     edx, 1F9 |& I9 h4 o5 ], a& S$ I5 Z) h8 X
0040C7E2  |.  2BC2          sub     eax, edx
- j' G) ?& u% l. v0040C7E4  |.  D1F8          sar     eax, 1- q: n" X; e; W$ M/ K' J  n: O9 e. r
0040C7E6  |.  C78424 040100>mov     dword ptr [esp+104], 1
( s9 v, F! B, u0040C7F1  |.  89C7          mov     edi, eax/ J' h# E1 H( ]9 }2 T
0040C7F3  |.^ E9 61FEFFFF   jmp     0040C6594 U- K4 G: u8 x. e) F, K
0040C7F8  |>  31D2          xor     edx, edx
7 P3 m$ ]1 o# ?$ Q. @% U0040C7FA  |.  BF 46000000   mov     edi, 460 w" @, w" N' T" {9 G) u# i
0040C7FF  |.  899424 040100>mov     dword ptr [esp+104], edx
7 W1 ~" C) d+ W: }. ]. B" D% U0040C806  |.^ E9 4EFEFFFF   jmp     0040C659
% L' y- R6 Y- T9 N1 ]+ O# m' b0040C80B  |>  80F9 7C       cmp     cl, 7C
) M/ ]" E( ^1 Y2 W( o0 a0040C80E  |.^ 0F85 E9FEFFFF jnz     0040C6FD' L. _! A9 A. O8 ?( k
0040C814  |.  C602 20       mov     byte ptr [edx], 20
( k, `& u4 N7 }4 Z: P9 Y  k0040C817  \.^ E9 E1FEFFFF   jmp     0040C6FD
5 y; x% A$ J# t; ^- [/ d' I, c( n" W3 S; L7 Q
在scratches.sc和scream.sc里面有lua的脚本,保存有字体文件名。
, C8 L% T7 U1 ~# M% H6 ?1 {估计要汉化就要在上面的代码段下功夫了,以后继续研究。
) q; x6 e4 P5 L3 ~$ _8 |$ U( H8 R1 ]7 P! m2 v2 x/ @+ i
找到2个俄文的补丁,也许对以后研究有用。6 b# O  S* i2 O8 p3 O
http://www.megaupload.com/?d=EZH6X672/ e* _3 a0 [) A
http://rapidshare.com/files/94227080/ScratchesDC.7z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
 楼主| 发表于 2010-9-28 07:54 | 只看该作者
顶上来备用
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2011-4-11 06:48 | 只看该作者
顶上来备用1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表