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

汉化资料 WinterMute Engine 汉化教程

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

[汉化资料] WinterMute Engine 汉化教程

跳转到指定楼层
楼主
发表于 2014-3-22 22:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

WinterMute Engine 汉化教程

本帖最后由 weiyun 于 2014-3-24 19:11 编辑 . }# b% B6 W& A- U& d  O
3 T2 D. e  E+ _' U6 C
Winter Mute这个引擎是专门用来开发点击式冒险游戏的,下面我来讲一下这个引擎的汉化方法。( A) t, N: B. R: c* M
使用此引擎的游戏比较多,而且汉化非常容易,论坛之前有很多相关资料,但没有完整格式分析等. y" p3 G9 O, o* _* p

/ H/ }; g/ z) n8 C以下是官方主页:http://dead-code.org/home/* x! ?. x4 O; f( h% {" z
注意本引擎是开源的,源码可以在这里查看:
# J. q$ X2 B3 ^5 g0 |+ ohttps://bitbucket.org/MnemonicWME/wme1/
( B" _* D, s: q( p) a
! U+ S* ~8 H: T" S下面开始正文
% w% @' U) i8 j7 ]  w% x6 w
* T5 I! j& r3 h5 M2 A包格式
' h) P8 o5 |" M: I, ]! L/ @游戏的包格式为dcp格式,文件标志是0xDEC0ADDE也就是DEADCODE。
& g/ G* Z  m& T3 j6 s% O$ J% N5 n2 r' l; E2 y) M* \6 s4 z7 ^* z
格式分析:
  1. struct{
    / J, S3 S: z. @9 I* `4 T; T7 z( f
  2.         DWORD Magic1; // 0xDEC0ADDE  DEADCODE
    & q8 i2 t% m( \* D% E0 |% l
  3.         DWORD Magic2;  // 0x4B4E554A          "JUNK"
    ; @! e9 P. w* Q( D
  4.         DWORD PackageVersion; // 0x00000200 包版本
    5 y4 G3 @* R1 `; B9 I8 B* B' ?
  5.         DWORD GameVersion; //游戏版本; [7 }. c8 x/ Y
  6.         BYTE Priority; //优先级
    5 b4 y6 M% Y+ Y  M) L9 ]3 U
  7.         BYTE CD;
    0 d0 d& H0 g# P0 o& m3 v1 @
  8.         bool MasterIndex;/ T+ [, A/ l5 ?5 r
  9.         __time32_t CreationTime;
    ( ~/ G1 v5 z& L0 `( s. m
  10.         char Desc[100]; //包描述0 C6 l7 w' a) O4 A8 c) X" h
  11.         DWORD NumDirs;  //目录数
    9 D* C7 A8 W! h, w6 s7 K" r7 V  v
  12. } PackageHeader;+ O6 d0 v9 k$ d/ `; o2 B/ W
  13. if (PackageHeader.PackageVersion >=0x200), k/ i# ^) n  z) ?. V
  14. DWORD DirOffset //目录偏移量  \; {6 p' v7 R+ [6 M. ~# Q* b
  15. struct Dir{4 z/ }* B$ [. k2 b- p
  16. BYTE NameLength;
    / @0 D) R# [6 B0 X
  17.          char Name [NameLength];   //文件名& ^: S  Z9 S3 @  }! I
  18.          BYTE CD;/ z/ Q* u1 {; D/ I3 h( J
  19.          DWORD NumEntries;//文件数
    1 z% h8 v8 Y# W6 g
  20.      struct Entry{2 F3 k$ q) r- w& x  b' a
  21. BYTE NameLength;
    ; w2 k! ]0 H9 p+ A& p- R
  22.        char Name [NameLength];; G. S! [, q* ]( ~: N
  23.        DWORD Offset; //文件位置
    7 _8 |) H8 Q! a( ^% W. J: u
  24.        DWORD Length;//文件大小( N; ~  M0 T( C0 V+ y! y+ G2 i$ l5 K
  25.            DWORD CompLength;//压缩大小: H* w- R! T1 o/ K
  26.        DWORD Flags;
    5 p* s1 M1 q0 @, w7 d2 j
  27. if (PackageHeader.PackageVersion >=0x200)
    ' |* i, U: M* ~: ^1 W
  28. {      DWORD TimeDate1# f# f$ T0 S" }3 P+ g1 n8 Q: T1 ]
  29.        DWORD TimeDate2        // not used. D0 g6 `& ~( I5 U% ^2 U$ t( C
  30. }
    2 |8 j+ n- T! M
  31. } Entries[NumEntries];
    - b: ?' U6 Y5 O% j, q( W, u
  32. }  Dirs[NumDirs];
复制代码
解包;  v4 F' E% Z0 [
可选解包工具 GOBREAD,UNPAKKE,Quickbms 脚本,引擎自带的专用解包器。6 ]1 F' \5 H% z1 j5 F, |
3 K) u) Y) v) p# J) {
打包:3 {1 v% v9 z7 d% g. Z
可以不打包,打包工具可选UNPAKKE和引擎自带的工具。; u; v1 H" Z' Y9 V/ X9 e
4 a  C$ O) ~6 `& B
文本:, n& ^0 D$ V: ?$ |) H2 c
语言表格式如下:) {& F7 l! d3 Q9 G, m# \$ P
SYSENG0001        Game settings
$ p5 p* h  M- u# ISYSENG0002        Display
3 n- x% j/ S/ l3 XSYSENG0003        Sound7 s/ s; T; x. }5 O0 h6 o
SYSENG0004        Use hardware acceleration  u# P0 e8 g. Z6 R( ^
SYSENG0005        Display device:6 g7 z. c& j; m5 Q" A, N1 R
SYSENG0006        Colors:% j* N: y3 v" d, L8 M) h7 O) X
SYSENG0007        Run in window
% X" f) P. K9 Q% O  h语言表可以互相引用5 V* C9 C' E+ k- m0 X& t) T; a
SYSENG0001        Game settings& I, J" K% C4 f! S) `
SYSENG0008        /SYSENG0001/8 p% ^+ u- A6 p
甚至能支持阿拉伯语等从右向左的语言,只要文本里加上这个标记就行
& f* V' }2 v- j6 v@right-to-left" g+ Y/ ~: ]6 v6 U0 B  \7 p! u+ |
语言表一般为String.xls,这是csv文件,而不是真正的xls格式,直接翻译即可,注意编码选择可选简体中文(GBK编码,非中文系统将无法显示),和utf8编码,注意如果文本编码有BOM将自动切换为UTF8格式。
7 \8 @- [2 _4 Z6 N6 I& Y. H1 R8 N0 R" H! }
字库:4 ~& a/ I$ e/ i# s
游戏支持两种字库,图片字库和ttf字库,注意只有ttf字库支持中文。3 S  H% _) V* j' K6 C! {8 O4 }
字库都需要描述文件,因为图片字库不支持中文,所以此处略过,有需要请看官网。* N! k0 m* h) C" C/ s5 ^0 o
http://docs.dead-code.org/wme/inside_ui_fonts_bitmap.html
7 |4 L  I" Z3 @  q6 W3 w要注意的是ttf字库是不能打包的。
7 ]2 D5 U6 P3 X6 K+ b% W/ _TTF格式字库的描述文件:
- J2 E# G% L. |: z" {# tTTFONT3 b4 N- k* [' x9 |) h
{
8 E" n. L. m( h3 {8 G. l  SIZE = 12  
( p5 W! ^/ d- X5 s  }  FACE = "Arial"
* I5 N( v0 B6 W, Q- T, u3 v  FILENAME = "fonts\arial.ttf"
8 U) G% g) ^( F$ N" n+ s+ S& F5 W2 y
  _4 _, G9 q6 x$ j+ R- L6 t  BOLD = TRUE
' C5 P1 \4 d# O  ITALIC = FALSE
/ n7 Y+ c( c, ]6 @  UNDERLINE = FALSE
  F) A: N4 @- p5 u% h  STRIKE = FALSE" e4 }0 Z1 C3 q6 y8 K9 d. C9 F/ h
  Y9 y5 w$ Q  b. ], P! z4 `" V
  CHARSET = 1
2 s; D$ `7 k( J2 Z
. k3 g& n+ V7 Y  V+ d6 V: N  COLOR { 255, 0, 0 }: L# J! q/ ]6 J$ I
  ALPHA = 2559 m7 A2 }* q- ^( j$ a
  LAYER
1 W* e5 I, ~: m0 D& Y  {
  c  q9 ^$ s5 u    OFFSET_X = 1# ]  \/ N4 X3 e+ j8 n$ V: i% f
    OFFSET_Y = 1$ K! C) D  ~5 N# I3 E
    COLOR { 0, 0, 0 }- B" E- z% f& V7 x! S6 ]( u
    ALPHA = 255' P! m9 w2 B: J" Z# \# P
  }, b  v" ^9 Z2 q. Z9 i2 G

8 G" z- l! ~5 f- {6 F/ V6 Z, n, g  LAYER
: j$ f" m2 U* Y: J  {
1 D5 \) Z" M: b    OFFSET_X = -1
) y3 B% `! ]. t' i* c& j' w    OFFSET_Y = -1
8 Q5 A7 \+ V9 v( B- R) b/ b( G. c5 C    COLOR { 0, 0, 0 }+ p; w0 ~( U2 d
    ALPHA = 255; J/ @0 ]6 Q, I3 U6 v1 X1 C
  }# b0 Q0 Y; M2 l* H1 x8 M7 M8 E
- _- y& h3 y2 r5 D9 n
  LAYER3 a. f0 R3 @' H. H: y7 B. X7 Z
  {7 ~6 N  A" u% D4 Z
    OFFSET_X = -1
$ }6 F' F0 n9 R7 F) j0 c    OFFSET_Y = 1
( l+ \. A& V; X    COLOR { 0, 0, 0 }
; B* \% Q4 D+ x0 Z2 q    ALPHA = 255
% a. j5 A& X1 d/ [: Y  }
9 y; e6 {3 J, K# l9 Z
) Q0 C  i) E7 U  LAYER
" A  a7 `% g( @, w  {
  K. c+ x. W+ E7 m* u5 z1 l4 M    OFFSET_X = 1  c7 ~; w" R4 r2 `' ?; [$ A& n
    OFFSET_Y = -1' U& L" i2 K) i9 e0 f8 l) N
    COLOR { 0, 0, 0 }& h: g) Q' l3 }7 @! W9 w+ D1 y
    ALPHA = 255, a( }9 V$ e7 W1 d6 `5 j! f
  }4 s7 m. U4 g( d: a
8 D; {9 o! k* S) Z. u3 T
  LAYER
6 \+ ]* I7 `( N) j' G9 j  {1 M4 U! `" ]2 N3 ^
    OFFSET_X = 0
5 F8 \, ^, T3 l    OFFSET_Y = 0" N2 z2 o# Q; e9 \; }- a& y
    COLOR { 255, 0, 0 }7 o9 i* e/ d7 F0 V9 d0 Y$ h
    ALPHA = 255
4 A" y2 D7 L( h6 Y  }+ s2 }4 ~& }$ [! R+ p% E
}
$ P/ S  k; G, v& ]1 w各参数说明
' v0 T8 `* C. }" J* y•        SIZE – 字库的大小,一般根据英文来选择。7 l2 J0 |0 O* l. M7 k, g1 X
•        FACE – 字库的名称,注意是显示名称,比如系统自带宋体SimSun 。建议不要写中文,容易出现问题。
  e5 K. z) Z; ?# w7 S•        FILENAME – 字体文件名称,就是ttf的文件名,如果要直接使用系统自带字库可以留空。: i* l( C- o$ u$ Z5 @) Q6 @
•        BOLD – 为TRUE则以粗体显示。
+ s4 n) X, q3 R0 v! e* J•        ITALIC -为TRUE则以斜体显示。7 v0 o/ N+ n3 K* b
•        UNDERLINE -为TRUE则显示下划线。" ^( p) a  F2 ^  i: k* f
•        STRIKE -为TRUE则显示删除线。; i. J8 M! n, Q3 ?- c2 @
•        CHARSET – 字符集,简体中文要选6,繁体要选4.# M5 M* {- b& t0 l+ h+ L, f2 d/ f
•        COLOR – 文字颜色(RGB)显示
( V% t, n9 E( b6 I" }) t3 D•        ALPHA – 透明度, (0 到 255),一般选255.
( s. L( [- b7 _2 L" d* P, R注意这个定义文件下面的Layer就是按层绘制,可以实现模拟的描边效果,就是左移,右移,上移,下移1像素各绘制一次,颜色不同。如果不需要描边效果只需要1曾就够了。  Y6 u) H+ w1 w! O; t

" ?- M3 R" t% j6 i  ?5 D以下是字符集,注意和windows的GDI中LOGFONT的值是一样的,游戏本身也是用GDI处理文本绘制的。6 S# Z/ u" N" _2 P
详细内容请看MSDN
% Q4 _2 Q2 F5 ghttp://msdn.microsoft.com/en-us/library/windows/desktop/dd145037(v=vs.85).aspx
/ Z" C) C( m: JWME 字符集编号        解释) Q& Y- \/ I/ O
0        ANSI 字符集(注意这是英文字符集)# |! Q' s" X* Z; O8 @
1        默认字符集,根据系统语言变化。
# w! ^! L7 b( k. M2        OEM 字符集,根据系统变化。4 n& D+ e' D) T) g1 t. C- h
3        波罗的海。
. |, f! X6 h/ G$ ?- G) M- Z4        繁体中文。
  a9 U9 S* H$ [2 |. y9 N3 U- M5        中欧及东欧语言。
7 \4 v# J) d# O6 Q3 A% B! a: U6        简体中文。" u. s+ d2 J" }5 Q
7        希腊语。$ n9 d- ~3 l5 A$ A, {- ?8 p
8        韩语(Wansung)。
5 `/ L2 U/ ~0 C: @9        Mac字符。1 f: l, v5 e$ u. R7 X. R( |) V* a
10        西里尔字符(俄文)。
: R  L9 q4 K- t9 N$ H  N# m& J+ @, ]11        日文 shift-jis 字符。
7 z3 B: t4 b' s) S1 C7 q$ [12        标准符号集。* _' Z' {# V4 v% ]( `3 M. b5 Z
13        土耳其语。$ k- G' m& p  ^
14        越南语。
* m# t, e7 j! v( h15        韩语(Johab) 。' t) `$ j$ G" z, m
16        阿拉伯语。2 d- `7 S! r7 W" P) I$ o9 n9 Z+ Y
17        希伯来语。8 x' O: _% _9 a/ ~- d# l8 i
18        泰语。- |; {5 W8 L1 Y  n3 Q; B0 O8 ^1 Y9 {
4 _- v: r% k0 P% N' r8 q( Q- B( y
图片:
% f+ V0 `* N1 n7 t  m9 Z' J6 }本游戏图片格式为PNG,直接处理即可。
4 M' f) |' O% g$ j8 g9 ^+ u0 c) a& C4 b) U: d2 ~
脚本:
# p" J/ f+ X6 p+ L& `! V+ H% X5 h一般不需修改,除非遇到文本保存在脚本中。. y' B. C3 o( Z

2 D5 u+ z; m' r' H! B脚本格式分析(不含虚拟机分析):
  1. DWORD magic; //DEADC0DE2 R  z* ~6 _6 B4 k! v+ s% s
  2. DWORD version; //当前版本为0102
    ; t% w. H" C6 j( u1 V) o
  3. DWORD code_start ;//代码地址- R. A9 C* L- ^1 r+ \$ o6 T
  4. DWORD function_table_start; //函数表地址9 s7 c; Z) t7 n$ X
  5. DWORD string_table_start; //字符串表地址,修改字符串表后需要更新后面的偏移1 [. U5 ?4 C4 `; d2 Z
  6. DWORD event_table_start; //函数表地址  \% q6 b0 Y9 n: q
  7. if (verson >=0x0101)
    6 O6 d0 D/ _/ n4 a9 u' m
  8. DWORD dll_table_start;
    6 n; o  U: `! U( H6 l
  9. if (verson >=0x0102)
    $ V& G0 \, l+ j& w6 o
  10. DWORD method_table_start;6 n2 G7 e" W' g+ I
  11. string source_name; //0结尾字符串- G2 ~. Y4 f, n7 p2 @* _3 ?$ k( Z
  12. byte[]  code; //代码的字节码
    4 N, x0 J  v4 M# Q! r1 U' W

  13. 4 m0 n9 _4 i: T9 Y6 e0 K5 ~$ q
  14. struct {1 y0 |' l( q: e9 J' O2 l
  15. int num;
    & O# u, g" @  N+ ]# m
  16. struct {
    & j4 p1 a/ I5 \% D4 `8 y
  17. int pos;
    ! Q: r5 u& L0 g6 ]5 p
  18. string name;
    ) F6 H) b9 q) b. ?  a  x6 E/ \
  19. } function[num];
    ! r' e6 ^+ o4 K. n' J7 z
  20. }  function_table ;; L3 B& P1 c1 a
  21. struct {" i% Z) U+ p/ L. I0 F2 ~! o3 N4 U- e
  22. int num;, T  ?5 ~% N! b5 B2 P8 i3 D
  23. struct {1 z& E, p. \  l) E* v( D8 q  A0 N0 E
  24. int id;
    / J& n. P/ L6 a6 z) `3 N
  25. string name;$ D  e9 |; X( Y& T  Z7 W( P
  26. } string [num];4 Q5 t- X: \4 K2 [$ C" r
  27. }   string_table;
    " v5 x8 W  ^# y' K# {) j4 r
  28. struct {
    % ^# w* ^& j; F- [; b
  29. int num;
    0 i# ?( \5 F( ?: m, Z5 ~
  30. struct {
    + @0 w5 v( ^" A7 P4 P( Y) N
  31. int id;% q. L7 `6 j" X5 @% b
  32. string name;8 W# g6 J: B* x# y" w( W
  33. } event [num];" ?) R' R) y. T6 b5 V7 l
  34. 8 r* R, q4 Y1 p0 T! i6 S1 [) ^; H
  35. }   event_table;( _- s! j' S% R2 T* z, H% C* ?
  36. if (version >=0x0101)
    / d; N6 G0 }& c& {
  37. struct {  f9 k; T2 A) _$ Q  H$ |5 O
  38. int num;5 B, s( L) Q- d; e2 {# l4 `
  39. struct {& {7 r0 z% T8 v7 y+ u9 _4 J4 x
  40. string dll;8 ~/ _6 V; ~) H0 n
  41. string name;0 o0 J! Z5 ~3 D; L
  42. int call;& |. E0 b2 z) c; ^+ e2 d
  43. int returns;9 [9 }- x- S# m0 n* L# [0 ?
  44. int num_params;
    , e7 A  ~+ r  A5 J/ \
  45. int params[num_params];
    # y% O4 V8 m2 Q, j, N+ ?, x
  46. } dll [num]; + }5 c3 e, O# s  c4 i. V
  47. * ~. ?1 S  j: G3 ?: b3 G4 {7 {
  48. } dll_table;
    1 a9 ~- F; ?. R! C
  49. if (version >=0x0102)6 o: H: c% H  x/ g7 a! v
  50. struct {7 P+ z2 g6 _9 c
  51. int num;
    0 C) l3 S) a% i! g* R
  52. struct {
    ' T, }8 f$ ]" R8 J+ w( ]
  53. int pos;
    . ?4 v$ K, s/ d& p' H2 l4 V1 p
  54. string name;
    7 P1 u4 p8 d7 p% Q9 w: P
  55. } method [num];
    7 H- S3 Q5 t6 M9 V( o. `
  56. }  method table;6 z5 z, b1 G/ w, ]* Q. z

  57. 5 r3 U5 N! m+ Z8 K8 x% |5 b
复制代码
音频:8 K$ T( E' w' C9 t4 ]% B5 s9 F
游戏音频格式是Ogg格式,Vorbis编码。
" {$ s" e* U2 ^+ c- d- \$ L& b1 ^7 e7 F( l+ m2 ?3 \% j) ?
视频:
( a3 @$ c. Q# Q  v游戏视频是ogv格式,theora编码。
0 r" l- X9 ^4 l% \: _3 b  U# H
  z3 o: g9 Q8 X( |; p3 b4 N汉化流程:
# x: J8 K2 p( W' b$ v- F+ O1.        如果有dcp包,先解包
: \9 y5 @) ~5 y: Q0 e2.        翻译字符串表
5 U+ c, N- m  V# L- j6 s5 G9 L) F! i3.        找到中文ttf字库放入游戏目录,并修改定义文件为ttf的定义,参数根据需要调整, J* I8 L( z3 ?0 L: h  P( Q+ t
4.        修改图片6 D* b' b- \# w) h; i( o
5.        改过的文件放到目录,或者打包1 M% k' p  u2 {7 S, w+ A
6.        测试
' D' W% _% G" Y0 N, W" F" r1 }* o& A" H$ O2 Y1 o$ ^+ R9 V
注意:7 T( H) j& F( W7 \8 ^2 [" W
换行问题,经测试ansi格式下换行有bug,中文超出行数会出现乱码,utf-8也会出现一些问题,如unicode码低位为00时会无法显示,可以采用自定义编码方法解决,需修改文本编码和ttf中的映射表,或修改引擎解决,较为麻烦。
; U6 g3 \/ S1 R+ [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2014-3-22 22:20 | 只看该作者
感谢分享!沙发支持!
回复 支持 反对

使用道具 举报

板凳
发表于 2014-3-22 23:13 | 只看该作者
本帖最后由 davidgbl 于 2014-3-22 23:37 编辑
* u1 w4 u/ }- M# y/ i3 c
8 A+ t1 n1 {5 ~1 Z8 x太好了 好好学习学习。avg用这个引擎开发的游戏很多。
' `( ~" N* g, I! [' u不过遇到过一些问题,主要是一些动词在汉化文本中没有。比用use XXX with XXX 8 B, n( E- S' f4 k$ z8 i
其中的XXX在翻译文本中是有的,但那些动词不知道藏在什么地方了。始终没有找到。
/ w# t' I  v7 o/ I& \比如之前汉化的:409号黑夜童话,有这个问题' {# ?$ O, h" m) {  ]  @6 H% I
(另外328号埃德娜&哈维:逃离疯人院也有类似问题,但我不记得是不是wme的游戏了,我几个应该是,老啦,呵呵呵)。. r% C: S- @3 k4 i
还有一点可能需要注意:
* l) w% @; `4 H3 d7 E* b+ ~( f就是使用ttf的字库要用ttf字库的内部名称,尤其是中文的ttf字库。
9 \$ o) g, V; Q' [( \+ g2 p7 g. `不能简单用黑体.ttf啥的,最好用字库查看软件看一下字库的内部名称和字库名是否一致。
回复 支持 反对

使用道具 举报

地板
发表于 2014-3-22 23:23 | 只看该作者
牛贴必顶,强人必赞
回复 支持 反对

使用道具 举报

5#
发表于 2014-3-22 23:27 | 只看该作者
本帖最后由 setsail615 于 2014-3-22 23:35 编辑
! E( F, d5 _- K8 J7 `6 J. \( u) A. ~7 ]3 u4 F
不明觉厉啊~膜拜楼主~~5 L( ]* ?8 E% ~/ x
PS 友谊哥,328好像不是wme的,我也不太清楚……
回复 支持 反对

使用道具 举报

6#
发表于 2014-3-22 23:31 | 只看该作者
嗯,很详细,值得学习
回复 支持 反对

使用道具 举报

7#
发表于 2014-3-23 09:54 | 只看该作者
支持楼主的处女贴
回复 支持 反对

使用道具 举报

8#
发表于 2014-3-23 18:12 | 只看该作者
不明觉厉。。。:D
回复 支持 反对

使用道具 举报

9#
发表于 2014-3-24 23:47 | 只看该作者
感谢楼主秉承着热爱汉化之心所做的技术分享~
回复 支持 反对

使用道具 举报

10#
发表于 2014-3-24 23:58 | 只看该作者
突然感受到了大家对汉化技术的热情,顶weiyun。
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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