为了研究scummvm的汉化可能性,首先要把scummvm编译通过,并在此基础上进行一些修改。
3 g; C+ r# a& _. u# f9 A+ |' s: H7 s; ], r2 [% |0 r
-------------------------
2 v2 x8 r B( i2 O+ P1 C准备工作
: t: p, Y7 _: @3 c-------------------------
9 W5 S8 s" A+ A5 o8 T+ t! I首先到scummvm的网站上下载源代码
5 f3 o/ w2 S9 N( }http://www.scummvm.org/downloads.php#source
0 N! S2 [2 z; f- D' I; V3 O源代码约有10M大小 ( h1 q s9 }7 n5 E. V/ h
http://prdownloads.sourceforge.n ... 0.13.0.zip?download
0 e# K) ?; r. p' X* Y9 d下载后解开到一个目录里,可以先看一下README.
! V) l9 X3 t9 g里面有很多关于编译的信息,此外以下网站也有关于用VisualStudio编译的信息 ! ^! ]& X: a& c0 ? W
http://wiki.scummvm.org/index.php/Compiling_ScummVM/VS2005
( P0 M/ ?! j! n9 F4 x& ~8 x$ _7 S6 G7 f: `$ ]) X8 e7 B# @
------------------------- 6 M4 y+ P8 S1 `% b
预编译库文件 ( b) U. j/ L8 T/ \9 W0 m
-------------------------
% r, O% K- w) {6 B0 k好,接下去我们逐个说明需要预编译的库文件。编译工具采用的是VS2003中的VC++.
2 F& G( V' x/ q8 ^# p$ m3 ~
M# V5 K0 ^. k, j: ?0.设置include,lib目录
3 T. o0 J* J2 Q* j在scummvm-0.13.0下建立一个include和一个lib目录
3 {+ U( D( {8 a' r! ?6 l
' b: }5 M0 S+ W I, T在项目管理器的scummvm中点右键,在C/C++-->General-->Additional Include Directories里追加一个../../include,VC就会在scummvm-0.13.0\include中寻找需要的头文件。
& o8 H3 O; R3 h( \% y6 G% R8 o在项目管理器的scummvm中点右键,在Linker-->General-->Additional library Directories里追加一个../../lib,VC就会在scummvm-0.13.0\lib中寻找需要的库文件。
1 j% h: k4 V; K S$ l& |: O5 F" k3 i* d* X! ]/ j4 u
注意,以上的设置debug模式和release模式是分开的,所以如果要使用这2个模式编译的话,要各设置一遍。 V9 v4 F* Q+ e p; e
( s8 i* j7 G* s _) D" {3 T1.NASM
# }6 n7 a0 U8 T4 Q7 S, e从http://www.nasm.us/下载一个最新版的就行,如果可执行文件名是nasmw.exe,需要把它改名为nasm.exe。并把它拷贝到vs能找到的可执行文件目录下,比如\WINDOWS\system32。
3 \ P8 A* L4 Q) @) C; x$ F, `vs能找到的可执行文件目录可以用以下步骤设置:
: h4 G( z9 G0 y! W菜单Tools-->Options-->Projects-->VC++Directories-->Executable files / T e4 e4 N% l/ e/ X3 i7 f
9 p' ]* F9 m$ l: g" C
2.libmpeg2 ; |5 F% ]9 d4 p0 O+ [- E2 G- i
如果需要游戏支持MPEG2的话,就必须加入这个库。
' L6 s7 v3 w. P在以下网站可以下载到libmpeg2的最新版,目前的最新版是libmpeg2-0.5.1。
* C2 |$ }; p8 ~5 N" [7 `http://libmpeg2.sourceforge.net/downloads.html + g1 W$ W/ t0 k: D: p& i
我用的是mpeg2dec-0.4.1,更新版本的用VS2003无法载入,故使用这个略旧的版本。
! P# A$ H, r' T* ~( o' J建scummvm-0.13.0\include\mpeg2dec目录,把mpeg2dec-0.4.1\include的内容都拷贝到里面。 9 g: V% Z6 i) r* V. y) r6 D
. H+ m5 W+ d' J2 S" j* F
3.SDL : I* ]4 R; I8 A4 ?6 l# m, O/ q
这个库是必不可少的。下载地址如下:
/ K: O4 f3 s; B! }6 @http://www.libsdl.org/download-1.2.php ( F% R" ]& R$ y5 Z1 X2 i
http://www.libsdl.org/release/SDL-1.2.13.zip
) P% r. l7 T- E1 Q' b; S目前的最新版本是SDL-1.2.13,解压缩以后,把SDL-1.2.13\include的全部头文件都拷贝到 . C1 w; M3 d8 _5 C3 C
scummvm-0.13.0\include即可。
9 Z1 \0 v7 Q5 q e/ Y/ P5 M' t) n' E* p7 r
4.ZLIB 9 b8 U7 Y+ I0 P$ m
很多游戏是压缩的,所以要用到ZLIB库。
# b+ y/ U* h% F下载地址如下: 3 ^9 F& u }$ [7 e+ W( L
http://www.zlib.net/ 0 E2 ]) ^6 q E& B3 B, K V
http://www.zlib.net/zlib123.zip
1 T! J B1 }' m4 Z5 d解压缩以后,把zlib123目录下的zlib.h,zconf.h拷贝到scummvm-0.13.0\include即可。
5 {1 K% I) Z% N7 H, \6 Q6 g* K$ c8 u
5.LIBOGG
2 S- T) O. q& u8 L- l下载地址如下:
; j- \" R, |5 ~3 ]& s( ]http://www.xiph.org/downloads/ " O5 ^- l5 I' m& B# M
http://downloads.xiph.org/releases/ogg/libogg-1.1.3.zip 3 j3 f% M+ J4 m9 o( v
解压缩以后,把libogg-1.1.3\include目录下的ogg目录连目录拷贝到scummvm-0.13.0\include即可。
% o2 c. ]" N1 k& y9 _1 I; y9 e( D- {* G, ?9 L
6.Libmad ! X! ?' @0 _. l6 o2 [) Y
下载地址如下: , z1 O2 p2 f% G% k, u: o& k
http://www.underbit.com/products/mad/
2 i- W1 o% l1 uhttp://sourceforge.net/project/showfiles.php?group_id=12349 " W8 A3 D {2 B/ [2 X
http://sourceforge.net/project/downloading.php?group_id=12349&filename=libmad-0.15.1b.tar.gz ( K# x; t! h I/ R M6 ^
解压缩以后,把\libmad-0.15.1b目录下的mad.h拷贝到scummvm-0.13.0\include即可。 7 k! E+ G: Q g
1 U8 M$ t/ l. f, y P; m8 l" o7.libvorbis - ?) d$ g2 S/ J6 i- u7 ?+ d
下载地址如下:
0 X" `- @4 S: r8 `8 Zhttp://www.xiph.org/downloads/ ) z" Q' v$ H5 O9 }% J
http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.zip
9 i* C: x, u- e) k解压缩以后,把libvorbis-1.2.0\include目录下的libvorbis目录连目录拷贝到scummvm-0.13.0\include即可。 , I& C" z! L9 r! h5 M
, `; \1 A) ^. F0 w注意: 6 Z/ h( b j# O# @# f! X8 [( x
在链接时如果出现error LNK2005错误,在项目浏览器的scummvm上点右键,
3 V5 w. Q5 Z0 l/ h* A- ~& O3 _把general-->Use of MFC 设置为 Use MFC in a Shared DLL即可。 & b( \" p6 R8 G. e
, P% ~8 N% A: F5 ddebug版可以编译成功,release版出错。解决方法可以参照如下帖子
( r( [$ d8 K: d9 Ohttp://forum.scummvm.org/viewtopic.php?p=38579&sid=5fd65fe4d50d17ec99f80e7378e23c06 ' A: p8 {; Q) _2 I4 X
! s2 Y( f4 k7 R- \3 v最后放上编译好的头文件和静态库文件。
$ f2 @$ g" y6 x# o* i7 a8 p- \ R8 T: K: [2 L
--------------------------------------------------
' Z9 q' w9 {6 g, q8 t6 e' T2009.10.31 更新 " P; s8 x4 A k9 y
放上预编译好的Flac模块,现在所有的音效播放模块都齐了。 |