?支持該項目! ?
您的支持推動了dd7to9
功能的開發,使舊遊戲能夠在當前平台上順利運行。無論是透過 PayPal 獲得一次性提升,還是 Patreon 上持續的每月支持,您的貢獻都可以確保持續改進並致力於專案的發展。請注意,您的支援非常寶貴,但不會影響特定的遊戲優先順序。加入我們的旅程吧!
透過 PayPal 支援 |派特隆
DX包裝器
介紹
DxWrapper 是一個 .dll 文件,旨在包裝 DirectX 文件以修復舊遊戲中的相容性問題。該專案主要旨在透過簡單地將 .dll 和 .ini 檔案拖放到遊戲資料夾中來修復在 Windows 10/11 上執行遊戲的問題。其第二個目的是提供一個將多個項目合併為一個的工具。
特徵
DxWrapper 具有許多功能,包括:
- DDrawCompat 集成
- 配置 DDrawCompat 選項以提高相容性
- DirectDraw 1-6 到 DirectDraw 7 的轉換
- Direct3D 1-6 到 Direct3D 7 的轉換
- 使用 Dd7to9 將 DirectDraw 1-7 (ddraw.dll) 轉換為 Direct3D 9 (d3d9.dll)
- 使用 Dd7to9 將 Direct3D 1-7 (ddraw.dll) 轉換為 Direct3D 9 (d3d9.dll)
- 使用 d3d8to9 將 Direct3D 8 (d3d8.dll) 轉換為 Direct3D 9 (d3d9.dll)
- 使用 dinputto8 將 DirectInput 1-7 (dinput.dll) 轉換為 DirectInput 8 (dinput8.dll)
- 包括 LegacyD3DResolutionHack,可消除 Direct3D 1-7 中的人為解析度限制,從而允許 DirectDraw 遊戲以 4K 解析度運行
- 使用 DSoundCtrl 調整 Microsoft DirectSound 函數調用
- 可以導致 DirectDraw 1-7、Direct3D 8 和 Direct3D 9 遊戲在視窗模式下運行
- 可以限制使用或轉換為 Direct3D 9 的遊戲的幀速率
- 可以在使用或轉換為 Direct3D 9 的遊戲上啟用或停用垂直同步
- 可在具有多張顯示卡的筆記型電腦上為 Direct3D 9 設定 GraphicsHybridAdapter
- 可以為 Direct3D 9 啟用 Direct3D9On12
- 可以設定頂點處理和快取模式來修復某些 Direct3D 9 遊戲的效能
- 可以從 DirectDraw 1-7 遊戲中刪除掃描線
- 可以停用 Direct3D 8 和 9 遊戲的 MaximizedWindowedMode(全螢幕最佳化)
- 可以停用高 DPI 縮放以解決某些遊戲的問題
- 可以停用 Microsoft Game Explorer (GameUX) 以防止 rundll32.exe 高 CPU 使用率
- 可以停用因遊戲在播放聲音時剪輯音訊而導致的音訊爆音和點擊聲
- ASI 載入器可使用 Ultimate ASI Loader 將檔案副檔名為 .asi 的自訂程式庫載入到遊戲進程中
- 支援作為ASI插件加載
- 將抗鋸齒支援添加到 Direct3D 8 或 9 遊戲中,即使遊戲不支援它
- 內存熱補丁支援(在運行時更新遊戲內存,可用於刪除 CD/DVD 檢查或解決圖形或其他故障)
- 設定單一CPU親和性(某些遊戲在多核心CPU上有問題)
- 能夠使用 SetAppCompatData API 為 DXPrimaryEmulation 設定所有 12 個應用程式相容性工具包選項
- 將遊戲視窗設定為全螢幕(某些遊戲有全螢幕問題)
- 處理遊戲中的異常或崩潰
- 將自訂 .dll 檔案載入到遊戲中
- 在遊戲啟動時運行自訂進程
Windows 10/11 上的遊戲相容性列表
到目前為止,我已經用數百款遊戲(其中許多遊戲無法正常運行)進行了測試,以使它們在 Windows 10/11 上運行。大多數遊戲都可以運行,但有些遊戲仍然有問題。查看相容遊戲 wiki 和 Dd7to9 支援的遊戲 wiki 以獲得清單。
安裝
- 從儲存庫的發布頁面下載最新的二進位版本並將其解壓縮到資料夾中。
- 確定遊戲需要哪個存根 .dll 檔案。這取決於許多因素,稍後創建的頁面將對此進行解釋。常用的存根 dll 包括
ddraw.dll
、 d3d8.dll
、 d3d9.dll
、 dsound.dll
或winmm.dll
。您只需選擇一個存根檔案即可將 dxwrapper 載入到遊戲中。 - 將此 .dll 檔案從「Stub」資料夾以及
dxwrapper.dll
和dxwrapper.ini
檔案複製到遊戲的安裝目錄中,位於主執行檔旁。對於某些遊戲,主要可執行檔位於子目錄中(例如「Bin」、「Exe」或「App」),因此需要將檔案複製到該目錄中。不建議覆蓋任何現有遊戲檔案。 - 在文字編輯器中開啟
dxwrapper.ini
檔案並啟用遊戲所需的設定。
不要嘗試覆蓋 Windows 系統目錄中的任何 .dll,因為它目前不受支援且無法運作。
解除安裝
從遊戲目錄中刪除 DxWrapper .dll 和 .ini 檔案。您也可以刪除日誌檔案(如果有)。
配置
若要設定 DxWrapper,請編輯 .ini 檔案並啟用所需的設定。有關更多詳細信息,請參閱配置 wiki。
範例設定檔:dxwrapper.ini。
所有配置選項清單:allsettings.ini
記錄
日誌檔案將在遊戲可執行檔所在的相同資料夾中建立。它將被命名為“dxwrapper”,並附加遊戲可執行檔的名稱。因此,如果您執行檔案game.exe
,那麼日誌檔案將被稱為dxwrapper-game.log
。
支援的 DLL
DxWrapper可以包裝以下dll:
- bcrypt.dll
- 加密庫.dll
- cryptsp.dll
- d2d1.dll
- d3d8.dll
- d3d9.dll
- dciman32.dll
- ddraw.dll
- dinput.dll
- dinput8.dll
- dplayx.dll
- dsound.dll
- dwmapi.dll
- msacm32.dll
- msvfw32.dll
- 版本.dll
- wininet.dll
- winmm.dll
- winmmbase.dll
- winspool.drv
- wsock32.dll
執照
版權所有 (C) 2024 伊麗莎·里德林格
本軟體以「現況」提供,沒有任何明示或暗示的保證。在任何情況下,作者均不對因使用本軟體而造成的任何損害負責。任何人均有權為任何目的(包括商業應用)使用本軟體,並自由地修改和重新分發本軟體,但須遵守以下限制:
- 不得扭曲本軟體的來源;您不得聲稱您編寫了原始軟體。如果您在產品中使用此軟體,我們將不勝感激,但不是必需的。
- 更改的來源版本必須明確標記,並且不得扭曲為原始軟體。
- 本通知不得從任何來源分發中刪除或更改。
製作人員
DxWrapper 使用來自其他幾個項目的程式碼。因此,為了給予應有的認可,以下列出了原始碼的獲取位置:
- AppCompatData:使用來自 blitzbasic.com 的註解來建立配置 DirectDraw AppCompatData 設定的功能。
- Aqrit 的 ddwrapper:包含讀取 ini 設定檔的程式碼。
- cnc-ddraw:包含建立模擬表面設備上下文的程式碼。
- d3d8to9:包含完整的 Direct3D 8 到 Direct3D 9 程式碼。
- D3DParseUnknownCommand:包含來自 ReactOS 原始碼的 DirectDraw D3DParseUnknownCommand 程式碼。
- DDrawCompat:包括完整的 DDrawCompat v0.2.0b、v0.2.1 和 v0.3.2 以及 API 掛鉤。
- doom3.gpl:包含取得視訊記憶體的程式碼。
- diablo-ddrawwrapper:包含一些將 ddraw 轉換為 Direct3D 的程式碼。
- DSoundCtrl:包含完整的 DirectSoundControl 程式碼。
- DxWnd:包含 DxWnd 中用於代理程式載入 (init.cpp) 和異常處理的程式碼。
- GetComputerManufacturer:包含 rohitab.com 的程式碼,用於取得電腦供應商和型號。
- GetFileVersionInfo :包含來自 stackoverflow.com 的用於取得 PE 檔案版本的程式碼。
- GetPPID:包含從 mattn GitHub 專案取得的程式碼,用於取得父進程 PID。
- LegacyD3DResolutionHack:包含來自 LegacyD3DResolutionHack 的程式碼,用於刪除 Direct3D 7 及更低版本中的人為解析度限制。
- MemoryModule:包含從記憶體載入庫的程式碼。
- OllyDbg:包含用於異常處理的完整 cmdlist.c 和 disasm.c (disasm.dll) 程式碼。
- PixelShaderPalette:包含來自 ddraw-cnc 的 PixelShader 程式碼,用於正確查看 DirectDraw 調色盤表面。
- SilentPatchFarCry:包含 SilentPatchFarCry 中的程式碼,用於在 Direct3D 9 中快取剪輯平面。
- Ultimate ASI Loader:包含用於載入 ASI 插件的程式碼。
- WineD3D d3d8.dll:包括函數 ValidatePixelShader 和 ValidateVertexShader。
發展
DxWrapper 主要使用 Microsoft Visual Studio 2022 以 C++ 編寫。
此專案需要 Windows 10 SDK 和 WDK(需要安裝相符的 SDK 和 WDK 版本)。所需的確切版本可以在 Visual Studio 的專案屬性中看到。
GitHub 連結:https://github.com/elishacloud/dxwrapper
感謝您的光臨!