冒险解谜游戏中文网 ChinaAVG

标题: 关于东方快车谋杀案的文本显示问题(canmover请进) [打印本页]

作者: shane007    时间: 2010-6-21 22:56
标题: 关于东方快车谋杀案的文本显示问题(canmover请进)
我发现用修改过了的exe显示字幕的时候,半角空格都被过滤了。
7 h( a/ G0 h5 e1 r英文字符都变成连在一起的了,我想这也许游戏在计算字幕的显示位置发生误差的原因。
5 w/ R3 Y6 ~+ v3 S是否能修改一下呢?
) A9 l2 t5 t  C* p( ]7 E! {$ b另外,翻译以后有字幕无法被显示的问题。好像是某些该触发的事件没有被处触发。
作者: shane007    时间: 2010-6-22 07:55
某些该触发的事件没有被处触发的现象已经发现原因了。
$ `9 v  J1 O% ?7 {  K; o是一些控制脚本的 !   被错误地替换为全角字符所致。
作者: canmover    时间: 2010-6-22 08:24
空格解决了没?
作者: canmover    时间: 2010-6-22 09:32
标题: 回 楼主(shane007) 的帖子
又试了下,空格问题没有出现,不过发现了之前一个问题:补空格时,只需要补全角字符的空格(还是2个),ASCII不补。$ [* t6 s2 Q1 t, K+ i
不好意思007,麻烦你再修改补空格工具。
' a6 D" H6 [: C6 A: x; g附上没空格问题的截图。
作者: shane007    时间: 2010-6-22 11:14
〉补空格时,只需要补中文的空格(还是2个),ASCII不补。
. k. |4 M' g1 S- x1 a9 s0 R* z! e# V2 o, v$ ?. A0 t
知道了。( k# t8 p4 j& O  r' a
但是用你修改过的exe去显示原来的英文字幕的时候空格的确被过滤了啊。
% I" B! N* }0 ?9 M/ f2 t0 t难道纯英文字幕和中英混合字幕处理还不同?
作者: canmover    时间: 2010-6-22 11:21
怎么可能?我试了没问题。你看看Options中3D Shadow显示空格不。
作者: canmover    时间: 2010-6-22 14:44
字库文本(chinese)中有没有空格?
作者: shane007    时间: 2010-6-22 17:04
引用第5楼canmover于2010-06-22 11:21发表的 : - f; v1 f; I$ C0 j' D
怎么可能?我试了没问题。你看看Options中3D Shadow显示空格不。
0 z, u* W# S) w* [# W; Z+ r
% ~; \- L. s8 t& w
我没试option,我试的是对话的字幕。, j6 E& O4 v# W) R" w
晚上我放抓图上来。
作者: canmover    时间: 2010-6-22 18:04
标题: 回 7楼(shane007) 的帖子
以Text\\Dialogue\\Act05a为例,手动操作
9 W/ ?6 r% p7 E7 i$ r5 b' h纯英文字幕 [attach]16460[/attach] : [attach]16455[/attach]) T; ~% Q# a$ V
- t8 n* A0 w4 X

1 Z* M# j! {, E0 u纯中文字幕 [attach]16461[/attach] : [attach]16456[/attach]
! C1 A1 L+ Q: o. r: p8 j* z. V) g

; _: ?1 U/ z/ ~3 v+ V. ~- ]5 y/ A中英文混合 [attach]16459[/attach] : [attach]16457[/attach]
# E2 r. o$ M! X# i: W9 S3 F% C+ m0 A

% B. I+ z' I) C3 C$ C都没问题。
; t, _0 n/ o- b* e8 v5 \我再给你传下程序,你再试试。 [attach]16458[/attach]
- y5 m/ i( P) b/ |" a是不是补空格程序的问题?
作者: shane007    时间: 2010-6-22 20:30
标题: 我总结一下,你看对不?
看了你的文本,终于明白了补空格的规律。
2 C+ Y+ B; M: |' Y( `1 @; T9 r9 V. l- F6 [. u+ D
我总结一下,你看对不?
7 u  D: L0 Q# ?, _1 .在每个字符间加半角空格,不论中英。 / b& q. i- A, j1 x
  如果有双引号,双引号两侧不用加。
8 ~6 s! N, e9 }) e0 L: T2. 在字符串后面加上半角空格,数量等于字符串中中文字符的个数。
. d/ `% J1 I% q& D: D1 f0 ]$ ^' ~' I+ T
虽然是理解了,但是,我把你的文件的1句补好空格的句子拷贝过去。
0 l) E& h/ ~/ E  W# U文字出来了,但是半角空格仍然被过滤了。你能看一下吗。
9 R- [4 ^# s. q( |附上存档和字幕。第3个存档,和2个老妇人对话即可。
作者: shane007    时间: 2010-6-22 21:20
就是这句
& T: i3 {8 o( T2 xm u s i c 音 乐 音 乐 音 乐 音 乐 音 乐 音 乐 音 乐 音 乐 m u s i c
作者: canmover    时间: 2010-6-22 21:59
007,麻烦你试试DEMO版是否有问题,有什么问题。然后写在这个帖中。我想看看是程序修改出问题了还是翻译格式的问题。谢谢。
作者: shane007    时间: 2010-6-22 23:02
奇怪,我下载了DEMO版,用你的2-Act05a.txt进行测试的。
. t% T6 e# M3 i8 t0 X7 j还是发现半角空格被过滤了。
4 r! H6 u* [5 P( ]- R抓图如下0 J: Q& E& r$ l
[attach]16464[/attach]
作者: shane007    时间: 2010-6-22 23:09
不过,如果把字符串中间的半角空格删除,后面再加30个空格的话,显示正常居中。
作者: canmover    时间: 2010-6-26 15:21
有什么新情况?我准备今晚用正式版试试。
作者: shane007    时间: 2010-6-26 17:47
引用第14楼canmover于2010-06-26 15:21发表的 : 7 I, P, C* }" _
有什么新情况?我准备今晚用正式版试试。
9 J( X, A* w6 o! y$ v! O0 m5 q

& B; ?: e& B: |5 a暂时没有什么新情况,等你用正式版修改的版本。
作者: canmover    时间: 2010-6-26 17:48
引用第12楼shane007于2010-06-22 23:02发表的  :
( I& ?+ v. M# |8 d5 G% w奇怪,我下载了DEMO版,用你的2-Act05a.txt进行测试的。
3 I4 Q0 |5 j7 J  e6 Z" e还是发现半角空格被过滤了。
5 K  \5 r1 k7 ]" }. l抓图如下2 [0 j9 K( I, }
[attach]16464[/attach]
: i: M4 z. r" {: Y2 u  N8 d
你完全按照我的样本吗?
作者: canmover    时间: 2010-6-26 17:59
标题: 回 15楼(shane007) 的帖子
进入ftp,什么都没有。哪有下载比较快的正式版?
作者: shane007    时间: 2010-6-26 19:02
标题: Re:回 15楼(shane007) 的帖子
引用第17楼canmover于2010-06-26 17:59发表的 回 15楼(shane007) 的帖子 :
& K& _& \. ~+ X! Q! o* }3 h进入ftp,什么都没有。哪有下载比较快的正式版?

+ n3 J( O: [6 ?
8 B; a- l! y. }$ f' y不会吧?可能你用的工具的问题。
* p' z( I3 N/ [* X$ T) f) U1 N请看抓图,以下是迅雷登陆时的画面。
$ N  F# s; |2 U你换个工具试试看。
6 m8 L- b) a3 d[attach]16496[/attach]
作者: shane007    时间: 2010-6-26 19:09
你试试看这个,bt 的。试过可下。
作者: shane007    时间: 2010-6-26 19:11
先上传一个正式版的exe,你可以先看一下。
作者: canmover    时间: 2010-6-26 20:54
标题: Re:shane007,压缩包密码呢?
我已下完,有密码.请消息我.
作者: canmover    时间: 2010-6-28 19:34
正式版,按照你的文本测试,没有空格过滤问题.0 g% l8 h  X# N& Q4 p: B! ]( m. m9 v
是不是d3d8.dll的问题?我把我的版本给你,还有正式版的exe./ j' g, l6 [7 [/ }! A" v
[attach]16513[/attach]
作者: canmover    时间: 2010-6-28 20:07
我觉得最好还是用DEMO版。这样我们就可以把原来的广告画替成论坛宣传画。
作者: shane007    时间: 2010-6-28 21:37
我觉得还是用正式版好。
7 Y; \/ m' I/ L& P& R- ~* n1 S/ E$ {我测试了一下正式版的exe,还是老样子,不过我觉得问题不大。5 l' h6 B( Q# ]7 f6 R1 p7 H' `
等我有空,我把游戏重装一下看看。
& H* O: A* Y6 \
* w% g# `$ t7 Z: j1 z我用的版本,需要配合apploc来安装的。否则最后有个文件出错的。. |- h6 |( t, p9 z
你是这个版本吗?
作者: canmover    时间: 2010-6-28 22:12
我也是这个版本,土耳其语。新的exe退出正常否?有没有用我的DLL?其他翻译有出现空格过滤问题吗?! ?# G1 I, m9 |$ ?0 S( n9 F+ ?1 [
另外,把你的字库文本传上来。
作者: canmover    时间: 2010-6-28 22:16
文字越界暂时还没办法,我还要多参考些资料。
作者: shane007    时间: 2010-6-28 22:34
新exe退出也不正常,我怀疑是我电脑问题。有待更多人测试。6 P6 y( e* y( I6 j( G  y4 H2 E  E5 M
用了你的DLL了。" X0 y/ T- g( O4 J2 d0 v. e
其他翻译有出现空格过滤问题。这个你可以在群里问问,我这里只有1个文件。2 a. ~7 d. X6 l0 Z
先发上来。
作者: canmover    时间: 2010-6-28 22:44
我刚才没说清,其实我想问的是其他翻译人员有发现空格问题没。
% A  R1 B4 ?( H/ |7 X退出不正常是我意料到的,因为我也不正常,让我感到非常非常奇怪。
作者: xiao5    时间: 2010-6-29 00:11
标题: 回复。。。
刚才试用了canmover 的新EXE和dll文件
# k7 w+ ?3 o9 d2 C3 ?; B- [6 l  x: c空格不再被过滤 英文字幕显示正常
' ]8 Y' j( I6 g! c# w5 C不过中文字幕仍然有偏差 8 [: {9 g3 a' N; l% x# U

) d& v7 s& s- a% [# B1 U另外 看到007和canmover说到退出报错
4 B8 Q6 B& ]7 y$ A: ]5 W是指菜单界面点esc或是直接点exit时候的报错吗?
9 z/ }. m4 a) Z# \: k% E: `4 d如果是的话 1 J. i+ k1 i2 A
小伍想会不会是退出时候弹出的确认框的问题?(“Quit program?” 这个提示)
' u0 x. }  M) F; {因为在覆盖已有存档时候——弹出确认框“Overwrite?”——也会出现报错 8 V+ V5 z" H7 F8 I3 D# b5 ?; E
同样的报错还出现在 游戏菜单中点击Main menu,本该弹出提示框“Quit current game?”的时候
作者: canmover    时间: 2010-6-29 09:07
标题: Re:回复。。。
引用第29楼xiao5于2010-06-29 00:11发表的 回复。。。 :
: r% K% E- G/ ]# O# H刚才试用了canmover 的新EXE和dll文件
. r) a! ^. G) E/ X) A0 Y) R* x空格不再被过滤 英文字幕显示正常 ' f0 T7 ~: M% M
不过中文字幕仍然有便宜
1 b- l7 T/ |2 q另外 看到007和canmover说到退出报错 ( R/ F. D/ t5 n- s
.......
对,是说的按ESC或点Exit报错。
; j) ~# h6 w7 T3 m1 ~% \0 v: w上一版本EXE有出现覆盖存档、点Mainmenu和Quit current game?问题吗?3 M; @; K; ?3 a9 c  q6 {2 ~; B
还有,关于退出异常,请作以下测试:1、新建游戏。然后去上面所述的几个关键处。3 \0 U/ A- _7 J% U2 _. T
2、使用存档。然后去关键处。
2 \5 ~- e* @" `$ z6 R, C- R' ]& f6 O0 r7 w
另外,关于空格过滤,请再作以下测试:1、第一版EXE   
6 o, x5 p) d$ N0 N* W9 L7 f8 S# k2、第一版EXE+我给的Dll
, ]0 v2 L4 q& D' w6 X' M3、第二版EXE" P. N& O9 U9 I* K, K- W( G2 `
4、第二版EXE+我给的Dll% h. {4 Q9 O7 V& l
我再罗嗦下:程序优先游戏目录中的Dll,因此不需要我给的Dll是一定要将其从游戏目录删去。
$ t/ ?( c+ n, W/ n2 y# {汉字偏移和出界还在解决中,请耐心等待。
作者: shane007    时间: 2010-6-29 11:24
关于汉字出界问题,能不能加个判断,让游戏读到斜杠n时换行呢?
作者: canmover    时间: 2010-6-29 12:53
标题: Re:回复。。。
引用第29楼xiao5于2010-06-29 00:11发表的 回复。。。 :0 k& g, G- W+ L3 j9 e6 `4 X( X5 U/ Z; y" U
刚才试用了canmover 的新EXE和dll文件 9 ]) w- X- E' ^5 ]5 z: j7 k- G  _
空格不再被过滤 英文字幕显示正常
; n- E' t0 k3 y3 V$ l2 ^不过中文字幕仍然有便宜 8 X9 i5 Q! U; s$ R

9 R& x6 g- M' n- t" r2 r另外 看到007和canmover说到退出报错
' a) g3 U3 g* W# }.......

; Z9 g- a  F4 c& v% L( b  C) E真让人无法理解.............。我又重新安装了正式版,用第一、第二版exe都可以正常退出的。
作者: xiao5    时间: 2010-6-29 15:09
标题: 回复。。。
找到过滤空格的原因是字库中没有空格
$ v5 F% c8 z0 l% Q  U4 ~) J生成字库文件的软件会在字库开头生成一个极长的空格 ' L/ {! h% F' c4 L) L" n$ H
造成多处报错(附件“字库”中的END是“Act03a+007的原始字库”提取的字库) ! {+ }8 M4 s+ q9 P$ z4 I- |
小伍在删除那个空格时候将生成的空格也去掉了,所以出现了不能显示空格的错误(愚蠢的小伍。。)
) o9 w4 Q; W. x% x附件“字库”中的Chinese是修正后的字库
2 F$ J* y% g! k; {8 s0 U( H字库加入空格后英文显示在任何情况下都是正常的
4 K* }& E/ o+ q/ J1 p# \" e4 w
! \4 U$ i( L  I" K为了方便检查字库及文本内容
( w( W% V1 U5 N, v换做较短的Act03a做测试
  v  c( q2 t( X/ k& R2 a文本覆盖的剧情从存档开始,一直到火车启动结束 - l+ @; K3 G# T1 b# \0 K( n
1 ~, Y' @9 l! t4 `
下面是关于报错的测试,首先删除游戏文件并重装,然后
/ c- N$ r) r; ?" l# @! @1.解压第一版EXE及007附带的原始字库(即附件“字库”中的原始字库)到目录并运行,退出等无报错 ( d5 f% h  p& E! ]
2.删除第一版EXE,解压第二版EXE并运行,退出等无报错
* Y) v1 Q5 J2 v1 Z3.(第二版EXE状态下)加入中文文本,并加入相应字库,退出等报错
  Z1 V4 E; P, \$ m+ N4.在3的状态下加入DLL,退出等报错 . y- l5 V$ v( `9 \) Z; R
5.在4的状态下,删除第二版EXE,解压第一版EXE并运行,退出等报错 / o) M. G2 c% O5 u9 j1 P" n! ^2 X8 C" d4 d
6.在4的状态下用原始英文文本替换中文文本,退出等报错
1 ?, B( K7 Z! M/ v) `' F& |
$ e! f% p! u) o4 ?2 s  a综合2,3,4,6 4 a$ N+ o4 X" F7 u+ _( `. \$ i
小伍想,会不会是后生成的字库造成的退出报错?* ^' b* r  Q, n

" m4 n0 D/ N. d# R) T2 ]6 [附件密码已经用论坛短信发给007和canmover,如果没有收到可以QQ联系小伍
作者: canmover    时间: 2010-6-29 16:31
标题: Re:小伍
很好,空格过滤应该算是解决了。
5 S) o" ]' V- q- z+ l+ @退出报错问题,我中午看了下,感觉很有可能是内存冲突造成的。(我以前认为是缺少广告画是个错误的猜测,因为我把DEMO版中的广告画相关文件删除,退出还是比较正常的)$ r; y# I$ \; Z* V* C2 U! K5 c( y
小伍,接下来,你再作如下实验:Chinese字库中只包含全部ASCII和一个汉字(比如“一”),然后将所有字幕文本恢复为英文版,再随便找一句对话,翻译为若干个“一”。接下来再进行报错测试。
作者: xiao5    时间: 2010-6-29 17:40
标题: 回复。。。
全部ASCII指的是小伍附件里原始字库中“东”字前面的部分吗?
, o$ d+ q3 Z% [6 M7 z; X" v4 P  d9 U0 C4 p9 w" |: {/ P8 s
测试如下
; o6 U4 p0 Y" L4 j8 l" h9 C& J% G; \
还原文本为英文
5 t6 u0 b- I$ w: G将Act03a第二三四句改为“一一一一一一一一一一一一一一一一一一”' L7 C  P/ a+ d' F1 q& h6 R
将原始字库中的中文删除,加入一个汉字“一”
. M0 m* N0 V( j( V1 S) D: x9 `- c5 X; b/ l6 s
1.只有第二版EXE,没有DLL
( ~( B( a( I; g* P2.只有第一版EXE,没有DLL" O. C* r: O$ O
3.第二版EXE+DLL4 j: C8 A$ Z/ y, W; C5 A" A% K! a
这三种情况下,中文可以显示(有偏移),退出无报错
作者: canmover    时间: 2010-6-30 00:32
引用第31楼shane007于2010-06-29 11:24发表的  :
3 T6 P/ j. [: B! [+ C( @关于汉字出界问题,能不能加个判断,让游戏读到斜杠n时换行呢?
我没编程经验,请举个小例子说明下。5 [0 \# i: h6 F5 e) G% U
我有另外一个思路:今天在和小伍讨论问题时,偶然发现navigation.txt中有个Additional Text项,其内容在Text项内容的下一行显示。那么,对话文本是否也可以加这一项呢?有待尝试。& W, X) _, J1 S: W% R# E) l  |% i$ [
还有,补空格程序改了没?除中文要补两个空格外,其它不补。这大概能解决不少字幕偏移。
作者: shane007    时间: 2010-6-30 07:53
补空格程序的新版本我会尽快放出的。目前版本英文字符也补的。
7 r9 j1 Z; x+ u1 S) N# v关于Additional Text的确值得一试,等我晚上试试看。
" V5 l5 T! h3 P7 o. O5 o* o- D/ J小伍白天有空的话可以先试一下。
作者: shane007    时间: 2010-7-2 07:53
对于不能换行的问题,我想了一个试验,请小伍帮忙试试看。
5 k/ |* S9 K( x: u% [) z/ v9 m% f6 K假设英文字幕每行100个字符换行,我们输入110个汉字,看看效果如何。
作者: xiao5    时间: 2010-7-2 12:13
标题: 回 38楼(shane007) 的帖子
唔。。不很明白007的意思4 {( b" v! V3 _  v1 [
输入110个汉字是指220个字节的汉字还是110个字节的汉字?
作者: shane007    时间: 2010-7-2 17:04
标题: Re:回 38楼(shane007) 的帖子
引用第39楼xiao5于2010-07-02 12:13发表的 回 38楼(shane007) 的帖子 : , h. V6 `" t8 ]
唔。。不很明白007的意思 5 A: s) ?$ E% d
输入110个汉字是指220个字节的汉字还是110个字节的汉字?

. x/ n, j3 g8 {- f
% ^; w: X7 E" U" _: J8 ?3 J/ ]7 ^110个汉字就是110个中文全角字符,占220个字节。
作者: xiao5    时间: 2010-7-2 17:50
用220字符的中文汉字做测试 仍然会溢出屏幕(如图,字幕文件经过补空)
+ P: \! }6 }. d7 P
8 M" b2 ^9 P( C: `6 `3 Z) k  g( E8 M另在截图英文字幕比较的时候发现一处有趣的字幕
& P7 M, b( m* R# t游戏中的大部分换行都是如截图"换行1"一样' J* Y# ~+ o$ R/ {
可是不知是字幕过多还是有意为之,7 M  _' ]: z7 `
截图"换行2"里的换行法则似乎和"换行1"的模式不是很一样
$ f  u9 J7 [, {7 d& q. `没有太多的检查其他的字幕 所以只发现这样一处 不知道有没有帮助
作者: canmover    时间: 2010-7-4 19:38
2010.07.04更新* n$ }( J9 Y: w% o* c$ O
更新EXE文件" }2 G+ B7 y" m* v$ t* c0 G+ Q

* Y" @, p, s* w5 y, M" l另外,对其进行汇编分析后,发现有疑似判断换行指令。各位可以帮忙测试下:1、在英文字幕中插入换行符(0A)
% f& `! j* C2 I2、在中文中插入换行符
作者: xiao5    时间: 2010-7-5 02:56
标题: 回 42楼(canmover) 的帖子
小伍不懂编码3 I% B: l) e" ?# E" T) f
canmover可以更详细地描述一下测试的步骤以及需要使用的软件吗?
作者: shane007    时间: 2010-7-5 07:53
我试过了,插入0x0a后,只能显示0x0a前的部分,后面的无法显示。
作者: canmover    时间: 2010-7-5 12:41
引用第31楼shane007于2010-06-29 11:24发表的  :6 l5 f/ I0 n3 `' Z6 K  K7 G
关于汉字出界问题,能不能加个判断,让游戏读到斜杠n时换行呢?
已实现,见程序发布帖。
作者: xiao5    时间: 2010-7-5 14:26
标题: 回 45楼(canmover) 的帖子
测试换行符有效9 B& A  B. r) U- N
有一个疑问是 如果居中必须通过补空工具来解决
0 Y3 z; J( H6 I; [# D: G, ]; ]那么换行会不会影响到居中的效果?
6 {; \2 w% ~( a1 T" P8 r
( L! ~% A& i: k另 窗口化很实用
3 }2 ^5 `1 y* N解决了校对时候的麻烦
5 H3 C9 x6 R6 z; Z# ~% E不过似乎和小伍用D3DWindower强制窗口化有相同的问题# F3 o: e1 A' v  ~" H1 U
就是窗口必须处在某个特定的位置2 ]+ ]2 O: M( z8 H
如果从那个位置移开 鼠标就会有一部分画面没有办法到达$ o2 I( s' C9 a) ?( g
就是说 鼠标只能在某个特定的区域移动
: T- a$ Q8 }- s+ S, j! m, J* r不知可不可以改进一下。。
作者: osway    时间: 2010-7-5 14:53
标题: Re:回 45楼(canmover) 的帖子
引用第46楼xiao5于2010-07-05 14:26发表的 回 45楼(canmover) 的帖子 :
6 ^8 l9 J  ^; C测试换行符有效* L' t+ M4 s: k/ r- b8 v7 o
有一个疑问是 如果居中必须通过补空工具来解决
9 f$ L- N( m; E( y1 s那么换行会不会影响到居中的效果?
: {) m8 K# @# V: `+ j8 f; z另 窗口化很实用. c" `4 o( s( }* B' ^
.......
从我的那张附图,可看出是会影响居中的。测试还没怎么作,暂时不清楚。你先作下测试吧:1、换行符插入字幕,只结尾处补空格。
( ]1 S2 v" F) u0 v/ u3 E+ @! V& Y2、换行符插入,符前补空格,符后补空格。
# _# \2 _7 Y- l% |/ R% q! M3、换行符插入,符前补空格(数量等于中文个数),符后也补空格。# p1 c: ?  X" }# \  H  M: @6 T
你也可以自行设计测试。
作者: osway    时间: 2010-7-5 15:01
我是Canmover




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2