? Dukung Proyek ini! ?
Dukungan Anda mendorong pengembangan fungsionalitas dd7to9
untuk memungkinkan game lama berjalan dengan lancar di platform saat ini. Baik itu berupa peningkatan satu kali melalui PayPal atau dukungan bulanan berkelanjutan di Patreon, kontribusi Anda memastikan peningkatan berkelanjutan dan komitmen terhadap pertumbuhan proyek. Harap diperhatikan, dukungan Anda sangat berharga, namun tidak akan memengaruhi prioritas game tertentu. Bergabunglah dengan kami dalam perjalanan ini!
Dukungan melalui PayPal | Patreon
DxWrapper
Perkenalan
DxWrapper adalah file .dll yang dirancang untuk membungkus file DirectX guna memperbaiki masalah kompatibilitas di game lama. Proyek ini terutama ditujukan untuk memperbaiki masalah menjalankan game di Windows 10/11, hanya dengan memasukkan file .dll dan .ini ke dalam folder game. Tujuan sekundernya adalah untuk menawarkan satu alat yang menggabungkan beberapa proyek menjadi satu.
Fitur
DxWrapper memiliki banyak fitur antara lain:
- Integrasi DDRawCompat
- Mengonfigurasi opsi DDrawCompat untuk meningkatkan kompatibilitas
- Konversi DirectDraw 1-6 ke DirectDraw 7
- Konversi Direct3D 1-6 ke Direct3D 7
- Konversi DirectDraw 1-7 (ddraw.dll) ke Direct3D 9 (d3d9.dll) menggunakan Dd7to9
- Konversi Direct3D 1-7 (ddraw.dll) ke Direct3D 9 (d3d9.dll) menggunakan Dd7to9
- Konversi Direct3D 8 (d3d8.dll) ke Direct3D 9 (d3d9.dll) menggunakan d3d8to9
- Konversi DirectInput 1-7 (dinput.dll) ke DirectInput 8 (dinput8.dll) menggunakan dinputto8
- Termasuk LegacyD3DResolutionHack untuk menghapus batas resolusi buatan dari Direct3D 1-7, yang memungkinkan game DirectDraw dimainkan pada resolusi 4K
- Mengubah panggilan fungsi Microsoft DirectSound menggunakan DSoundCtrl
- Dapat menyebabkan game DirectDraw 1-7, Direct3D 8 dan Direct3D 9 berjalan dalam mode berjendela
- Dapat membatasi frame rate game menggunakan atau dikonversi ke Direct3D 9
- Dapat mengaktifkan atau menonaktifkan sinkronisasi vertikal pada game yang menggunakan atau dikonversi ke Direct3D 9
- Dapat mengatur GraphicsHybridAdapter untuk Direct3D 9 pada laptop dengan beberapa kartu grafis
- Dapat mengaktifkan Direct3D9On12 untuk Direct3D 9
- Dapat mengatur mode pemrosesan vertex dan cache untuk memperbaiki kinerja di beberapa game Direct3D 9
- Dapat menghapus scanlines dari game DirectDraw 1-7
- Dapat menonaktifkan MaximizedWindowedMode (optimasi layar penuh) untuk game Direct3D 8 dan 9
- Dapat menonaktifkan penskalaan DPI Tinggi untuk menyelesaikan masalah pada beberapa game
- Dapat menonaktifkan Microsoft Game Explorer (GameUX) untuk mencegah CPU tinggi rundll32.exe
- Dapat menonaktifkan audio pops dan klik yang disebabkan oleh game yang memotong audio saat suara diputar
- Pemuat ASI untuk memuat perpustakaan khusus dengan ekstensi file .asi ke dalam proses permainan menggunakan Ultimate ASI Loader
- Mendukung dimuat sebagai plug-in ASI
- Menambahkan dukungan AntiAliasing ke game Direct3D 8 atau 9 meskipun game tersebut tidak mendukungnya
- Dukungan memori hot patch (memperbarui memori game saat run time, dapat digunakan untuk menghapus pemeriksaan CD/DVD atau mengatasi gangguan grafis atau lainnya)
- Tetapkan afinitas CPU tunggal (beberapa game memiliki masalah dengan CPU multi-core)
- Kemampuan untuk mengatur semua 12 opsi Perangkat Kompatibilitas Aplikasi untuk DXPrimaryEmulation menggunakan SetAppCompatData API
- Setel jendela game ke layar penuh (beberapa game memiliki masalah layar penuh)
- Menangani pengecualian atau kerusakan dalam game
- Muat file .dll khusus ke dalam game
- Jalankan proses khusus saat permainan dimulai
Daftar Kompatibilitas untuk Game di Windows 10/11
Sejauh ini saya telah mengujinya dengan ratusan game (banyak di antaranya tidak berfungsi dengan benar) agar dapat dijalankan di Windows 10/11. Sebagian besar game dapat berfungsi, namun beberapa masih mengalami masalah. Lihat wiki Game yang Kompatibel dan wiki Game yang Didukung Dd7to9 untuk daftarnya.
Instalasi
- Unduh rilis biner terbaru dari halaman Rilis repositori dan unzip ke folder.
- Tentukan file stub .dll mana yang diperlukan untuk game tersebut. Hal ini tergantung pada banyak faktor yang akan dijelaskan pada halaman yang dibuat nanti. Stub dll yang umum digunakan adalah
ddraw.dll
, d3d8.dll
, d3d9.dll
, dsound.dll
atau winmm.dll
. Anda hanya perlu memilih satu file rintisan untuk memuat dxwrapper ke dalam game. - Salin file .dll ini dari folder 'Stub' ditambah file
dxwrapper.dll
dan dxwrapper.ini
ke direktori instalasi game, di sebelah file utama yang dapat dieksekusi. Untuk beberapa game, file executable utama berada dalam subdirektori (seperti 'Bin', 'Exe' atau 'App') sehingga file perlu disalin ke direktori tersebut. Tidak disarankan untuk menimpa file game yang sudah ada. - Buka file
dxwrapper.ini
di editor teks dan aktifkan pengaturan yang diperlukan untuk game tersebut.
Jangan mencoba menimpa .dll apa pun di direktori sistem Windows karena saat ini tidak didukung dan tidak akan berfungsi.
Penghapusan instalasi
Hapus file DxWrapper .dll dan .ini dari direktori game. Anda juga dapat menghapus file log, jika ada.
Konfigurasi
Untuk mengkonfigurasi DxWrapper, edit file .ini dan aktifkan pengaturan yang diinginkan. Lihat wiki Konfigurasi untuk lebih jelasnya.
Contoh file konfigurasi: dxwrapper.ini.
Daftar semua opsi konfigurasi: allsettings.ini
Pencatatan
File log akan dibuat di folder yang sama tempat game yang dapat dieksekusi berada. Ini akan diberi nama 'dxwrapper' dengan nama game yang dapat dieksekusi ditambahkan padanya. Jadi jika Anda menjalankan file game.exe
maka file log akan dipanggil dxwrapper-game.log
.
DLL yang didukung
DxWrapper dapat membungkus dll berikut:
- bcrypt.dll
- cryptbase.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
- versi.dll
- wininet.dll
- winmm.dll
- winmmbase.dll
- winpool.drv
- wsock32.dll
Lisensi
Hak Cipta (C) 2024 Elisha Riedlinger
Perangkat lunak ini disediakan 'apa adanya', tanpa jaminan tersurat maupun tersirat. Dalam keadaan apa pun penulis tidak bertanggung jawab atas segala kerusakan yang timbul dari penggunaan perangkat lunak ini. Izin diberikan kepada siapa pun untuk menggunakan perangkat lunak ini untuk tujuan apa pun, termasuk aplikasi komersial, dan untuk mengubahnya serta mendistribusikannya kembali secara bebas, dengan tunduk pada batasan berikut:
- Asal usul perangkat lunak ini tidak boleh disalahartikan; Anda tidak boleh mengklaim bahwa Anda menulis perangkat lunak asli. Jika Anda menggunakan perangkat lunak ini pada suatu produk, pengakuan dalam dokumentasi produk akan dihargai tetapi tidak diperlukan.
- Versi sumber yang diubah harus ditandai dengan jelas, dan tidak boleh disalahartikan sebagai perangkat lunak asli.
- Pemberitahuan ini tidak boleh dihapus atau diubah dari distribusi sumber mana pun.
Kredit
DxWrapper menggunakan kode dari beberapa proyek lainnya. Jadi untuk memberikan kredit pada saat kredit jatuh tempo, di bawah ini adalah daftar lokasi asal kode sumber diambil:
- AppCompatData: Menggunakan komentar dari blitzbasic.com untuk membuat fitur guna mengonfigurasi pengaturan DirectDraw AppCompatData.
- Ddwrapper Aqrit: Menyertakan kode untuk membaca file konfigurasi ini.
- cnc-ddraw: Menyertakan kode untuk membuat konteks perangkat permukaan yang ditiru.
- d3d8to9: Termasuk kode lengkap Direct3D 8 hingga Direct3D 9.
- D3DParseUnknownCommand: Menyertakan kode untuk DirectDraw D3DParseUnknownCommand dari kode sumber yang ditemukan di ReactOS.
- DDrawCompat: Termasuk DDrawCompat v0.2.0b, v0.2.1 dan v0.3.2 lengkap serta untuk pengaitan API.
- doom3.gpl: Menyertakan kode untuk mendapatkan memori video.
- diablo-ddrawwrapper: Menyertakan beberapa kode untuk mengonversi ddraw ke Direct3D.
- DSoundCtrl: Termasuk kode DirectSoundControl lengkap.
- DxWnd: Termasuk kode dari DxWnd untuk memuat proxy (init.cpp) dan penanganan pengecualian.
- GetComputerManufacturer: Menyertakan kode dari rohitab.com untuk mendapatkan vendor dan model komputer.
- GetFileVersionInfo : Menyertakan kode dari stackoverflow.com untuk mendapatkan versi file PE.
- GetPPID: Termasuk Kode yang diambil dari proyek mattn GitHub untuk mendapatkan PID proses induk.
- LegacyD3DResolutionHack: Menyertakan kode dari LegacyD3DResolutionHack untuk menghilangkan batas resolusi buatan dari Direct3D 7 dan yang lebih lama.
- MemoryModule: Termasuk kode untuk memuat perpustakaan dari memori.
- OllyDbg: Termasuk kode cmdlist.c dan disasm.c (disasm.dll) lengkap yang digunakan untuk penanganan pengecualian.
- PixelShaderPalette: Menyertakan kode dari ddraw-cnc untuk PixelShader yang digunakan untuk melihat permukaan palet DirectDraw dengan benar.
- SilentPatchFarCry: Termasuk kode dari SilentPatchFarCry untuk menyimpan cache bidang klip di Direct3D 9.
- Ultimate ASI Loader: Termasuk kode untuk memuat plugin ASI.
- WineD3D d3d8.dll: Termasuk fungsi ValidatePixelShader dan ValidateVertexShader.
Perkembangan
DxWrapper sebagian besar ditulis dalam C++ menggunakan Microsoft Visual Studio 2022.
Proyek ini memerlukan Windows 10 SDK dan WDK (harus menginstal versi SDK dan WDK yang cocok). Versi persisnya yang diperlukan dapat dilihat di properti proyek di Visual Studio.
Tautan GitHub: https://github.com/elishacloud/dxwrapper
Terima kasih sudah mampir!