1

我已经为 DirectDraw 获取了一个 proxyDLL,但没有调用任何代理函数,但游戏可以使用 proxyDLL。

不知何故,FRAPS 能够显示每秒帧数计数器,因此它知道数据是如何显示的。

但是我怀疑更新显示的功能实际上都没有受到影响。断点似乎没有被击中。曾经。(我试过翻转、开始/结束场景等)

我从中得到的代码是这个链接:

http://svn2.assembla.com/svn/lightningstools/trunk/D3D_DDraw_Proxy/

所以我的问题是:

DirectX 3 使用哪些功能来更新显示?我需要哪些函数来查找/放置断点?

这里的问题是我找不到 DirectX 3 的任何文档。

我检查了 processexplorer 以查看是否加载了 D3D9 dll,但没有加载。所以 D3D9 挂钩不是一种选择。

4

1 回答 1

1
  • 从您提供的链接来看,它是 DX 7 而不是 DX 3,DirectDraw 是从 DirectX 8 合并到 Direct3D 的,所以想要使用 DDraw 的人总是选择 DX 7。注意页面上的文件名。myID3D7.cpp myID3D7.h myID3DDevice7.cpp myID3DDevice7.h
  • 你是如何使用代理 dll 的?
  • 确保游戏确实需要 DirectX 运行时。以及它需要哪个版本,您可以通过dependency walker进行检查。
于 2014-03-10T07:42:14.023 回答