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

汉化资料 WinterMute Engine 汉化教程

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

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

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

WinterMute Engine 汉化教程

本帖最后由 weiyun 于 2014-3-24 19:11 编辑 ! h5 ~) J* k$ L

, O6 V/ K6 N" }0 Z( V6 h, Q  lWinter Mute这个引擎是专门用来开发点击式冒险游戏的,下面我来讲一下这个引擎的汉化方法。  V2 {" K7 K4 P5 T; E
使用此引擎的游戏比较多,而且汉化非常容易,论坛之前有很多相关资料,但没有完整格式分析等# Y9 g, X' u( r: G
. @" a/ h: h  w
以下是官方主页:http://dead-code.org/home/5 X) ^5 `/ c& m5 H
注意本引擎是开源的,源码可以在这里查看:
2 j0 g3 q; q) J. O9 F. Qhttps://bitbucket.org/MnemonicWME/wme1/# z, P# |( S/ H7 A8 ~% H$ {
/ T3 l7 l( d: j* i  }
下面开始正文$ W5 g/ o/ g8 |$ f% m  |

* ?2 q, G( ~+ U. F3 N包格式
5 {! [0 L3 d: ^. r7 B游戏的包格式为dcp格式,文件标志是0xDEC0ADDE也就是DEADCODE。
# X' n3 H; H) ~; \# m; s3 r) R9 q9 k5 r2 \
格式分析:
  1. struct{
    ) K8 [! p, b+ h5 v: Z- v
  2.         DWORD Magic1; // 0xDEC0ADDE  DEADCODE. }& W7 n, U/ a4 o( N. ^: g& j
  3.         DWORD Magic2;  // 0x4B4E554A          "JUNK"
    * A4 s" K4 Z6 Z9 |- e
  4.         DWORD PackageVersion; // 0x00000200 包版本9 V9 i* _4 R2 z; T4 T
  5.         DWORD GameVersion; //游戏版本
    3 Q1 o' X/ K$ R5 v& X0 l: O
  6.         BYTE Priority; //优先级, a, n; o/ p0 ?9 @3 [" f1 X
  7.         BYTE CD;
    9 X( Z% o5 K- `8 C8 a+ M
  8.         bool MasterIndex;. ?% r5 n. u. R) j* s  }5 ]
  9.         __time32_t CreationTime;0 c4 f  J( w  e# J/ w; _
  10.         char Desc[100]; //包描述
    : E! m  T( J; e# c2 [6 p
  11.         DWORD NumDirs;  //目录数
    , S8 \) Z9 l2 e% y
  12. } PackageHeader;
    . j3 i5 S4 t3 W
  13. if (PackageHeader.PackageVersion >=0x200)3 F% Q3 T; x! D. _7 i# y. [
  14. DWORD DirOffset //目录偏移量+ n4 Z: r. s. J4 ~: C, t) j( p) c
  15. struct Dir{9 g: R- D0 ^' M7 J
  16. BYTE NameLength;  F3 m; |2 o6 b# P0 B6 N
  17.          char Name [NameLength];   //文件名( a  n) r! h- t, t
  18.          BYTE CD;( s9 K0 r/ f+ v6 l7 _0 ?
  19.          DWORD NumEntries;//文件数& V( o# k9 r! u6 I
  20.      struct Entry{
    6 B- `7 c7 `" o; H
  21. BYTE NameLength;
    / L0 j! |! k  }$ s. g2 h
  22.        char Name [NameLength];
    * I  S  h; _. l3 |- w( h
  23.        DWORD Offset; //文件位置9 m- N1 p0 L3 ?3 }/ t
  24.        DWORD Length;//文件大小( S! e% x$ J/ q9 X0 c
  25.            DWORD CompLength;//压缩大小8 A9 W  X0 ?8 e$ d* }2 r
  26.        DWORD Flags;  B0 Y3 |9 I* ~8 s
  27. if (PackageHeader.PackageVersion >=0x200)2 n& N% \0 R: o
  28. {      DWORD TimeDate14 @9 t1 i/ u! B- E/ e
  29.        DWORD TimeDate2        // not used; B( D0 M% ?3 _' T& o  C
  30. }3 n+ K& T" U1 R! g
  31. } Entries[NumEntries];
    ; a/ G' i0 {" Y  t- u
  32. }  Dirs[NumDirs];
复制代码
解包;
" u% o, @0 W  _3 M  w可选解包工具 GOBREAD,UNPAKKE,Quickbms 脚本,引擎自带的专用解包器。# b$ |5 b' o# F# e) s7 j4 \, h

) ?! }' }: H& j. {, k; u打包:
8 U, L& ?7 t* E8 ~8 `可以不打包,打包工具可选UNPAKKE和引擎自带的工具。/ ^9 ]5 f' l9 C; i) z

2 t* Y$ W/ p* h" ]! F* Y8 U文本:" J( [7 j  W* }) D8 d
语言表格式如下:3 ^  g" I8 k* f( Z7 s
SYSENG0001        Game settings, s" ]0 q( g1 b
SYSENG0002        Display$ y2 b- v/ V6 ~8 t- W
SYSENG0003        Sound6 N" x2 w* N- j8 F
SYSENG0004        Use hardware acceleration, E5 Z# i! T3 S: {8 k9 U
SYSENG0005        Display device:6 P7 Q; \, v4 W+ d
SYSENG0006        Colors:  w3 z; N! j1 p6 f
SYSENG0007        Run in window/ l# h' Y& y: }; p
语言表可以互相引用
' C& ^) V4 }! U$ t9 J& }. {$ T$ hSYSENG0001        Game settings
3 u0 w+ ^$ Y' c" Q$ I7 r) ^% l% _' WSYSENG0008        /SYSENG0001/- d& G/ o  O' E
甚至能支持阿拉伯语等从右向左的语言,只要文本里加上这个标记就行
* T/ W) I7 K! O, \2 L! A/ A& d3 ^, Y! p@right-to-left
3 [* z! \/ n0 r. g语言表一般为String.xls,这是csv文件,而不是真正的xls格式,直接翻译即可,注意编码选择可选简体中文(GBK编码,非中文系统将无法显示),和utf8编码,注意如果文本编码有BOM将自动切换为UTF8格式。
9 f/ ~+ q  i: Z+ ?. ~$ [1 z, p7 u& T! w! v
字库:
- U  y, v3 d: F# c0 n游戏支持两种字库,图片字库和ttf字库,注意只有ttf字库支持中文。
; Z  K: L! C, J: ^# c! ]字库都需要描述文件,因为图片字库不支持中文,所以此处略过,有需要请看官网。
; n: U; r+ Z/ Z, L, s2 l+ qhttp://docs.dead-code.org/wme/inside_ui_fonts_bitmap.html2 K; h: A# L" A( v1 C
要注意的是ttf字库是不能打包的。, F% E( o4 L9 U& G
TTF格式字库的描述文件:/ C$ p% ]& U" c3 h, p
TTFONT
# \4 U! {% [& g4 s{
8 e1 i/ L9 \7 {/ ~  SIZE = 12  2 i' Z2 G  m; }# z2 _1 C
  FACE = "Arial"
+ ?% Z  }! w6 k( S3 F. D) j  FILENAME = "fonts\arial.ttf"
7 G( l9 K' b0 _  C
9 L  b" r! ^2 |. ]% C7 o  BOLD = TRUE! `5 Y" Q1 P! c
  ITALIC = FALSE7 T5 z% M7 N& K+ ~
  UNDERLINE = FALSE
& b- a- O+ L- |2 d7 Y  STRIKE = FALSE
; R) x/ }7 ?( G5 h( r1 i2 P! Y* f! T8 h
6 y  E6 O4 R" v9 P; h  CHARSET = 1
5 f" f- X% ?. m1 Y( g- i$ M' I& A0 |. k
  COLOR { 255, 0, 0 }0 e" \7 y2 Y2 l0 i- {$ P
  ALPHA = 255
" B& d( ]! m9 \! h  LAYER
3 }8 G: @5 U' V7 A' J) I5 g  {
! A+ }# i6 c7 ^- t' y    OFFSET_X = 1
7 |$ @. m& Y+ c! f3 m$ L; z1 k    OFFSET_Y = 15 R2 C" u. J) I$ ^; n" n9 S/ a
    COLOR { 0, 0, 0 }" V+ a* `' G2 e! A& k
    ALPHA = 255
2 J; p# ?) l( A- q1 d  }6 G" C5 X0 g/ U3 G& r! w/ S

5 S8 Z# T0 M: ]  LAYER' b+ j( w- _8 H. e6 J. q
  {
2 a* z0 J5 E$ I6 z/ l. B8 }    OFFSET_X = -1
# r, v* R: i# ]: c$ X6 ?    OFFSET_Y = -1
# _, \( H9 d4 X: i$ S    COLOR { 0, 0, 0 }
  F/ K2 e$ M8 B8 B: B& y    ALPHA = 2556 W- D) ^* A- C, \$ S* @* O0 [
  }+ x; k3 M( x% G( }

( W6 f, S, C+ D' Y  LAYER
* |5 `& @& M4 {, I, M1 t  S/ [  {
& R3 I  V! N4 K# j" [# l    OFFSET_X = -1+ z5 U" a. Z" L2 B. x9 Q+ x
    OFFSET_Y = 1
6 ~) N+ E) h# u# Z9 |$ P    COLOR { 0, 0, 0 }
" c: Q  k+ z* x" [. `- d/ }' J    ALPHA = 255$ E/ w3 }6 `4 N& i) g! n
  }
' h# e  D& M6 z
( B. Z8 h0 W3 f& f/ }) ]  LAYER
- D+ ]4 @, T4 L/ d* Q  {* ~+ y5 P2 q! y1 x% Z
    OFFSET_X = 18 Z) p/ P+ L) \- K; }
    OFFSET_Y = -1
& I4 x- x( h9 C1 F- I% a  k    COLOR { 0, 0, 0 }
7 r; y# R* [1 X1 m5 ]1 I    ALPHA = 255
5 m% j1 R2 `% O3 B7 a  }
5 F& H$ G; p4 s" w2 Z" i
, y% q9 |9 P) n' y0 r% T+ O  LAYER
: e2 {8 X9 I! _& ?. |2 T$ {$ L3 P% M  {
+ l8 Q- j! U7 @( M; K1 S    OFFSET_X = 0
$ o0 S4 Q, b2 u1 d+ a. j: u; b  K    OFFSET_Y = 0
- W  H' a- H% q    COLOR { 255, 0, 0 }
4 r. S/ Z3 h9 t1 N4 I    ALPHA = 255
' d8 U1 {) U3 u: q3 A  }
. Z+ @7 E- J8 V}+ m& G. {! b0 D* u0 g! J
各参数说明# w9 u; d5 F( Z
•        SIZE – 字库的大小,一般根据英文来选择。; A& C% v5 t" F% U6 {- q
•        FACE – 字库的名称,注意是显示名称,比如系统自带宋体SimSun 。建议不要写中文,容易出现问题。2 L/ |: N* ~' u/ d' R
•        FILENAME – 字体文件名称,就是ttf的文件名,如果要直接使用系统自带字库可以留空。
/ ]9 J$ G! n/ w" {* p- c  U$ m•        BOLD – 为TRUE则以粗体显示。2 j; W1 `) ]3 {6 s" ~9 w
•        ITALIC -为TRUE则以斜体显示。! \2 ]1 C  n. W. |
•        UNDERLINE -为TRUE则显示下划线。* o$ o0 t# m5 L0 k! `
•        STRIKE -为TRUE则显示删除线。
% t3 P! _! X: c% h1 v: d•        CHARSET – 字符集,简体中文要选6,繁体要选4.- h* ^5 V9 C9 I
•        COLOR – 文字颜色(RGB)显示8 P- ]1 u3 w1 E9 B; W" D. S  G
•        ALPHA – 透明度, (0 到 255),一般选255.! i6 B9 ]7 Z; R( N! X
注意这个定义文件下面的Layer就是按层绘制,可以实现模拟的描边效果,就是左移,右移,上移,下移1像素各绘制一次,颜色不同。如果不需要描边效果只需要1曾就够了。0 S0 I6 r7 {1 ]5 a' Z) O7 H
; w! q. S! y/ n' k- L
以下是字符集,注意和windows的GDI中LOGFONT的值是一样的,游戏本身也是用GDI处理文本绘制的。
! \9 h# N7 v' L$ i8 W: [  _6 |9 M详细内容请看MSDN$ l% m$ a! T  e: W# ?* {
http://msdn.microsoft.com/en-us/library/windows/desktop/dd145037(v=vs.85).aspx
+ F# B5 e. ~% w  E* w4 d7 l+ rWME 字符集编号        解释
$ b  }" A3 `! e: e3 `0 s# K0        ANSI 字符集(注意这是英文字符集)
. s5 f7 Y0 y4 n$ v* K9 e1        默认字符集,根据系统语言变化。' t. o8 g* N6 @6 [
2        OEM 字符集,根据系统变化。
6 ?% ]# C( }) S6 Z& Q2 C3        波罗的海。3 B2 C6 e8 y6 T5 K) Y5 }6 |$ X
4        繁体中文。
! n2 c8 o8 A$ P) Y/ z; {  _5        中欧及东欧语言。: g) C! [- W4 q+ H0 [5 r! o- {
6        简体中文。
7 D# C0 `. z+ I$ Z& O! f7        希腊语。
5 O! C9 K, {3 j, O2 X8        韩语(Wansung)。
" x2 l" ]4 T* e! D2 F2 ]6 i+ I6 u9        Mac字符。2 _$ a( `; L, S8 f: B5 H* C( b4 q
10        西里尔字符(俄文)。' q) {5 Z2 z  |! Y
11        日文 shift-jis 字符。: k2 Q. G$ T- j2 b: Z$ A' {) P, Y
12        标准符号集。
7 U2 H+ _8 O1 L, a3 \$ j1 l' T13        土耳其语。9 b0 j* Z* U( t; B6 F- b
14        越南语。0 }8 V2 Q8 b9 _# I( n
15        韩语(Johab) 。! @; D7 _/ s% G# W, W
16        阿拉伯语。
& M+ u1 U! p! \8 p/ ]6 b( R17        希伯来语。" I8 s3 u/ n% {
18        泰语。- C5 r7 O- Y" h$ o

4 j  N: g3 k; ~! {5 Y5 M图片:4 H0 \$ P9 w0 O0 v! u
本游戏图片格式为PNG,直接处理即可。
" _* ^6 x% j$ B% O2 t7 i: i. W* k) R2 |6 G% }$ m' k
脚本:  h, f6 ]3 o" g' [1 \0 _# v% P
一般不需修改,除非遇到文本保存在脚本中。0 b4 t  |) M6 X: o: m

' s* r5 _0 P5 |1 i脚本格式分析(不含虚拟机分析):
  1. DWORD magic; //DEADC0DE
    + Q0 S. z- x* ]" x# {
  2. DWORD version; //当前版本为0102
    , o; f7 L& e, Q* k
  3. DWORD code_start ;//代码地址/ P% P! _4 c! i6 q# r# T  s2 t
  4. DWORD function_table_start; //函数表地址
    , M( Y2 N! d3 F9 e  H
  5. DWORD string_table_start; //字符串表地址,修改字符串表后需要更新后面的偏移4 \% {" f8 ?. a+ @2 h7 X
  6. DWORD event_table_start; //函数表地址+ x& o0 x2 O5 H  t; r* K0 P0 v* o
  7. if (verson >=0x0101)2 z& x2 Z, s6 b4 [$ i) p/ n4 L
  8. DWORD dll_table_start;
    % U, ]5 R) ~, z9 W  Q) y
  9. if (verson >=0x0102)' r* A( N% l2 d
  10. DWORD method_table_start;
    5 g4 I2 W1 y" S4 `4 |4 q) P
  11. string source_name; //0结尾字符串
    9 K: G+ m/ _& d3 @4 W
  12. byte[]  code; //代码的字节码
    ( a4 f: g* A/ i
  13. 6 V, C) W/ q! J9 N% n
  14. struct {
    * q  p. q% ^+ J7 {& p5 J
  15. int num;
    , B& U+ c+ X3 J0 j' t5 R7 C% h+ A
  16. struct {! `$ ?4 R9 L9 c& ]! S) {. e
  17. int pos;
    & S, d9 |- X9 {( G! n; r+ j
  18. string name;
    ; P5 R+ Z, s3 z* Z$ @
  19. } function[num];
    " a. ~- o2 x' f& l
  20. }  function_table ;( f" ^0 y; A$ i
  21. struct {
    8 W7 H0 ]2 C" F/ m1 D- X% c1 L
  22. int num;6 a3 N" F' S; n7 T
  23. struct {
    6 L3 n4 E7 P7 l1 E# [7 z
  24. int id;. [6 r  t/ z/ s6 u
  25. string name;
    0 X, H, F4 D9 E# K; E  B
  26. } string [num];" ~- v& m) R' c$ o  w+ r7 f
  27. }   string_table;
    ; \% b9 v" P" Z7 r3 }* Z& W+ z
  28. struct {! j; p; Z- V" l0 b: X5 M& o1 g
  29. int num;+ `) I- V6 n1 D' y! u  w
  30. struct {8 ~4 D& u0 O; d* S8 ^; T
  31. int id;
    ) w$ q$ y7 D* c' j
  32. string name;$ b% q9 M* e% ]" o  o  S6 O
  33. } event [num];
    , H! q3 W* @' M5 t: W3 |

  34. + Q4 a' w7 \) t8 [
  35. }   event_table;8 I+ N1 C* u  N  X: b
  36. if (version >=0x0101)
    : b- p& z$ O" F6 i/ ]1 s) Y
  37. struct {9 O0 s% C( |! ]- U6 h
  38. int num;
    , z0 m% I$ o2 x
  39. struct {6 o  K- R! E9 K
  40. string dll;$ Q" _& S/ {2 l2 I0 |1 Z6 w# y
  41. string name;
    8 t2 _) \( c. S9 X) c
  42. int call;# \( J! s/ J. }  ~# ^& \) K
  43. int returns;
    0 Q2 `( J2 f5 h$ C' F; Q- \
  44. int num_params;
    6 i/ a& _/ X, x
  45. int params[num_params];
    - w7 f+ b, k+ b, ]3 h/ m# o) V, Y
  46. } dll [num];
    9 a) u: n0 f7 S& r- C
  47. 9 p* T/ l& U0 M2 d$ Q6 c
  48. } dll_table;
    5 P, p7 L, \8 Q" ]" w
  49. if (version >=0x0102)# J- L1 R, l2 i. x
  50. struct {
    8 e6 |  ?6 }0 d9 b/ L8 w
  51. int num;9 r) m8 l1 E! Z3 \; G' x
  52. struct {/ G+ D! v3 O* f6 l% X- p# A
  53. int pos;. Y1 z  K+ y- v7 Z
  54. string name;: R5 h, }* s0 o
  55. } method [num];
    ; }% x% X/ ?+ B5 A4 R# D4 i) h) P
  56. }  method table;
    ! R4 a& |( N& D  n6 k
  57. 7 n- [6 S- k$ x: y! D( d5 f+ m
复制代码
音频:
& p8 A  P8 ^. n0 N* L9 w游戏音频格式是Ogg格式,Vorbis编码。$ y+ F, S6 h1 n
' |) Q: t/ {  W
视频:
1 q- `- j( r  p0 ~游戏视频是ogv格式,theora编码。/ |/ }% L  x3 L6 M1 W

) Q8 O3 P* [2 T4 U  Y0 b汉化流程:
' D" R0 L6 x% j- I3 @1.        如果有dcp包,先解包
" J) u* T& H1 ?( E& `3 {2.        翻译字符串表
% Q! |8 I) Y. l; F  s5 {6 j# M3.        找到中文ttf字库放入游戏目录,并修改定义文件为ttf的定义,参数根据需要调整
) u9 o; C6 ]% \) \4.        修改图片( p0 g, T  M' L, h0 |9 O
5.        改过的文件放到目录,或者打包, A: o3 i" `& B
6.        测试- `. j* |/ N" j$ a5 ~  o' O

1 n2 o2 D) Q0 B; e+ e注意:, j  R; }! T+ U9 g8 e) l/ @. ~
换行问题,经测试ansi格式下换行有bug,中文超出行数会出现乱码,utf-8也会出现一些问题,如unicode码低位为00时会无法显示,可以采用自定义编码方法解决,需修改文本编码和ttf中的映射表,或修改引擎解决,较为麻烦。; x# J9 u; A, B! E; t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

12#
发表于 2015-1-27 13:27 | 只看该作者
感谢分享,下来研究研究
回复 支持 反对

使用道具 举报

11#
发表于 2014-3-25 01:26 | 只看该作者
本帖最后由 zxh17175 于 2014-3-25 01:27 编辑 & c% K3 C- X' V1 Q. \

% `9 {  L+ }0 O5 s6 y, T5 H/ N默默撸过,既然鱼总发帖了,我就不敢献丑了。
9 T5 u6 Y6 k% W( z5 p) Q1 F% g" t说说改字库就好了,修改TTF fontforge非常强大,不过好像windows下面有点不太稳定5 k* F/ e7 p9 t+ _, d
用fontforge打开字体之后有个脚本功能,7 V+ h" Q% g0 {3 v* I
打开一个脚本文件,内容如下
  1. Select(0u4e00); m3 \+ O2 I" w) l8 B
  2. Copy()% ^7 B# n; w8 V
  3. Select(0u53b7)
    7 F4 I! J  W% K: j
  4. Paste()3 Z& e5 x. }7 y5 F

  5. 2 u5 b. l6 F! a! Z& H+ i, x) r) x5 }
  6. Select(0u5200)
    0 P. }6 l; \. k/ i! z
  7. Copy()" W9 o$ O* p# U, M! C
  8. Select(0u53b8)
    / N6 |) `2 Q2 v8 {" K# j& [+ E& ~
  9. Paste()
    5 e. S/ U  R' ?  z

  10. 9 @7 y* E/ C; [+ V
  11. Generate($filename + "_2.ttf")
复制代码
0u4e00就是低位为00的Unicode编码,0u53b7随便找的ttf里面的偏僻字,并且游戏文本也没有出现过的字符
' ~, r" i+ n( W% z6 x7 |执行这段脚本之后0u53b7实际显示就是0u4e00的字形,我这里就示范了两个。
2 j; J# W. X/ i- `; I# z然后生成一个字体文件名_2.ttf的文件
8 A: r0 D. J- T' a4 l* P! l批量处理TTF字库还算方便
4 n9 K) n* g$ H, `5 J如果系统已经存在游戏的TTF字库,游戏默认会优先调用系统字库。所以还需要把修改好的TTF文件的内部名称(也就是字符脚本调用的FACE)改得尽量复杂和唯一。7 F/ n* M. E1 G) |4 E& @
最后把游戏的文本替换成相应的字符就好。+ f2 v2 f8 ]% l2 w. t

评分

参与人数 1威望 +2 金币 +20 收起 理由
XYZ + 2 + 20 感谢分享

查看全部评分

回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

5#
发表于 2014-3-22 23:27 | 只看该作者
本帖最后由 setsail615 于 2014-3-22 23:35 编辑
' [) r/ x5 g/ R; C& `
0 |  |3 \0 X' u) S8 C不明觉厉啊~膜拜楼主~~
: ?; U  ]6 a/ mPS 友谊哥,328好像不是wme的,我也不太清楚……
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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