我正在写DirectX 6.1库到DirectX 9.0c的windows32钩子;想法是将DX 6.1 3D设备的所有调用替换为Direct 9.0c的调用并注入一些自定义代码,因此我正在修补(99年)的旧游戏将能够使用着色器,后期效果等。以编程方式获取DirectX 6.1的设备上限(DDraw4)
旧的DX 6.1 3D设备是通过创建DDraw模块创建的。游戏然后列举设备上限。在我的模块中,整个DDraw模块被滑动,并且3D视图被初始化。所以我有问题,因为我不能给游戏Ddraw4设备上限,因为我根本没有DDraw设备!
所以我的问题是如何获得DDraw4设备上限,而无需初始化DDraw4设备。也许只要创建固定列表并将其提供给游戏就足够了,但我不知道该列表上应该包含什么内容(我给出了我认为应该的内容,并且游戏退出了 - 记录器显示它只是在设备上限之后检查)