本帖最后由 Tikas 于 2025-1-11 22:40 编辑 , _0 v% ?$ }, S7 W8 g: J3 x8 A
5 B3 H: e/ w: h* Z第一次接触这方面的东西,想尝试汉化《if on a winter's night, four travelers》这款游戏,目前在中文字符方面遇到了一些困难(游戏内显示问号),好像是因为不包含中文字符集?我先讲讲我的过程。大致是 找工具---解包---提取文本---修改文本---重新打包---检查游戏内文本9 @" g0 \1 Y! P1 @, i1 ^
) a' f7 ?) l% ]7 k7 L1 w6 x/ Z6 [这是steam上下载游戏后的内容,尝试多款解包工具后发现该游戏使用的是AGS引擎:4 C% k+ U. F, [; M: R' ^* k! Z$ X
9 ]6 ?, I% `. c1 Y6 t/ q. o
% z- x7 \' L& m1 ~
5 U- u3 g. h1 h7 `
1 }1 G- ^# V% M; X2 ?5 ^我搜索了用于解包AGS引擎的工具,首先是AGSUpacker,adm244/AGSUnpacker: An unpacker\packer for Adventure Game Studio (AGS) engine. 3 Y/ W" z, x* D- p! R0 ~& L
虽然可以直接提取文本,但是发现这个工具无法把解包的文件重新打包3 Q& V4 [$ _8 O, ~% [
& O3 M1 J0 K$ i) ^' n- N
/ m: \* {( t+ ]) `+ b" y
8 g- V- v: E* l1 ^* Z. o$ k2 C
) u" Z" A# w6 }7 t$ s# b2 b9 q$ B/ x4 s; Y7 g) u, v2 Y9 B2 c& f+ z
( { i9 V0 R$ D5 Z% x' l
然后又找到了agsutils,rofl0r/agsutils: contains utils for AGS: game extractor, repacker, disassembler and assembler- s, _& d0 b! J) p# L
我下载的release版本,agsutils-0.9.9-win32。这个比上面那个麻烦一些,要输入命令行。
$ i8 Q7 i. X$ ^& [, y. _5 `8 v" B7 ]3 }- l9 G
% ]4 w2 H/ k. r! O r8 ^- h
+ F G! \ [5 h' m! c
) {. Y. I3 f0 ^7 q, K1 m4 j1 H. l' ^! J( r/ h4 n9 z
总之,使用agstract.exe将ioawn4t.exe解包后得到如下文件:
+ a6 p2 Y" Y/ R. d" |' X8 R3 U9 l& A( A+ ^
* X' M7 u+ j: C' U: L. }) N
! T4 B+ x: b2 N
7 F5 k4 z7 ^8 D I6 }- Z9 B+ F+ _+ ?7 w* m; w
2 v4 k/ W U8 e3 N
然后使用agscriptxtract.exe,从上一个文件夹内的文件中提取脚本文件,如下:
- N0 q1 X" E3 e" h7 I1 h) T1 P
3 g& [( }; U8 p4 j/ m2 J P
4 r+ Y& q }9 t. m3 e. ]9 O( d, @& n5 C* ]$ v
5 E3 C7 G( T9 c8 F(ps:弹出了一些warning,不知道有什么影响) B7 }; j. f, V1 R% S
6 e9 {0 c" \( J$ D" M
9 _4 b0 z# }- \* p- \
& C& v3 Z0 h L1 H2 o+ l! u% u. L" f8 m- R' C
然后修改一处比较接近游戏开头的文本,在room2.s文件内的双引号中(游戏最初火车上的部分的文本没有找到,只能找到下一个房间场景的文本),括号的内容是我添加的。
; h, t" l1 e. i为了演示,此处添加不包含中文。(其实现在想想可以加上中文的,懒得第二次测试)
+ U- j% I9 z( z, v7 B% d6 y6 a1 S% p0 Z3 q0 A! _& r3 ~( A
- F; e- d2 V- w' G/ f' q
; Y& B7 d/ N, Y$ Z# l: W" n% r' N% h. G) l) O
8 c- J1 d9 N* c7 M然后使用agssemble.exe编译room2.s,再使用agsinject.exe将room2.o注入到room2.crm中,最后使用agspack.exe -e将文件打包生成新的exe文件。& z j1 w5 E. [+ n0 I
运行此exe文件,发现游戏中的文本成功改变了。(这个游戏不方便截图)# }; n( F- k2 Z" r8 K: H% l
2 ]& m% Z [6 r$ Y2 N3 Q! z8 Z8 {, ~之后我用同样的方法,将括号里的内容变成了中文,但中文的部分在游戏中会显示?,我查了一下,好像是因为AGS引擎不支持中文字符。
; L( `* w* f- {$ y, i8 n
1 |, i% p' \0 V( |' Q: o9 L- a现在没有思路了,想请教一下各位大佬有没有什么解决方案,或者还有什么论坛可以求助。% r+ x& r$ U9 C
6 l. U- J5 o `0 N( m
5 M4 B6 T" Z$ @% t1 d. Y5 A& {; X
|