我正在寫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設備。也許只要創建固定列表並將其提供給遊戲就足夠了,但我不知道該列表上應該包含什麼內容(我給出了我認爲應該的內容,並且遊戲退出了 - 記錄器顯示它只是在設備上限之後檢查)