![]() |
|
汉化新世纪9周年
作者:乾 日期:2009-01-27 21:40
Vopt即将升级到9.0,简体中文版或单独释放
作者:乾 日期:2008-06-24 16:07
MMB 4.9.8有很大问题
作者:乾 日期:2008-03-11 22:15
关于世纪网站暂停部分服务的公告
作者:乾 日期:2007-07-09 20:39
20070708,常州暴雨,光缆中断,世纪断网
作者:乾 日期:2007-07-08 17:21
深圳聚会相片及一些琐事
作者:乾 日期:2007-06-30 23:04
弄个Wiki测试,欢迎技术口水
作者:乾 日期:2007-06-02 23:03
Wise问答篇——播放avi视频
作者:乾 日期:2007-04-10 00:53
脚本如下:
安装文件d:1.avi到%inst%1.avi
播放多媒体文件%inst%1.avi


2、对话框内播放。其实wise把视频播放的功能,放在对话框设计里面了。进入某个对话框的编辑,打开菜单“Add--Play AVI”,即可出现视频的设置窗口:

两种方式都需要所播放的avi能够被目标计算机所正常识别并播放,这是大前提。所以如果自己生成的avi,建议采用MS最兼容的格式。
第一种方式会调用系统的avi默认播放器,好处是可以在任何地方写简单脚本即可,不足是位置无法控制,由播放器来控制,尤其是如果播放器记忆过之前的播放位置和大小的话,那么wise就根本无法进行调整。
第二种方式要有一个专门的对话框,好处是可以自行定位和指定大小。
模拟飞行之游戏界面不能显示中文已经解决
作者:乾 日期:2007-03-30 17:43
模拟飞行之主界面汉化的方案说明及部分汉化测试文件
作者:乾 日期:2007-03-29 21:19
这里的主界面,是前面帖子的界面,并非游戏过程中的菜单界面,那个界面还不能解决,汉化后出现口口字样,像似缺少字库的原因,但暂时还没有找到原因。
在安装目录下,有一个Dialogs文件夹,经过搜索检查,基本确认主界面的内容都在这里了。里面都是spb,之前是考虑如何编译XML为spb,但没有想过如何将spb反编译的问题。测试时发现,原始spb里面,如果要正常显示中文,中文字串必须是UTF-8。大家也知道英文是一个字节,常规的ANSI和Unicode中文是两个字节,而U8编码却需要三个字节,这样很容易引起字节不足,比如HOME为四个字节,中文“主页”的U8就是6个字节了。
当然,经过分析spb文件,发现他对文件大小并没有进行控制,不像普通exe、dll文件,修改了大小就不能运行了。因此,理论上可以强行增加字节,同时,发现每个字串前面都有长度符,只需修改长度符即可。看图:
在这个例子中,484F4D45对应是右侧的英文HOME,前面的05,就是长度符,应是指“的长度。如果长度变长了,只需修改05即可。
但是,目前的工具中,能否用U8编码写入的软件,暂时还没有。而且这样写入,需要比较多烦琐的人工处理,尤其是修改字串长度,或者手动增加字节空间。
还有办法吗?想起之前发现spb编译是可以编译为ANSI、Unicode、UTF-8编码,在没有原始xml情况下,如何处理呢?于是拿教程的XML分别编译为三种编码,找到了机会:
只需把spb中下来红色圆圈位置的03改为02,游戏就认为这个spb是ANSI编码的。因此,可以按ASCII方式用点睛提取英文并写入中文,手动将红色位置改成02,这个spb就会被游戏认为是ANSI编码的,里面的中文就可以被识别出来。
经过对多个spb测试,发现确实能显示中文,只是还不清楚是否有其他问题。进行过教程一、二的游戏,基本正常。
上述方法的确立,基本就可以确立针对spb的汉化了,甚至可以在没有xml的情况下,对任务中的spb文件也进行同样的操作。
现在,来讲讲用点睛的汉化方式了。先提供两个工具:
点睛0.94免费版,ASCII点睛专用编辑工具,下载地址:http://www.fsxcn.com.cn/?523/action_viewspace_itemid_5.html
在使用ASCII点睛专用编辑工具之前,需先安装Net支持库dotnetfx1.1.4322,由于文件太大了,大家在网上下吧:http://download.microsoft.com/download/7/b/9/7b90644d-1af0-42b9-b76d-a2770319a568/dotnetfx.exe
先运行点睛,文件--查找ASCII字串,点浏览按钮,找到需要提取的spb文件:
按下面的“查找ASCII”大按钮,查找结束后即进入到编辑界面,按“编辑对照文件”按钮,即调用ASCII点睛专用编辑工具:
在这个工具就可以进行对照翻译,而且能直接看到翻译后的中文是否超长,便于控制中文长度,还有其他优点,以后再谈。
基本翻译完后,保存,退出ASCII点睛专用编辑工具,回到点睛,选择菜单“替换-替换字串”,进入替换界面:
点“替换字串”大按钮,替换完毕即完成了提取和替换工作了。后面就不用管了,接着是处理spb的编码问题了。
建议去下一个hexworkshop或ultraedit。我使用的是前者,简称hex吧。用hex打开汉化好的spb,在第一行找到0003(如前面第二图),修改为0002,保存。运行游戏,即可看到主界面被汉化了。
翻译注意点:明显是句子的,可以汉化。不确定的单词、短语,部分全大写的单词、短语,尽量先不翻译,除非很明确在游戏中出现。
以下是部分汉化好的spb文件,覆盖到Microsoft Flight Simulator XDialogs即可。
下载地址:http://www.fsxcn.com.cn/?523/action_viewspace_itemid_6.html
模拟飞行之汉化进度测试-乱码及坐标偏差问题
作者:乾 日期:2007-03-29 10:49
这是整理回顾,本来打算回复在世纪论坛的,因为这几天不稳定,所以发表在游侠网了。
今天终于安装上了15G的内容,由于世纪服务器这几天调试,暂时无法回复,将一些情况在这里做个交流吧。
乱码是一个问题,不能出现绿色引导框可能是另一个问题
先解决乱码的问题,引导框的问题需要再查找原因
为何说引导框可能是另一问题,实验如下
1、采用你提供的英文xml,删除或改名原始的spb,将相关xml复制到同一目录下,让游戏只读取xml,进入游戏,英文正常,但无法出现绿色框
2、采用英文的xml,用你的编译方式生成spb,复制到游戏目录,删除或改名原始的spb,进入游戏,结果同上
3、将自行用英文编译的spb与原始spb对比,发现多处地方原始spb比自编译spb多出内容,两者不相同,说明编译出来的spb无法等于原始的spb
因此推论引导框问题与编译有关,或者所提供的英文xml本身就不带相关信息
同时也说明,单纯就测试来说,只采用xml或spb,应该不影响对乱码的调试,只需调试到xml能正常显示中文即可——这是初步想法
关于编译:
由于开始怀疑编译的问题,于是输入simpropcompiler命令,得到相关帮助:
Syntax:
simpropcompiler.exe command (options)
commands:
makeheader (options) symbolfile
options:
-i searchpath -- semicolon delimited list of filenames (wildcards supported)
-h c_headerfile -- C/C++ header file to output.
-cs cs_headerfile -- C# header file to output.
2spb (options) infile outfile
validate (options) infiles(wildcards supported)
options:
-symbols symbolfiles -- semicolon delimited list of filenames (wildcards supported)
-excludesymbols excludedsymbolfiles -- semicolon delimited list of filenames (wildcards supported)
-i symbolsearchpath
-encoding (ansi|utf8|unicode)
再查看出的批命令,是:
Simpropcompiler 2spb -symbols ".*.xml" Tutorial01.xml Tutorial01.spb
修改为新的批命令,为:
Simpropcompiler 2spb -encoding utf8 -symbols ".*.xml" Tutorial01.xml Tutorial01.spb
同样进行两种方式的对比实验,后者能够在中文XP下正常显示Radio message的中文。
再测试:
实验一:采用原始的spb,进入教程一,会出现大的绿色引导框,radio出现语音提示,到第四段左右,“看见屏幕左上角的标尺”,此时标尺数据为:0.3nm,2301ft,正前方有绿色小三角
实验二:采用你之前传送的英文xml复制到Tutorial01,将原始spb改名,使得游戏只读取Tutorial01.xml,进入游戏,没有出现大的绿色引导框,语音提示到第四段,此时标尺数据为:6173.7,0ft,在标尺圆形50分钟方向,出现橙色的小三角
实验三:采用你给予的中文UTF8翻译的中文xml,不加UTF8参数编译为spb,复制到Tutorial01,进入游戏,出现正常中文的radio信息,但是标尺数据同实验二。
如果中文翻译源自你所给予的英文xml,那么出现的标尺数据错误,很可能是因为本身英文的xml中的相关标尺数据就是错的。乱码可能跟坐标错误无关。同时,编译程序应该能自动判断xml的编码问题,编译出来的中文应该能正常显示。之前将中文显示跟坐标问题相关联,可能是一个误区。
先看看下面截图,出现绿色引导框,标尺坐标正确,绿色小三角出现在正前方,中文嘛,呵呵...
如何修改?
主要是看了看Tutorial01.FLT,发现里面有坐标数据,然后发现英文的XML里面数据与其不一样,于是开始实验:
打开一个英文的XML(不用所给予的中文XML,是避免可能的干扰),将<WorldPosition>数据进行修改,保持跟FLT文件的一致,修改为:
<WorldPosition>N34 57' 11.74",W117 51' 44.91"",+002302.77</WorldPosition>
将XML文件编码改为UTF-8,在相应某处输入中文,直接编译,无需加UTF-8参数,生成spb,取代原始spb,进入游戏...呵呵,这说明我之前的推论是对的:乱码跟坐标无关,坐标跟XML提供的数据有关。
另,中文XML里面,有关坐标数据,不要用中文的符号,比如N34° 56' 48.79",要保持跟FLT的格式一致
模拟飞行之汉化进度测试1-主界面效果图
作者:乾 日期:2007-03-29 01:10
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.