冒险解谜游戏中文网 ChinaAVG

标题: 【汉化任务简报】#34 即时屏幕图文游戏攻略浏览工具 [打印本页]

作者: shane007    时间: 2009-6-7 13:28
标题: 【汉化任务简报】#34 即时屏幕图文游戏攻略浏览工具
以前在某个帖子里提到过这个东西,现在正式作为一个汉化任务简报来发布。
8 W  E6 V- t5 b! |' h1 C. Y4 ], f. W关心汉化的朋友都应该知道,利用代理DLL技术,可以实现在屏幕上输出图片和文字。) c: I4 s' j: ^2 U. B
利用这一点,我们可以制作一个即时在屏幕上察看图文游戏攻略的工具,这样就用不着老是把窗口切换来切换去的了,在屏幕上察看图文游戏攻略的时候,游戏并不中断。
. Y& E+ i1 }* @) M6 _
; Q+ ]; L- Z4 B! f8 c" U6 v3 k& b工具的设计非常简单。
2 v! L/ }$ D5 g把游戏攻略先保存到一个文本文件中,攻略图片也保存好,用一个ini配置文件来保存这些文件的路径,显示位置以及行数等信息。* i, m# C& y& {+ U# O$ w" y
初步设计热键为F10,F11,F12 ,因为这几个键比较少用到,在游戏中可以通过F10来切换显示和不显示攻略,F11,F12来前后翻页。初步设计攻略显示在屏幕的上方,显示5-10 行。
作者: firendless    时间: 2009-6-7 20:54
...借鉴外挂的经验....热键为功能键+Home类特殊键较好...笔记本可以考虑FN
作者: shane007    时间: 2009-6-7 21:48
引用第1楼firendless于2009-06-07 20:54发表的  :
9 I4 ^* o* Z: P0 E7 t6 T...借鉴外挂的经验....热键为功能键+Home类特殊键较好...笔记本可以考虑FN

1 ?1 n5 j0 U' a; G! z做得好点的话,最好能实现自定义热键。
作者: zhangdw    时间: 2009-6-7 23:35
本人是个新手,很希望能加入汉化组学习,今天研究了一天,我做了个比较粗糙的版本,明天再改进吧,能显示同目录下的gonglue.txt文件中的内容,对文件是进行整行的读取,每行文字不能超过200个,中文的话100个,每次显示两行,显示在游戏窗体左上角,home是显示消失,page up向前翻页,page down向后翻页,由于是粗糙版本,所以还不能进行自定义,拿东方地灵殿和ankh测了下基本没问题
作者: shane007    时间: 2009-6-8 22:48
引用第3楼zhangdw于2009-06-07 23:35发表的  :7 I2 A& Z. R& B% s
本人是个新手,很希望能加入汉化组学习,今天研究了一天,我做了个比较粗糙的版本,明天再改进吧,能显示同目录下的gonglue.txt文件中的内容,对文件是进行整行的读取,每行文字不能超过200个,中文的话100个,每次显示两行,显示在游戏窗体左上角,home是显示消失,page up向前翻页,page down向后翻页,由于是粗糙版本,所以还不能进行自定义,拿东方地灵殿和ankh测了下基本没问题
1 D4 v: n4 [* a9 T
我现在才发现这个帖子。
& B! g+ {0 R" @# h真的非常惊喜,没想到这么快就有人做出了第一个版本,还是一个新人。9 |! R6 ^4 S1 N  N5 H+ n
希望再接再厉,不断推出功能更加完善的新版本。
$ ?0 v& ~  w6 {6 v5 f/ C1 E5 |谢谢!: k  W) R! c0 r3 S
; J( }* W- R- E% j2 T
工具等我有时间会进行测试的。
作者: shane007    时间: 2009-6-8 22:58
初步测试,第一次按Home可以显示出中文攻略。
8 W/ b; s! r( i; {4 T但是Home的消失功能,page up向前翻页,page down向后翻页好像都无效。2 p7 U$ j- R( K' ?% V
希望改进。
作者: shane007    时间: 2009-6-8 23:16
zhangdw ,如果还没加入qq汉化技术群的话就请迅速加入吧。
作者: shane007    时间: 2009-6-8 23:38
对了,每次发布请同时发布代码,便于后来者学习。
! s0 A6 r" H9 w  ]7 O7 O我又测试了一下。一共有14 行文本$ F- E- c4 {, H2 e! d( F8 a
第1次按home 显示 1,2 行
5 O# ~* m' b* z3 e7 N第2次按home 显示 空白,即消去0 Z5 k7 h  M6 j2 T1 ^( g
第3次按home 显示 5,6 行! D+ b, A5 `9 \: x$ j0 s
第4次按home 显示 空白,即消去+ \/ G2 X, r2 n. |& k; Q, ]% e4 {

) G; `1 X. F- t* ~4 n$ o1 N这显然是有问题的。
作者: zhangdw    时间: 2009-6-9 15:11
引用第7楼shane007于2009-06-08 23:38发表的  :
, j' R! }! v  J对了,每次发布请同时发布代码,便于后来者学习。. r7 J/ B* B% q( D/ _" O
我又测试了一下。一共有14 行文本
0 b/ f3 O! y+ s第1次按home 显示 1,2 行
& q8 N2 \3 {' n. h, _( p# p6 `第2次按home 显示 空白,即消去
1 Q/ ]" z* R$ ?# j第3次按home 显示 5,6 行- Y+ V3 p+ A1 T
.......
我把后来改一半的东西不小心覆盖了它。。
作者: shane007    时间: 2009-6-9 17:18
期待新版
作者: zhangdw    时间: 2009-6-9 20:02
引用第9楼shane007于2009-06-09 17:18发表的  :1 k* T3 y4 a8 d$ ^
期待新版
这个版本算好一点了,源代码现在很那看到处都是修修补补的,等我做个完美版整理好后发出来吧,这个版本加入了配置文件myd3d9.ini,但是运行实际只要d3d9.dll就行了,会自动判断,如果没有ini会自动用默认值生成,还做了个配置ini用的exe可以调节起来简单点,还加入了书签功能f11是存书签f12是读取书签,我自己玩了下,好像没什么问题,请007帮忙看看有没有什么像上次那样的低级错误[s:5]
作者: zhangdw    时间: 2009-6-9 20:03
还有,我是用vs2008编译的,大概exe会打不开,要求装运行库,要是这样的话我可以重做个vc6.0的
作者: shane007    时间: 2009-6-9 20:54
不错,没有低级错误。$ k& N! M) `& y0 _+ p- n8 V; A6 ]& d$ r
下一步是先加入基本设定功能。5 o" e# F4 p) E/ S
比如文字的大小,颜色,有无边框,字体,显示位置,行数,等等。1 [7 D1 k5 o( F) o" i" c! h7 C
接下去希望加上显示图片的功能,实现图文攻略。
作者: shane007    时间: 2009-6-9 20:59
请把这些功能键用一行小字显示在第1行作为提示。
# }/ q8 Y. V2 b3 Z1 ?3 m以后如果修改了设定,这提示也要自动变化。
作者: zhangdw    时间: 2009-6-9 21:14
引用第12楼shane007于2009-06-09 20:54发表的  :/ C. b* g$ e5 l. S9 M
不错,没有低级错误。
7 v9 T1 W7 a: n' }: I5 O# R下一步是先加入基本设定功能。
8 ^5 x: T, }3 B( A% i' Z" L, i8 W比如文字的大小,颜色,有无边框,字体,显示位置,行数,等等。6 g" o! N% B( B, s) q: t8 \
接下去希望加上显示图片的功能,实现图文攻略。
除了颜色功能都有了,可以用exe改ini文件
作者: shane007    时间: 2009-6-9 21:21
exe我无法运行啊
作者: zhangdw    时间: 2009-6-9 22:00
引用第15楼shane007于2009-06-09 21:21发表的  :
# D( c; V; ]# J) m/ ~3 O3 pexe我无法运行啊
要VS2008运行库,我去做个6.0的吧
作者: shane007    时间: 2009-6-9 22:01
好的。对了,图片也能显示了?
作者: zhangdw    时间: 2009-6-9 22:25
这个应该都能运行了
作者: zhangdw    时间: 2009-6-9 22:27
引用第17楼shane007于2009-06-09 22:01发表的  :
$ q& H+ y' H# p$ Q+ y0 L好的。对了,图片也能显示了?
图片还不行,像网页那样图文混排好像很难,单独显示的话应该还行,就像文字那样显示在某一位置
作者: shane007    时间: 2009-6-9 22:33
引用第19楼zhangdw于2009-06-09 22:27发表的  :
! h) Q" J) H7 f
4 q# \" s7 ~9 P* w图片还不行,像网页那样图文混排好像很难,单独显示的话应该还行,就像文字那样显示在某一位置
$ N8 o& r8 ^) r
就单独显示吧,加个热键,然后pagedown,pageup 后一张,前一张。: V: F/ c4 q. R# B; ?; v; Q
图片就1.jpg ,2.jpg.....吧,或者可以自己设定格式。0 d! C9 T( h: E% Z
还有,希望所有东西放在一个walkthrough目录里,gonglue.txt 改为walkthrough.txt
作者: shane007    时间: 2009-6-9 22:33
引用第20楼shane007于2009-06-09 22:33发表的  :
; N0 X: {/ C* y5 ?% `0 V8 W1 X1 N! }) X/ J5 G. r
8 e. J# @: Y( {7 o6 V0 }/ C
就单独显示吧,加个热键,然后pagedown,pageup 后一张,前一张。
  C4 l5 j& q/ Z$ s图片就1.jpg ,2.jpg.....吧,或者可以自己设定格式。
5 _5 z3 u, m1 [3 X) T+ N4 ~还有,希望所有东西放在一个walkthrough目录里,gonglue.txt 改为walkthrough.txt
加一个显示当前时间的option吧
作者: shane007    时间: 2009-6-9 22:36
请加上字体设置功能吧
作者: shane007    时间: 2009-6-9 22:49
当文件里有某些乱码时,好像无法正确pagedown pageup 换页。& ~5 W9 L: @$ ?1 v  d
测试文件如下。
作者: shane007    时间: 2009-6-9 23:12
希望DX9版本做得差不多以后发布代码。1 a/ z; Q" j2 `( b
希望能继续制作DX8版本和DirectDraw版本。  [$ c! h# q1 @3 `
DX8版本应该不难。DirectDraw版本你看看下面这个东西能否使用?
! Z  Q6 v: n. E1 y0 S' u3 X0 dhttps://www.chinaavg.com/read.php?tid=16177
作者: zhangdw    时间: 2009-6-9 23:34
引用第23楼shane007于2009-06-09 22:49发表的  :
0 H4 }: N6 Q# z6 O" m3 Q当文件里有某些乱码时,好像无法正确pagedown pageup 换页。% V* |8 C' F' g8 z
测试文件如下。
恩,我的代码是针对纯文本文件的,这种乱码文件有的乱码代表换行,有的有可能代表文件结束,当读到文件结束的时候我就判断不再允许换页了,所以这种文件不行,目录的问题我就全都改成能够自己设定好了。D8的应该没问题,但是据说d9那个显示文字的函数在d8里效率很低,具体还没试过,DirectDraw的等我做完这个去看看
作者: shane007    时间: 2009-6-9 23:49
知道了,看来文本要预处理以下。
' o3 f$ Y- k8 W5 S4 m8 b5 c) @D9的做完后希望把代码和工具一起发布,让大家也学习一下。4 Z1 A* ]* B) ?' Z" M3 T
辛苦了!
作者: shane007    时间: 2010-4-7 17:22
顶上来
作者: scgame    时间: 2010-4-8 07:18
好厉害哦,这样的东西偶都不知道该怎么上手....
; l5 f' r9 E4 [: r. ?4 e
# d! ^/ Y8 w: x& V直接写一个这样程序的话或许可以,可叫游戏调用这个.....* H2 N6 x# p  }6 P
9 ~) `) e8 W" V* i& o8 I* \
这个DLL是替换了SYSTEM32目录下的DLL吗?是完全覆盖掉的还是就几个函数就行的啊
6 P# {" d( x7 ^: ?又是怎么判断按键之类的呢?那应该是游戏程序呼叫的函数吧 [s:102]
作者: shane007    时间: 2010-4-8 07:59
我只知道显示部分,在present函数里加东西即可。
作者: shh0613    时间: 2010-4-8 14:51
拿《爱丽丝梦游仙境》测试了下: G, X- F: @: [( ]# t
1.测试按Home键和PageDown键PageUp键可以正常使用
3 @# a- P, J" S[attach]15877[/attach]: A6 b4 A" S! l9 }8 P, S% w
2 @5 u& c: E% o. F4 _1 x4 n2 m
[attach]15878[/attach]5 |, P, {8 }# [4 E2 ~) u$ u

& ~7 Q2 a! Q# Z( K- h3 }+ ^但是存在一个问题,切换到桌面或者截完图(qq的截图Ctrl+Alt+A)后,三个按键均无反应
. Q" |8 l( D* B( l
( e6 J1 X. a3 u+ ~) Y2 q2.退出时出现“The Direct3D has a non -zero reference count,meaning some objects were not released ”/ |2 M! n) p, I/ \
[attach]15879[/attach]
& ~+ M7 z6 V0 I: z9 X7 w# B, E% R) F
3.有时会出现鼠标变白色方块
7 {2 k; B$ A. z
- ]- {8 P: V" ~& s& b" |# g! \[attach]15880[/attach][attach]15880[/attach]
" F0 c0 I$ t3 u! B* D7 V, G
. ~  N) P# I& O2 j! @+ D测试完毕,力挺一下!呵呵!
作者: shane007    时间: 2010-4-9 15:07
感谢楼上的测试。
* a5 c) I" J4 h1 a0 x% n: o& \请楼上给这个工具提一些新的设想吧。
作者: shh0613    时间: 2010-4-9 21:58
引用第31楼shane007于2010-04-09 15:07发表的  :
$ O/ Y9 u( k3 X: T; P感谢楼上的测试。3 [* D4 @0 D! t1 P& j+ J
请楼上给这个工具提一些新的设想吧。
显示图片估计会好些!但是攻略都弄成图片也不方便吧!
作者: shane007    时间: 2010-7-23 21:20
顶上来




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