为了研究scummvm的汉化可能性,首先要把scummvm编译通过,并在此基础上进行一些修改。 6 l0 |7 g. D/ O0 _
6 l( }% g+ v" `3 Z# s4 D _* m
------------------------- 0 I4 y p* R8 @5 x4 q
准备工作 # w& E. D# \" ~$ H7 f
------------------------- 3 N- d! V8 v' Z; M8 O( r4 Y
首先到scummvm的网站上下载源代码 |2 E. N: f! y, f
http://www.scummvm.org/downloads.php#source
2 ~! w6 e+ f8 h3 L4 T5 \$ L) o源代码约有10M大小 3 r) s w( K- Q7 {+ p7 b& n' p/ q
http://prdownloads.sourceforge.n ... 0.13.0.zip?download , W: N. v+ S% w. y
下载后解开到一个目录里,可以先看一下README. 6 r- B) r- c0 l( ~: ^ G$ t; Y
里面有很多关于编译的信息,此外以下网站也有关于用VisualStudio编译的信息
0 _( B7 o- u+ khttp://wiki.scummvm.org/index.php/Compiling_ScummVM/VS2005 1 T# t5 O) @: w1 B+ W6 K
; X$ m2 a0 z; l$ S) b2 a& R-------------------------
y' r* v9 R9 h: l* T预编译库文件 ( ?+ {6 Y" i, q# a6 H
-------------------------
4 y8 a/ p0 B) R3 ?8 _! ]好,接下去我们逐个说明需要预编译的库文件。编译工具采用的是VS2003中的VC++. - e# \, M; A. _
% ?4 ]) x! i5 B" S0 b g2 l
0.设置include,lib目录
. k- j& b O& h _: _在scummvm-0.13.0下建立一个include和一个lib目录 , W8 L$ A7 x7 y3 t3 p& K
/ \0 X- d3 a& ?- [/ T& j5 i/ o5 w S在项目管理器的scummvm中点右键,在C/C++-->General-->Additional Include Directories里追加一个../../include,VC就会在scummvm-0.13.0\include中寻找需要的头文件。
. W7 F; f( x1 D! G在项目管理器的scummvm中点右键,在Linker-->General-->Additional library Directories里追加一个../../lib,VC就会在scummvm-0.13.0\lib中寻找需要的库文件。
* ^1 S/ }4 e6 `& _
+ G, \& A0 |- U注意,以上的设置debug模式和release模式是分开的,所以如果要使用这2个模式编译的话,要各设置一遍。
0 p5 F: d, B8 |4 s, c# c
& T9 F2 m7 u6 Z8 }1.NASM
: G* ?( h( m& \3 x从http://www.nasm.us/下载一个最新版的就行,如果可执行文件名是nasmw.exe,需要把它改名为nasm.exe。并把它拷贝到vs能找到的可执行文件目录下,比如\WINDOWS\system32。 * P4 a; i& J* r
vs能找到的可执行文件目录可以用以下步骤设置:
( p* s; x" H, z* a3 }7 I菜单Tools-->Options-->Projects-->VC++Directories-->Executable files 8 t5 q9 `5 G7 g9 m' m$ w2 W) ?; j
! @* g, D' A1 O1 p8 J& ~6 s2.libmpeg2
. v2 o. p% K& F如果需要游戏支持MPEG2的话,就必须加入这个库。
& d w4 K6 G$ U$ @+ q/ s在以下网站可以下载到libmpeg2的最新版,目前的最新版是libmpeg2-0.5.1。
! |+ W! `7 |3 N1 h% J4 @6 zhttp://libmpeg2.sourceforge.net/downloads.html
$ G; j- T7 J5 {( y我用的是mpeg2dec-0.4.1,更新版本的用VS2003无法载入,故使用这个略旧的版本。 : o$ X& l' T w* y- k w
建scummvm-0.13.0\include\mpeg2dec目录,把mpeg2dec-0.4.1\include的内容都拷贝到里面。
, ]/ W$ A3 v4 R8 _# Q8 j9 A) Y U1 f& b
3.SDL $ [1 j% W, X6 V, V
这个库是必不可少的。下载地址如下: / u; d. V7 O: }2 a* T1 p
http://www.libsdl.org/download-1.2.php
8 O! W& y3 o3 I2 n0 p; ~4 Uhttp://www.libsdl.org/release/SDL-1.2.13.zip ! x2 @' x$ H$ F1 b: m( w5 D s
目前的最新版本是SDL-1.2.13,解压缩以后,把SDL-1.2.13\include的全部头文件都拷贝到
( D7 s7 t( w7 m3 n7 o4 P qscummvm-0.13.0\include即可。
3 w M; `! L& t5 U" Y5 X3 l$ m+ x1 I2 ~1 {
4.ZLIB 6 B% o3 ~ H% p" e
很多游戏是压缩的,所以要用到ZLIB库。 1 a9 k3 y, h/ V' D- i
下载地址如下:
# ~2 L7 q( I7 e/ s$ t1 Nhttp://www.zlib.net/ 4 h; H0 R! y C: f
http://www.zlib.net/zlib123.zip 5 J3 ?4 e: z5 k
解压缩以后,把zlib123目录下的zlib.h,zconf.h拷贝到scummvm-0.13.0\include即可。 + ^* A2 s. c7 V2 Q- \5 M/ k) P
( {/ H' D8 Y4 @
5.LIBOGG
, g9 M& o0 G7 C! k下载地址如下:
- \3 ]8 S8 h; W! C Q( F/ J2 shttp://www.xiph.org/downloads/ ! W" s" ]2 ?' a8 t% v% I/ r& \
http://downloads.xiph.org/releases/ogg/libogg-1.1.3.zip . _- ]( a! i' Q/ _# k* y6 v! t+ H
解压缩以后,把libogg-1.1.3\include目录下的ogg目录连目录拷贝到scummvm-0.13.0\include即可。
2 H6 T, Y8 @1 A' q) A7 G4 P# G$ Q9 s5 j, Z5 |
6.Libmad : p6 J/ j8 x% M& c
下载地址如下: 3 h+ D1 Q4 D1 X" y% K5 P
http://www.underbit.com/products/mad/
/ ]" a1 K" `5 e+ t# r+ W) Qhttp://sourceforge.net/project/showfiles.php?group_id=12349 9 W$ q+ y' o$ i T
http://sourceforge.net/project/downloading.php?group_id=12349&filename=libmad-0.15.1b.tar.gz
* f) f* E0 u& N5 G) n" l解压缩以后,把\libmad-0.15.1b目录下的mad.h拷贝到scummvm-0.13.0\include即可。 & ]2 c& O' i2 S2 x, v& R
& ?! d9 i9 {# j! f4 J" u# z1 e) x# j
7.libvorbis 3 V3 f1 Y0 L: U0 r$ H0 v" L* ]
下载地址如下:
( Y: r; t3 M6 j9 g& z) B+ Zhttp://www.xiph.org/downloads/
7 d# S* h$ U/ p% \4 D& thttp://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.zip ! j' }/ e7 G- C$ M# r4 ~6 n5 S
解压缩以后,把libvorbis-1.2.0\include目录下的libvorbis目录连目录拷贝到scummvm-0.13.0\include即可。 5 X" R: k& |7 _3 f! ^) g
$ E- l& D7 }' O注意:
( n2 u* \) c1 t. U+ d7 X1 M. O0 `在链接时如果出现error LNK2005错误,在项目浏览器的scummvm上点右键, g$ x- w9 Z& `8 J0 I
把general-->Use of MFC 设置为 Use MFC in a Shared DLL即可。
/ M3 H( g+ A, w: r3 Y- [6 _9 p- X! n7 `6 T, m" y: ~ C6 \
debug版可以编译成功,release版出错。解决方法可以参照如下帖子
" v. R2 p! x @http://forum.scummvm.org/viewtopic.php?p=38579&sid=5fd65fe4d50d17ec99f80e7378e23c06
' j' o0 S. T0 T! P8 Z$ i. e( K% F% d1 M! M* i) V9 o% U
最后放上编译好的头文件和静态库文件。
1 Z9 W! h- B( c8 j. ^) D
; h8 {+ {" t* j+ t-------------------------------------------------- : G" o3 w5 |: f, C+ O( |
2009.10.31 更新 " W. c+ S$ t/ d6 t# p
放上预编译好的Flac模块,现在所有的音效播放模块都齐了。 |