冒险解谜游戏中文网 ChinaAVG

标题: 【代理DLL汉化研究】Directx8,9 小方块测试 [打印本页]

作者: shane007    时间: 2009-5-26 21:17
标题: 【代理DLL汉化研究】Directx8,9 小方块测试
把附件里的DLL拷贝到游戏主exe文件目录里,执行游戏以后我们会在左上角显示一个黄色小方块?我们把这个测试叫做小方块测试。8 B2 v: t) K8 l; S! m
小方块测试有什么用呢?
6 I$ M0 ]" s$ P6 l0 B首先,它能说明这是一个使用Directx8或9的游戏,其次,说明我们的代理DLL起作用了。
, u/ U9 i) }, r# m0 O$ m今后,我们还会提到这个小方块测试的。
$ V3 a2 n- M! G6 [
: E+ H" R9 E+ n. h代码如下: [% B% K8 Y) l8 Z" t
void myIDirect3DDevice8::ShowWeAreHere(void)8 C9 P1 Q4 I6 ^7 N  \4 J5 V
{% s3 ]" G: Z& g  Q8 {
    D3DRECT rec = {1,1,50,50};
; g' H- F2 p% A; y    m_pIDirect3DDevice8->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,255,255,0),0 ,0);
# l7 j9 M5 B/ W' U$ s}2 s5 m' B( Q, r& l% N9 A" i

! H+ q. G% V% B' f: j( s1 J( J以下是静物2的小方块测试画面
" y4 o' @* K; J5 W [attach]13213[/attach] , l0 n# R* R% r1 G) i
以下是DosBox的小方块测试画面
( B$ g0 z- \5 m+ D! [+ _5 J% L [attach]13214[/attach]
作者: neo0109    时间: 2009-8-10 20:58
就把附件里的DLL文件放入游戏根目录?就行了?% v% ], R, D4 Y( q6 y# W
我进游戏。没有看到小方块啊。
作者: neo0109    时间: 2009-8-10 21:04
在mata hari里试了试,可行。" @- L# M( H% d5 O" ^+ k) c- s
不知道为什么鬼屋就是不行。
作者: shane007    时间: 2009-8-10 22:01
看来不是DX8,DX9的游戏,还是directx draw的游戏。
6 B* p; B( N" E# X5 b0 c' ?不过也许我还有别的办法。
作者: scgame    时间: 2010-4-7 10:15
这个是怎么办到的啊?那个dll是注入后的DLL吗
作者: solidji    时间: 2010-4-7 12:01
以当前目录下的DLL优先级替换了系统SYSTEM32下的DLL' c0 b/ |* ]# }3 W' h  S2 r, C' p$ }
d3d8.dll d3d9.dll
/ K+ [2 D4 ~8 G. y! J6 O0 K9 g& z# V' i- z& ~# J7 \1 u  ~3 d# ~- W  Q
[attach]15872[/attach]: v7 _: y# r9 [( w' U  \
多画了点东西
作者: shane007    时间: 2010-4-7 17:09
solidji,能把你的代码公布一下吗?
+ ^% c. ]; Q# w1 M, u& M& kd3d8.dll 版的代理dll,对这样的小sample可能没问题。
2 f9 V+ v; U! G& b7 X但是对大游戏,在画面切换的时候就会出错。9 I2 R- ~! B7 i% g$ |+ @/ \
建议你找大的directx8 游戏试试看,特别是画面切换的时候。
作者: shane007    时间: 2010-4-7 17:22
【汉化任务简报】#34 即时屏幕图文游戏攻略浏览工具; J( A7 x# C5 o. x* ]0 q: d9 L
https://www.chinaavg.com/read.php?tid=174292 _" W& L: A& z6 l
; a  Z+ `) ?* Z/ {' V& R( c% r; g
solidji,有没有兴趣也来做一个新版本的上述工具?
作者: solidji    时间: 2010-4-9 13:17
标题: appadapter
代码和你发的那个没有本质区别,不过我没有替换DLL而是自己做了个通用的驱动注入平台
( Y& @! X3 C) x' O+ U! V& Z目前是拿火炬之光做测试的D9版本# M0 O" ]( w7 }8 E  _- c
我在实现一个更进一步的想法,就是在游戏创建文字纹理的做个备份,然后再绘制那里做复制与分频显示/ D5 i) r& q1 E( r5 y
最终看到的应该是游戏中的文字,会实时取出来单独在一个窗口显示,或者存成图片,2 Q7 p$ V4 n" d. T
当然做成快捷键呼出的形式直接显示在游戏界面也可以
$ N: g9 K7 l1 \, n: v再下一步我打算使用OPENCV从我保存的图片中识别文字,然后利用一些机翻接口自动翻译(这里可以设置成可由玩家修改保存.如果要显示攻略甚至玩家评论都可以在这地方一起)0 T4 A+ F+ L9 S8 t' L
至于在另外个帖子里你提到的每帧刷新时图像识别的效率问题,由于每帧刷新的时候我只做一个简单的文字纹理复制动作,- r$ C( n9 u8 K) c
对游戏执行速度影响不会太大.  对文字纹理的区分是在其他地方做的,纹理复制在绘制时候做,文字图像识别在单独的线程窗口做
$ J" V# @+ j1 h3 |/ o1 a: Q这样把工作量就分散开了3 ^, P! g( W: T! M4 Y1 a- t+ [) M
这个图是把火炬的纹理画面复制到我自己窗口,画了2个方块( n, C: J8 @) Q7 h5 Y1 g
debugview表示的是纹理筛选参数,这部分还没完全弄好6 j! i1 Z2 O3 C7 Q" ^1 L6 p/ E
还有些通用性与界面的想法没理清,哪天一起聊聊,
0 L- k9 C, c3 b. G+ r1 R有点实质内容了我再整理下代码发出来,另外本人界面很渣-_-
作者: shane007    时间: 2010-4-9 14:33
>>>然后利用一些机翻接口自动翻译
8 F5 N3 H  ?( M5 a
, ]0 `5 O  Z, J+ M) n+ p! C像这样的想法我早就有了,不过,当初我觉得实现难度太大,就没发表出来。$ F* b& C/ h4 z' N  `
看了你上面写的,你是准备要做一个怎么样的东西出来呢?
5 N! P1 e5 r# h# w是游戏自动汉化软件吗?还是游戏攻略显示工具?
( [+ D3 m, A$ z" x) T! j0 Q2 v9 }) ?$ Q还是对特定游戏的汉化工具?
" k. \( J: D9 l3 s
5 F' G! ]5 i# P0 e* p, _$ \对了,我在想,能否在静物2上使用这个技术来汉化呢?
! D7 q! j0 B; j  L2 d' u- A& b我一般晚上上qq,主要可以通过发帖子交流。也可以给我发离线消息。
作者: shane007    时间: 2010-4-9 14:44
对了,还有个好玩的东西。8 m# ?( Y# U2 R) B
https://www.chinaavg.com/read.ph ... ;amp;keyword=opengl# M5 i& c+ f$ ^5 c0 \5 B
是opengl 的代理DLL,我是想在游戏在生成256个字符的时候夹带着生成中文字符。
" X! h0 p2 E* G  t2 S) R4 J. d目标就是惊恐鬼屋等游戏。' @) S$ S! ?8 c. O9 o
6 z+ E& s" k4 P5 Y- S8 V
在论坛检索opengl,可以找到不少东西,有兴趣也可以看看。
作者: solidji    时间: 2010-4-9 15:09
我想做的是游戏文字自动提取软件,这和一些汉化资源提取工具不一样,7 V6 p9 f0 I; s$ ^& [4 Q
是边玩边输出当前游戏画面的文字
8 H; f. b2 c; ^- L. k默认提供一个游戏自动汉化的功能& S9 v, T  X" L& x+ A8 U( G
/ [% b! x" Y, }, x+ V
玩家可以边玩边翻译或者加上注解和评论,而生成的字幕文件可以共享
, r; r4 {/ V' V- O. A提供一个汉化与交流评论的平台,尽可能的支持大部分D3D游戏
作者: shane007    时间: 2010-4-9 15:12
收到,要是真能做成的话,也可以用这个技术来汉化,对吧。




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