有一个老游戏,它使用的DirectDraw对象就是最原始的那个版本。现在我想给它加上一些新东西,这就需要使用新版的DD对象,也就是DirectDraw7吧。
通过反汇编,找到了游戏创建和初始化DD对象的地方。我就想修改它的代码,让它跳入我的代码中,然后我来创建DD对象并返回DD对象指针给游戏,当然返回的是7.0版的新版DD对象了。
问题是我不能确定这样修改以后,游戏还能正常运行吗?理论上说,DirectX是高度向下兼容的。游戏用新版的DD对象指针,应该可以继续调用它的函数,而我也可以用新的DD对象来实现我想要的功能。
这个想法可行不?