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

【scummvm汉化】scummvm汉化版源代码初次公开

[复制链接]
楼主: shane007
打印 上一主题 下一主题

【scummvm汉化】scummvm汉化版源代码初次公开

41#
发表于 2009-10-19 23:14 | 只看该作者
引用第38楼gamadao于2009-10-19 23:10发表的  :; m2 I# w! f: W. {% [
我还没尝试变大字体呢,直接黑屏。奇怪的是gp2x自动就有debug输出啊,但是文件中却什么都没有。* I& I/ t" Q+ |) }" j/ t+ r" ^
我也不知道哪出错了,我甚至在想是不是先编个zaurus的,起码能看到命令行输出了什么,呵呵
4 H3 Z2 x) u1 j4 Q* i7 A我太想gp2x那根串口线了。我的gp2x usbnet死活不行,郁闷

1 }( d( O1 C6 L; {: n我没有gp2x,不过你可以先用linux的makefile,在linux下先把版大的补丁打进去看黑不黑屏,
" J6 F; Y9 g0 H8 d这样如果有问题至少可以用gdb或者ddd来单步调试,供参考。
6 t! a5 V' W$ f3 m$ C  A3 O) s" H( i% b" x6 M! J
丁果的sdl比较讨厌的是,它不支持8bpp的videoset,所以很多时候需要自己来改图像代码,
9 P  _" B  v/ E/ I' W8 ^一般crash掉的原因是屏幕大小没有设置对,或者使用了不合适的surface,不过gp2x的工具0 S1 h; X$ H( i% p7 Y# g( \# L
链好像提供了自动转化。
回复 支持 反对

使用道具 举报

42#
 楼主| 发表于 2009-10-19 23:21 | 只看该作者
可以先把官方原版的编译为gp2x版看看。- N  f" O( S' g3 C2 O
如果没问题的话,再试我的修改版。1 a; ]* r% [4 k1 \  @2 ?9 {
修改版可以先试试看只留那个载入字体的函数,看会否黑屏。
8 w/ O" c$ R- x2 |如果没问题的话,再试着加入其他函数。
回复 支持 反对

使用道具 举报

43#
发表于 2009-10-19 23:35 | 只看该作者
有道理,我怎们忘了最基本的方法了
回复 支持 反对

使用道具 举报

44#
发表于 2009-10-19 23:45 | 只看该作者
我刚下源码来看了一下,版大是只动了那个text.cpp文件吗?gamadao,也许是版大用的scummvm的版本号和你有不同,你别覆盖太多文件,如果是断箭相关的地方不对,那几个函数里面都有printf输出的,你能看到一些东西的。我现在还没有断箭1的游戏文件,待我下载一下再说- -; I8 J: n/ b2 E7 ~/ x0 L2 x

2 o1 K% f2 g7 k! Y: Y) }" H. P8 wPS: 印第安纳琼斯在丁果的版本上有个非常弱智的问题,就是有些键它没有定义,比如游戏刚开始,进拳击场就无法控制了,gp2x是不是也有,我最近想把这个给fix了。
回复 支持 反对

使用道具 举报

45#
 楼主| 发表于 2009-10-19 23:54 | 只看该作者
对,我只改了text.cpp文件。
回复 支持 反对

使用道具 举报

46#
发表于 2009-10-20 00:00 | 只看该作者
引用第42楼gamadao于2009-10-19 23:35发表的  :. \: M) u& p1 M' e+ y$ ?$ w# V
有道理,我怎们忘了最基本的方法了
我试过了,linux是没有问题的,看来的确是字库大小的问题了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

47#
发表于 2009-10-20 00:02 | 只看该作者
印第安琼斯我还没开始移植呢
回复 支持 反对

使用道具 举报

48#
 楼主| 发表于 2009-10-20 00:08 | 只看该作者
我的修改版是先把字库从hzk16转换为断剑1的格式,然后把4M大小的字库全部载入内存直接使用。
7 k/ [6 V2 S& d2 K
0 M1 K; |! x* b: L! n( ^字库大小的问题可以这样解决。
9 R: C; g. ^% P: D; J( L把hzk16载入内存,需要用哪个汉字的时候再动态转换为断剑1的格式。  [" Y" B3 k7 \* v  F) `; B# b
这样的话,hzk16才不到300K,应该没问题。和急速天龙的差不多。
回复 支持 反对

使用道具 举报

49#
发表于 2009-10-20 08:20 | 只看该作者
Hi, gamadao, shane007, 我刚刚在丁果试了一下,也有黑屏的问题,问题是这样的:2 G' M- w8 o! Q5 f% s4 r; v
1. 字库大小没有问题,4M的大小丁果和gp2x应该都能处理,毕竟ps模拟器游戏都可以跑的 :)
- z8 d) \' M: C6 u. v' Q0 W2. 问题出在    loadChineseStrings() 这个函数上面:
) \# Y- x. L1 |6 S! Q     
- \8 n0 G( P" C# F8 I    for(k = 0; k<SUBTITLE_NUM; k++)) u1 w$ _5 u& s, f  m* R  V
    {
, V! M- {8 ?3 b1 k            //English subtitle( L2 X/ }% ]6 X1 J8 r% J' m
            _subbuf[0][k] = (char *)malloc(1024);0 ]4 q9 f* l7 s
            fgets(_subbuf[0][k], 1024, _fp_sub_cn);
* L' O: A1 c$ Q# ]) _, Q; n+ ^% u1 K% Z& j# \
            //Chinese subtitle0 R4 L9 ?  |) S" d1 o7 W- f3 P
            _subbuf[1][k] = (char *)malloc(1024);) H) U; ~2 h5 B: w0 g; Z) j3 {
            fgets(_subbuf[1][k], 1024, _fp_sub_cn);
( X# q& R3 g; y% ]* ^. I7 R5 d
; o6 p. Z1 R) N            //tempbuf = (char *)malloc(1024);
. @9 W- [9 ^7 }; G8 k* X( C* m            //fgets(tempbuf, 1024, _fp_sub_cn);
1 p9 [# n' G* L$ o2 \4 C- R' g& ^            //_subbuf[1][k] = (char *)malloc(strlen(tempbuf)+1);, D2 h' m/ l, Q+ d9 w* Z6 Q2 f% s6 k
            //strncpy(_subbuf[1][k],tempbuf,strlen(_subbuf[1][k]));
7 H2 h% |  I% T8 N/ `
0 `* ^5 y) N: y* h, f8 s    }* S+ Q  T6 J% f! v( W1 L+ N, j3 ~  U
上面这段函数想要把字幕文件完全读入内存,字幕文件有10488行,所以内存被这段循环吃掉了,如果你把text.h中的SUBTITLE_NUM从10488改成100,重新编译一下,就可以看到这个中文字幕70了。这个解决方法不难,字幕文件出来时候分成几个文件就可以了,动态读取,这样就不需要把版大的vb程序重写成c了 :)
回复 支持 反对

使用道具 举报

50#
发表于 2009-10-20 08:21 | 只看该作者
嗯,抽空研究下
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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