为了研究scummvm的汉化可能性,首先要把scummvm编译通过,并在此基础上进行一些修改。
; I& W8 T' L, t; L3 o4 w9 B: K) \
% y: u4 \- I, l$ Y" I; r- J8 h------------------------- 0 G. H N+ a3 k
准备工作 6 _! v0 K7 j" a Z8 x7 Q
-------------------------
, z+ K" [" q0 ~0 D首先到scummvm的网站上下载源代码 " A- H! _; r% v$ @ m( `: U
http://www.scummvm.org/downloads.php#source / \4 C3 g2 H1 M) ]0 B
源代码约有10M大小
2 ^- Z$ G5 f3 A/ Q4 Vhttp://prdownloads.sourceforge.n ... 0.13.0.zip?download , M% l5 X6 e$ y/ H
下载后解开到一个目录里,可以先看一下README. # d' s- e3 {! ~* Q# z
里面有很多关于编译的信息,此外以下网站也有关于用VisualStudio编译的信息 7 Q& i- x3 N6 j0 ~
http://wiki.scummvm.org/index.php/Compiling_ScummVM/VS2005
+ d; t8 [) d- v
' B% J( M7 Q; R$ _" F-------------------------
, U: H2 w. ~' o9 Z& J- f. B! Z! u! O5 K预编译库文件 - I1 I5 F; A3 C
-------------------------
% c; \3 M @( Z! E5 J. g好,接下去我们逐个说明需要预编译的库文件。编译工具采用的是VS2003中的VC++. 2 O# A. B0 ^3 o8 ?3 W
2 T$ {" I4 l3 L: H& A Y& s0.设置include,lib目录 7 l3 c: K8 M/ w4 t# k+ V
在scummvm-0.13.0下建立一个include和一个lib目录
. ?1 c# d+ T5 g( U5 T8 Y
" L" u+ z& c( X在项目管理器的scummvm中点右键,在C/C++-->General-->Additional Include Directories里追加一个../../include,VC就会在scummvm-0.13.0\include中寻找需要的头文件。 J( M4 U5 D' t" s. }& D) r
在项目管理器的scummvm中点右键,在Linker-->General-->Additional library Directories里追加一个../../lib,VC就会在scummvm-0.13.0\lib中寻找需要的库文件。 ' a4 Z+ T) H) o
$ t; {5 x7 s& p9 M. L! n5 d" i) a @6 ^6 p注意,以上的设置debug模式和release模式是分开的,所以如果要使用这2个模式编译的话,要各设置一遍。 8 T1 o% u/ k0 t5 b9 v! k
# s* U) Y( c8 S0 U' {2 s
1.NASM
4 C6 Y3 K; }/ |; w% P/ y从http://www.nasm.us/下载一个最新版的就行,如果可执行文件名是nasmw.exe,需要把它改名为nasm.exe。并把它拷贝到vs能找到的可执行文件目录下,比如\WINDOWS\system32。 & q% z3 G+ g- W* ]3 V4 }
vs能找到的可执行文件目录可以用以下步骤设置:
& y, I6 p/ V. T4 Y# V8 |1 P菜单Tools-->Options-->Projects-->VC++Directories-->Executable files . {, X9 ]: Y& ?1 Z) D+ x8 m
9 f3 n& Y2 l* r) c) A$ y1 B# s
2.libmpeg2 {0 u! g5 ~; A, w# ]" H" }
如果需要游戏支持MPEG2的话,就必须加入这个库。
! C1 p1 B8 j6 Z# K2 E s在以下网站可以下载到libmpeg2的最新版,目前的最新版是libmpeg2-0.5.1。
! Z7 M* w! U0 Ahttp://libmpeg2.sourceforge.net/downloads.html ! R' l8 v* U4 y2 \& V4 e: w
我用的是mpeg2dec-0.4.1,更新版本的用VS2003无法载入,故使用这个略旧的版本。
, W/ V. {! I( b; J' {( e5 \" a建scummvm-0.13.0\include\mpeg2dec目录,把mpeg2dec-0.4.1\include的内容都拷贝到里面。 - @/ ~! W0 n& Y
$ x8 r; w3 C- W7 J2 S3 b3.SDL * B1 m1 |' f7 l
这个库是必不可少的。下载地址如下: , v1 i1 V' k6 R5 Y1 ~
http://www.libsdl.org/download-1.2.php
: n4 y7 j1 W, G1 `3 F, q# ]$ Zhttp://www.libsdl.org/release/SDL-1.2.13.zip
. H) f0 B* |( _/ p( R% j; n目前的最新版本是SDL-1.2.13,解压缩以后,把SDL-1.2.13\include的全部头文件都拷贝到
: H) z2 U( b4 Y+ `scummvm-0.13.0\include即可。
4 b# I ~% A& F: ?% d
6 u) v X0 i0 F) n5 x( I. _4.ZLIB 7 W9 i& U' r8 G
很多游戏是压缩的,所以要用到ZLIB库。
% i1 d) T/ O( l& ]下载地址如下:
- X0 a L) Q; D, n/ k- ] ?2 N0 N2 vhttp://www.zlib.net/
6 X' _% B+ \0 y" w; j' l( ?http://www.zlib.net/zlib123.zip
' T" G; l* e& V# a; g- g1 R解压缩以后,把zlib123目录下的zlib.h,zconf.h拷贝到scummvm-0.13.0\include即可。 $ S1 M+ v. ^5 s: a5 q6 Y1 m8 M6 o
3 z* M; h K- m8 I+ j/ \' R. o6 N+ I2 P5.LIBOGG
8 y) A* }0 d6 F$ C6 e% Y& F下载地址如下: ) Q- N0 U) J$ _* a
http://www.xiph.org/downloads/
/ l/ J* D7 {) z, Ehttp://downloads.xiph.org/releases/ogg/libogg-1.1.3.zip
J4 g6 l. I" K Y& Z* T解压缩以后,把libogg-1.1.3\include目录下的ogg目录连目录拷贝到scummvm-0.13.0\include即可。
# r4 p4 {; g2 z/ r, D* c4 F0 j& J* s, m6 \5 t, w* r
6.Libmad
' K, |0 \- v, h- }/ D下载地址如下:
+ Z) P5 T5 _3 K& Ihttp://www.underbit.com/products/mad/
+ n! b3 d7 u7 S6 R: j9 _* i5 |http://sourceforge.net/project/showfiles.php?group_id=12349
6 a* P" c+ J" t; N" W: Hhttp://sourceforge.net/project/downloading.php?group_id=12349&filename=libmad-0.15.1b.tar.gz
! Y6 i& y1 k; F+ U5 \解压缩以后,把\libmad-0.15.1b目录下的mad.h拷贝到scummvm-0.13.0\include即可。
1 K+ ^$ ?+ w! `7 i/ a
! `8 X+ R% a! C; ~% c, w7.libvorbis - ]3 @* C8 O' M
下载地址如下:
9 t1 n# [5 @9 r2 ?5 K! d y3 mhttp://www.xiph.org/downloads/
2 ?% h8 X) H9 m3 Q% Q- a: N7 r1 ehttp://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.zip
" ^0 s6 ?3 _8 W解压缩以后,把libvorbis-1.2.0\include目录下的libvorbis目录连目录拷贝到scummvm-0.13.0\include即可。
! c# \: o5 Q# X( v7 @, X5 A7 }( T# q5 _6 ^# F/ c ]' M& F
注意: ' M3 L" x9 d4 M) A* z$ f
在链接时如果出现error LNK2005错误,在项目浏览器的scummvm上点右键,
) a# o, i' T) U# \把general-->Use of MFC 设置为 Use MFC in a Shared DLL即可。 $ |1 p0 B* k. g$ h1 Q# x) R
! V' \/ i) Q! m+ k. ddebug版可以编译成功,release版出错。解决方法可以参照如下帖子
; J4 W- P! d. z- _3 `7 whttp://forum.scummvm.org/viewtopic.php?p=38579&sid=5fd65fe4d50d17ec99f80e7378e23c06 % E" ?! O9 w, h- N
# k3 W+ Q. m! N: m& o! |# j最后放上编译好的头文件和静态库文件。 ( G0 ^7 P- J1 A3 h
$ \3 l2 ]/ B3 M1 X2 j( w; a-------------------------------------------------- $ b, d! g$ N; [- y! m
2009.10.31 更新 0 l) O& a V! s
放上预编译好的Flac模块,现在所有的音效播放模块都齐了。 |