From 4344f5db58889c382680dddfc8bea41e143f8c86 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 3 May 2018 15:51:10 -0500 Subject: [PATCH] Remove HLEDatabase files Moving into new project. --- build/win32/Cxbx.vcxproj | 96 - build/win32/Cxbx.vcxproj.filters | 315 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 4786 -------------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 59 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl | 63 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 2119 ------ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 1051 --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl | 187 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 191 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 176 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl | 175 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 1780 ----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl | 169 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl | 70 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 670 -- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl | 70 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 239 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 710 -- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 438 -- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 590 -- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 353 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 81 - src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.h | 55 - src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 441 -- .../HLEDataBase/D3D8LTCG.1.0.3911.inl | 1023 --- .../HLEDataBase/D3D8LTCG.1.0.4039.inl | 1026 --- .../HLEDataBase/D3D8LTCG.1.0.4432.inl | 818 --- .../HLEDataBase/D3D8LTCG.1.0.4531.inl | 215 - .../HLEDataBase/D3D8LTCG.1.0.4627.inl | 1258 ---- .../HLEDataBase/D3D8LTCG.1.0.4721.inl | 92 - .../HLEDataBase/D3D8LTCG.1.0.4928.inl | 235 - .../HLEDataBase/D3D8LTCG.1.0.5028.inl | 94 - .../HLEDataBase/D3D8LTCG.1.0.5120.inl | 97 - .../HLEDataBase/D3D8LTCG.1.0.5233.inl | 214 - .../HLEDataBase/D3D8LTCG.1.0.5344.inl | 268 - .../HLEDataBase/D3D8LTCG.1.0.5455.inl | 220 - .../HLEDataBase/D3D8LTCG.1.0.5788.inl | 601 -- .../HLEDataBase/D3D8LTCG.1.0.5849.inl | 694 -- src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.h | 58 - src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.inl | 489 -- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 5732 ----------------- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 113 - src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 4234 ------------ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 3758 ----------- src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl | 298 - src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 625 -- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 54 - src/CxbxKrnl/HLEDataBase/DSound.1.0.4531.inl | 59 - src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 316 - src/CxbxKrnl/HLEDataBase/DSound.1.0.4721.inl | 275 - src/CxbxKrnl/HLEDataBase/DSound.1.0.4831.inl | 232 - src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 219 - src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 52 - src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 1283 ---- src/CxbxKrnl/HLEDataBase/DSound.1.0.5455.inl | 425 -- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 227 - src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 527 -- src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl | 217 - src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl | 81 - src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl | 48 - src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl | 107 - src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl | 302 - src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl | 116 - src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl | 276 - src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl | 55 - src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl | 52 - src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl | 86 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl | 73 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl | 81 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl | 60 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl | 60 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl | 58 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl | 60 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl | 56 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl | 60 - src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl | 60 - src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl | 100 - src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl | 417 -- src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl | 319 - src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl | 129 - src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl | 80 - src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl | 127 - src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl | 57 - src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl | 112 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl | 1252 ---- src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl | 54 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl | 58 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl | 103 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl | 191 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl | 101 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl | 68 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl | 58 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl | 197 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl | 78 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl | 50 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl | 53 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl | 67 - src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl | 73 - src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 194 - 99 files changed, 46561 deletions(-) delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.h delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.3911.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4039.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4432.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4531.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4627.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4721.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4928.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5028.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5120.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5233.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5344.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5455.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5788.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.h delete mode 100644 src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4531.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4721.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4831.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.5455.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl delete mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index bcfab1f7c..1775473a8 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -326,7 +326,6 @@ - @@ -380,101 +379,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 3ac29ec84..c4a562018 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -451,9 +451,6 @@ Shared - - HLEDatabase\D3D8 - Emulator @@ -567,297 +564,12 @@ GUI - - HLEDatabase\XNet - - - HLEDatabase\XNet - - - HLEDatabase\XNet - - - HLEDatabase\XNet - - - HLEDatabase\XNet - - - HLEDatabase\XNet - Shared - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8 - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\D3D8LTCG - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\DSound - - - HLEDatabase\XactEng - - - HLEDatabase\XactEng - - - HLEDatabase\XactEng - - - HLEDatabase\XactEng - - - HLEDatabase\XactEng - - - HLEDatabase\XactEng - - - HLEDatabase\XactEng - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\Xapi - - - HLEDatabase\XG - - - HLEDatabase\XG - - - HLEDatabase\XG - - - HLEDatabase\XG - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - - - HLEDatabase\XOnline - Hardware\Video @@ -929,9 +641,6 @@ {4ee1fc9a-ee21-4764-b96f-1caf41881bab} - - {21769121-0f1d-40f2-90dd-bd0a192457ad} - {0187aa1f-d227-4dd5-b9ae-a336795923c7} @@ -941,30 +650,6 @@ {d8ef7ef5-cbb9-4dba-9cab-585519a9756b} - - {b36ac8b9-077a-4ffc-bff9-3f2c0be74924} - - - {e78a3cc3-abce-4577-90aa-b7535bb09768} - - - {633e29cb-0dd7-4a02-80fc-dfa26c0503b5} - - - {a942f43a-b405-4c5d-85cd-ffc84b66ad3f} - - - {d63c05a9-f8e1-4ad1-88fb-3f5b97a21063} - - - {736110f8-9b79-47db-86f5-250d1d4d8b9a} - - - {8347c248-d327-4438-a465-a3a6d408c9e6} - - - {40bc9467-7e4d-4ab5-b062-1aa0ba4af44d} - {922ab09b-aa8e-41bb-b781-58654160ee3d} diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl deleted file mode 100644 index 523af2c22..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ /dev/null @@ -1,4786 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.3911.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -OOVPA_NO_XREF(Direct3D_CreateDevice, 3911, 18) // Also for 4361, 4627, 5558, 5659, 5788, 5849, 5933 (NOT 5344!) - - { 0x00, 0xA1 }, - - { 0x05, 0x85 }, - { 0x06, 0xC0 }, - { 0x07, 0x75 }, - { 0x08, 0x0A }, - { 0x09, 0xC7 }, - { 0x0A, 0x05 }, - - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x08 }, - { 0x12, 0x00 }, - { 0x13, 0xA1 }, - - { 0x18, 0x85 }, - { 0x19, 0xC0 }, - { 0x1A, 0x75 }, - { 0x1B, 0x0A }, - { 0x1C, 0xC7 }, - { 0x1D, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 23) -#else -OOVPA_XREF(D3DDevice_GetTexture2, 3911, 1+23, // Also for 3948, ?4361? - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - { 0x0A, 0x56 }, - { 0x0B, 0x8D }, - { 0x0C, 0xB4 }, - { 0x0D, 0x81 }, - { 0x0E, 0xA0 }, // GetTexture A00B vs GetPalette B00B - { 0x0F, 0x0B }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x8B }, - { 0x13, 0x06 }, - { 0x14, 0x85 }, - { 0x15, 0xC0 }, - { 0x16, 0x74 }, - - { 0x18, 0x50 }, - { 0x19, 0xE8 }, - - { 0x1E, 0x8B }, - { 0x1F, 0x16 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTexture -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetTexture, 3911, 28) -#else -OOVPA_XREF(D3DDevice_SetTexture, 3911, 1+28, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x51 }, - { 0x01, 0x53 }, - { 0x02, 0x8B }, - { 0x03, 0x5C }, - { 0x04, 0x24 }, - { 0x05, 0x0C }, - { 0x06, 0x55 }, - { 0x07, 0x57 }, - { 0x08, 0x8B }, - { 0x09, 0x3D }, - - { 0x0E, 0x8B }, - { 0x0F, 0x84 }, - { 0x10, 0x9F }, - { 0x11, 0xA0 }, - { 0x12, 0x0B }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x85 }, - { 0x16, 0xC0 }, - { 0x17, 0x89 }, - { 0x18, 0x44 }, - { 0x19, 0x24 }, - { 0x1A, 0x0C }, - { 0x1B, 0x74 }, - { 0x1C, 0x20 }, - { 0x1D, 0x8B }, - { 0x1E, 0x4F }, - { 0x1F, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawRectPatch -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawRectPatch, 3911, 27) // Also verified for 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x38 }, - { 0x03, 0xA1 }, - - { 0x08, 0x8B }, - { 0x09, 0x48 }, - // { 0x0A, 0x0C }, // 0x08 for 4361 and up - { 0x0B, 0x53 }, - { 0x0C, 0x55 }, - { 0x0D, 0x56 }, - { 0x0E, 0x57 }, - { 0x0F, 0x8B }, - { 0x10, 0x7C }, - { 0x11, 0x24 }, - { 0x12, 0x50 }, - { 0x13, 0x33 }, - { 0x14, 0xED }, - { 0x15, 0x81 }, - { 0x16, 0xC9 }, - { 0x17, 0x00 }, - { 0x18, 0x08 }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x85 }, - { 0x1C, 0xFF }, - { 0x1D, 0x89 }, - { 0x1E, 0x6C }, - { 0x1F, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawTriPatch -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawTriPatch, 3911, 27) // Also verified for 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x14 }, - { 0x03, 0xA1 }, - - { 0x08, 0x8B }, - { 0x09, 0x48 }, - // { 0x0A, 0x0C }, // 0x08 for 4361 and up - { 0x0B, 0x53 }, - { 0x0C, 0x55 }, - { 0x0D, 0x56 }, - { 0x0E, 0x57 }, - { 0x0F, 0x8B }, - { 0x10, 0x7C }, - { 0x11, 0x24 }, - { 0x12, 0x2C }, - { 0x13, 0x81 }, - { 0x14, 0xC9 }, - { 0x15, 0x00 }, - { 0x16, 0x08 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x33 }, - { 0x1A, 0xDB }, - { 0x1B, 0x85 }, - { 0x1C, 0xFF }, - { 0x1D, 0x89 }, - { 0x1E, 0x44 }, - { 0x1F, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexShader -// ****************************************************************** -// Based on Dxbx patterns for 3911, 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 -OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 3911, 38) - - // IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp - { 0x00, 0x51 }, - { 0x01, 0x53 }, - { 0x02, 0x55 }, - - { 0x03, 0x8B }, - { 0x04, 0x6C }, - { 0x05, 0x24 }, - { 0x06, 0x14 }, - { 0x07, 0x85 }, - { 0x08, 0xED }, - { 0x09, 0x56 }, - - // IDirect3DDevice8_CreateVertexShader+0x0A : jz +0x10 - { 0x0A, 0x74 }, - { 0x0B, 0x10 }, - - { 0x0C, 0x0F }, - { 0x0D, 0xB7 }, - { 0x0E, 0x45 }, - { 0x0F, 0x00 }, - { 0x10, 0x0F }, - { 0x11, 0xB7 }, - { 0x12, 0x4D }, - { 0x13, 0x02 }, - { 0x14, 0x89 }, - { 0x15, 0x44 }, - { 0x16, 0x24 }, - { 0x17, 0x0C }, - { 0x18, 0x89 }, - { 0x19, 0x4C }, - { 0x1A, 0x24 }, - { 0x1B, 0x18 }, - { 0x1C, 0x33 }, - { 0x1D, 0xF6 }, - { 0x1E, 0x85 }, - { 0x1F, 0xED }, - - // D3DDevice_CreateVertexShader+0x43 : shl eax, 0x02 - { 0x43, 0xC1 }, - { 0x44, 0xE0 }, - { 0x45, 0x02 }, - - { 0x46, 0x8D }, - { 0x47, 0x1C }, - { 0x48, 0x30 }, -/* - OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 5558) - - // D3DDevice_CreateVertexShader+0x73 : mov eax, 0x8007000E - { 0x65, 0x07 }, - { 0x66, 0x80 }, - - // D3DDevice_CreateVertexShader+0x69 : retn 0x10 - { 0x69, 0xC2 }, - { 0x6A, 0x10 }, -*/ -/* - OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 5788) - - { 0x3E, 0xE8 }, - { 0x5E, 0x75 }, - { 0x7E, 0x04 }, - { 0x9E, 0x24 }, - { 0xBE, 0x24 }, - { 0xDE, 0x83 }, - { 0xFE, 0xC7 }, -*/ -/* - OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 5849) - - { 0x3E, 0xE8 }, - { 0x5E, 0x75 }, - { 0x7E, 0x04 }, - { 0x9E, 0x24 }, - { 0xBE, 0x24 }, - { 0xDE, 0x83 }, - { 0xFE, 0xC7 }, -*/ -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Release -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Release, 3911, 12) // Also for 4034, 4361, 4627, 5344, 5558, 5788, 5849, 5933 - - { 0x00, 0x57 }, - { 0x08, 0x87 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x83 }, - { 0x0E, 0xF8 }, - { 0x0F, 0x01 }, - { 0x10, 0x75 }, - { 0x11, 0x1C }, - { 0x12, 0x8B }, - { 0x13, 0xCF }, - { 0x14, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDepthStencilSurface -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 3911, 18) -#else -OOVPA_XREF(D3DDevice_GetDepthStencilSurface, 3911, 1 + 18, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x07, XREF_OFFSET_D3DDEVICE_M_DEPTHSTENCIL ), // Derived -#endif - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x80 }, - - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x85 }, - { 0x0C, 0xC0 }, - { 0x0D, 0x8B }, - { 0x0E, 0x4C }, - { 0x0F, 0x24 }, - { 0x10, 0x04 }, - { 0x11, 0x89 }, - { 0x12, 0x01 }, - { 0x13, 0x74 }, - { 0x14, 0x0B }, - { 0x15, 0x50 }, - { 0x16, 0xE8 }, - - { 0x1E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetGammaRamp -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(D3DDevice_GetGammaRamp, 3911, 13) - - { 0x05, 0x8B }, - - { 0x0A, 0x00 }, - { 0x0B, 0x56 }, - { 0x0C, 0x8D }, - { 0x0D, 0x0C }, - { 0x0E, 0x49 }, - { 0x0F, 0xC1 }, - { 0x10, 0xE1 }, - { 0x11, 0x08 }, - - { 0x16, 0x0C }, - { 0x1C, 0x00 }, - { 0x22, 0x00 }, - { 0x27, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_SetPushBufferSize -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(D3D_SetPushBufferSize, 3911, 13) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - { 0x08, 0xA3 }, - { 0x0D, 0x89 }, - { 0x0E, 0x0D }, - { 0x13, 0xC2 }, - { 0x14, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LightEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_LightEnable, 3911, 2+24,// valid upto at least 4627, next known difference is from 5344 onwards - - XRefNoSaveIndex, - XRefTwo) - - XREF_ENTRY( 0x0B, XREF_D3DDEVICE ), // Derived - XREF_ENTRY( 0x67, XREF_D3DDevice_SetLight ), - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x68 }, - { 0x03, 0x53 }, - - { 0x04, 0x8B }, - { 0x05, 0x5C }, - { 0x06, 0x24 }, - { 0x07, 0x70 }, - { 0x08, 0x56 }, - - { 0x09, 0x8B }, - { 0x0A, 0x35 }, - - { 0x0F, 0x3B }, - { 0x10, 0x9E }, - // { 0x11, 0x84 }, // 94 - // { 0x12, 0x04 }, // 03 - { 0x13, 0x00 }, - - { 0x14, 0x00 }, - { 0x15, 0x73 }, - { 0x16, 0x13 }, - { 0x17, 0x8B }, - { 0x18, 0x8E }, - - // { 0x19, 0x80 }, // 90 - // { 0x1A, 0x04 }, // 03 - { 0x1B, 0x00 }, - { 0x1C, 0x00 }, - { 0x1D, 0x8D }, - { 0x1E, 0x04 }, - { 0x1F, 0xDB }, -/* - { 0x36, 0x00 }, - { 0x52, 0x00 }, - { 0x6E, 0x75 }, - { 0x8A, 0x88 }, - { 0xA6, 0x75 }, - { 0xC2, 0x00 }, -*/ -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetLightEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_GetLightEnable, 3911, 1+24, // valid upto at least 5233, next known difference is from 5344 onwards - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x05, XREF_D3DDEVICE ), // Derived - - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - { 0x04, 0xA1 }, - { 0x09, 0x8B }, - { 0x0A, 0x90 }, - // 0x0B, 0x80 }, // 0x8004 vs 4134 0x9003 - // 0x0C, 0x04 }, - - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0x8B }, - { 0x10, 0x80 }, - // 0x11, 0x88 }, // 0x8804 vs 4134 0x9803 - - // 0x12, 0x04 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x8D }, - { 0x16, 0x0C }, - - { 0x17, 0xC9 }, - { 0x18, 0xC1 }, - { 0x19, 0xE1 }, - { 0x1A, 0x04 }, - { 0x1B, 0x03 }, - - { 0x1C, 0xCA }, - { 0x1D, 0x85 }, - { 0x1E, 0xC0 }, - { 0x1F, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_ClearStateBlockFlags -// ****************************************************************** -OOVPA_XREF(D3D_ClearStateBlockFlags, 3911, 13, - - XREF_D3D_ClearStateBlockFlags, - XRefZero) - - { 0x01, 0x15 }, - { 0x07, 0x57 }, - { 0x0F, 0xBF }, - { 0x14, 0xF3 }, - { 0x15, 0xAB }, - { 0x16, 0x8B }, - { 0x17, 0x8A }, -// { 0x18, 0x84 }, -// { 0x19, 0x04 }, - { 0x1A, 0x00 }, - { 0x1B, 0x00 }, - { 0x1C, 0x33 }, - { 0x1D, 0xF6 }, - { 0x1E, 0x8D }, - { 0x1F, 0x82 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginStateBlock -// ****************************************************************** -OOVPA_XREF(D3DDevice_BeginStateBlock, 3911, 1+6, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_D3D_ClearStateBlockFlags ), - - // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_BeginStateBlock+0x05 : mov [eax+C], 0x20 - { 0x05, 0x83 }, - { 0x06, 0x48 }, - { 0x07, 0x0C },//0C VS 08 - { 0x08, 0x20 }, - { 0x09, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_RecordStateBlock -// ****************************************************************** -OOVPA_XREF(D3D_RecordStateBlock, 3911, 19, - - XREF_D3D_RecordStateBlock, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x18 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - - { 0x0F, 0x8B }, - { 0x1F, 0x89 }, - - { 0x37, 0x89 }, - { 0x38, 0x45 }, - { 0x39, 0xEC }, - { 0x3A, 0x8A }, - { 0x3B, 0x02 }, - { 0x3C, 0x42 }, - { 0x3D, 0x84 }, - { 0x3E, 0xC0 }, - { 0x5C, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndStateBlock -// ****************************************************************** -OOVPA_XREF(D3DDevice_EndStateBlock, 3911, 1+5, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_D3D_RecordStateBlock ), - - // D3DDevice_EndStateBlock+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_EndStateBlock+0x05 : and [eax+0C], 0xFFFFFFDF - { 0x05, 0x83 }, - { 0x06, 0x60 }, - { 0x07, 0x0C }, - { 0x08, 0xDF }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport::InitHardware -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_InitHardware, 3911, 24) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x0C }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xF1 }, - { 0x0A, 0x56 }, - { 0x0B, 0x68 }, - - { 0x10, 0x8D }, - { 0x11, 0x86 }, - { 0x12, 0x88 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x50 }, - { 0x17, 0xFF }, - { 0x18, 0x15 }, - - { 0x1D, 0x80 }, - { 0x1E, 0xA6 }, - { 0x1F, 0xF8 }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport::CreateCtxDmaObject -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_CreateCtxDmaObject, 3911, 32) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x51 }, - { 0x04, 0x51 }, - { 0x05, 0x53 }, - { 0x06, 0x56 }, - { 0x07, 0x57 }, - { 0x08, 0x33 }, - { 0x09, 0xF6 }, - { 0x0A, 0x56 }, - { 0x0B, 0x8D }, - { 0x0C, 0x45 }, - { 0x0D, 0xFC }, - { 0x0E, 0x50 }, - { 0x0F, 0x8D }, - { 0x10, 0x45 }, - { 0x11, 0xF8 }, - { 0x12, 0x50 }, - { 0x13, 0xFF }, - { 0x14, 0x75 }, - { 0x15, 0x10 }, - { 0x16, 0x8B }, - { 0x17, 0xD1 }, - { 0x18, 0x8B }, - { 0x19, 0x3A }, - { 0x1A, 0x89 }, - { 0x1B, 0x75 }, - { 0x1C, 0xF8 }, - { 0x1D, 0x89 }, - { 0x1E, 0x75 }, - { 0x1F, 0xFC }, -OOVPA_END; - -// ****************************************************************** -// * D3D_CMiniport_GetDisplayCapabilities -// ****************************************************************** -OOVPA_NO_XREF(D3D_CMiniport_GetDisplayCapabilities, 3911, 15) - - // D3D_CMiniport_GetDisplayCapabilities+0x00 : xor eax, eax - { 0x00, 0x33 }, - { 0x01, 0xC0 }, - // D3D_CMiniport_GetDisplayCapabilities+0x02 : cmp ds:_D3D__AvInfo, eax - { 0x02, 0x39 }, - { 0x03, 0x05 }, - // D3D_CMiniport_GetDisplayCapabilities+0x08 : jne - { 0x08, 0x75 }, - { 0x09, 0x0f }, - // D3D_CMiniport_GetDisplayCapabilities+0x0A : push # - { 0x0A, 0x68 }, - // D3D_CMiniport_GetDisplayCapabilities+0x0F : push eax - { 0x0F, 0x50 }, - // D3D_CMiniport_GetDisplayCapabilities+0x10 : push 6 - { 0x10, 0x6A }, - { 0x11, 0x06 }, - // D3D_CMiniport_GetDisplayCapabilities+0x12 : push eax - { 0x12, 0x50 }, - // D3D_CMiniport_GetDisplayCapabilities+0x13 : call ds:AvSendTVEncoderOption - { 0x13, 0xFF }, - { 0x14, 0x15 }, - // D3D_CMiniport_GetDisplayCapabilities+0x19 : mov eax, # - { 0x19, 0xA1 }, - // D3D_CMiniport_GetDisplayCapabilities+0x1E : retn - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DBaseTexture_GetLevelCount -// ****************************************************************** -/* Accuracy is not gauranteed. - It might be a ?GetMipmapLevelCount@PixelJar@D3D@@YGKPAUD3DPixelContainer@@@Z - that has an identical signature... */ -OOVPA_NO_XREF(D3DBaseTexture_GetLevelCount, 3911, 13) - - // D3DBaseTexture_GetLevelCount+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DBaseTexture_GetLevelCount+0x04 : movzx eax, [eax+0x0E] - { 0x04, 0x0F }, - { 0x05, 0xB6 }, - { 0x06, 0x40 }, - { 0x07, 0x0E }, - - // D3DBaseTexture_GetLevelCount+0x08 : and eax, 0x0F - { 0x08, 0x83 }, - { 0x09, 0xE0 }, - { 0x0A, 0x0F }, - - // D3DBaseTexture_GetLevelCount+0x0B : retn 0x04 - { 0x0B, 0xC2 }, - { 0x0C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DCubeTexture_GetCubeMapSurface -// ****************************************************************** -OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 3911, 11) - - { 0x01, 0xEC }, - { 0x18, 0x54 }, - { 0x19, 0x24 }, - { 0x1A, 0x24 }, - { 0x1B, 0x8D }, - { 0x1C, 0x44 }, - { 0x1D, 0x24 }, - { 0x1E, 0x14 }, - { 0x1F, 0x50 }, - { 0x32, 0x4C }, - { 0x45, 0x51 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetCreationParameters -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetCreationParameters, 3911, 7) - - { 0x06, 0x8B }, - { 0x0E, 0x8B }, - { 0x16, 0x4E }, - { 0x1E, 0x83 }, - { 0x26, 0x00 }, - { 0x2E, 0x5E }, - { 0x36, 0xC9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetScissors -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetScissors, 3911, 15) - - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x85 }, - { 0x05, 0xC9 }, - { 0x06, 0xA1 }, - - { 0x11, 0x00 }, - { 0x18, 0x08 }, - { 0x19, 0x85 }, - { 0x1A, 0xC9 }, - { 0x1B, 0x74 }, - { 0x1C, 0x08 }, - { 0x1D, 0x8B }, - { 0x1E, 0x90 }, -// { 0x1F, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::LazySetPointParams -// ****************************************************************** -OOVPA_NO_XREF(D3D_LazySetPointParams, 3911, 12) - - { 0x0A, 0x57 }, - { 0x0B, 0x08 }, - { 0x0C, 0x83 }, - { 0x0D, 0xE2 }, - { 0x0E, 0xFE }, - { 0x0F, 0x57 }, - { 0x10, 0x89 }, - { 0x11, 0x57 }, - { 0x12, 0x08 }, - { 0x13, 0xE8 }, - { 0x37, 0x89 }, - { 0x6E, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * Lock3DSurface -// ****************************************************************** -OOVPA_XREF(Lock3DSurface, 3911, 11, - - XREF_Lock3DSurface, - XRefZero) - - // D3D::PixelJar::Lock3DSurface + 0x08: test bl, 0x20 - { 0x08, 0xF6 }, - { 0x09, 0xC3 }, - { 0x0A, 0x20 }, - - // D3D::PixelJar::Lock3DSurface + 0x40: test bl, 0x40 - { 0x40, 0xF6 }, - { 0x41, 0xC3 }, - { 0x42, 0x40 }, - - // D3D::PixelJar::Lock3DSurface + 0x6D: and edx, 0x3C - { 0x6D, 0x83 }, - { 0x6E, 0xE2 }, - { 0x6F, 0x3C }, - - // D3D::PixelJar::Lock3DSurface + 0x99: ret 0x14 - { 0x99, 0xC2 }, - { 0x9A, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::SetStateUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetStateUP, 3911, 16) - - { 0x01, 0xEC }, - { 0x0A, 0xE8 }, - - { 0x10, 0x46 }, - { 0x11, 0x08 }, - { 0x12, 0xF6 }, - { 0x13, 0xC4 }, - { 0x14, 0x01 }, - { 0x15, 0x0F }, - { 0x16, 0x84 }, - { 0x17, 0x79 }, - - { 0x56, 0x25 }, - { 0x9C, 0x00 }, - { 0x9D, 0x72 }, - { 0x9E, 0xB1 }, - { 0x9F, 0x56 }, - - { 0xA5, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::SetStateVB -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetStateVB, 3911, 16) - - { 0x00, 0x51 }, - { 0x08, 0xE8 }, - - { 0x10, 0xA9 }, - { 0x11, 0x00 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x40 }, - { 0x15, 0x0F }, - { 0x16, 0x85 }, - { 0x17, 0xCD }, - - { 0x56, 0x25 }, - { 0x8C, 0x00 }, - { 0x8D, 0x00 }, - { 0x8E, 0x81 }, - { 0x8F, 0xC1 }, - - { 0xA5, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * Direct3D_CheckDeviceMultiSampleType -// ****************************************************************** -OOVPA_NO_XREF(Direct3D_CheckDeviceMultiSampleType, 3911, 7) - - { 0x0E, 0x00 }, - { 0x1E, 0x54 }, - { 0x2E, 0xC9 }, - { 0x3E, 0x8B }, - { 0x4E, 0x08 }, - { 0x5E, 0x72 }, - { 0x6E, 0x03 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetOverlayUpdateStatus -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 3911, 16) // Also for 4134, 4361, 4627, 5344, 5558, 5788, 5849 - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, -// { 0x07, 0x88 }, -// { 0x08, 0x2A }, - { 0x09, 0x00 }, - -// { 0x0E, 0x5C }, -// { 0x0F, 0x24 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x33 }, - { 0x13, 0xD2 }, - { 0x14, 0x3B }, -// { 0x15, 0xCE }, // F1 vs CE - - { 0x16, 0x0F }, - { 0x17, 0x95 }, - { 0x18, 0xC2 }, - { 0x19, 0x5E }, - { 0x1A, 0x8B }, - { 0x1B, 0xC2 }, - { 0x1C, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_CheckDeviceFormat -// ****************************************************************** -OOVPA_NO_XREF(D3D_CheckDeviceFormat, 3911, 7) - - { 0x0E, 0x18 }, - { 0x1E, 0x00 }, - { 0x2E, 0x42 }, - { 0x41, 0x40 }, - { 0x4E, 0x74 }, - { 0x5E, 0x08 }, - { 0x6E, 0x3C }, -OOVPA_END; -// ****************************************************************** -// * D3DDevice_EnableOverlay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_EnableOverlay, 3911, 24) - - { 0x00, 0x8B }, - - { 0x09, 0x8B }, - { 0x0A, 0x80 }, - { 0x0B, 0x04 }, - { 0x0C, 0x04 }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0x33 }, - { 0x10, 0xC9 }, - { 0x11, 0x3B }, - { 0x12, 0xD1 }, - { 0x13, 0x74 }, - { 0x14, 0x0A }, - { 0x15, 0x39 }, - { 0x16, 0x88 }, - { 0x17, 0x00 }, - { 0x18, 0x87 }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x75 }, - { 0x1C, 0xF8 }, - { 0x1D, 0xEB }, - { 0x1E, 0x0A }, - { 0x1F, 0xC7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_UpdateOverlay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 3911, 11) - - { 0x02, 0x08 }, - { 0x1F, 0x7C }, - { 0x6F, 0x8B }, - - { 0x80, 0x8B }, - { 0x81, 0x54 }, - { 0x82, 0x24 }, - { 0x83, 0x20 }, - { 0x84, 0x8B }, - { 0x85, 0x3F }, - { 0x86, 0x83 }, - { 0x87, 0xE1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - // D3DDevice_SetTextureState_TexCoordIndex+0x0B : shl eax, 0x07 - { 0x0B, 0xC1 }, - { 0x0C, 0xE0 }, - { 0x0D, 0x07 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x24 : cmp eax, 0x20000 - { 0x24, 0x81 }, - { 0x25, 0xF9 }, - { 0x28, 0x02 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x3B : mov edi, 0x8511 - { 0x3B, 0xBF }, - { 0x3C, 0x11 }, - { 0x3D, 0x85 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x97 : shl eax, cl - { 0x97, 0xD3 }, - { 0x98, 0xE0 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_CullMode -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 3911, 2+16, - - XRefNoSaveIndex, - XRefTwo) - - XREF_ENTRY( 0x03, XREF_D3DDEVICE ), // Derived - - XREF_ENTRY( 0x25, XREF_D3DRS_CULLMODE ), // Derived - - // D3DDevice_SetRenderState_CullMode+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetRenderState_CullMode+0x42 : mov dword ptr [eax+8], 0x4039C - { 0x42, 0xC7 }, - { 0x43, 0x40 }, - { 0x44, 0x08 }, - { 0x45, 0x9C }, - { 0x46, 0x03 }, - { 0x47, 0x04 }, - - // D3DDevice_SetRenderState_CullMode+0x49 : add eax, 0x10 - { 0x49, 0x83 }, - { 0x4A, 0xC0 }, - { 0x4B, 0x10 }, - - // D3DDevice_SetRenderState_CullMode+0x5F : retn 4 - { 0x5F, 0xC2 }, - { 0x60, 0x04 }, - - // D3DDevice_SetRenderState_CullMode+0x4D : add edx, 0x404 - { 0x4D, 0x81 }, - { 0x4E, 0xC2 }, - { 0x4F, 0x04 }, - { 0x50, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_RunPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 3911, 12) - - { 0x00, 0x83 }, - { 0x05, 0x1D }, - - { 0x0A, 0x55 }, - { 0x0B, 0x56 }, - { 0x0C, 0x57 }, - { 0x0D, 0x6A }, - { 0x0E, 0x00 }, - { 0x0F, 0x8B }, - { 0x10, 0xCB }, - { 0x11, 0xE8 }, - - { 0x1A, 0x83 }, - { 0x23, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_IsBusy -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_IsBusy, 3911, 11) - - { 0x00, 0xA1 }, - { 0x12, 0x49 }, - - { 0x20, 0xB8 }, - { 0x21, 0x01 }, - { 0x22, 0x00 }, - { 0x23, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0xC3 }, - { 0x26, 0x8B }, - { 0x27, 0x92 }, - - { 0x33, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDeviceCaps -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDeviceCaps, 3911, 11) - - // D3DDevice_GetDeviceCaps+0x00 : push esi; push edi - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - // D3DDevice_GetDeviceCaps+0x06 : mov ecx, 0x35 - { 0x06, 0xB9 }, - { 0x07, 0x35 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - - // D3DDevice_GetDeviceCaps+0x10 : rep movsd - { 0x10, 0xF3 }, - { 0x11, 0xA5 }, - - // D3DDevice_GetDeviceCaps+0x14 : retn 0x04 - { 0x14, 0xC2 }, - { 0x15, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginVisibilityTest -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 3911, 11) - - // D3DDevice_BeginVisibilityTest+0x0D : mov ecx, 1 - { 0x0D, 0xB9 }, - { 0x0E, 0x01 }, - { 0x0F, 0x00 }, - - // D3DDevice_BeginVisibilityTest+0x12 : mov dword ptr [eax], 0x000817C8 - { 0x12, 0xC7 }, - { 0x13, 0x00 }, - { 0x14, 0xC8 }, - { 0x15, 0x17 }, - { 0x16, 0x08 }, - - // D3DDevice_BeginVisibilityTest+0x1E : add eax, 0x0C - { 0x1E, 0x83 }, - { 0x1F, 0xC0 }, - { 0x20, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetMaterial, 3911, 9) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - { 0x0C, 0xB0 }, - { 0x0D, 0x18 }, - { 0x0E, 0x0B }, - { 0x11, 0xB9 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndVisibilityTest -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 3911, 21) - - { 0x00, 0x8B }, - { 0x06, 0xE8 }, - - { 0x0B, 0x8B }, - { 0x0C, 0xF0 }, - { 0x0D, 0x85 }, - { 0x0E, 0xF6 }, - { 0x0F, 0x75 }, - { 0x10, 0x09 }, - { 0x11, 0xB8 }, - { 0x12, 0x0E }, - { 0x13, 0x00 }, - { 0x14, 0x07 }, - { 0x15, 0x80 }, - { 0x16, 0x5E }, - { 0x17, 0xC2 }, - { 0x18, 0x04 }, - { 0x19, 0x00 }, - { 0x1A, 0x57 }, - { 0x1B, 0x8B }, - { 0x1C, 0x3D }, - - { 0x37, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVisibilityTestResult -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 3911, 11) - - // D3DDevice_GetVisibilityTestResult+0x0C : shr ecx, 8 - { 0x0C, 0xC1 }, - { 0x0D, 0xE9 }, - { 0x0E, 0x08 }, - - // D3DDevice_GetVisibilityTestResult+0x0F : and eax, 0xFF - { 0x0F, 0x25 }, - { 0x10, 0xFF }, - { 0x11, 0x00 }, - - // D3DDevice_GetVisibilityTestResult+0x2B : mov eax, 0x88760828 - { 0x2B, 0xB8 }, - { 0x2C, 0x28 }, - { 0x2D, 0x08 }, - { 0x2E, 0x76 }, - { 0x2F, 0x88 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::KickOff -// ****************************************************************** -OOVPA_XREF(D3DDevice_KickOff, 3911, 10, - - XREF_D3D_CDevice_KickOff, - XRefZero) - - { 0x01, 0xA1 }, - - { 0x32, 0x81 }, - { 0x33, 0xCA }, - { 0x36, 0x01 }, - - { 0x5E, 0x89 }, - { 0x5F, 0x50 }, - { 0x60, 0x40 }, - - { 0x90, 0x83 }, - { 0x91, 0xEA }, - { 0x92, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LoadVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 3911, 10) - - // D3DDevice_LoadVertexShader+0x07 : mov al, [ebx+0x0C] - { 0x07, 0x8A }, - { 0x08, 0x43 }, - { 0x09, 0x0C }, - - // D3DDevice_LoadVertexShader+0x3D : mov dword ptr [eax], 0x00041E9C - { 0x3D, 0xC7 }, - { 0x3E, 0x00 }, - { 0x3F, 0x9C }, - { 0x40, 0x1E }, - { 0x41, 0x04 }, - - // D3DDevice_LoadVertexShader+0x4E : mov [ebx], ebx - { 0x4E, 0x89 }, - { 0x4F, 0x13 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SelectVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 3911, 11) - - // D3DDevice_SelectVertexShader+0x16 : or ecx, 0x3A0 - { 0x16, 0x81 }, - { 0x17, 0xC9 }, - { 0x18, 0xA0 }, - { 0x19, 0x03 }, - - // D3DDevice_SelectVertexShader+0x3F : mov dword ptr [eax], 0x00081E94 - { 0x3F, 0xC7 }, - { 0x40, 0x00 }, - { 0x41, 0x94 }, - { 0x42, 0x1E }, - { 0x43, 0x08 }, - - // D3DDevice_SelectVertexShader+0x51 : mov [esi], eax - { 0x51, 0x89 }, - { 0x52, 0x06 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 3911, 14) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0;push 0;push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x0B : mov dword ptr [eax+0x24F4], - { 0x0B, 0xC7 }, - { 0x0C, 0x80 }, - { 0x0D, 0xF4 }, - { 0x0E, 0x24 }, - { 0x0F, 0x00 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : and eax, 0x24F0 - { 0x17, 0x05 }, - { 0x18, 0xF0 }, - { 0x19, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 3911, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x24EC], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0xEC }, - { 0x0D, 0x24 }, - { 0x0E, 0x00 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, - { 0x12, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3911, 11) -#else -OOVPA_XREF(D3DDevice_SetRenderTarget, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x17, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - // D3DDevice_SetRenderTarget+0x00 : sub esp, 0x20 - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x20 }, - - // D3DDevice_SetRenderTarget+0x32 : mov [esp+0x34], ebx - { 0x32, 0x89 }, - { 0x33, 0x5C }, - { 0x34, 0x24 }, - { 0x35, 0x34 }, - - // D3DDevice_SetRenderTarget+0x55 : and ecx, 0x0F - { 0x55, 0x83 }, - { 0x56, 0xE1 }, - { 0x57, 0x0F }, - - // D3DDevice_SetRenderTarget+0xDC : push edx - { 0xDC, 0x52 }, -OOVPA_END; - -// ****************************************************************** -// * D3DSurface_GetDesc -// ****************************************************************** -OOVPA_NO_XREF(D3DSurface_GetDesc, 3911, 16) - - // D3DSurface_GetDesc+0x00 : mov eax, [esp+0x08] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - - // D3DSurface_GetDesc+0x04 : mov ecx, [esp+0x04] - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x04 }, - - // D3DSurface_GetDesc+0x08 : push eax - { 0x08, 0x50 }, - - // D3DSurface_GetDesc+0x09 : push 0 - { 0x09, 0x6A }, - { 0x0A, 0x00 }, - - // D3DSurface_GetDesc+0x0B : push ecx - { 0x0B, 0x51 }, - - // D3DSurface_GetDesc+0x0C : call [abs] - { 0x0C, 0xE8 }, - - // D3DSurface_GetDesc+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, - { 0x13, 0x00 }, - -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetTransform, 3911, 12) - - // D3DDevice_GetTransform+0x06 : mov esi, [esp+4+arg_0] - { 0x06, 0x8B }, - { 0x07, 0x74 }, - { 0x08, 0x24 }, - - // D3DDevice_GetTransform+0x12 : shl esi, 6; add esi, eax - { 0x12, 0xC1 }, - { 0x13, 0xE6 }, - { 0x14, 0x06 }, - { 0x15, 0x03 }, - { 0x16, 0xF0 }, - - // D3DDevice_GetTransform+0x17 : mov ecx, 0x10 - { 0x17, 0xB9 }, - { 0x18, 0x10 }, - - // D3DDevice_GetTransform+0x20 : retn 0x08 - { 0x20, 0xC2 }, - { 0x21, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetStreamSource -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetStreamSource, 3911, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x23, XREF_G_STREAM ), // Derived - - // D3DDevice_SetStreamSource+0x39 : add edx, 0xFFF80000 - { 0x39, 0x81 }, - { 0x3A, 0xC2 }, - { 0x3B, 0x00 }, - { 0x3C, 0x00 }, - { 0x3D, 0xF8 }, - { 0x3E, 0xFF }, - - // D3DDevice_SetStreamSource+0x49 : jnz +0x06 - { 0x49, 0x75 }, - { 0x4A, 0x06 }, - - // D3DDevice_SetStreamSource+0x6A : or ecx, 0x280 - { 0x6A, 0x81 }, - { 0x6B, 0xC9 }, - { 0x6C, 0x80 }, - { 0x6D, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 3911, 14) - - // D3DDevice_SetVertexShader+0x05 : test bl, 1 - { 0x05, 0xF6 }, - { 0x06, 0xC3 }, - { 0x07, 0x01 }, - - // D3DDevice_SetVertexShader+0x10 : mov eax, [esi+0x0470] - { 0x10, 0x8B }, - { 0x11, 0x86 }, - { 0x12, 0x70 }, - { 0x13, 0x04 }, - - // D3DDevice_SetVertexShader+0x6D : retn 0x04 - { 0x6D, 0xC2 }, - { 0x6E, 0x04 }, - - // D3DDevice_SetVertexShader+0x8C : mov dword ptr [eax], 0x81E94 - { 0x8C, 0xC7 }, - { 0x8D, 0x40 }, - { 0x8E, 0x08 }, - { 0x8F, 0x94 }, - { 0x90, 0x1E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 3911, 11) - - // D3DDevice_CreatePixelShader+0x00 : push 0xFC - { 0x00, 0x68 }, - { 0x01, 0xFC }, - - // D3DDevice_CreatePixelShader+0x10 : mov eax, 0x8007000E - { 0x10, 0xB8 }, - { 0x11, 0x0E }, - { 0x12, 0x00 }, - { 0x13, 0x07 }, - { 0x14, 0x80 }, - - // D3DDevice_CreatePixelShader+0x31 : mov ecx, 0x3C - { 0x31, 0xB9 }, - { 0x32, 0x3C }, - - // D3DDevice_CreatePixelShader+0x42 : retn 0x08 - { 0x42, 0xC2 }, - { 0x43, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShader -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 3911, 10) -#else -OOVPA_XREF(D3DDevice_SetPixelShader, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x10, XREF_OFFSET_D3DDEVICE_M_PIXELSHADER ), // Derived -#endif - // D3DDevice_SetPixelShader+0x0E : mov esi, [ebx+0x0414] - { 0x0E, 0x8B }, - { 0x0F, 0xB3 }, - { 0x10, 0x14 }, // part of an offset - { 0x11, 0x04 }, - - // D3DDevice_SetPixelShader+0x34 : or eax, 0x40 - { 0x35, 0xC8 }, - { 0x36, 0x40 }, - - // D3DDevice_SetPixelShader+0x68 : retn 0x04 - { 0x68, 0xC2 }, - { 0x69, 0x04 }, - - // D3DDevice_SetPixelShader+0xE3 : rep movsd - { 0xE3, 0xF3 }, - { 0xE4, 0xA5 }, - -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetIndices -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetIndices, 3911, 11) - - // D3DDevice_SetIndices+0x0E : jz +0x10 - { 0x0E, 0x74 }, - { 0x0F, 0x10 }, - - // D3DDevice_SetIndices+0x3E : test ecx, 0x78FFFF - { 0x3E, 0xF7 }, - { 0x3F, 0xC1 }, - { 0x40, 0xFF }, - { 0x41, 0xFF }, - { 0x42, 0x78 }, - - // D3DDevice_SetIndices+0x67 : mov [esi+0x047C], edi - { 0x67, 0x89 }, - { 0x68, 0xBE }, - { 0x69, 0x7C }, - { 0x6A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetViewport -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetViewport, 3911, 10) - - // D3DDevice_SetViewport+0x00 : sub esp, 0x08 - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - - // D3DDevice_SetViewport+0x2F : mov ebx, [esp+0x1C] - { 0x2F, 0x8B }, - { 0x30, 0x5C }, - { 0x31, 0x24 }, - { 0x32, 0x1C }, - - // D3DDevice_SetViewport+0x55 : jnz +0x12 - { 0x55, 0x75 }, - { 0x56, 0x12 }, - - // D3DDevice_SetViewport+0x9D : inc edx - { 0x9D, 0x42 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVertices -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVertices, 3911, 12) - - // D3DDevice_DrawIndexedVertices+0x0E : mov eax, [esi+0x0478] - { 0x0E, 0x8B }, - { 0x0F, 0x86 }, - { 0x10, 0x78 }, - { 0x11, 0x04 }, - - // D3DDevice_DrawIndexedVertices+0x44 : mov dword ptr [ebx-8], 0x000417FC - { 0x44, 0xC7 }, - { 0x45, 0x43 }, - { 0x46, 0xF8 }, - { 0x47, 0xFC }, - { 0x48, 0x17 }, - { 0x49, 0x04 }, - - // D3DDevice_DrawIndexedVertices+0xDA : lea ebx, [ebx+0] - { 0xDA, 0x8D }, - { 0xDB, 0x9B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Begin -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Begin, 3911, 11) - - // D3DDevice_Begin+0x20 : mov dword ptr [eax], 0x417FC - { 0x20, 0xC7 }, - { 0x21, 0x00 }, - { 0x22, 0xFC }, - { 0x23, 0x17 }, - { 0x24, 0x04 }, - { 0x25, 0x00 }, - - // D3DDevice_Begin+0x2E : shl edx, 6 - { 0x2E, 0x0D }, - { 0x2F, 0x00 }, - { 0x30, 0x08 }, - - // D3DDevice_Begin+0x38 : retn 0x08 - { 0x38, 0xC2 }, - { 0x39, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2f -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 3911, 14) - - // D3DDevice_SetVertexData2f+0x11 : lea edx, ds:abs[ecx*8] - { 0x11, 0x8D }, - { 0x12, 0x14 }, - { 0x13, 0xCD }, - - // D3DDevice_SetVertexData2f+0x1C : mov [eax], edx; mov edx, [esp+0x10] - { 0x1C, 0x89 }, - { 0x1D, 0x10 }, - { 0x1E, 0x8B }, - { 0x1F, 0x54 }, - { 0x20, 0x24 }, - { 0x21, 0x10 }, - - // D3DDevice_SetVertexData2f+0x28 : add eax, 0x0C - { 0x28, 0x83 }, - { 0x29, 0xC0 }, - { 0x2A, 0x0C }, - - // D3DDevice_SetVertexData2f+0x2E : retn 0x0C - { 0x2E, 0xC2 }, - { 0x2F, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2s -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 3911, 11) - - // D3DDevice_SetVertexData2s+0x11 : lea edx, ds:abs[ecx*4] - { 0x11, 0x8D }, - { 0x12, 0x14 }, - { 0x13, 0x8D }, - - // D3DDevice_SetVertexData2s+0x24 : shl ecx, 0x10 - { 0x24, 0xC1 }, - { 0x25, 0xE1 }, - { 0x26, 0x10 }, - - // D3DDevice_SetVertexData2s+0x29 : mov [eax+4], ecx - { 0x29, 0x89 }, - { 0x2A, 0x48 }, - { 0x2B, 0x04 }, - - // D3DDevice_SetVertexData2s+0x32 : retn 0x0C - { 0x32, 0xC2 }, - { 0x33, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4f -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 3911, 11) - - // D3DDevice_SetVertexData4f+0x11 : cmp ecx, -1; jnz +0x07 - { 0x11, 0x83 }, - { 0x12, 0xF9 }, - { 0x13, 0xFF }, - { 0x14, 0x75 }, - { 0x15, 0x07 }, - - // D3DDevice_SetVertexData4f+0x1D : add ecx, 0x01A0 - { 0x1D, 0x81 }, - { 0x1E, 0xC1 }, - { 0x1F, 0xA0 }, - { 0x20, 0x01 }, - - // D3DDevice_SetVertexData4f+0x50 : retn 0x14 - { 0x50, 0xC2 }, - { 0x51, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexDataColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 3911, 18) - - // D3DDevice_SetVertexDataColor+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetVertexDataColor+0x1F : mov byte ptr [esp+?] - { 0x1F, 0x0F }, - { 0x20, 0xB6 }, - { 0x21, 0x54 }, - { 0x22, 0x24 }, - { 0x23, 0x12 }, - - // D3DDevice_SetVertexDataColor+0x26 : add edi, 0xFF; shl edi, 0x10 - { 0x26, 0x81 }, - { 0x27, 0xE7 }, - { 0x28, 0xFF }, - { 0x2C, 0xC1 }, - { 0x2D, 0xE7 }, - { 0x2E, 0x10 }, - - // D3DDevice_SetVertexDataColor+0x31 : and ecx, 0xFF00FF00 - { 0x31, 0x81 }, - { 0x32, 0xE1 }, - { 0x33, 0x00 }, - { 0x34, 0xFF }, - { 0x35, 0x00 }, - { 0x36, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_End -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_End, 3911, 13) - - // D3DDevice_End+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_End+0x17 : mov dword ptr [eax], 0x417FC - { 0x17, 0xC7 }, - { 0x18, 0x00 }, - { 0x19, 0xFC }, - { 0x1A, 0x17 }, - { 0x1B, 0x04 }, - { 0x1C, 0x00 }, - - // D3DDevice_End+0x2C : test ah, 0x10 - { 0x2C, 0xF6 }, - { 0x2D, 0xC4 }, - { 0x2E, 0x10 }, - - // D3DDevice_End+0x2F : jz +0x07 - { 0x2F, 0x74 }, - { 0x30, 0x07 }, - - // D3DDevice_End+0x40 : retn - { 0x40, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Clear -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Clear, 3911, 10) - - // D3DDevice_Clear+0x00 : sub esp, 0x38 - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x38 }, - - // D3DDevice_Clear+0x25 : test cl, 1 - { 0x25, 0xF6 }, - { 0x26, 0xC1 }, - { 0x27, 0x01 }, - - // D3DDevice_Clear+0x5D : mov [esi], eax; xor ebp, ebp - { 0x5D, 0x89 }, - { 0x5E, 0x06 }, - { 0x5F, 0x33 }, - { 0x60, 0xED }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePalette -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePalette, 3911, 12) - - // D3DDevice_CreatePalette+0x01 : push 0x0C - { 0x01, 0x6A }, - { 0x02, 0x0C }, - - // D3DDevice_CreatePalette+0x03 : push 0x40 - { 0x03, 0x6A }, - { 0x04, 0x40 }, - - // D3DDevice_CreatePalette+0x10 : mov eax, 0x8007000E - { 0x10, 0xB8 }, - { 0x11, 0x0E }, - { 0x12, 0x00 }, - { 0x13, 0x07 }, - { 0x14, 0x80 }, - - // D3DDevice_CreatePalette+0x4E : shl esi, 0x1E - { 0x4E, 0xC1 }, - { 0x4F, 0xE6 }, - { 0x50, 0x1E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPalette -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetPalette, 3911, 12) -#else -OOVPA_XREF(D3DDevice_SetPalette, 3911, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x10, XREF_OFFSET_D3DDEVICE_M_PALETTES ), // Derived verified on 3911 -#endif - // D3DDevice_SetPalette+0x0D : mov eax, [edi+esi*4+0x0BB0] - { 0x0D, 0x8B }, - { 0x0E, 0x84 }, - { 0x0F, 0xB7 }, - { 0x10, 0xB0 }, // part of an offset - { 0x11, 0x0B }, - - // D3DDevice_SetPalette+0x68 : add esi, 0x41B20 - { 0x68, 0x81 }, - { 0x69, 0xC6 }, - { 0x6A, 0x20 }, - { 0x6B, 0x1B }, - { 0x6C, 0x04 }, - - // D3DDevice_SetPalette+0x7C : retn 0x08 - { 0x7C, 0xC2 }, - { 0x7D, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateTexture -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateTexture, 3911, 14) - - // D3DDevice_CreateTexture+0x00 : mov eax, [esp+0x1C] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x1C }, - - // D3DDevice_CreateTexture+0x0C : push eax - { 0x0C, 0x50 }, - - // D3DDevice_CreateTexture+0x11 : push 0 - { 0x11, 0x6A }, - { 0x12, 0x00 }, - - // D3DDevice_CreateTexture+0x13 : push 0 - { 0x13, 0x6A }, - { 0x14, 0x00 }, - - // D3DDevice_CreateTexture+0x15 : push ecx - { 0x15, 0x51 }, - - // D3DDevice_CreateTexture+0x22 : push ecx - { 0x22, 0x51 }, - - // D3DDevice_CreateTexture+0x23 : push edx - { 0x23, 0x52 }, - - // D3DDevice_CreateTexture+0x29 : retn 0x1C - { 0x29, 0xC2 }, - { 0x2A, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVolumeTexture -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVolumeTexture, 3911, 15) - - // D3DDevice_CreateVolumeTexture+0x00 : mov eax, [esp+0x1C] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x20 }, - - // D3DDevice_CreateVolumeTexture+0x0C : push eax - { 0x0C, 0x50 }, - - // D3DDevice_CreateVolumeTexture+0x11 : push 1 - { 0x11, 0x6A }, - { 0x12, 0x01 }, - - // D3DDevice_CreateVolumeTexture+0x13 : push 0 - { 0x13, 0x6A }, - { 0x14, 0x00 }, - - // D3DDevice_CreateVolumeTexture+0x16 : mov ecx, [esp+0x1C] - { 0x16, 0x8B }, - { 0x17, 0x4C }, - { 0x18, 0x24 }, - { 0x19, 0x1C }, - - // D3DDevice_CreateVolumeTexture+0x2C : retn 0x20 - { 0x2C, 0xC2 }, - { 0x2D, 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateCubeTexture -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 3911, 15) - - // D3DDevice_CreateCubeTexture+0x00 : mov eax, [esp+0x1C] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x18 }, - - // D3DDevice_CreateCubeTexture+0x0C : push eax - { 0x0C, 0x50 }, - - // D3DDevice_CreateCubeTexture+0x11 : push 0 - { 0x11, 0x6A }, - { 0x12, 0x00 }, - - // D3DDevice_CreateCubeTexture+0x13 : push 1 - { 0x13, 0x6A }, - { 0x14, 0x01 }, - - // D3DDevice_CreateCubeTexture+0x18 : mov eax, [esp+0x1C] - { 0x18, 0x8B }, - { 0x19, 0x44 }, - { 0x1A, 0x24 }, - { 0x1B, 0x1C }, - - // D3DDevice_CreateCubeTexture+0x25 : retn 0x18 - { 0x25, 0xC2 }, - { 0x26, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateIndexBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer, 3911, 13) - - // D3DDevice_CreateIndexBuffer+0x13 : mov eax, 0x8007000E - { 0x13, 0xB8 }, - { 0x14, 0x0E }, - { 0x15, 0x00 }, - { 0x16, 0x07 }, - { 0x17, 0x80 }, - - // D3DDevice_CreateIndexBuffer+0x18 : retn 0x14 - { 0x18, 0xC2 }, - { 0x19, 0x14 }, - - // D3DDevice_CreateIndexBuffer+0x2E : mov dword ptr [eax], 0x1010001 - { 0x2E, 0xC7 }, - { 0x2F, 0x00 }, - { 0x30, 0x01 }, - { 0x31, 0x00 }, - { 0x32, 0x01 }, - { 0x33, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant, 3911, 10) - - // D3DDevice_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x0C] - { 0x11, 0x8A }, - { 0x12, 0x4B }, - { 0x13, 0x0C }, - - // D3DDevice_SetVertexShaderConstant+0x1A : test cl, 0x10 - { 0x1A, 0xF6 }, - { 0x1B, 0xC1 }, - { 0x1C, 0x10 }, - - // D3DDevice_SetVertexShaderConstant+0x63 : jle +0x19 - { 0x63, 0x7E }, - { 0x64, 0x19 }, - - // D3DDevice_SetVertexShaderConstant+0x9B : retn 0x0C - { 0x9B, 0xC2 }, - { 0x9C, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetFlickerFilter -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 3911, 12) - - // D3DDevice_SetFlickerFilter+0x0A : mov edx, [ecx+0x2308] - { 0x0A, 0x8B }, - { 0x0B, 0x91 }, - { 0x0C, 0x08 }, - { 0x0D, 0x23 }, - - // D3DDevice_SetFlickerFilter+0x10 : push 0; push eax; push 0x0B; push edx - { 0x10, 0x6A }, - { 0x11, 0x00 }, - { 0x12, 0x50 }, - { 0x13, 0x6A }, - { 0x14, 0x0B }, - { 0x15, 0x52 }, - - // D3DDevice_SetFlickerFilter+0x1C : retn 0x08 - { 0x1C, 0xC2 }, - { 0x1D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSoftDisplayFilter -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 3911, 12) - - // D3DDevice_SetSoftDisplayFilter+0x0A : mov edx, [ecx+0x2308] - { 0x0A, 0x8B }, - { 0x0B, 0x91 }, - { 0x0C, 0x08 }, - { 0x0D, 0x23 }, - - // D3DDevice_SetSoftDisplayFilter+0x10 : push 0; push eax; push 0x0E; push edx - { 0x10, 0x6A }, - { 0x11, 0x00 }, - { 0x12, 0x50 }, - { 0x13, 0x6A }, - { 0x14, 0x0E }, - { 0x15, 0x52 }, - - // D3DDevice_SetSoftDisplayFilter+0x1C : retn 0x08 - { 0x1C, 0xC2 }, - { 0x1D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 3911, 13) - - // D3DDevice_SetTextureState_BorderColor+0x13 : shl eax, 0x07 - { 0x13, 0xC1 }, - { 0x14, 0xE2 }, - { 0x15, 0x06 }, - - // D3DDevice_SetTextureState_BorderColor+0x16 : add edx, 0x41B24 - { 0x16, 0x81 }, - { 0x17, 0xC2 }, - { 0x18, 0x24 }, - { 0x19, 0x1B }, - { 0x1A, 0x04 }, - - // D3DDevice_SetTextureState_BorderColor+0x2A : shl ecx, 7 - { 0x2A, 0xC1 }, - { 0x2B, 0xE1 }, - { 0x2C, 0x07 }, - - // D3DDevice_SetTextureState_BorderColor+0x34 : retn 0x08 - { 0x34, 0xC2 }, - { 0x35, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_PSTextureModes -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_PSTextureModes, 3911, 11) - - // D3DDevice_SetRenderState_PSTextureModes+0x0C : or edx, 0x400 - { 0x0C, 0x81 }, - { 0x0D, 0xCA }, - { 0x0E, 0x00 }, - { 0x0F, 0x04 }, - - // D3DDevice_SetRenderState_PSTextureModes+0x12 : mov [eax+0x420], ecx - { 0x12, 0x89 }, - { 0x13, 0x88 }, - { 0x14, 0x20 }, - { 0x15, 0x04 }, - { 0x16, 0x00 }, - - // D3DDevice_SetRenderState_PSTextureModes+0x21 : retn 4 - { 0x21, 0xC2 }, - { 0x22, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 3911, 12) - - // D3DDevice_SetRenderState_StencilFail+0x19 : mov ecx, 2 - { 0x19, 0xB9 }, - { 0x1A, 0x02 }, - { 0x1B, 0x00 }, - - // D3DDevice_SetRenderState_StencilFail+0x3E : or ecx, 1 - { 0x3E, 0x83 }, - { 0x3F, 0xC9 }, - { 0x40, 0x01 }, - - // D3DDevice_SetRenderState_StencilFail+0x48 : mov dword ptr [eax], 0x00041D84 - { 0x48, 0xC7 }, - { 0x49, 0x00 }, - { 0x4A, 0x84 }, - { 0x4B, 0x1D }, - { 0x4C, 0x04 }, - { 0x4D, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Simple -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_Simple, 3911, 13) - - // D3DDevice_SetRenderState_Simple+0x05 : add eax, 0x08 - { 0x05, 0x83 }, - { 0x06, 0xC0 }, - { 0x07, 0x08 }, - - // D3DDevice_SetRenderState_Simple+0x0E : jnb +0x0C - { 0x0E, 0x73 }, - { 0x0F, 0x0C }, - - // D3DDevice_SetRenderState_Simple+0x15 : mov [eax-8], ecx - { 0x15, 0x89 }, - { 0x16, 0x48 }, - { 0x17, 0xF8 }, - - // D3DDevice_SetRenderState_Simple+0x18 : mov [eax-4], ecx - { 0x18, 0x89 }, - { 0x19, 0x50 }, - { 0x1A, 0xFC }, - - // D3DDevice_SetRenderState_Simple+0x2B : jmp +0xD3 - { 0x2B, 0xEB }, - { 0x2C, 0xD3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTransform, 3911, 14) - - // D3DDevice_SetTransform+0x00 : mov eax, [esp+arg_0] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetTransform+0x3A : fld dword ptr [edx+0x28] - { 0x3A, 0xD9 }, - { 0x3B, 0x42 }, - { 0x3C, 0x28 }, - - // D3DDevice_SetTransform+0x47 : test ah, 0x44 - { 0x47, 0xF6 }, - { 0x48, 0xC4 }, - { 0x49, 0x44 }, - - // D3DDevice_SetTransform+0x55 : fnstsw ax - { 0x55, 0xDF }, - { 0x56, 0xE0 }, - - // D3DDevice_SetTransform+0x7A : fdivp st(1), st - { 0x7A, 0xDE }, - { 0x7B, 0xF9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_MultiplyTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_MultiplyTransform, 3911, 10) - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xE4 }, - { 0x12, 0x56 }, - { 0x13, 0x8B }, - { 0x14, 0x75 }, - { 0x15, 0x0C }, - { 0x16, 0x57 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FogColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 3911, 11) - - // D3DDevice_SetRenderState_FogColor+0x2E : mov dword ptr [eax], 0x402A8 - { 0x2E, 0xC7 }, - { 0x2F, 0x00 }, - { 0x30, 0xA8 }, - { 0x31, 0x02 }, - { 0x32, 0x04 }, - { 0x33, 0x00 }, - - // D3DDevice_SetRenderState_FogColor+0x37 : add eax, 0x08 - { 0x37, 0x83 }, - { 0x38, 0xC0 }, - { 0x39, 0x08 }, - - // D3DDevice_SetRenderState_FogColor+0x44 : retn 0x04 - { 0x44, 0xC2 }, - { 0x45, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FillMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 3911, 12) - - // D3DDevice_SetRenderState_FillMode+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetRenderState_FillMode+0x23 : mov dword ptr [eax], 0x8038C - { 0x23, 0xC7 }, - { 0x24, 0x00 }, - { 0x25, 0x8C }, - { 0x26, 0x03 }, - { 0x27, 0x08 }, - { 0x28, 0x00 }, - - // D3DDevice_SetRenderState_FillMode+0x2F : add eax, 0x0C - { 0x2F, 0x83 }, - { 0x30, 0xC0 }, - { 0x31, 0x0C }, - - // D3DDevice_SetRenderState_FillMode+0x3B : retn 0x04 - { 0x3B, 0xC2 }, - { 0x3C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 3911, 11) - - // D3DDevice_SetRenderState_StencilEnable+0x45 : mov dword ptr [eax], 0x41D84 - { 0x45, 0xC7 }, - { 0x46, 0x00 }, - { 0x47, 0x84 }, - { 0x48, 0x1D }, - { 0x49, 0x04 }, - { 0x4A, 0x00 }, - - // D3DDevice_SetRenderState_StencilEnable+0x71 : add eax, 0x08 - { 0x71, 0x83 }, - { 0x72, 0xC0 }, - { 0x73, 0x08 }, - - // D3DDevice_SetRenderState_StencilEnable+0x7D : retn 0x04 - { 0x7D, 0xC2 }, - { 0x7E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Dxt1NoiseEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 3911, 11) - - // D3DDevice_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [esi+0x040C] - { 0x0C, 0x8B }, - { 0x0D, 0x86 }, - { 0x0E, 0x0C }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - - // D3DDevice_SetRenderState_Dxt1NoiseEnable+0x22 : cmp dl, 0x20 - { 0x22, 0x80 }, - { 0x23, 0xFA }, - { 0x24, 0x20 }, - - // D3DDevice_SetRenderState_Dxt1NoiseEnable+0x74 : retn 0x04 - { 0x74, 0xC2 }, - { 0x75, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZBias -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZBias, 3911, 10) - - // D3DDevice_SetRenderState_ZBias+0x0B : setnz al - { 0x0B, 0x0F }, - { 0x0C, 0x95 }, - { 0x0D, 0xC0 }, - - // D3DDevice_SetRenderState_ZBias+0x14 : fild [esp+0x10] - { 0x14, 0xDB }, - { 0x15, 0x44 }, - { 0x16, 0x24 }, - - // D3DDevice_SetRenderState_ZBias+0x45 : push 0x4E - { 0x45, 0x6A }, - { 0x46, 0x4E }, - - // D3DDevice_SetRenderState_ZBias+0x45 : retn 0x04 - { 0x71, 0xC2 }, - { 0x72, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 3911, 13) - - // D3DDevice_SetRenderState_ZEnable+0x13 : jz +0x11 - { 0x13, 0x74 }, - { 0x14, 0x11 }, - - // D3DDevice_SetRenderState_ZEnable+0x15 : mov edx, [esi+0x0410] - { 0x15, 0x8B }, - { 0x16, 0x96 }, - { 0x17, 0x10 }, - { 0x18, 0x04 }, - - // D3DDevice_SetRenderState_ZEnable+0x28 : mov dword ptr [eax], 0x4030 - { 0x28, 0xC7 }, - { 0x29, 0x00 }, - { 0x2A, 0x0C }, - { 0x2B, 0x03 }, - { 0x2C, 0x04 }, - - // D3DDevice_SetRenderState_ZEnable+0x69 : retn 0x04 - { 0x69, 0xC2 }, - { 0x6A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Present -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Present, 3911, 10) - - // D3DDevice_Present+0x0A : push 2 - { 0x0A, 0x6A }, - { 0x0B, 0x02 }, - - // D3DDevice_Present+0x11 : mov eax, [esi+2518] - { 0x11, 0x8B }, - { 0x12, 0x86 }, - { 0x13, 0x18 }, - { 0x14, 0x25 }, - - // D3DDevice_Present+0xBE : shr ebx, 1 - { 0xBE, 0xD1 }, - { 0xBF, 0xEB }, - - // D3DDevice_Present+0xC0 : xor edi, edi - { 0xC0, 0x33 }, - { 0xC1, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 3911, 12) - - // D3DDevice_SetShaderConstantMode+0x26 : mov [ebp+0x2140], eax - { 0x26, 0x89 }, - { 0x27, 0x85 }, - { 0x28, 0x40 }, - { 0x29, 0x21 }, - - // D3DDevice_SetShaderConstantMode+0x51 : mov dword ptr [ebx+0x04], 0x3C - { 0x51, 0xC7 }, - { 0x52, 0x43 }, - { 0x53, 0x04 }, - { 0x54, 0x3C }, - - // D3DDevice_SetShaderConstantMode+0xE4 : add ebx, 0x0124 - { 0xE4, 0x81 }, - { 0xE5, 0xC3 }, - { 0xE6, 0x24 }, - { 0xE7, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 3911, 12) - - // D3DDevice_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF - { 0x04, 0x83 }, - { 0x05, 0xF8 }, - { 0x06, 0xFF }, - - // D3DDevice_GetBackBuffer+0x0D : jnz +0x07 - { 0x0D, 0x75 }, - { 0x0E, 0x07 }, - - // D3DDevice_GetBackBuffer+0x1E : lea eax, [ecx+eax*8+0x2150] - { 0x1E, 0x8D }, - { 0x1F, 0x84 }, - { 0x20, 0xC1 }, - { 0x21, 0x50 }, - { 0x22, 0x21 }, - - // D3DDevice_GetBackBuffer+0x31 : retn 0x0C - { 0x31, 0xC2 }, - { 0x32, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_GetRenderTarget, 3911, 1+19, - - XRefNoSaveIndex, - XRefOne) -#else -OOVPA_XREF(D3DDevice_GetRenderTarget, 3911, 2+19, - - XRefNoSaveIndex, - XRefTwo) - - XREF_ENTRY( 0x07, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - XREF_ENTRY( 0x17, XREF_D3DResource_AddRef ), - - // D3DDevice_GetRenderTarget+0x00 : mov eax, {ds:addr} - { 0x00, 0xA1 }, - - // D3DDevice_GetRenderTarget+0x05 : mov eax, [eax + 0x040C] - { 0x05, 0x8B }, - { 0x06, 0x80 }, - // { 0x07, 0x0C }, // disabled. part of an offset - // { 0x08, 0x04 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - - // D3DDevice_GetRenderTarget+0x0b : test eax, eax - { 0x0B, 0x85 }, - { 0x0C, 0xC0 }, - - // D3DDevice_GetRenderTarget+0x0d : mov ecx, [esp+4] - { 0x0D, 0x8B }, - { 0x0E, 0x4C }, - { 0x0F, 0x24 }, - { 0x10, 0x04 }, - - // D3DDevice_GetRenderTarget+0x11 : mov [ecx], eax - { 0x11, 0x89 }, - { 0x12, 0x01 }, - - // D3DDevice_GetRenderTarget+0x13 : jz +0x06 - { 0x13, 0x74 }, - { 0x14, 0x06 }, - - // D3DDevice_GetRenderTarget+0x15 : push eax - { 0x15, 0x50 }, - - // D3DDevice_GetRenderTarget+0x16 : call {addr} - { 0x16, 0xE8 }, - - // D3DDevice_GetRenderTarget+0x1D : retn 0x04 - { 0x1D, 0xC2 }, - { 0x1E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer, 3911, 13) - - // D3DDevice_CreateVertexBuffer+0x03 : push 0x40 - { 0x03, 0x6A }, - { 0x04, 0x40 }, - - // D3DDevice_CreateVertexBuffer+0x10 : mov eax, [esp+8] - { 0x10, 0x8B }, - { 0x11, 0x44 }, - { 0x12, 0x24 }, - { 0x13, 0x08 }, - - // D3DDevice_CreateVertexBuffer+0x48 : mov dword ptr [esi], 0x01000001 - { 0x48, 0xC7 }, - { 0x49, 0x06 }, - { 0x4A, 0x01 }, - { 0x4B, 0x00 }, - { 0x4D, 0x01 }, - - // D3DDevice_CreateVertexBuffer+0x53 : retn 0x14 - { 0x53, 0xC2 }, - { 0x54, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DVertexBuffer_Lock -// ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_Lock, 3911, 11) - - // D3DVertexBuffer_Lock+0x01 : mov bl, [esp+0x18] - { 0x01, 0x8A }, - { 0x02, 0x5C }, - { 0x03, 0x24 }, - { 0x04, 0x18 }, - - // D3DVertexBuffer_Lock+0x09 : jnz +0x24 - { 0x09, 0x75 }, - { 0x0A, 0x1E }, - - // D3DVertexBuffer_Lock+0x29 : test bl, 0xA0 - { 0x29, 0xF6 }, - { 0x2A, 0xC3 }, - { 0x2B, 0xA0 }, - - // D3DVertexBuffer_Lock+0x4A : retn 0x14 - { 0x4A, 0xC2 }, - { 0x4B, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_Register -// ****************************************************************** -OOVPA_NO_XREF(D3DResource_Register, 3911, 19) - - // D3DResource_Register+0x00 : mov ecx, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x03, 0x04 }, - - // D3DResource_Register+0x04 : mov edx, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x54 }, - { 0x07, 0x08 }, - - // D3DResource_Register+0x08 : mov eax, [ecx+0x04] - { 0x08, 0x8B }, - { 0x09, 0x41 }, - { 0x0A, 0x04 }, - - // D3DResource_Register+0x0F : and edx, 0x00070000 - { 0x0F, 0x81 }, - { 0x10, 0xE2 }, - { 0x13, 0x07 }, - - // D3DResource_Register+0x15 : cmp edx, 0x00020000 - { 0x15, 0x81 }, - { 0x16, 0xFA }, - { 0x19, 0x02 }, - - // D3DResource_Register+0x1B : jnz +0x05 - { 0x1B, 0x74 }, - { 0x1C, 0x05 }, - - // D3DResource_Register+0x25 : retn 0x08 - { 0x25, 0xC2 }, - { 0x26, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_Release -// ****************************************************************** -OOVPA_NO_XREF(D3DResource_Release, 3911, 11) -#define D3DResource_Release_4627 D3DResource_Release_3911 - - // D3DResource_Release+0x09 : and ecx, 0xFFFF - { 0x09, 0x81 }, - { 0x0A, 0xE1 }, - { 0x0B, 0xFF }, - { 0x0C, 0xFF }, - - // D3DResource_Release+0x14 : and eax, 0x00070000 - { 0x14, 0x25 }, - { 0x17, 0x07 }, - - // D3DResource_Release+0x19 : cmp eax, 0x00050000 - { 0x19, 0x3D }, - { 0x1C, 0x05 }, - - // D3DResource_Release+0x3E : pop esi - { 0x3E, 0x5E }, - - // D3DResource_Release+0x4B : retn 0x04 - { 0x4B, 0xC2 }, - { 0x4C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_AddRef -// ****************************************************************** -OOVPA_XREF(D3DResource_AddRef, 3911, 10, - - XREF_D3DResource_AddRef, - XRefZero) - - // D3DResource_AddRef+0x07 : test eax, 0xFFFF - { 0x07, 0xA9 }, - { 0x08, 0xFF }, - { 0x09, 0xFF }, - - // D3DResource_AddRef+0x0E : and eax, 0x00070000 - { 0x0E, 0x25 }, - { 0x11, 0x07 }, - - // D3DResource_AddRef+0x13 : cmp eax, 0x00050000 - { 0x13, 0x3D }, - { 0x16, 0x05 }, - - // D3DResource_AddRef+0x33 : pop esi - { 0x33, 0x5E }, - - // D3DResource_AddRef+0x34 : retn 0x04 - { 0x34, 0xC2 }, - { 0x35, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_IsBusy -// ****************************************************************** -OOVPA_NO_XREF(D3DResource_IsBusy, 3911, 11) - - // D3DResource_IsBusy+0x24 : test eax, 0x780000 - { 0x24, 0xA9 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x27, 0x78 }, - - // D3DResource_IsBusy+0x35 : jnz +0x44 - { 0x35, 0x75 }, - { 0x36, 0x44 }, - - // D3DResource_IsBusy+0x4E : mov eax, [ecx+0x14] - { 0x4E, 0x8B }, - { 0x4F, 0x41 }, - { 0x50, 0x14 }, - - // D3DResource_IsBusy+0x79 : jnb +0x09 - { 0x79, 0x73 }, - { 0x7A, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DSurface_LockRect -// ****************************************************************** -OOVPA_NO_XREF(D3DSurface_LockRect, 3911, 16) - - // D3DSurface_LockRect+0x00 : mov eax, [esp+0x10] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x10 }, - - // D3DSurface_LockRect+0x04 : mov ecx, [esp+0x0C] - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // D3DSurface_LockRect+0x0C : push eax - { 0x0C, 0x50 }, - - // D3DSurface_LockRect+0x11 : push ecx; push edx; push 0; push 0 - { 0x11, 0x51 }, - { 0x12, 0x52 }, - { 0x13, 0x6A }, - { 0x15, 0x6A }, - - // D3DSurface_LockRect+0x18 : call [abs] - { 0x18, 0xE8 }, - - // D3DSurface_LockRect+0x11 : retn 0x10 - { 0x1D, 0xC2 }, - { 0x1E, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DPalette_Lock -// ****************************************************************** -OOVPA_NO_XREF(D3DPalette_Lock, 3911, 13) - - // D3DPalette_Lock+0x00 : test [esp+0x0C], 0xA0 - { 0x00, 0xF6 }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x0C }, - { 0x04, 0xA0 }, - - // D3DPalette_Lock+0x0A : jnz +0x06 - { 0x0A, 0x75 }, - { 0x0B, 0x06 }, - - // D3DPalette_Lock+0x18 : mov ecx, [esp+0x0C] - { 0x18, 0x8B }, - { 0x19, 0x4C }, - { 0x1A, 0x24 }, - { 0x1B, 0x0C }, - - // D3DPalette_Lock+0x1C : mov [ecx], eax - { 0x1C, 0x89 }, - { 0x1D, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_LockRect -// ****************************************************************** -OOVPA_NO_XREF(D3DTexture_LockRect, 3911, 17) - - // D3DTexture_LockRect+0x00 : mov eax, [esp+0x14] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x14 }, - - // D3DTexture_LockRect+0x04 : mov ecx, [esp+0x10] - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x10 }, - - // D3DTexture_LockRect+0x0C : push eax, push ecx, push edx, push eax, push 0 - { 0x0C, 0x50 }, - { 0x11, 0x51 }, - { 0x16, 0x52 }, - { 0x17, 0x50 }, - { 0x18, 0x6A }, - { 0x19, 0x00 }, - - // D3DTexture_LockRect+0x1B : call [addr] - { 0x1B, 0xE8 }, - - // D3DTexture_LockRect+0x20 : retn 0x14 - { 0x20, 0xC2 }, - { 0x21, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DVolumeTexture_LockBox -// ****************************************************************** -OOVPA_XREF(D3DVolumeTexture_LockBox, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_Lock3DSurface ), - - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DCubeTexture_LockRect -// ****************************************************************** -OOVPA_XREF(D3DCubeTexture_LockRect, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_Lock2DSurface ), - - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetSurfaceLevel -// ****************************************************************** -OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel, 3911, 11) - - // D3DTexture_GetSurfaceLevel+0x08 : lea [esp+0x14] - { 0x08, 0x8D }, - { 0x0B, 0x14 }, - - // D3DTexture_GetSurfaceLevel+0x17 : mov edx, [esp+0x24] - { 0x17, 0x8B }, - { 0x1A, 0x24 }, - - // D3DTexture_GetSurfaceLevel+0x20 : lea ecx, [esp+0x28] - { 0x23, 0x28 }, - - // D3DTexture_GetSurfaceLevel+0x24 : push ecx - { 0x24, 0x51 }, - - // D3DTexture_GetSurfaceLevel+0x25 : push edx - { 0x25, 0x52 }, - - // D3DTexture_GetSurfaceLevel+0x26 : push 0 - { 0x26, 0x6A }, - - // D3DTexture_GetSurfaceLevel+0x43 : call [abs] - { 0x43, 0xE8 }, - - // D3DTexture_GetSurfaceLevel+0x4C : retn 0x0C - { 0x4C, 0xC2 }, - { 0x4D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * Lock2DSurface -// ****************************************************************** -OOVPA_XREF(Lock2DSurface, 3911, 11, - - XREF_Lock2DSurface, - XRefZero) - - { 0x06, 0xF6 }, - { 0x07, 0xC3 }, - { 0x08, 0x20 }, - - { 0x3F, 0xF6 }, - { 0x40, 0xC3 }, - { 0x41, 0x40 }, - - { 0x71, 0xC1 }, - { 0x72, 0xEA }, - { 0x73, 0x03 }, - - { 0x98, 0xC2 }, - { 0x99, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * Get2DSurfaceDesc -// ****************************************************************** -OOVPA_NO_XREF(Get2DSurfaceDesc, 3911, 10) - - // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] - { 0x2B, 0x0F }, - { 0x2C, 0xB6 }, - { 0x2D, 0x57 }, - { 0x2E, 0x0D }, - - // Get2DSurfaceDesc+0x56 : cmp eax, [edx+0x2154] - { 0x56, 0x3B }, - { 0x57, 0x82 }, - { 0x58, 0x54 }, - { 0x59, 0x21 }, - - // Get2DSurfaceDesc+0xAE : retn 0x0C - { 0xAE, 0xC2 }, - { 0xAF, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderSize -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderSize, 3911, 12) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - - { 0x08, 0x8B }, - { 0x09, 0x4C }, - { 0x0A, 0x24 }, - { 0x0B, 0x04 }, - - { 0x0C, 0x8B }, - { 0x0D, 0x51 }, -// { 0x0E, 0x07 }, 0F vs 07 - - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -/* - { 0x01, 0x44 }, - { 0x04, 0x85 }, - { 0x07, 0x09 }, - { 0x0A, 0x24 }, - { 0x0D, 0x51 }, - { 0x10, 0x10 }, - { 0x13, 0x00 },*/ -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetGammaRamp -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 3911, 9) - - // D3DDevice_SetGammaRamp+0x11 : and eax, 1; push ebx - { 0x11, 0x83 }, - { 0x12, 0xE0 }, - { 0x13, 0x01 }, - { 0x14, 0x53 }, - - // D3DDevice_SetGammaRamp+0x2F : rep movsd - { 0x2F, 0xF3 }, - { 0x30, 0xA5 }, - - // D3DDevice_SetGammaRamp+0x3E : push ebx; mov ecx, edx - { 0x3E, 0x53 }, - { 0x3F, 0x8B }, - { 0x40, 0xCA }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetMaterial, 3911, 11) - - // D3DDevice_SetMaterial+0x0B : lea edi, [eax+0xB18] - { 0x0B, 0x8D }, - { 0x0C, 0xB8 }, - { 0x0D, 0x18 }, - { 0x0E, 0x0B }, - - // D3DDevice_SetMaterial+0x11 : mov ecx, 0x11 - { 0x11, 0xB9 }, - { 0x12, 0x11 }, - - // D3DDevice_SetMaterial+0x1C : or ecx, 0x20 - { 0x1B, 0x83 }, - { 0x1C, 0xC9 }, - { 0x1D, 0x20 }, - - // D3DDevice_SetMaterial+0x23 : retn 0x04 - { 0x23, 0xC2 }, - { 0x24, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 3911, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0408] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x08 }, - { 0x08, 0x04 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x05 : mov [eax+0x0408], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0x08 }, - { 0x0F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetViewport -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetViewport, 3911, 16) - - { 0x00, 0xA1 }, - { 0x0C, 0xB0 }, - - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0xB9 }, - { 0x12, 0x06 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0xF3 }, - { 0x17, 0xA5 }, - { 0x18, 0x5F }, - { 0x19, 0x5E }, - { 0x1A, 0xC2 }, - { 0x1B, 0x04 }, - { 0x1C, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDisplayFieldStatus -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 3911, 12) - - { 0x00, 0xA1 }, - - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x4C }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x51 }, - { 0x11, 0x04 }, - { 0x12, 0xF7 }, - - { 0x1C, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleAntiAlias -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 3911, 7) - - { 0x0B, 0x8B }, - { 0x1D, 0x8B }, - { 0x26, 0x8B }, - { 0x2C, 0x8B }, - { 0x38, 0x0B }, - { 0x40, 0x89 }, - { 0x49, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_VertexBlend -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 3911, 13) - - // D3DDevice_SetRenderState_VertexBlend+0x0A : or ecx, 2 - { 0x0A, 0x83 }, - { 0x0B, 0xC9 }, - { 0x0C, 0x02 }, - - // D3DDevice_SetRenderState_VertexBlend+0x1A : mov dword ptr [eax], 0x40328 - { 0x1A, 0xC7 }, - { 0x1B, 0x00 }, - { 0x1C, 0x28 }, - { 0x1D, 0x03 }, - { 0x1E, 0x04 }, - - // D3DDevice_SetRenderState_VertexBlend+0x23 : add eax, 8 - { 0x23, 0x83 }, - { 0x24, 0xC0 }, - { 0x25, 0x08 }, - - // D3DDevice_SetRenderState_VertexBlend+0x2F : retn 0x04 - { 0x2F, 0xC2 }, - { 0x30, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_BackFillMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 3911, 12) - - // D3DDevice_SetRenderState_BackFillMode+0x2B : jnz +0x2 - { 0x2B, 0x75 }, - { 0x2C, 0x02 }, - - // D3DDevice_SetRenderState_BackFillMode+0x32 : mov dword ptr [eax], abs - { 0x32, 0xC7 }, - { 0x33, 0x00 }, - - // D3DDevice_SetRenderState_BackFillMode+0x3B : add eax, 0x0C; mov [edi], eax; pop edi - { 0x3B, 0x83 }, - { 0x3C, 0xC0 }, - { 0x3D, 0x0C }, - { 0x3E, 0x89 }, - { 0x3F, 0x07 }, - { 0x40, 0x5F }, - - // D3DDevice_SetRenderState_BackFillMode+0x48 : retn 0x04 - { 0x48, 0xC2 }, - { 0x49, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TwoSidedLighting -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 3911, 13) - - // D3DDevice_SetRenderState_TwoSidedLighting+0x06 : or dword ptr [eax+8], 0x20 - { 0x06, 0x83 }, - { 0x07, 0x48 }, - { 0x08, 0x08 }, - { 0x09, 0x20 }, - - // D3DDevice_SetRenderState_TwoSidedLighting+0x3B : mov dword ptr [eax], 0x8038C - { 0x3B, 0xC7 }, - { 0x3C, 0x00 }, - { 0x3D, 0x8C }, - { 0x3E, 0x03 }, - - // D3DDevice_SetRenderState_TwoSidedLighting+0x44 : add eax, 0x0C - { 0x44, 0x83 }, - { 0x45, 0xC0 }, - { 0x46, 0x0C }, - - // D3DDevice_SetRenderState_TwoSidedLighting+0x51 : retn 0x04 - { 0x51, 0xC2 }, - { 0x52, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_NormalizeNormals -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 3911, 8) - - // D3DDevice_SetRenderState_NormalizeNormals+0x1D : mov [esi], eax - { 0x1D, 0x89 }, - { 0x1E, 0x06 }, - - // D3DDevice_SetRenderState_NormalizeNormals+0x1F : or dword ptr [esi+8], 2 - { 0x1F, 0x83 }, - { 0x20, 0x4E }, - { 0x21, 0x08 }, - { 0x22, 0x02 }, - - // D3DDevice_SetRenderState_NormalizeNormals+0x2A : retn 0x04 - { 0x2A, 0xC2 }, - { 0x2B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FrontFace -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 3911, 9) - - // D3DDevice_SetRenderState_FrontFace+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetRenderState_FrontFace+0x07 : push esi - { 0x07, 0x56 }, - - // D3DDevice_SetRenderState_FrontFace+0xD : mov ecx, [esp+0x08] - { 0x0D, 0x8B }, - { 0x0E, 0x4C }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // D3DDevice_SetRenderState_FrontFace+0x1A : add eax, 8 - { 0x1A, 0x83 }, - { 0x1B, 0xC0 }, - { 0x1C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TextureFactor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 3911, 10) - - // D3DDevice_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0414] - { 0x07, 0x8B }, - { 0x08, 0x86 }, - { 0x09, 0x14 }, - { 0x0A, 0x04 }, - - // D3DDevice_SetRenderState_TextureFactor+0x2E : rep stosd - { 0x2E, 0xF3 }, - { 0x2F, 0xAB }, - - // D3DDevice_SetRenderState_TextureFactor+0x3C : retn 0x04 - { 0x3C, 0xC2 }, - { 0x3D, 0x04 }, - - // D3DDevice_SetRenderState_TextureFactor+0x49 : retn 0x04 - { 0x49, 0xC2 }, - { 0x4A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LogicOp -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 3911, 10) - - // D3DDevice_SetRenderState_LogicOp+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetRenderState_LogicOp+0x11 : test ecx, ecx - { 0x11, 0x85 }, - { 0x12, 0xC9 }, - - // D3DDevice_SetRenderState_LogicOp+0x2D : mov dword ptr [eax], 0x817BC - { 0x2D, 0xC7 }, - { 0x2E, 0x00 }, - { 0x2F, 0xBC }, - { 0x30, 0x17 }, - { 0x31, 0x08 }, - - // D3DDevice_SetRenderState_LogicOp+0x49 : retn 0x04 - { 0x49, 0xC2 }, - { 0x4A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_EdgeAntiAlias -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 3911, 12) - - // D3DDevice_SetRenderState_EdgeAntiAlias+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetRenderState_EdgeAntiAlias+0x17 : mov [eax+0x04], ecx - { 0x17, 0x89 }, - { 0x18, 0x48 }, - { 0x19, 0x04 }, - - // D3DDevice_SetRenderState_EdgeAntiAlias+0x1A : mov [eax+0x08], ecx - { 0x1A, 0x89 }, - { 0x1B, 0x48 }, - { 0x1C, 0x08 }, - - // D3DDevice_SetRenderState_EdgeAntiAlias+0x1D : add eax, 0x0C - { 0x1D, 0x83 }, - { 0x1E, 0xC0 }, - { 0x1F, 0x0C }, - - // D3DDevice_SetRenderState_EdgeAntiAlias+0x29 : retn 0x04 - { 0x29, 0xC2 }, - { 0x2A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 3911, 13) - - // D3DDevice_SetRenderState_MultiSampleMask+0x0B : mov ecx, esi - { 0x0B, 0x8B }, - { 0x0C, 0xCE }, - - // D3DDevice_SetRenderState_MultiSampleMask+0x32 : and ecx, 0x0F; shl edx, 0x10 - { 0x32, 0x83 }, - { 0x33, 0xE1 }, - { 0x34, 0x0F }, - { 0x35, 0xC1 }, - - // D3DDevice_SetRenderState_MultiSampleMask+0x3A : mov dword ptr [eax], 0x41D7C - { 0x3A, 0xC7 }, - { 0x3B, 0x00 }, - { 0x3C, 0x7C }, - { 0x3D, 0x1D }, - { 0x3E, 0x04 }, - - // D3DDevice_SetRenderState_MultiSampleMask+0x49 : retn 0x04 - { 0x49, 0xC2 }, - { 0x4A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 3911, 14) - - // D3DDevice_PersistDisplay+0x25 : mov eax, [ebx+0x408] - { 0x25, 0x8B }, - { 0x26, 0x83 }, - { 0x27, 0x08 }, - { 0x28, 0x04 }, - { 0x29, 0x00 }, - { 0x2A, 0x00 }, - - // D3DDevice_PersistDisplay+0x3A : lea edi, [ebx+0x2308] - { 0x3a, 0x8D }, - { 0x3B, 0xBB }, - { 0x3C, 0x08 }, - { 0x3D, 0x23 }, - { 0x3E, 0x00 }, - { 0x3F, 0x00 }, - - // D3DDevice_PersistDisplay+0x70 : shl edx, cl - { 0x70, 0xD3 }, - { 0x71, 0xE2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ShadowFunc -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 3911, 14) - - // D3DDevice_SetRenderState_ShadowFunc+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetRenderState_ShadowFunc+0x11 : mov dword ptr [eax], 0x41E6C - { 0x11, 0xC7 }, - { 0x12, 0x00 }, - { 0x13, 0x6C }, - { 0x14, 0x1E }, - { 0x15, 0x04 }, - { 0x16, 0x00 }, - - // D3DDevice_SetRenderState_ShadowFunc+0x17 : lea edx, [ecx-0x0200] - { 0x17, 0x8D }, - { 0x18, 0x91 }, - { 0x19, 0x00 }, - { 0x1A, 0xFE }, - - // D3DDevice_SetRenderState_ShadowFunc+0x20 : add eax, 0x08 - { 0x20, 0x83 }, - { 0x21, 0xC0 }, - { 0x22, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LineWidth -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 3911, 10) - - // D3DDevice_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x508] - { 0x15, 0xD8 }, - { 0x16, 0x8E }, - { 0x17, 0x08 }, - { 0x18, 0x05 }, - - // D3DDevice_SetRenderState_LineWidth+0x32 : cmp edi, 0x1FF - { 0x32, 0x81 }, - { 0x33, 0xFF }, - - // D3DDevice_SetRenderState_LineWidth+0x3A : mov edi, 0x1FF - { 0x3A, 0xBF }, - { 0x3B, 0xFF }, - - // D3DDevice_SetRenderState_LineWidth+0x5C : retn 0x04 - { 0x5C, 0xC2 }, - { 0x5D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_YuvEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_YuvEnable, 3911, 10) - - // D3DDevice_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetRenderState_YuvEnable+0x04 : push edi - { 0x04, 0x56 }, - - // D3DDevice_SetRenderState_YuvEnable+0x0B : push edi - { 0x0B, 0x56 }, - - // D3DDevice_SetRenderState_YuvEnable+0x1F : mov [esi], eax - { 0x1F, 0x89 }, - { 0x20, 0x06 }, - - // D3DDevice_SetRenderState_YuvEnable+0x22 : retn 0x04 - { 0x22, 0xC2 }, - { 0x23, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_OcclusionCullEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 3911, 13) - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x00 : mov eax, [esp+arg_0] - { 0x00, 0x8B }, - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x20 : jz +0x05 - { 0x20, 0x74 }, - { 0x21, 0x05 }, - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x3B : cmp [abs], 0x1E00 - { 0x3B, 0x81 }, - { 0x41, 0x00 }, - { 0x42, 0x1E }, - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x4A : mov dword ptr [eax], 0x41D84 - { 0x4A, 0xC7 }, - { 0x4B, 0x00 }, - { 0x4C, 0x84 }, - { 0x4D, 0x1D }, - { 0x4E, 0x04 }, - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x59 : retn 0x04 - { 0x59, 0xC2 }, - { 0x5A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilCullEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_StencilCullEnable, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0D, XREF_D3DRS_STENCILCULLENABLE ), // Derived - - { 0x0B, 0x56 }, - { 0x16, 0x8B }, - { 0x22, 0xB9 }, - { 0x2E, 0xD2 }, - { 0x3A, 0x0C }, - { 0x46, 0x03 }, - { 0x52, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 3911, 8) - - { 0x1F, 0x8B }, - { 0x3E, 0xC0 }, - { 0x5E, 0x03 }, - { 0x7E, 0x07 }, - { 0x9E, 0xF0 }, - { 0xBE, 0x40 }, - { 0xDE, 0x75 }, - { 0xFE, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 3911, 8) - - { 0x1F, 0x8B }, - { 0x3E, 0x8B }, - { 0x5E, 0xF0 }, - { 0x7E, 0x8B }, - { 0xA2, 0x8B }, - { 0xBE, 0x83 }, - { 0xDE, 0x75 }, - { 0xFE, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawVertices -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawVertices, 3911, 17) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x12, 0x8B }, - { 0x13, 0x7C }, - { 0x14, 0x24 }, - { 0x15, 0x18 }, - { 0x16, 0x8D }, - { 0x17, 0x77 }, - { 0x18, 0xFF }, - { 0x19, 0xC1 }, - { 0x1A, 0xEE }, - { 0x1B, 0x08 }, - { 0x1C, 0x46 }, - { 0x1D, 0x8D }, - { 0x1E, 0x46 }, - { 0x1F, 0x05 }, - { 0x20, 0x50 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDisplayMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 3911, 7) - - { 0x09, 0xB4 }, - { 0x14, 0x8B }, - { 0x1F, 0x10 }, - { 0x2A, 0x1B }, - { 0x35, 0x8B }, - { 0x41, 0x89 }, - { 0x4B, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BumpEnv -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 3911, 7) - - { 0x0E, 0x8B }, - { 0x16, 0x8B }, - { 0x22, 0x24 }, - { 0x2E, 0x24 }, - { 0x3A, 0x04 }, - { 0x46, 0x8B }, - { 0x52, 0xB5 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 3911, 7) - - { 0x07, 0x56 }, - { 0x0D, 0x8B }, - { 0x13, 0x8D }, - { 0x1A, 0x8B }, - { 0x21, 0x83 }, - { 0x28, 0x07 }, - { 0x2F, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4s -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 3911, 8) - - { 0x07, 0x56 }, - { 0x10, 0x08 }, - { 0x19, 0xBF }, - { 0x22, 0x24 }, - { 0x2B, 0x54 }, - { 0x34, 0x24 }, - { 0x3D, 0x08 }, - { 0x46, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_GetType -// ****************************************************************** -OOVPA_NO_XREF(D3DResource_GetType, 3911, 7) - - { 0x13, 0x2A }, - { 0x28, 0x00 }, - { 0x3D, 0x00 }, - { 0x52, 0x74 }, - { 0x67, 0x00 }, - { 0x7C, 0x04 }, - { 0x91, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_AllocContiguousMemory -// ****************************************************************** -OOVPA_NO_XREF(D3D_AllocContiguousMemory, 3911, 14) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x04 }, - { 0x08, 0x68 }, - { 0x09, 0x04 }, - { 0x0A, 0x04 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x50 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Deferred -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_Deferred, 3911, 9) - - // D3DDevice_SetRenderState_Deferred+0x00 : mov eax, ds:(g_DirtyFromRenderState)-148[ecx*4] - { 0x00, 0x8B }, - { 0x01, 0x04 }, - { 0x02, 0x8D }, - - // D3DDevice_SetRenderState_Deferred+0x07 : or dword ptr ds:g_Device+8,eax - { 0x07, 0x09 }, - { 0x08, 0x05 }, - - // D3DDevice_SetRenderState_Deferred+0x0D : mov dword ptr ds:D3D__RenderState[ecx*4], edx - { 0x0D, 0x89 }, - { 0x0E, 0x14 }, - { 0x0F, 0x8D }, - - // D3DDevice_SetRenderState_Deferred+0x14 : retn - { 0x14, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetLight -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetLight, 3911, 10) -// Based on Dxbx patterns for 3911, 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 - - // D3DDevice_GetLight+0x0B : mov esi, [ecx+XXXh] - { 0x0B, 0x8B }, - { 0x0C, 0xB1 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - - // D3DDevice_GetLight+0x12 : mov edi, [esp+8+arg_4] - { 0x12, 0x8B }, - { 0x13, 0x7C }, - { 0x14, 0x24 }, - { 0x15, 0x10 }, - - // D3DDevice_GetLight+0x1F : mov ecx, 1Ah - { 0x1E, 0xB9 }, - { 0x1F, 0x1A }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetLight -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetLight, 3911, 15, - - XREF_D3DDevice_SetLight, - XRefZero) - - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x3B }, - { 0x18, 0xDF }, - { 0x19, 0x89 }, - { 0x1A, 0x7C }, - { 0x1B, 0x24 }, - { 0x1C, 0x14 }, - { 0x1D, 0x0F }, - { 0x1E, 0x82 }, - { 0x1F, 0xBF }, - - { 0x3B, 0x8B }, - { 0x3C, 0xD8 }, - - { 0x62, 0x8B }, - { 0x63, 0xF3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetProjectionViewportMatrix -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 3911, 7) - - { 0x02, 0x35 }, - { 0x07, 0x57 }, - { 0x0A, 0x24 }, - { 0x0E, 0xA0 }, - { 0x12, 0xB9 }, - { 0x16, 0x00 }, - { 0x1A, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTile -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetTile, 3911, 16) - - { 0x00, 0x8B }, - - { 0x0A, 0x56 }, - { 0x0B, 0x57 }, - { 0x0C, 0x8B }, - { 0x0D, 0x7C }, - { 0x0E, 0x24 }, - { 0x0F, 0x10 }, - { 0x10, 0x8D }, - { 0x11, 0x04 }, - { 0x12, 0x40 }, - { 0x13, 0x8D }, - { 0x14, 0xB4 }, - { 0x15, 0xC1 }, - - { 0x1F, 0xF3 }, - { 0x23, 0xC2 }, - { 0x24, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_ApplyStateBlock -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 3911, 8) - - { 0x1D, 0x83 }, - { 0x40, 0x83 }, - { 0x5B, 0x16 }, - { 0x7A, 0x01 }, - { 0x99, 0x46 }, - { 0xB8, 0x06 }, - { 0xD7, 0x39 }, - { 0xF6, 0x51 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CaptureStateBlock -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 3911, 7) - - { 0x1E, 0x76 }, - { 0x3E, 0xE8 }, - { 0x5E, 0x06 }, - { 0x7E, 0x26 }, - { 0x9E, 0xFF }, - { 0xBE, 0x04 }, - { 0xDE, 0xF8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeleteStateBlock -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 3911, 7) - - { 0x11, 0x76 }, - { 0x24, 0x3B }, - { 0x37, 0xE8 }, - { 0x4A, 0x50 }, - { 0x5D, 0x74 }, - { 0x70, 0x06 }, - { 0x83, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 3911, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - { 0x0D, 0x5C }, - { 0x0E, 0x0B }, - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateStateBlock -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateStateBlock, 3911, 8) - - { 0x1E, 0x8B }, - { 0x3E, 0x89 }, - { 0x5E, 0x24 }, - { 0x7E, 0xF8 }, - { 0x9F, 0x01 }, - { 0xBE, 0xB6 }, - { 0xDE, 0xF8 }, - { 0xFE, 0x76 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeletePixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DeletePixelShader, 3911, 7) - - { 0x02, 0x24 }, - { 0x06, 0x75 }, - { 0x0A, 0x04 }, - { 0x0E, 0x09 }, - { 0x12, 0x04 }, - { 0x18, 0xC2 }, - { 0x1A, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShaderProgram -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 3911, 19) - - { 0x00, 0x8B }, - { 0x01, 0x54 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x85 }, - { 0x05, 0xD2 }, - { 0x06, 0xA1 }, - - { 0x11, 0x00 }, - { 0x12, 0x00 }, - { 0x13, 0xC7 }, - { 0x14, 0x01 }, - { 0x15, 0x01 }, - { 0x16, 0x00 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0xC7 }, - { 0x1A, 0x80 }, - - { 0x29, 0x89 }, - { 0x3A, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_KickOffAndWaitForIdle -// ****************************************************************** -// * This is for the real D3D::KickOffAndWaitForIdle -// ****************************************************************** -OOVPA_XREF(D3D_KickOffAndWaitForIdle, 3911, 5, - - XREF_D3D_KickOffAndWaitForIdle, - XRefZero) - - { 0x05, 0x8B }, - { 0x06, 0x48 }, - { 0x07, 0x1C }, - { 0x0A, 0x51 }, - { 0x10, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetModelView -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetModelView, 3911, 7) - - { 0x12, 0x08 }, - { 0x26, 0x53 }, - { 0x3A, 0x8B }, - { 0x4E, 0x80 }, - { 0x62, 0x00 }, - { 0x76, 0x00 }, - { 0x8A, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_FlushVertexCache -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_FlushVertexCache, 3911, 8) - - { 0x00, 0x56 }, - { 0x07, 0x56 }, - { 0x08, 0xE8 }, - { 0x0D, 0xC7 }, - { 0x0F, 0x10 }, - { 0x12, 0x00 }, - { 0x17, 0x00 }, - { 0x1C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScissors -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScissors, 3911, 17) // Up to 5233 - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x24 }, - { 0x03, 0x53 }, - { 0x04, 0x8B }, - { 0x05, 0x5C }, - { 0x06, 0x24 }, - { 0x07, 0x2C }, - { 0x08, 0x85 }, - { 0x09, 0xDB }, - { 0x0A, 0x55 }, - { 0x0B, 0x8B }, - { 0x0C, 0x2D }, - - { 0x3E, 0x44 }, - { 0x3F, 0x24 }, - { 0x52, 0x44 }, - { 0x53, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderInput -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 3911, 8) - - { 0x1E, 0x03 }, - { 0x3E, 0x8B }, - { 0x5E, 0xC7 }, - { 0x7E, 0xF8 }, - { 0x9E, 0xC6 }, - { 0xBE, 0x7F }, - { 0xDE, 0xCA }, - { 0xFE, 0x17 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PrimeVertexCache -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PrimeVertexCache, 3911, 8) - - { 0x0D, 0x00 }, - { 0x1C, 0x55 }, - { 0x2B, 0x00 }, - { 0x3A, 0x24 }, - { 0x49, 0xCB }, - { 0x58, 0x74 }, - { 0x67, 0x00 }, - { 0x76, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4ub -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 3911, 7) - - { 0x07, 0x56 }, - { 0x10, 0x08 }, - { 0x19, 0xC9 }, - { 0x22, 0x54 }, - { 0x2B, 0x14 }, - { 0x34, 0x24 }, - { 0x3D, 0xFC }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 3911, 7) - - { 0x1E, 0x4C }, - { 0x3E, 0x11 }, - { 0x61, 0xDF }, - { 0x7E, 0xF6 }, - { 0x9E, 0x05 }, - { 0xC0, 0x51 }, - { 0xDE, 0xC4 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_InsertCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_InsertCallback, 3911, 7) - - { 0x0D, 0x8B }, - { 0x18, 0x8B }, - { 0x25, 0x50 }, - { 0x32, 0x10 }, - { 0x3F, 0x00 }, - { 0x4C, 0x00 }, - { 0x59, 0x03 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 3911, 7) - - { 0x0B, 0xCE }, - { 0x1B, 0x57 }, - { 0x25, 0x00 }, - { 0x32, 0x06 }, - { 0x3F, 0x03 }, - { 0x4C, 0x04 }, - { 0x59, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 3911, 13) // Up to 5849 - - { 0x01, 0x56 }, - { 0x11, 0x8D }, - - { 0x2E, 0x8D }, - { 0x2F, 0x4C }, - { 0x30, 0x11 }, - { 0x31, 0x04 }, - { 0x32, 0x89 }, - { 0x33, 0x48 }, - { 0x34, 0x0C }, - { 0x35, 0x8B }, - { 0x36, 0x86 }, - - { 0x6D, 0x8B }, - { 0x6E, 0x86 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_RopZCmpAlwaysRead -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] - XREF_ENTRY( 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD ), // Derived - - // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x09 : call [abs] - { 0x09, 0xE8 }, - - // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x0E : retn 0x04 - { 0x0E, 0xC2 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_RopZRead -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_RopZRead, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_SetRenderState_RopZRead+0x05 : D3D__RenderState[D3DRS_ROPZREAD] - XREF_ENTRY( 0x05, XREF_D3DRS_ROPZREAD ), // Derived - - // D3DDevice_SetRenderState_RopZRead+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetRenderState_RopZRead+0x09 : call [abs] - { 0x09, 0xE8 }, - - // D3DDevice_SetRenderState_RopZRead+0x0E : retn 0x04 - { 0x0E, 0xC2 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_DoNotCullUncompressed -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_SetRenderState_DoNotCullUncompressed+0x05 : D3D__RenderState[D3DRS_DONOTCULLUNCOMPRESSED] - XREF_ENTRY( 0x05, XREF_D3DRS_DONOTCULLUNCOMPRESSED ), // Derived - - // D3DDevice_SetRenderState_DoNotCullUncompressed+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetRenderState_DoNotCullUncompressed+0x09 : call [abs] - { 0x09, 0xE8 }, - - // D3DDevice_SetRenderState_DoNotCullUncompressed+0x0E : retn 0x04 - { 0x0E, 0xC2 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * XMETAL_StartPush -// ****************************************************************** -OOVPA_NO_XREF(XMETAL_StartPush, 3911, 11) - - // XMETAL_StartPush+0x00 : mov ecx, [esp+0x4] - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // XMETAL_StartPush+0x04 : mov eax, [ecx] - { 0x04, 0x8B }, - { 0x05, 0x01 }, - - // XMETAL_StartPush+0x06 : cmp eax, [ecx+0x4] - { 0x06, 0x3B }, - { 0x07, 0x41 }, - { 0x08, 0x04 }, - - // XMETAL_StartPush+0x10 : retn 4 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetFence -// ****************************************************************** -OOVPA_XREF(D3D_SetFence, 3911, 11, - - XREF_D3D_SetFence, - XRefZero) - - // D3D::SetFence+0x0F : mov edi, [esi+0x1C] - { 0x0F, 0x8B }, - { 0x10, 0x7E }, - { 0x11, 0x1C }, - - // D3D::SetFence+0x3D : and ecx, 0x3F - { 0x3D, 0x83 }, - { 0x3E, 0xE1 }, - { 0x3F, 0x3F }, - - // D3D::SetFence+0x77 : mov [esi*ebp*4], edi - { 0x77, 0x89 }, - { 0x78, 0x3C }, - { 0x79, 0xAE }, - - // D3D::SetFence+0x96 : retn 4 - { 0x96, 0xC2 }, - { 0x97, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_InsertFence -// ****************************************************************** -OOVPA_XREF(D3DDevice_InsertFence, 3911, 1+4, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x03, XREF_D3D_SetFence ), - - { 0x00, 0x6A }, - { 0x01, 0x00 }, - { 0x02, 0xE8 }, - { 0x07, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LoadVertexShaderProgram -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 3911, 16) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x53 }, - { 0x05, 0x0F }, - { 0x06, 0xB7 }, - { 0x07, 0x58 }, - { 0x08, 0x02 }, - { 0x09, 0x55 }, - { 0x0A, 0x8B }, - { 0x0B, 0x2D }, - - { 0x14, 0xE3 }, - { 0x15, 0x02 }, - { 0x16, 0xF6 }, - { 0x17, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeleteVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DeleteVertexShader, 3911, 6) - - { 0x02, 0x24 }, - { 0x06, 0xFF }, - { 0x0A, 0x08 }, - { 0x0E, 0x44 }, - - // D3DDevice_DeleteVertexShader+0x16 : retn 4 - { 0x16, 0xC2 }, - { 0x17, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockOnFence -// ****************************************************************** -OOVPA_XREF(D3DDevice_BlockOnFence, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x08, XREF_D3D_BlockOnTime ), - - { 0x00, 0x8B }, - { 0x02, 0x24 }, - { 0x04, 0x6A }, - { 0x06, 0x50 }, - { 0x0C, 0xC2 }, - { 0x0D, 0x04 }, - { 0x0E, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Reset -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Reset, 3911, 10) - - // D3DDevice_Reset+0x15 : mov ecx, ebp - { 0x15, 0x8B }, - { 0x16, 0xCD }, - - // D3DDevice_Reset+0x1E : jnz +0xF5 - { 0x1E, 0x75 }, - { 0x1F, 0xF5 }, - - // D3DDevice_Reset+0x27 : mov esi, [esp+0x14] - { 0x27, 0x8B }, - { 0x28, 0x74 }, - { 0x29, 0x24 }, - { 0x2A, 0x14 }, - - // D3DDevice_Reset+0x37 : jge +0x10 - { 0x37, 0x7D }, - { 0x38, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_GetAdapterIdentifier -// ****************************************************************** -OOVPA_NO_XREF(D3D_GetAdapterIdentifier, 3911, 7) - - { 0x04, 0x85 }, - { 0x0A, 0x08 }, - { 0x10, 0x56 }, - { 0x16, 0xB9 }, - { 0x20, 0xF3 }, - { 0x22, 0x5F }, - { 0x28, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_GetDeviceCaps -// ****************************************************************** -OOVPA_NO_XREF(D3D_GetDeviceCaps, 3911, 7) - - { 0x04, 0x85 }, - { 0x0A, 0x08 }, - { 0x10, 0x83 }, - { 0x16, 0x08 }, - { 0x1C, 0xC2 }, - { 0x22, 0x0C }, - { 0x29, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetCommonDebugRegisters -// ****************************************************************** -OOVPA_NO_XREF(D3D_SetCommonDebugRegisters, 3911, 10) - - { 0x07, 0x8B }, - { 0x08, 0x96 }, - { 0x09, 0x44 }, - { 0x0A, 0x2B }, - { 0x31, 0x81 }, - { 0x32, 0xE2 }, - { 0x33, 0xFF }, - { 0x34, 0xFF }, - { 0x35, 0xEF }, - { 0x36, 0xE7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateImageSurface -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 3911, 7) - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x24 }, - { 0x0E, 0x44 }, - { 0x12, 0x00 }, - { 0x16, 0xE8 }, - { 0x1B, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::BlockOnTime -// ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 3911, 10, - - XREF_D3D_BlockOnTime, - XRefZero) - - // D3D::BlockOnFence+0x00 : push ebp - { 0x00, 0x55 }, - - // D3D::BlockOnFence+0x0A : push edi - { 0x0A, 0x57 }, - - // D3D::BlockOnFence+0x4E : cmp eax, 0x8000 - { 0x4E, 0x3D }, - { 0x4F, 0x00 }, - { 0x50, 0x80 }, - { 0x51, 0x00 }, - - // D3D::BlockOnFence+0x6E : mov ebp, 0x40100 - { 0x6E, 0xBD }, - { 0x6F, 0x00 }, - { 0x70, 0x01 }, - { 0x71, 0x04 } -OOVPA_END; - -// ****************************************************************** -// * D3D::BlockOnResource -// ****************************************************************** -OOVPA_XREF(D3D_BlockOnResource, 3911, 9, - - XREF_D3D_BlockOnResource, - XRefZero) - - { 0x34, 0x8B }, // mov edx, [ecx+0x1C] - { 0x35, 0x51 }, - { 0x36, 0x1C }, - { 0x41, 0xC2 }, // retn 4 - { 0x42, 0x04 }, - { 0x43, 0x00 }, - { 0x7E, 0xC2 }, // retn 4 - { 0x7F, 0x04 }, - { 0x80, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_BlockUntilNotBusy -// ****************************************************************** -OOVPA_XREF(D3DResource_BlockUntilNotBusy, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_D3D_BlockOnResource ), - - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTile -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 13) - - // D3DDevice_SetTile+0x06 : sub esp, 0x18 - { 0x06, 0x83 }, - { 0x07, 0xEC }, - { 0x08, 0x18 }, - - // D3DDevice_SetTile+0x15 : cmp [esi+4], eax - { 0x15, 0x39 }, - { 0x16, 0x46 }, - { 0x17, 0x04 }, - - // D3DDevice_SetTile+0x7E : lea edi, [edx+ecx*8+21BCh] - { 0x7E, 0x83 }, - { 0x7F, 0xC4 }, - { 0x80, 0x18 }, - - // D3DDevice_SetTile+0x7E : mov ecx, [esi+21D0h] - { 0x8E, 0x8B }, - { 0x8F, 0x8E }, - { 0x90, 0xD0 }, - { 0x91, 0x21 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 3911, 9) - - { 0x0A, 0x57 }, - { 0x0B, 0x8D }, - { 0x0C, 0xB8 }, - { 0x0D, 0x5C }, - { 0x0E, 0x0B }, - { 0x0F, 0x00 }, - { 0x14, 0x00 }, - { 0x18, 0x8B }, - { 0x1E, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SwitchTexture -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SwitchTexture, 3911, 10) - - // D3DDevice_SwitchTexture+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_SwitchTexture+0x05 : add eax, 0x0C - { 0x05, 0x83 }, - { 0x06, 0xC0 }, - { 0x07, 0x0C }, - - // D3DDevice_SwitchTexture+0x08 : cmp eax, ds:dword_XXXXX - { 0x08, 0x3B }, - { 0x09, 0x05 }, - - // D3DDevice_SwitchTexture+0x0E : jnb +0x15 - { 0x0E, 0x73 }, - { 0x0F, 0x15 }, - - // D3DDevice_SwitchTexture+0x22 : retn 0x04 - { 0x22, 0xC2 }, - { 0x23, 0x04 }, - -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetModelView -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetModelView, 3911, 10) - - { 0x05, 0x57 }, - { 0x0A, 0x85 }, - { 0x10, 0xB0 }, - { 0x11, 0xE0 }, - { 0x12, 0x05 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0xB9 }, - { 0x16, 0x10 }, - { 0x1C, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CopyRects -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CopyRects, 3911, 9) - - { 0x10, 0x0F }, - { 0x11, 0xB6 }, - { 0x12, 0x75 }, - { 0x13, 0x0D }, - { 0x14, 0x8A }, - { 0x15, 0x9E }, - { 0x40, 0xF6 }, - { 0x4F, 0x84 }, - { 0x75, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * D3DVertexBuffer_GetDesc -// ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_GetDesc, 3911, 7) - - { 0x02, 0x24 }, - { 0x06, 0x74 }, - { 0x0A, 0xC7 }, - { 0x0E, 0x00 }, - { 0x15, 0x89 }, - { 0x16, 0x46 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 3911, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x40 }, - { 0x08, 0x21 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 3911, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x74 }, - { 0x08, 0x04 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 3911, 9) - - { 0x05, 0x8B }, - { 0x06, 0x74 }, - { 0x07, 0x24 }, - { 0x08, 0x08 }, - { 0x09, 0x57 }, - { 0x0A, 0x8B }, - { 0x0B, 0x3D }, - { 0x18, 0x00 }, - { 0x1F, 0xF7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderInput -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderInput, 3911, 17) - - { 0x05, 0xC9 }, - - { 0x0B, 0x74 }, - { 0x11, 0x00 }, - { 0x12, 0x00 }, - { 0x13, 0x89 }, - { 0x14, 0x11 }, - { 0x15, 0x8B }, - { 0x16, 0x4C }, - { 0x17, 0x24 }, - { 0x18, 0x04 }, - { 0x19, 0x85 }, - { 0x1A, 0xC9 }, - { 0x1B, 0x74 }, - { 0x1C, 0x08 }, - { 0x1D, 0x8B }, - - { 0x34, 0x8D }, - { 0x35, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_RunVertexStateShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_RunVertexStateShader, 3911, 9) - - { 0x0D, 0x8B }, - { 0x10, 0x0C }, - { 0x11, 0x85 }, - { 0x12, 0xC9 }, - { 0x13, 0x74 }, - { 0x14, 0x21 }, - { 0x15, 0xD9 }, - { 0x16, 0x41 }, - { 0x1F, 0x41 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderType -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderType, 3911, 7) - - { 0x04, 0x8B }, - { 0x0A, 0x07 }, - { 0x10, 0xEB }, - { 0x16, 0x00 }, - { 0x1C, 0x40 }, - { 0x22, 0xC9 }, - { 0x28, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderDeclaration -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 3911, 15) - - { 0x00, 0x8B }, - { 0x04, 0x8A }, - - { 0x13, 0xC7 }, - { 0x14, 0x01 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x33 }, - { 0x1A, 0xC0 }, - { 0x1B, 0x83 }, - { 0x1C, 0xC4 }, - - { 0x1E, 0xC2 }, - { 0x1F, 0x0C }, - - { 0x40, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderFunction -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderFunction, 3911, 7) - - { 0x16, 0xC0 }, - { 0x2E, 0x01 }, - { 0x46, 0x10 }, - { 0x5E, 0x07 }, - { 0x76, 0xC7 }, - { 0x8E, 0x00 }, - { 0xA6, 0xF8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 3911, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x14 }, - { 0x08, 0x04 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_IsFencePending -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_IsFencePending, 3911, 11) - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xF0 }, - { 0x08, 0x03 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x40 }, - { 0x0D, 0x1C }, - { 0x1A, 0x1B }, - { 0x1F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPushBufferOffset -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 3911, 7) - - { 0x14, 0xB8 }, - { 0x2A, 0x8B }, - { 0x40, 0x47 }, - { 0x56, 0x89 }, - { 0x6C, 0xAB }, - { 0x82, 0x04 }, - { 0x98, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_GetAdapterDisplayMode -// ****************************************************************** -OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 3911, 21) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x85 }, - { 0x05, 0xC0 }, - { 0x06, 0x74 }, - { 0x07, 0x08 }, - { 0x08, 0xB8 }, - { 0x09, 0x6C }, - { 0x0A, 0x08 }, - { 0x0B, 0x76 }, - { 0x0C, 0x88 }, - { 0x0D, 0xC2 }, - { 0x0E, 0x08 }, - { 0x0F, 0x00 }, - { 0x10, 0x8B }, - //{ 0x11, 0x0D }, // 0D vs 15 - - { 0x1E, 0x33 }, - { 0x1F, 0xC0 }, - - { 0x30, 0x00 }, - { 0x31, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3D_EnumAdapterModes -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(D3D_EnumAdapterModes, 3911, 14) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x12, 0x57 }, - { 0x13, 0x89 }, - { 0x14, 0x44 }, - { 0x15, 0x24 }, - { 0x16, 0x14 }, - { 0x17, 0x89 }, - { 0x18, 0x4C }, - { 0x19, 0x24 }, - { 0x1A, 0x20 }, - { 0x1B, 0xE8 }, - - { 0x50, 0x6C }, - { 0x51, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_GetAdapterModeCount -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(D3D_GetAdapterModeCount, 3911, 20) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x53 }, - { 0x04, 0x55 }, - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x07, 0xC7 }, - { 0x08, 0x44 }, - { 0x09, 0x24 }, - { 0x0A, 0x10 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0xE8 }, - - { 0x1D, 0x8B }, - { 0x1E, 0xD1 }, - - { 0x40, 0x14 }, - { 0x41, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeletePatch -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(D3DDevice_DeletePatch, 3911, 19) - - { 0x00, 0x8B }, - { 0x05, 0x0D }, - { 0x0C, 0xA1 }, - - { 0x11, 0x56 }, - { 0x12, 0x8B }, - { 0x13, 0x34 }, - { 0x14, 0x88 }, - { 0x15, 0x85 }, - { 0x16, 0xF6 }, - { 0x17, 0x74 }, - { 0x18, 0x17 }, - { 0x19, 0x8B }, - { 0x1A, 0x4E }, - { 0x1B, 0x04 }, - { 0x1C, 0xC7 }, - { 0x1D, 0x04 }, - { 0x1E, 0x88 }, - { 0x1F, 0x00 }, - - { 0x25, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_KickPushBuffer -// ****************************************************************** -OOVPA_XREF(D3DDevice_KickPushBuffer, 3911, 1+3, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x07, XREF_D3D_CDevice_KickOff ), - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - { 0x06, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport_IsFlipPending -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_IsFlipPending, 3911, 14) - - { 0x00, 0x8B }, - { 0x01, 0x81 }, - { 0x02, 0xDC }, - { 0x03, 0x01 }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x06, 0x8B }, - { 0x07, 0x84 }, - { 0x08, 0xC1 }, - { 0x09, 0xB4 }, - { 0x0A, 0x01 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0xC3 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl deleted file mode 100644 index 3818cca27..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ /dev/null @@ -1,59 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.3925.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 3925, 12) - - // D3DDevice_SetRenderState_MultiSampleMode+0x05 : mov ecx, [esp+4] - { 0x05, 0x8B }, - { 0x06, 0x4C }, - { 0x07, 0x24 }, - { 0x08, 0x04 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x0F : mov edx, [eax+0x410] - { 0x0F, 0x8B }, - { 0x10, 0x90 }, - { 0x11, 0x10 }, - { 0x12, 0x04 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x15 : mov eax, [eax+0x40C] - { 0x15, 0x8B }, - { 0x16, 0x80 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x22 : retn 0x04 - { 0x22, 0xC2 }, - { 0x23, 0x04 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl deleted file mode 100644 index fe347bcbe..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl +++ /dev/null @@ -1,63 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.3948.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3948, 8) -#else -OOVPA_XREF(D3DDevice_SetRenderTarget, 3948, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x17, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived TODO : Verify offset -#endif - // D3DDevice_SetRenderTarget+0x00 : sub esp, 0x30 - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x30 }, - - // D3DDevice_SetRenderTarget+0x32 : and ecx, 0x0F - { 0x32, 0x83 }, - { 0x33, 0xE1 }, - { 0x34, 0x0F }, - - // D3DDevice_SetRenderTarget+0x69 : push ebx - { 0x69, 0x53 }, - - // D3DDevice_SetRenderTarget+0xDA : push edx - { 0xDA, 0x52 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl deleted file mode 100644 index b251fb51a..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ /dev/null @@ -1,2119 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4034.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CMiniport::InitHardware -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_InitHardware, 4034, 23) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xF1 }, - { 0x0A, 0x56 }, - { 0x0B, 0x68 }, - - { 0x10, 0x8D }, - { 0x11, 0x86 }, - { 0x12, 0x84 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x50 }, - { 0x17, 0xFF }, - { 0x18, 0x15 }, - - { 0x1D, 0x80 }, - { 0x1E, 0xA6 }, - //{ 0x1F, 0xD8 }, // 4034 0xD8 vs 4242 0xDC -OOVPA_END; - -// ****************************************************************** -// * CMiniport::CreateCtxDmaObject -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_CreateCtxDmaObject, 4034, 32) // Also for 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x51 }, - { 0x04, 0x51 }, - { 0x05, 0x53 }, - { 0x06, 0x56 }, - { 0x07, 0x57 }, - { 0x08, 0x33 }, - { 0x09, 0xC0 }, - { 0x0A, 0x50 }, - { 0x0B, 0x89 }, - { 0x0C, 0x45 }, - { 0x0D, 0xF8 }, - { 0x0E, 0x89 }, - { 0x0F, 0x45 }, - { 0x10, 0xFC }, - { 0x11, 0x8D }, - { 0x12, 0x45 }, - { 0x13, 0xFC }, - { 0x14, 0x50 }, - { 0x15, 0x8D }, - { 0x16, 0x45 }, - { 0x17, 0xF8 }, - { 0x18, 0x50 }, - { 0x19, 0xFF }, - { 0x1A, 0x75 }, - { 0x1B, 0x10 }, - { 0x1C, 0x8B }, - { 0x1D, 0xD1 }, - { 0x1E, 0x8B }, - { 0x1F, 0x3A }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetViewport -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetViewport, 4034, 10) - - // D3DDevice_SetViewport+0x00 : sub esp, 0x08 - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - - // D3DDevice_SetViewport+0x2D : mov ebx, [esp+0x14] - { 0x2D, 0x8B }, - { 0x2E, 0x5C }, - { 0x2F, 0x24 }, - { 0x30, 0x14 }, - - // D3DDevice_SetViewport+0x53 : jnz +0x12 - { 0x53, 0x75 }, - { 0x54, 0x12 }, - - // D3DDevice_SetViewport+0x9B : inc edx - { 0x9B, 0x42 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTransform, 4034, 13) - - // D3DDevice_SetTransform+0x00 : mov eax, [esp+arg_0] - { 0x00, 0x8B }, - - // D3DDevice_SetTransform+0x44 : fld dword ptr [edx+0x28] - { 0x44, 0xD9 }, - { 0x45, 0x42 }, - { 0x46, 0x28 }, - - // D3DDevice_SetTransform+0x51 : test ah, 0x44 - { 0x51, 0xF6 }, - { 0x52, 0xC4 }, - { 0x53, 0x44 }, - - // D3DDevice_SetTransform+0x5F : fnstsw ax - { 0x5F, 0xDF }, - { 0x60, 0xE0 }, - - // D3DDevice_SetTransform+0x84 : fdivp st(1), st - { 0x84, 0xDE }, - { 0x85, 0xF9 }, - - // D3DDevice_SetTransform+0x10B : retn 8 - { 0x10B, 0xC2 }, - { 0x10C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_MultiplyTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_MultiplyTransform, 4034, 0x20) - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xE4 }, - { 0x05, 0xF0 }, - { 0x06, 0x81 }, - { 0x07, 0xEC }, - { 0x08, 0x88 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - { 0x0C, 0x56 }, - { 0x0D, 0x8B }, - { 0x0E, 0x75 }, - { 0x0F, 0x0C }, - { 0x10, 0x57 }, - { 0x11, 0xB9 }, - { 0x12, 0x10 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x8D }, - { 0x17, 0x7C }, - { 0x18, 0x24 }, - { 0x19, 0x10 }, - { 0x1A, 0xF3 }, - { 0x1B, 0xA5 }, - { 0x1C, 0x8B }, - { 0x1D, 0x75 }, - { 0x1E, 0x08 }, - { 0x1F, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_CullMode -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 4034, 2+14, - - XREF_D3DDevice_SetRenderState_CullMode, - XRefTwo) - - XREF_ENTRY( 0x03, XREF_D3DDEVICE ), // Derived - - XREF_ENTRY( 0x2B, XREF_D3DRS_CULLMODE ), // Derived - - // D3DDevice_SetRenderState_CullMode+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetRenderState_CullMode+0x19 : mov dword ptr [eax], 0x40308 - { 0x19, 0xC7 }, - { 0x1B, 0x08 }, - { 0x1C, 0x03 }, - { 0x1D, 0x04 }, - - // D3DDevice_SetRenderState_CullMode+0x24 : add eax, 8 - { 0x24, 0x83 }, - { 0x25, 0xC0 }, - { 0x26, 0x08 }, - - // D3DDevice_SetRenderState_CullMode+0x30 : retn 4 - { 0x30, 0xC2 }, - { 0x31, 0x04 }, - - // D3DDevice_SetRenderState_CullMode+0x53 : add edx, 0x404 - { 0x53, 0x81 }, - { 0x54, 0xC2 }, - { 0x55, 0x04 }, - { 0x56, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginVisibilityTest -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4034, 7) - - { 0x07, 0x8B }, - { 0x0A, 0x46 }, - { 0x13, 0xC7 }, - { 0x16, 0x17 }, - { 0x1C, 0x00 }, - { 0x22, 0x48 }, - { 0x28, 0x06 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CopyRects -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CopyRects, 4034, 8) - - { 0x1E, 0x57 }, - { 0x3E, 0xF6 }, - { 0x5E, 0xEB }, - { 0x7E, 0x00 }, - { 0x9E, 0x10 }, - { 0xBE, 0x24 }, - { 0xDE, 0x22 }, - { 0xFE, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVertices -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVertices, 4034, 11) - - // D3DDevice_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] - { 0x0E, 0x8B }, - { 0x0F, 0x46 }, - { 0x10, 0x1C }, - - // D3DDevice_DrawIndexedVertices+0x20 : push 0x0209 - { 0x20, 0x68 }, - { 0x21, 0x09 }, - { 0x22, 0x02 }, - - // D3DDevice_DrawIndexedVertices+0x64 : dec eax - { 0x64, 0x48 }, - - // D3DDevice_DrawIndexedVertices+0xF1 : prefetchnta byte ptr [esi+0x3C] - { 0xF1, 0x0F }, - { 0xF2, 0x18 }, - { 0xF3, 0x46 }, - { 0xF4, 0x3C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetStreamSource -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetStreamSource, 4034, 1+14, // 1+28 - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x22, XREF_G_STREAM ), // Derived - -#if 0 - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x06, 0x56 }, - { 0x07, 0x57 }, -#endif - - // D3DDevice_SetStreamSource+0x08 : mov edi, [esp+8+0x04] - { 0x08, 0x8B }, - { 0x09, 0x7C }, - { 0x0A, 0x24 }, - { 0x0B, 0x10 }, - -#if 0 - { 0x0C, 0x85 }, - { 0x0D, 0xFF }, - { 0x0E, 0x74 }, - { 0x0F, 0x06 }, - { 0x10, 0x81 }, - { 0x11, 0x07 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x08 }, - { 0x15, 0x00 }, - { 0x16, 0x8B }, - { 0x17, 0x44 }, - { 0x18, 0x24 }, - { 0x19, 0x0C }, - { 0x1A, 0x8D }, - { 0x1B, 0x34 }, - { 0x1C, 0x40 }, - { 0x1D, 0xC1 }, - { 0x1E, 0xE6 }, - { 0x1F, 0x02 }, -#endif - - // D3DDevice_SetStreamSource+0x28 : jz +0x26 - { 0x28, 0x74 }, - { 0x29, 0x26 }, - - // D3DDevice_SetStreamSource+0x70 : or ecx, 0x40 - { 0x70, 0x83 }, - { 0x71, 0xC9 }, - { 0x72, 0x40 }, - - // D3DDevice_SetStreamSource+0x7E : or ecx, 0x70 - { 0x7E, 0x83 }, - { 0x7F, 0xC9 }, - { 0x80, 0x70 }, - - // D3DDevice_SetStreamSource+0x89 : retn 0x0C - { 0x89, 0xC2 }, - { 0x8A, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 4034, 8) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x0E, 0xE8 }, - { 0x16, 0x08 }, - { 0x1E, 0x24 }, - { 0x26, 0x24 }, - { 0x2E, 0x89 }, - { 0x39, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 4034, 8) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x0E, 0xE8 }, - { 0x16, 0x08 }, - { 0x1E, 0x89 }, - { 0x26, 0x04 }, - { 0x2E, 0x07 }, - { 0x36, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LoadVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 4034, 10) - - // D3DDevice_LoadVertexShader+0x07 : mov al, [ebx+0x08] - { 0x07, 0x8A }, - { 0x08, 0x43 }, - { 0x09, 0x08 }, - - // D3DDevice_LoadVertexShader+0x32 : mov dword ptr [eax], 0x00041E9C - { 0x32, 0xC7 }, - { 0x33, 0x00 }, - { 0x34, 0x9C }, - { 0x35, 0x1E }, - { 0x36, 0x04 }, - - // D3DDevice_LoadVertexShader+0x4E : mov [ebx], ebx - { 0x4E, 0x89 }, - { 0x4F, 0x13 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetIndices -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetIndices, 4034, 14) - - { 0x00, 0x56 }, - { 0x02, 0x35 }, - - { 0x10, 0x81 }, - { 0x11, 0x07 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x08 }, - { 0x15, 0x00 }, - { 0x16, 0x8B }, - { 0x17, 0x47 }, - { 0x18, 0x04 }, - { 0x19, 0xA3 }, - - { 0x48, 0x50 }, - { 0x49, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_EdgeAntiAlias -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, 7) - - { 0x07, 0x8B }, - { 0x0C, 0x72 }, - { 0x13, 0x8B }, - { 0x1A, 0x03 }, - { 0x21, 0x48 }, - { 0x28, 0x89 }, - { 0x2F, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FillMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4034, 8) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x13, 0x8B }, - { 0x19, 0x8B }, - { 0x22, 0x4C }, - { 0x2B, 0x8C }, - { 0x34, 0x08 }, - { 0x40, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_BackFillMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4034, 13) - - // D3DDevice_SetRenderState_BackFillMode+0x1C : jb +0x05 - { 0x1C, 0x72 }, - { 0x1D, 0x05 }, - - // D3DDevice_SetRenderState_BackFillMode+0x35 : mov dword ptr [eax], abs - { 0x35, 0xC7 }, - { 0x36, 0x00 }, - - // D3DDevice_SetRenderState_BackFillMode+0x41 : add eax, 0x0C; mov [esi], eax; mov [abs], edi - { 0x41, 0x83 }, - { 0x42, 0xC0 }, - { 0x43, 0x0C }, - { 0x44, 0x89 }, - { 0x45, 0x06 }, - { 0x46, 0x89 }, - { 0x47, 0x3D }, - - // D3DDevice_SetRenderState_BackFillMode+0x4E : retn 0x04 - { 0x4E, 0xC2 }, - { 0x4F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FogColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 4034, 7) - - { 0x08, 0x06 }, - { 0x14, 0x8B }, - { 0x1C, 0x0E }, - { 0x26, 0xE7 }, - { 0x30, 0x00 }, - { 0x3A, 0x89 }, - { 0x44, 0x0D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FrontFace -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 4034, 7) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x0E, 0xE8 }, - { 0x16, 0x08 }, - { 0x1E, 0x48 }, - { 0x2A, 0x89 }, - { 0x30, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LogicOp -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 4034, 7) - - { 0x09, 0x3B }, - { 0x14, 0x4C }, - { 0x1F, 0x04 }, - { 0x2A, 0x0D }, - { 0x35, 0xBC }, - { 0x40, 0x89 }, - { 0x4E, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleAntiAlias -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, 7) - - { 0x0B, 0x8B }, - { 0x17, 0x8B }, - { 0x23, 0x8B }, - { 0x2C, 0x8B }, - { 0x38, 0xC1 }, - { 0x40, 0x7C }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 4034, 7) - - { 0x0B, 0x8B }, - { 0x17, 0x8B }, - { 0x23, 0x8B }, - { 0x2C, 0x8B }, - { 0x38, 0x83 }, - { 0x40, 0x7C }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_NormalizeNormals -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 4034, 7) - - { 0x07, 0x8B }, - { 0x0E, 0xE8 }, - { 0x16, 0x08 }, - { 0x1E, 0x48 }, - { 0x26, 0x0D }, - { 0x2E, 0x00 }, - { 0x36, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ShadowFunc -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 4034, 7) - - { 0x07, 0x8B }, - { 0x0C, 0x72 }, - { 0x13, 0x8B }, - { 0x1A, 0x1E }, - { 0x21, 0xFF }, - { 0x28, 0x08 }, - { 0x31, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Simple -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_Simple, 4034, 13) - - // D3DDevice_SetRenderState_Simple+0x05 : add eax, 0x08 - { 0x05, 0x83 }, - { 0x06, 0xC0 }, - { 0x07, 0x08 }, - - // D3DDevice_SetRenderState_Simple+0x0E : jnb +0x0C - { 0x0E, 0x73 }, - { 0x0F, 0x0C }, - - // D3DDevice_SetRenderState_Simple+0x15 : mov [eax-8], ecx - { 0x15, 0x89 }, - { 0x16, 0x48 }, - { 0x17, 0xF8 }, - - // D3DDevice_SetRenderState_Simple+0x18 : mov [eax-4], ecx - { 0x18, 0x89 }, - { 0x19, 0x50 }, - { 0x1A, 0xFC }, - - // D3DDevice_SetRenderState_Simple+0x25 : jmp +0xD9 - { 0x25, 0xEB }, - { 0x26, 0xD9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 4034, 8) - - { 0x00, 0x56 }, - { 0x13, 0x8B }, - { 0x20, 0x02 }, - { 0x34, 0x85 }, - { 0x42, 0x75 }, - { 0x53, 0x89 }, - { 0x64, 0x00 }, - { 0x75, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 4034, 7) - - { 0x0C, 0x72 }, - { 0x1A, 0xC9 }, - { 0x2A, 0x85 }, - { 0x36, 0x74 }, - { 0x44, 0x83 }, - { 0x52, 0x24 }, - { 0x60, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_YuvEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_YuvEnable, 4034, 7) - - { 0x04, 0x56 }, - { 0x0B, 0xA3 }, - { 0x10, 0x8B }, - { 0x16, 0x05 }, - { 0x1C, 0x8B }, - { 0x25, 0x89 }, - { 0x28, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TwoSidedLighting -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 4034, 7) - - { 0x0B, 0x8B }, - { 0x18, 0x15 }, - { 0x25, 0x46 }, - { 0x35, 0x8B }, - { 0x43, 0x75 }, - { 0x4C, 0x00 }, - { 0x59, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_VertexBlend -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 4034, 7) - - { 0x07, 0xCA }, - { 0x13, 0x89 }, - { 0x19, 0x8B }, - { 0x25, 0x8B }, - { 0x2B, 0x28 }, - { 0x34, 0x08 }, - { 0x3D, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * Get2DSurfaceDesc -// ****************************************************************** -OOVPA_NO_XREF(Get2DSurfaceDesc, 4034, 10) - - { 0x10, 0x0D }, - { 0x48, 0x08 }, - { 0x49, 0x02 }, - { 0x4A, 0x00 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - { 0x4D, 0xA1 }, - { 0x58, 0x53 }, - { 0x63, 0x80 }, - { 0xAE, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4034, 13) - - // D3DDevice_SetRenderState_ZEnable+0x0C : jb +0x05 - { 0x0C, 0x72 }, - { 0x0D, 0x05 }, - - // D3DDevice_SetRenderState_ZEnable+0x1B : mov edx, [esi+0x2074h] - { 0x1B, 0x8B }, - { 0x1C, 0x96 }, - { 0x1D, 0xF4 }, - { 0x1E, 0x21 }, - - // D3DDevice_SetRenderState_ZEnable+0x31 : mov dword ptr [eax], 0x4030C - { 0x31, 0xC7 }, - { 0x32, 0x00 }, - { 0x33, 0x0C }, - { 0x34, 0x03 }, - { 0x35, 0x04 }, - - // D3DDevice_SetRenderState_ZEnable+0x98 : retn 0x04 - { 0x98, 0xC2 }, - { 0x99, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TextureFactor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 4034, 15) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x08, 0x86 }, - { 0x2F, 0x90 }, - - { 0x40, 0x5E }, - { 0x41, 0xC2 }, - { 0x42, 0x04 }, - { 0x43, 0x00 }, - { 0x44, 0x8B }, - { 0x45, 0x44 }, - { 0x46, 0x24 }, - { 0x47, 0x08 }, - { 0x48, 0xA3 }, - - { 0x4E, 0xC2 }, - { 0x4F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Clear -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Clear, 4034, 16) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x23, 0x33 }, - { 0x24, 0xF6 }, - { 0x25, 0xF6 }, - { 0x26, 0xC1 }, - { 0x27, 0x01 }, - { 0x28, 0x89 }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0x89 }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - - { 0x54, 0x05 }, - { 0x81, 0xB6 }, -OOVPA_END; - -// ****************************************************************** -// * D3DVertexBuffer_Lock -// ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4034, 11) - - // D3DVertexBuffer_Lock+0x01 : mov bl, [esp+0x18] - { 0x01, 0x8A }, - { 0x02, 0x5C }, - { 0x03, 0x24 }, - { 0x04, 0x18 }, - - // D3DVertexBuffer_Lock+0x09 : jnz +0x24 - { 0x09, 0x75 }, - { 0x0A, 0x24 }, - - // D3DVertexBuffer_Lock+0x2F : test bl, 0xA0 - { 0x2F, 0xF6 }, - { 0x30, 0xC3 }, - { 0x31, 0xA0 }, - - // D3DVertexBuffer_Lock+0x50 : retn 0x14 - { 0x50, 0xC2 }, - { 0x51, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTexture -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetTexture, 4034, 10) // TODO : Alias 3911 instead ? -#else -OOVPA_XREF(D3DDevice_SetTexture, 4034, 1+10, // TODO : Alias 3911 instead ? - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived - verified for 4432 DolphinClassic 0x00021D10(SetTexture)+0x10=00021D20 : 8B 84 B7 78 0A 00 00 mov eax,[edi+esi*4+$00000A78] -#endif - // D3DDevice_SetTexture+0x09 : push edi - { 0x09, 0x57 }, - - // D3DDevice_SetTexture+0x21 : jz +0x20 - { 0x21, 0x74 }, - { 0x22, 0x20 }, - - // D3DDevice_SetTexture+0x33 : test ecx, 0x78FFFF - { 0x33, 0xF7 }, - { 0x34, 0xC1 }, - { 0x37, 0x78 }, - - // D3DDevice_SetTexture+0x39 : mov [eax], edx - { 0x39, 0x89 }, - { 0x3A, 0x10 }, - - // D3DDevice_SetTexture+0xC9 : jz +0x4D - { 0xC9, 0x74 }, - { 0xCA, 0x4D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPalette -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetPalette, 4034, 12) -#else -OOVPA_XREF(D3DDevice_SetPalette, 4034, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x10, XREF_OFFSET_D3DDEVICE_M_PALETTES ), // Derived -#endif - { 0x00, 0x53 }, - { 0x08, 0x57 }, - { 0x1B, 0x89 }, - { 0x1C, 0x48 }, - - { 0x4D, 0x39 }, - { 0x4E, 0x55 }, - { 0x4F, 0x8B }, - { 0x50, 0x2B }, - { 0x51, 0x81 }, - { 0x52, 0xC5 }, - { 0x53, 0x00 }, - { 0x54, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4034, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x18, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - // D3DDevice_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07 - { 0x13, 0xC1 }, - { 0x14, 0xE0 }, - { 0x15, 0x07 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x25 : cmp eax, ecx - { 0x25, 0x3B }, - { 0x26, 0xC1 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x6C : mov edi, 0x2400 - { 0x6C, 0xBF }, - { 0x6E, 0x24 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0xB4 : shl edx, 0x04 - { 0xB4, 0xC1 }, - { 0xB5, 0xE2 }, - { 0xB6, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetMaterial, 4034, 12) - - // D3DDevice_SetMaterial+0x0C : add edi, 0x0B70 - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0x70 }, - { 0x0F, 0x0B }, - - // D3DDevice_SetMaterial+0x12 : mov ecx, 0x11 - { 0x12, 0xB9 }, - { 0x13, 0x11 }, - - // D3DDevice_SetMaterial+0x1F : or ecx, 0x1000 - { 0x1F, 0x81 }, - { 0x20, 0xC9 }, - { 0x21, 0x00 }, - { 0x22, 0x10 }, - - // D3DDevice_SetMaterial+0x2D : retn 0x04 - { 0x2D, 0xC2 }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 4034, 14) - - // D3DDevice_SetVertexShader+0x06 : test bl, 1 - { 0x06, 0xF6 }, - { 0x07, 0xC3 }, - { 0x08, 0x01 }, - - // D3DDevice_SetVertexShader+0x11 : mov eax, [esi+0x04F8] - { 0x11, 0x8B }, - { 0x12, 0x86 }, - { 0x13, 0xF8 }, - { 0x14, 0x04 }, - - // D3DDevice_SetVertexShader+0x90 : retn 0x04 - { 0x90, 0xC2 }, - { 0x91, 0x04 }, - - // D3DDevice_SetVertexShader+0xB0 : mov dword ptr [eax], 0x4194C - { 0xB0, 0xC7 }, - { 0xB1, 0x00 }, - { 0xB2, 0x4C }, - { 0xB3, 0x19 }, - { 0xB4, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Swap -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Swap, 4034, 20) // Up to 4432 - - { 0x00, 0x53 }, - - { 0x0E, 0x75 }, - { 0x0F, 0x05 }, - { 0x10, 0xBB }, - { 0x11, 0x05 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x8B }, - { 0x16, 0x46 }, - { 0x17, 0x08 }, - { 0x18, 0xF6 }, - { 0x19, 0xC4 }, - { 0x1A, 0x40 }, - { 0x1B, 0x74 }, - { 0x1C, 0x4E }, - { 0x1D, 0xF6 }, - { 0x1E, 0xC3 }, - { 0x1F, 0x03 }, - - { 0x29, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3D_KickOffAndWaitForIdle -// ****************************************************************** -OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 4034, 9) - - // D3D_KickOffAndWaitForIdle+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3D_KickOffAndWaitForIdle+0x05 : mov ecx, [eax+0x30] - { 0x05, 0x8B }, - { 0x06, 0x48 }, - { 0x07, 0x30 }, - - // D3D_KickOffAndWaitForIdle+0x08 : push 0 - { 0x08, 0x6A }, - { 0x09, 0x00 }, - - // D3D_KickOffAndWaitForIdle+0x0A : push ecx - { 0x0A, 0x51 }, - - // D3D_KickOffAndWaitForIdle+0x0B : call [addr] - { 0x0B, 0xE8 }, - - // D3D_KickOffAndWaitForIdle+0x10 : retn - { 0x10, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CreateStandAloneSurface -// ****************************************************************** -OOVPA_XREF(D3D_CreateStandAloneSurface, 4034, 12, - - XREF_D3D_CreateStandAloneSurface, - XRefZero) - - { 0x01, 0x54 }, - - { 0x17, 0x14 }, - { 0x18, 0x6A }, - { 0x19, 0x00 }, - { 0x1A, 0x6A }, - { 0x1B, 0x00 }, - { 0x1C, 0x6A }, - { 0x1D, 0x00 }, - { 0x1E, 0x52 }, - { 0x1F, 0x6A }, - - { 0x36, 0xF0 }, - { 0x4B, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateImageSurface -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateImageSurface, 4034, 1+1, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_D3D_CreateStandAloneSurface ), - - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 4034, 12) - - // D3DDevice_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF - { 0x04, 0x83 }, - { 0x05, 0xF8 }, - { 0x06, 0xFF }, - - // D3DDevice_GetBackBuffer+0x0D : jnz +0x07 - { 0x0D, 0x75 }, - { 0x0E, 0x07 }, - - // D3DDevice_GetBackBuffer+0x18 : sbb eax, eax - { 0x18, 0x1B }, - { 0x19, 0xC0 }, - - // D3DDevice_GetBackBuffer+0x1D : mov eax, [ecx+eax*4+0x21FC] - { 0x1D, 0x8B }, - { 0x1E, 0x84 }, - { 0x1F, 0x81 }, - { 0x20, 0xFC }, - { 0x21, 0x21 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant, 4034, 10) - - // D3DDevice_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x08] - { 0x11, 0x8A }, - { 0x12, 0x4B }, - { 0x13, 0x08 }, - - // D3DDevice_SetVertexShaderConstant+0x1A : test cl, 0x10 - { 0x1A, 0xF6 }, - { 0x1B, 0xC1 }, - { 0x1C, 0x10 }, - - // D3DDevice_SetVertexShaderConstant+0x60 : jle +0x19 - { 0x60, 0x7E }, - { 0x61, 0x19 }, - - // D3DDevice_SetVertexShaderConstant+0x98 : retn 0x0C - { 0x98, 0xC2 }, - { 0x99, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetTransform, 4034, 12) // Also for 4134 - - // D3DDevice_GetTransform+0x0A : shl ecx, 0x06 - { 0x0A, 0xC1 }, - { 0x0B, 0xE1 }, - { 0x0C, 0x06 }, - - // D3DDevice_GetTransform+0x12 : lea esi, [ecx+eax+*numb*] - { 0x12, 0x8D }, - { 0x13, 0xB4 }, - { 0x14, 0x01 }, - - // D3DDevice_GetTransform+0x19 : mov ecx, 0x10 - { 0x19, 0xB9 }, - { 0x1A, 0x10 }, - - // D3DDevice_GetTransform+0x20 : pop edi, pop esi - { 0x20, 0x5F }, - { 0x21, 0x5E }, - - // D3DDevice_GetTransform+0x22 : retn 0x08 - { 0x22, 0xC2 }, - { 0x23, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SelectVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4034, 12) - - // D3DDevice_SelectVertexShader+0x00 : mov eax, [esp+4] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SelectVertexShader+0x3B : mov dword ptr [eax], 0x00081E94 - { 0x3B, 0xC7 }, - { 0x3C, 0x00 }, - { 0x3D, 0x94 }, - { 0x3E, 0x1E }, - { 0x3F, 0x08 }, - { 0x40, 0x00 }, - - // D3DDevice_SelectVertexShader+0x55 : mov [esi], eax - { 0x55, 0x89 }, - { 0x56, 0x06 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4034, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x25B0 - { 0x17, 0x05 }, - { 0x18, 0xB0 }, - { 0x19, 0x25 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 4039, 9) -#else -OOVPA_XREF(D3DDevice_SetRenderTarget, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x17, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived TODO : Verify offset -#endif - { 0x06, 0x35 }, - { 0x12, 0x3B }, - { 0x13, 0xFB }, - { 0x14, 0x75 }, - { 0x15, 0x0C }, - { 0x16, 0x8B }, - { 0x1A, 0x00 }, - { 0x1F, 0x4C }, - { 0x32, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShader -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4034, 12) -#else -OOVPA_XREF(D3DDevice_SetPixelShader, 4034, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x10, XREF_OFFSET_D3DDEVICE_M_PIXELSHADER ), // Derived -#endif - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x85 }, - { 0x05, 0xC0 }, - { 0x06, 0x53 }, - { 0x07, 0x8B }, - { 0x08, 0x1D }, - //{ 0x09, 0xA0 }, // disabled: part of an offset - { 0x18, 0x00 }, - { 0x1D, 0x0D }, - { 0x3F, 0xA3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Begin -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Begin, 4039, 13) - - { 0x07, 0xE8 }, - - { 0x18, 0x8B }, - { 0x19, 0x4C }, - { 0x1A, 0x24 }, - { 0x1B, 0x08 }, - { 0x1C, 0xC7 }, - { 0x1D, 0x00 }, - { 0x1E, 0xFC }, - { 0x1F, 0x17 }, - { 0x20, 0x04 }, - { 0x21, 0x00 }, - - { 0x32, 0xC2 }, - { 0x33, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4034, 9) - - { 0x08, 0x1D }, - { 0x1A, 0x81 }, - { 0x1B, 0xE1 }, - { 0x1C, 0xFF }, - { 0x1D, 0xFD }, - { 0x1E, 0xFF }, - { 0x1F, 0xFF }, - { 0x38, 0x00 }, - { 0x43, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::BlockOnResource -// ****************************************************************** -OOVPA_XREF(D3D_BlockOnResource, 4034, 12, - - XREF_D3D_BlockOnResource, - XRefZero) - - { 0x00, 0xA1 }, - { 0x05, 0x85 }, - { 0x18, 0x00 }, - { 0x19, 0x05 }, - { 0x1A, 0x00 }, - { 0x1B, 0x56 }, - { 0x1C, 0x75 }, - { 0x1D, 0x28 }, - { 0x1E, 0x8B }, - { 0x1F, 0x70 }, - { 0x40, 0x5E }, - { 0x4A, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4039, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x25AC], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0xAC }, - { 0x0D, 0x25 }, - { 0x0E, 0x00 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, - { 0x12, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2f -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 4039, 14) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - { 0x02, 0x35 }, - { 0x07, 0x8B }, - { 0x18, 0x14 }, - { 0x19, 0xCD }, - { 0x1A, 0x80 }, - { 0x1B, 0x18 }, - { 0x1C, 0x08 }, - { 0x1D, 0x00 }, - { 0x1E, 0x8B }, - { 0x1F, 0x4C }, - { 0x34, 0xC2 }, - { 0x35, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4f -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 4039, 11) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x18, 0xF9 }, - { 0x19, 0xFF }, - { 0x1A, 0x75 }, - { 0x1B, 0x07 }, - { 0x1C, 0xB9 }, - { 0x1D, 0x18 }, - { 0x1E, 0x15 }, - { 0x1F, 0x00 }, - { 0x56, 0xC2 }, -/* - { 0x0A, 0x46 }, - { 0x16, 0x08 }, - { 0x22, 0x09 }, - { 0x2E, 0x24 }, - { 0x3A, 0x24 }, - { 0x46, 0x8B }, - { 0x52, 0x14 },*/ -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexDataColor -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 4039, 13) - - { 0x02, 0x35 }, - - { 0x14, 0x8B }, - { 0x15, 0x4C }, - { 0x16, 0x24 }, - { 0x17, 0x0C }, - { 0x18, 0x8D }, - { 0x19, 0x14 }, - { 0x1A, 0x8D }, - { 0x1B, 0x40 }, - { 0x1C, 0x19 }, - { 0x1D, 0x04 }, - { 0x1E, 0x00 }, - { 0x25, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_End -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_End, 4039, 16) // Up to 5233 - - { 0x01, 0x8B }, - { 0x07, 0x8B }, - { 0x0E, 0xE8 }, - { 0x16, 0x17 }, - { 0x1E, 0x00 }, - - { 0x22, 0x08 }, - { 0x23, 0x89 }, - { 0x24, 0x06 }, - { 0x25, 0x8B }, - { 0x26, 0x46 }, - { 0x27, 0x08 }, - { 0x28, 0xF6 }, - { 0x29, 0xC4 }, - - { 0x2E, 0x01 }, - { 0x36, 0x08 }, - { 0x3C, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetFlickerFilter -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 4034, 12) - - // D3DDevice_SetFlickerFilter+0x0A : mov edx, [ecx+0x23E8] - { 0x0A, 0x8B }, - { 0x0B, 0x91 }, - { 0x0C, 0xE8 }, - { 0x0D, 0x23 }, - - // D3DDevice_SetFlickerFilter+0x10 : push 0; push eax; push 0x0B; push edx - { 0x10, 0x6A }, - { 0x11, 0x00 }, - { 0x12, 0x50 }, - { 0x13, 0x6A }, - { 0x14, 0x0B }, - { 0x15, 0x52 }, - - // D3DDevice_SetFlickerFilter+0x1C : retn 0x08 - { 0x1C, 0xC2 }, - { 0x1D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSoftDisplayFilter -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 4034, 12) - - // D3DDevice_SetSoftDisplayFilter+0x0A : mov edx, [ecx+0x23E8] - { 0x0A, 0x8B }, - { 0x0B, 0x91 }, - { 0x0C, 0xE8 }, - { 0x0D, 0x23 }, - - // D3DDevice_SetSoftDisplayFilter+0x10 : push 0; push eax; push 0x0E; push edx - { 0x10, 0x6A }, - { 0x11, 0x00 }, - { 0x12, 0x50 }, - { 0x13, 0x6A }, - { 0x14, 0x0E }, - { 0x15, 0x52 }, - - // D3DDevice_SetSoftDisplayFilter+0x1C : retn 0x08 - { 0x1C, 0xC2 }, - { 0x1D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_PSTextureModes -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_PSTextureModes, 4034, 10) - - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - { 0x10, 0x81 }, - { 0x11, 0x0D }, - { 0x16, 0x00 }, - { 0x17, 0x40 }, - { 0x1A, 0xA3 }, - { 0x1F, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Dxt1NoiseEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4034, 11) - - { 0x01, 0x8B }, - - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x0F }, - { 0x13, 0xB6 }, - { 0x14, 0x48 }, - { 0x15, 0x0D }, - { 0x16, 0x8A }, - { 0x17, 0x91 }, - - { 0x49, 0xC7 }, - { 0x76, 0x1D }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_IsBusy -// ****************************************************************** -OOVPA_NO_XREF(D3DResource_IsBusy, 4039, 11) - - // D3DResource_IsBusy+0x24 : test eax, 0x780000 - { 0x24, 0xA9 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x27, 0x78 }, - - // D3DResource_IsBusy+0x35 : jnz +0x41 - { 0x35, 0x75 }, - { 0x36, 0x41 }, - - // D3DResource_IsBusy+0x4E : mov eax, [ecx+0x14] - { 0x4E, 0x8B }, - { 0x4F, 0x41 }, - { 0x50, 0x14 }, - - // D3DResource_IsBusy+0x76 : jnb +0x09 - { 0x76, 0x73 }, - { 0x77, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMode -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 4034, 12) -#else -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMode, 4034, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - // D3DDevice_SetRenderState_MultiSampleMode+0x0F : mov ecx, [eax+0x21F0] - { 0x0F, 0x8B }, - { 0x10, 0x88 }, -#ifndef WIP_LessVertexPatching - { 0x11, 0xF0 }, // disabled. part of an offset - { 0x12, 0x21 }, -#endif - - // D3DDevice_SetRenderState_MultiSampleMode+0x15 : cmp ecx, [eax+0x21FC] - { 0x15, 0x3B }, - { 0x16, 0x88 }, -#ifndef WIP_LessVertexPatching - { 0x17, 0xFC }, // disabled. part of an offset - { 0x18, 0x21 }, -#endif - - // D3DDevice_SetRenderState_MultiSampleMode+0x1B : jnz +0x0D - { 0x1B, 0x75 }, - { 0x1C, 0x0D }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x2A : retn 0x04 - { 0x2A, 0xC2 }, - { 0x2B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode -// ****************************************************************** -// Generic OOVPA as of 4034 and newer. -#ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, 1+10, - - XRefNoSaveIndex, - XRefOne) -#else -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, 2+10, - - XRefNoSaveIndex, - XRefTwo) -#endif - XREF_ENTRY( 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE ), // Derived - -#ifdef WIP_LessVertexPatching - XREF_ENTRY( 0x11, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - - { 0x00, 0x8B }, - //{ 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - { 0x0F, 0x8B }, - //{ 0x10, 0x88 }, - //{ 0x11, 0x70 }, - //{ 0x12, 0x20 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x3B }, - //{ 0x16, 0x88 }, - //{ 0x17, 0x7C }, - //{ 0x18, 0x20 }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x74 }, // MultiSampleRenderTargetMode 0x74 vs MultiSampleMode 0x75 - //{ 0x1C, 0x0D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4039, 17) - - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x57 }, - { 0x04, 0x8B }, - { 0x05, 0x3D }, - - { 0x11, 0xC0 }, - { 0x12, 0x89 }, - { 0x13, 0x44 }, - { 0x14, 0x24 }, - { 0x15, 0x04 }, - { 0x16, 0x74 }, - { 0x17, 0x0F }, - { 0x18, 0x50 }, - { 0x19, 0xFF }, - { 0x1A, 0x15 }, - - { 0x1F, 0x6A }, - - { 0x3F, 0xAF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LineWidth -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 4034, 14) - - { 0x0C, 0x89 }, - - { 0x30, 0x8B }, - { 0x46, 0xE8 }, - - { 0x4B, 0xC7 }, - { 0x53, 0x04 }, - { 0x54, 0x83 }, - { 0x55, 0xC0 }, - { 0x56, 0x08 }, - { 0x57, 0x5F }, - { 0x58, 0x89 }, - { 0x59, 0x06 }, - { 0x5A, 0x5E }, - { 0x5B, 0x89 }, - { 0x5C, 0x1D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_OcclusionCullEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, 12) - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x15 : jb +0x05 - { 0x15, 0x72 }, - { 0x16, 0x05 }, - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x41 : cmp [abs], 0x1E00 - { 0x41, 0x81 }, - { 0x47, 0x00 }, - { 0x48, 0x1E }, - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x50 : mov dword ptr [eax], 0x41D84 - { 0x50, 0xC7 }, - { 0x51, 0x00 }, - { 0x52, 0x84 }, - { 0x53, 0x1D }, - { 0x54, 0x04 }, - - // D3DDevice_SetRenderState_OcclusionCullEnable+0x5F : retn 0x04 - { 0x5F, 0xC2 }, - { 0x60, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilCullEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_StencilCullEnable, 4034, 1+12, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_SetRenderState_StencilCullEnable+0x0C : D3D__RenderState[D3DRS_STENCILCULLENABLE] - XREF_ENTRY( 0x0C, XREF_D3DRS_STENCILCULLENABLE ), // Derived - - // D3DDevice_SetRenderState_StencilCullEnable+0x15 : jb +0x05 - { 0x15, 0x72 }, - { 0x16, 0x05 }, - - // D3DDevice_SetRenderState_StencilCullEnable+0x41 : cmp [abs], 0x1E00 - { 0x41, 0x81 }, - { 0x47, 0x00 }, - { 0x48, 0x1E }, - - // D3DDevice_SetRenderState_StencilCullEnable+0x50 : mov dword ptr [eax], 0x41D84 - { 0x50, 0xC7 }, - { 0x51, 0x00 }, - { 0x52, 0x84 }, - { 0x53, 0x1D }, - { 0x54, 0x04 }, - - // D3DDevice_SetRenderState_StencilCullEnable+0x5F : retn 0x04 - { 0x5F, 0xC2 }, - { 0x60, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_GetType -// ****************************************************************** -OOVPA_NO_XREF(D3DResource_GetType, 4034, 7) - - { 0x10, 0x77 }, - { 0x22, 0x83 }, - { 0x34, 0x00 }, - { 0x46, 0x74 }, - { 0x58, 0x00 }, - { 0x6A, 0x74 }, - { 0x7C, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 4039, 13) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x57 }, - { 0x07, 0x8B }, - { 0x08, 0x3D }, - - { 0x24, 0x4D }, - { 0x30, 0x97 }, - - { 0x62, 0x00 }, - { 0x85, 0xB7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 4039, 15) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x57 }, - { 0x09, 0x8B }, - { 0x0A, 0x3D }, - - { 0x25, 0x8B }, - { 0x3D, 0x87 }, - - { 0x48, 0x00 }, - { 0x5C, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDisplayMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4039, 24) - - { 0x00, 0x56 }, - - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x8B }, - { 0x0E, 0x41 }, - { 0x0F, 0x10 }, - { 0x10, 0x85 }, - { 0x11, 0xC0 }, - { 0x12, 0x57 }, - { 0x13, 0x75 }, - { 0x14, 0x12 }, - { 0x15, 0x8B }, - { 0x16, 0x49 }, - { 0x17, 0x0C }, - { 0x18, 0xC1 }, - { 0x19, 0xE9 }, - { 0x1A, 0x14 }, - { 0x1B, 0x83 }, - { 0x1C, 0xE1 }, - { 0x1D, 0x0F }, - { 0x1E, 0xB8 }, - { 0x1F, 0x01 }, - - { 0x4C, 0xD3 }, - { 0x4D, 0xE0 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BumpEnv -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 4034, 12) - - // D3DDevice_SetTextureState_BumpEnv+0x18 : jnz +0x03 - { 0x18, 0x75 }, - { 0x19, 0x03 }, - - // D3DDevice_SetTextureState_BumpEnv+0x1D : test bl, 3 - { 0x1D, 0xF6 }, - { 0x1E, 0xC3 }, - { 0x1F, 0x03 }, - - // D3DDevice_SetTextureState_BumpEnv+0x32 : mov ecx, [esp+0x14] - { 0x32, 0x8B }, - { 0x33, 0x4C }, - { 0x34, 0x24 }, - { 0x35, 0x18 }, - - // D3DDevice_SetTextureState_BumpEnv+0x50 : shl esi, 5 - { 0x50, 0xC1 }, - { 0x51, 0xE6 }, - { 0x52, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::KickOff -// ****************************************************************** -OOVPA_XREF(D3DDevice_KickOff, 4034, 15, - - XREF_D3D_CDevice_KickOff, - XRefZero) - - { 0x00, 0x51 }, - { 0x0E, 0x04 }, - { 0x0F, 0x74 }, - { 0x10, 0x08 }, - { 0x11, 0x8B }, - { 0x12, 0x89 }, - { 0x1B, 0xA1 }, - - { 0x80, 0x08 }, - { 0x81, 0x00 }, - { 0x82, 0x20 }, - { 0x83, 0x00 }, - { 0x84, 0x00 }, - { 0x85, 0x59 }, - { 0x86, 0xC3 }, - { 0x87, 0xB8 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetFence -// ****************************************************************** -OOVPA_XREF(D3D_SetFence, 4034, 16, - - XREF_D3D_SetFence, - XRefZero) - - { 0x02, 0x35 }, - - { 0x07, 0x8B }, - { 0x0D, 0x72 }, - - { 0x1E, 0xC9 }, - { 0x1F, 0x89 }, - { 0x20, 0x48 }, - { 0x21, 0x0C }, - { 0x22, 0x89 }, - { 0x23, 0x48 }, - { 0x24, 0x14 }, - { 0x25, 0xC7 }, - - { 0x2E, 0xBA }, - { 0x2F, 0x90 }, - { 0x30, 0x1D }, - { 0x31, 0x04 }, - { 0x32, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_RunPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4039, 8) - - { 0x1E, 0x07 }, - { 0x3E, 0x00 }, - { 0x5E, 0x46 }, - { 0x7E, 0x24 }, - { 0x9E, 0x18 }, - { 0xBE, 0x74 }, - { 0xE2, 0x8B }, - { 0xFE, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::BlockOnTime -// ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 4034, 10, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x07, 0x3D }, - - { 0x18, 0x8B }, - { 0x19, 0xC8 }, - { 0x1A, 0x2B }, - { 0x1B, 0xCE }, - { 0x1C, 0x3B }, - { 0x1D, 0xCA }, - { 0x1E, 0x0F }, - { 0x1F, 0x83 }, - - { 0x2F, 0x53 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTile -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTile, 4034, 12) - - { 0x05, 0x1D }, - - { 0x17, 0x46 }, - { 0x18, 0x04 }, - { 0x19, 0x74 }, - { 0x1A, 0x69 }, - { 0x1B, 0xB9 }, - { 0x1C, 0x06 }, - { 0x1D, 0x00 }, - { 0x1E, 0x00 }, - { 0x1D, 0x00 }, - - { 0x7B, 0x5F }, - { 0x8A, 0x76 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4039, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xFC }, // D3DDevice_GetVertexShader 0xFC vs D3DDevice_GetPixelShader 0xE8 - { 0x08, 0x04 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4039, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xE8 }, // D3DDevice_GetVertexShader 0xFC vs D3DDevice_GetPixelShader 0xE8 - { 0x08, 0x04 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 4039, 12) - - { 0x00, 0x8B }, - { 0x0C, 0x24 }, - - { 0x15, 0x57 }, - { 0x16, 0x8B }, - { 0x17, 0x7C }, - { 0x18, 0x24 }, - { 0x19, 0x10 }, - { 0x1A, 0x8D }, - { 0x1B, 0xB4 }, - { 0x1C, 0x10 }, - - { 0x28, 0x8B }, - { 0x2F, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_IsFencePending -// ****************************************************************** -OOVPA_XREF(D3DDevice_IsFencePending, 4039, 1+5, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_D3DDEVICE ), // Derived - - { 0x07, 0x34 }, - { 0x0A, 0x30 }, - { 0x10, 0xD1 }, - { 0x17, 0x1B }, - { 0x1C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScreenSpaceOffset -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 4034, 11) // Up to 5344 - - { 0x06, 0x56 }, - { 0x07, 0xD8 }, - { 0x08, 0x44 }, - { 0x09, 0x24 }, - { 0x0A, 0x08 }, - { 0x0B, 0x8B }, - { 0x0C, 0x35 }, - - { 0x2E, 0x8B }, - { 0x2F, 0x06 }, - { 0x46, 0xC2 }, - { 0x47, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::LazySetPointParams -// ****************************************************************** -OOVPA_NO_XREF(D3D_LazySetPointParams, 4034, 7) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x14 }, - { 0x4E, 0xE0 }, - { 0x73, 0xF6 }, - { 0x74, 0xC4 }, - { 0x75, 0x41 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 4039, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x05B4] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xB4 }, - { 0x08, 0x05 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x05 : mov [eax+0x05B4], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0xB4 }, - { 0x0F, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::SetStateVB -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetStateVB, 4034, 17) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x0C }, - - { 0x41, 0x0F }, - { 0x42, 0x84 }, - { 0x43, 0x41 }, - { 0x44, 0x01 }, - { 0x45, 0x00 }, - { 0x46, 0x00 }, - { 0x47, 0x8B }, - { 0x48, 0x86 }, - { 0x49, 0xF8 }, - { 0x4A, 0x04 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - - { 0x66, 0x3B }, - { 0x67, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::SetStateUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetStateUP, 4034, 15) - - { 0x00, 0xA1 }, - - { 0x2F, 0x8B }, - { 0x30, 0x86 }, - { 0x31, 0xF8 }, - { 0x32, 0x04 }, - { 0x33, 0x00 }, - { 0x34, 0x00 }, - { 0x35, 0x8B }, - { 0x36, 0x4E }, - { 0x37, 0x04 }, - { 0x38, 0x53 }, - { 0x39, 0x8B }, - { 0x3A, 0x58 }, - - { 0x4F, 0x3B }, - { 0x50, 0xC1 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl deleted file mode 100644 index d1ed792e4..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ /dev/null @@ -1,1051 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4134.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_GetBackBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 4134, 12) - - // D3DDevice_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF - { 0x04, 0x83 }, - { 0x05, 0xF8 }, - { 0x06, 0xFF }, - - // D3DDevice_GetBackBuffer+0x0D : jnz +0x07 - { 0x0D, 0x75 }, - { 0x0E, 0x07 }, - - // D3DDevice_GetBackBuffer+0x18 : sbb eax, eax - { 0x18, 0x1B }, - { 0x19, 0xC0 }, - - // D3DDevice_GetBackBuffer+0x1D : mov eax, [ecx+eax*4+0x207C] - { 0x1D, 0x8B }, - { 0x1E, 0x84 }, - { 0x1F, 0x81 }, - { 0x20, 0x7C }, - { 0x21, 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 4134, 9) -#else -OOVPA_XREF(D3DDevice_SetRenderTarget, 4134, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x17, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived TODO : Verify offset -#endif - // D3DDevice_SetRenderTarget+0x00 : sub esp, 0x3C - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x3C }, - - // D3DDevice_SetRenderTarget+014 : jnz +0x0C - { 0x14, 0x75 }, - { 0x15, 0x0C }, - - // D3DDevice_SetRenderTarget+0x44 : push ebp - { 0x44, 0x55 }, - - // D3DDevice_SetRenderTarget+0x79 : shr ecx, 0x14 - { 0x79, 0xC1 }, - { 0x7A, 0xE9 }, - { 0x7B, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4134, 13) - - // D3DDevice_SetRenderState_ZEnable+0x0C : jb +0x05 - { 0x0C, 0x72 }, - { 0x0D, 0x05 }, - - // D3DDevice_SetRenderState_ZEnable+0x1B : mov edx, [esi+0x2074h] - { 0x1B, 0x8B }, - { 0x1C, 0x96 }, - { 0x1D, 0x74 }, - { 0x1E, 0x20 }, - - // D3DDevice_SetRenderState_ZEnable+0x31 : mov dword ptr [eax], 0x4030C - { 0x31, 0xC7 }, - { 0x32, 0x00 }, - { 0x33, 0x0C }, - { 0x34, 0x03 }, - { 0x35, 0x04 }, - - // D3DDevice_SetRenderState_ZEnable+0x98 : retn 0x04 - { 0x98, 0xC2 }, - { 0x99, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 4134, 14) - - // D3DDevice_SetVertexShader+0x06 : test bl, 1 - { 0x06, 0xF6 }, - { 0x07, 0xC3 }, - { 0x08, 0x01 }, - - // D3DDevice_SetVertexShader+0x11 : mov eax, [esi+0x0380] - { 0x11, 0x8B }, - { 0x12, 0x86 }, - { 0x13, 0x80 }, - { 0x14, 0x03 }, - - // D3DDevice_SetVertexShader+0x90 : retn 0x04 - { 0x90, 0xC2 }, - { 0x91, 0x04 }, - - // D3DDevice_SetVertexShader+0xB0 : mov dword ptr [eax], 0x4194C - { 0xB0, 0xC7 }, - { 0xB1, 0x00 }, - { 0xB2, 0x4C }, - { 0xB3, 0x19 }, - { 0xB4, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetMaterial, 4134, 12) - - // D3DDevice_SetMaterial+0x0C : add edi, 0x0940 - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0xF0 }, - { 0x0F, 0x09 }, - - // D3DDevice_SetMaterial+0x12 : mov ecx, 0x11 - { 0x12, 0xB9 }, - { 0x13, 0x11 }, - - // D3DDevice_SetMaterial+0x1F : or ecx, 0x1000 - { 0x1F, 0x81 }, - { 0x20, 0xC9 }, - { 0x21, 0x00 }, - { 0x22, 0x10 }, - - // D3DDevice_SetMaterial+0x2D : retn 0x04 - { 0x2D, 0xC2 }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetMaterial, 4134, 11) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - { 0x0D, 0xF0 }, - { 0x0E, 0x09 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0xB9 }, - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 4134, 12) - - // D3DDevice_SetBackMaterial+0x0C : add edi, 0x0A34 - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0x34 }, - { 0x0F, 0x0A }, - - // D3DDevice_SetBackMaterial+0x12 : mov ecx, 0x11 - { 0x12, 0xB9 }, - { 0x13, 0x11 }, - - // D3DDevice_SetBackMaterial+0x1F : or ecx, 0x1000 - { 0x1F, 0x81 }, - { 0x20, 0xC9 }, - { 0x21, 0x00 }, - { 0x22, 0x10 }, - - // D3DDevice_SetBackMaterial+0x2D : retn 0x04 - { 0x2D, 0xC2 }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 4134, 11) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - - { 0x0D, 0x34 }, - { 0x0E, 0x0A }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0xB9 }, - { 0x12, 0x11 }, - - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 4134, 12) - - // D3DDevice_SetRenderState_MultiSampleMode+0x0F : mov ecx, [eax+0x2070] - { 0x0F, 0x8B }, - { 0x10, 0x88 }, - { 0x11, 0x70 }, - { 0x12, 0x20 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x15 : cmp ecx, [eax+0x207C] - { 0x15, 0x3B }, - { 0x16, 0x88 }, - { 0x17, 0x7C }, - { 0x18, 0x20 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x1B : jnz +0x0D - { 0x1B, 0x75 }, - { 0x1C, 0x0D }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x2A : retn 0x04 - { 0x2A, 0xC2 }, - { 0x2B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetFence -// ****************************************************************** -OOVPA_XREF(D3D_SetFence, 4134, 12, - - XREF_D3D_SetFence, - XRefZero) - - { 0x0D, 0x72 }, - { 0x0E, 0x0E }, - { 0x31, 0xBA }, - { 0x32, 0x90 }, - { 0x33, 0x1D }, - { 0x34, 0x04 }, - { 0x35, 0x00 }, - { 0x45, 0x83 }, - { 0x46, 0xE1 }, - { 0x47, 0x3F }, - { 0xAA, 0xC2 }, - { 0xAB, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4134, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x2430 - { 0x17, 0x05 }, - { 0x18, 0x30 }, - { 0x19, 0x24 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -/* NOTE: This may look the similar as SetSwapCallback. - It might be a Offset 0Ch is increment +4. */ -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4134, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x242C], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x2C }, // 28 vs 2C - { 0x0D, 0x24 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -/* This may look the same as 4361, but accuracy is not gauranteed. - It might be a SetVerticalBlankCallback that has an identical signature... */ -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4134, 12) - - // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x2428], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x28 }, // 28 vs 2C - { 0x0D, 0x24 }, - - // D3DDevice_SetSwapCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetFlickerFilter -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 4134, 18) - - { 0x01, 0x0D }, - - { 0x0D, 0x56 }, - { 0x0E, 0x8B }, - { 0x0F, 0x74 }, - { 0x10, 0x24 }, - { 0x11, 0x08 }, - { 0x12, 0x74 }, - { 0x13, 0x08 }, - { 0x14, 0x39 }, - { 0x15, 0x35 }, - - { 0x22, 0x6A }, - { 0x23, 0x00 }, - { 0x24, 0x56 }, - { 0x25, 0x6A }, - { 0x26, 0x0B }, - { 0x27, 0x50 }, - - { 0x3F, 0xC2 }, - { 0x40, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSoftDisplayFilter -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 4134, 13) - - { 0x01, 0x0D }, - - { 0x23, 0x74 }, - { 0x24, 0x28 }, - { 0x25, 0x8B }, - { 0x26, 0x90 }, - - { 0x2B, 0x6A }, - { 0x2C, 0x00 }, - { 0x2D, 0x56 }, - { 0x2E, 0x6A }, - { 0x2F, 0x0E }, - { 0x30, 0x52 }, - - { 0x4E, 0xC2 }, - { 0x4F, 0x04 }, - -/* - // D3DDevice_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x2268] - { 0x25, 0x8B }, - { 0x26, 0x90 }, - { 0x27, 0x68 }, - { 0x28, 0x22 },*/ - -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EnableOverlay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_EnableOverlay, 4134, 11) - - // D3DDevice_EnableOverlay+0x0B : mov ecx, [eax+0x8700] - { 0x0B, 0x8B }, - { 0x0C, 0x88 }, - { 0x0E, 0x87 }, - - // D3DDevice_EnableOverlay+0x15 : jz +0x0A - { 0x15, 0x74 }, - { 0x16, 0x0A }, - - // D3DDevice_EnableOverlay+0x5A : mov [eax+0x8918], ecx - { 0x5A, 0x89 }, - { 0x5B, 0x88 }, - { 0x5C, 0x18 }, - { 0x5D, 0x89 }, - - // D3DDevice_EnableOverlay+0x60 : retn 0x04 - { 0x60, 0xC2 }, - { 0x61, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetModelView -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetModelView, 4134, 7) - - { 0x05, 0x57 }, - { 0x0A, 0x85 }, - { 0x10, 0xB0 }, - { 0x16, 0x10 }, - { 0x1C, 0x5E }, - { 0x22, 0xC1 }, - { 0x28, 0xE0 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_MakeRequestedSpace -// ****************************************************************** -OOVPA_XREF(D3D_MakeRequestedSpace, 4134, 28, // Also for 4361, 4627 - - XREF_D3D_MakeRequestedSpace, - XRefZero) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x56 }, - { 0x04, 0x8B }, - { 0x05, 0x35 }, - - { 0x0A, 0xF6 }, - { 0x0B, 0x46 }, - { 0x0C, 0x08 }, - { 0x0D, 0x04 }, - { 0x0E, 0x8B }, - { 0x0F, 0x0E }, - { 0x10, 0x57 }, - { 0x11, 0x74 }, - { 0x12, 0x26 }, - { 0x13, 0x8B }, - { 0x14, 0x86 }, - { 0x15, 0x50 }, - { 0x16, 0x03 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x8B }, - { 0x1A, 0x78 }, - { 0x1B, 0x04 }, - { 0x1C, 0x8B }, - { 0x1D, 0x96 }, - { 0x1E, 0x54 }, - { 0x1F, 0x03 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPush2 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginPush2, 4134, 10) - - { 0x00, 0x56 }, - { 0x07, 0x6A }, - - { 0x10, 0x8B }, - { 0x11, 0x44 }, - { 0x12, 0x24 }, - { 0x13, 0x08 }, - { 0x14, 0x40 }, - { 0x15, 0x50 }, - { 0x16, 0x56 }, - { 0x17, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndPush -// ****************************************************************** -OOVPA_XREF(D3DDevice_EndPush, 4134, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x06, XREF_D3DDEVICE ), // Derived - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - { 0x0A, 0x89 }, - { 0x0B, 0x01 }, - { 0x0C, 0xC2 }, - { 0x0D, 0x04 }, - { 0x0E, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 4134, 10) - - { 0x07, 0x57 }, - { 0x1C, 0xBE }, - - { 0x50, 0xFC }, - { 0x51, 0xFD }, - { 0x52, 0xFF }, - { 0x53, 0xFF }, - { 0x54, 0x8B }, - { 0x55, 0x46 }, - { 0x56, 0x08 }, - { 0x57, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetModelView -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetModelView, 4134, 7) - - { 0x15, 0x25 }, - { 0x2F, 0x81 }, - { 0x43, 0x43 }, - { 0x5A, 0x04 }, - { 0x72, 0x8D }, - { 0x88, 0x00 }, - { 0x9F, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4s -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 4134, 10) - - { 0x00, 0x56 }, - { 0x08, 0x06 }, - - { 0x15, 0x24 }, - { 0x16, 0x08 }, - { 0x17, 0x8D }, - { 0x18, 0x14 }, - { 0x19, 0xCD }, - { 0x1A, 0x80 }, - { 0x1B, 0x19 }, - { 0x1F, 0xBF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderInput -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 4134, 16) - - { 0x03, 0x04 }, - { 0x04, 0x83 }, - { 0x05, 0xEC }, - { 0x06, 0x40 }, - { 0x07, 0x85 }, - { 0x08, 0xC0 }, - { 0x09, 0x53 }, - { 0x0A, 0x8B }, - { 0x0B, 0x1D }, - - { 0x19, 0x25 }, - { 0x1A, 0xFF }, - { 0x1B, 0xFF }, - { 0x1C, 0xFF }, - { 0x1D, 0xBF }, - { 0x1E, 0x83 }, - { 0x1F, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PrimeVertexCache -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PrimeVertexCache, 4134, 15) - - { 0x02, 0x2D }, - - { 0x07, 0x8B }, - { 0x08, 0x45 }, - { 0x09, 0x1C }, - { 0x0A, 0x56 }, - { 0x0B, 0x50 }, - { 0x0C, 0x8B }, - { 0x0D, 0xCD }, - - { 0x19, 0x00 }, - { 0x1A, 0x8B }, - { 0x1B, 0x4D }, - { 0x1C, 0x04 }, - { 0x1D, 0xD1 }, - { 0x1E, 0xEE }, - { 0x1F, 0x3B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_InsertCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_InsertCallback, 4134, 13) - - { 0x02, 0x35 }, - - { 0x07, 0x8B }, - { 0x0E, 0xA1 }, - - { 0x1F, 0x0C }, - { 0x20, 0x8B }, - { 0x21, 0x54 }, - { 0x22, 0x24 }, - { 0x23, 0x10 }, - { 0x24, 0xC7 }, - { 0x25, 0x00 }, - { 0x26, 0x8C }, - { 0x27, 0x1D }, - { 0x28, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4134, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x18 }, - { 0x08, 0x20 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_RunVertexStateShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_RunVertexStateShader, 4134, 7) - - { 0x09, 0x3B }, - { 0x14, 0x4C }, - { 0x1F, 0xC0 }, - { 0x2A, 0x40 }, - { 0x35, 0xF4 }, - { 0x40, 0xC7 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetProjectionViewportMatrix -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4134, 16) // Up to 4531 - - { 0x02, 0x35 }, - - { 0x07, 0x57 }, - - { 0x0E, 0x70 }, // 4361 0x7004 - { 0x0F, 0x04 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0xB9 }, - { 0x13, 0x10 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0xF3 }, - { 0x18, 0xA5 }, - { 0x19, 0x5F }, - { 0x1A, 0x5E }, - { 0x1B, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4ub -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 4134, 7) - - { 0x08, 0x06 }, - { 0x13, 0x8B }, - { 0x1C, 0x04 }, - { 0x26, 0x0F }, - { 0x30, 0x24 }, - { 0x3A, 0x24 }, - { 0x44, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CaptureStateBlock -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 4134, 12) - - { 0x14, 0x3D }, - { 0x36, 0x8B }, - - { 0x50, 0x83 }, - { 0x51, 0xC3 }, - { 0x52, 0x08 }, - { 0x53, 0xFF }, - { 0x54, 0x45 }, - { 0x55, 0xF8 }, - { 0x56, 0x8B }, - { 0x57, 0x45 }, - { 0x58, 0xF8 }, - - { 0x6A, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginStateBlock -// ****************************************************************** -OOVPA_XREF(D3DDevice_BeginStateBlock, 4134, 1+5, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_D3D_ClearStateBlockFlags ), - - // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_BeginStateBlock+0x05 : mov [eax+8], 0x20 - { 0x05, 0x83 }, - { 0x06, 0x48 }, - { 0x07, 0x08 }, - { 0x08, 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndStateBlock -// ****************************************************************** -OOVPA_XREF(D3DDevice_EndStateBlock, 4134, 1+5, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_D3D_RecordStateBlock ), - - // D3DDevice_EndStateBlock+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_EndStateBlock+0x05 : and [eax+8], 0xFFFFFFDF - { 0x05, 0x83 }, - { 0x06, 0x60 }, - { 0x07, 0x08 }, - { 0x08, 0xDF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4134, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x84 }, - { 0x08, 0x03 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4134, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x70 }, - { 0x08, 0x03 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 4134, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x043C] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x3C }, - { 0x08, 0x04 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x0C : mov [eax+0x043C], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0x3C }, - { 0x0F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2s -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 4134, 11) - - { 0x02, 0x35 }, - - { 0x17, 0x8D }, - { 0x18, 0x14 }, - { 0x19, 0x8D }, - { 0x1A, 0x00 }, - { 0x1B, 0x19 }, - { 0x1C, 0x04 }, - { 0x1D, 0x00 }, - { 0x1E, 0x0F }, - { 0x1F, 0xBF }, - { 0x25, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_FlushVertexCache -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_FlushVertexCache, 4134, 10) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x08, 0x06 }, - { 0x0D, 0x05 }, - { 0x13, 0xC7 }, - { 0x15, 0x10 }, - { 0x17, 0x04 }, - { 0x1C, 0x00 }, - { 0x21, 0xC0 }, - { 0x26, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetBackBufferScale -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 4134, 16) - - { 0x09, 0x86 }, - - { 0x10, 0xC1 }, - { 0x11, 0xE9 }, - { 0x12, 0x04 }, - { 0x13, 0x83 }, - { 0x14, 0xE1 }, - { 0x15, 0x0F }, - { 0x16, 0x85 }, - { 0x17, 0xC9 }, - - { 0x28, 0xD8 }, - { 0x29, 0x4C }, - { 0x2A, 0x24 }, - { 0x2B, 0x0C }, - { 0x2C, 0x83 }, - { 0x2D, 0xE0 }, - { 0x2E, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_MakeSpace -// ****************************************************************** -OOVPA_XREF(D3DDevice_MakeSpace, 4134, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0A, XREF_D3D_MakeRequestedSpace ), - - { 0x00, 0xA1 }, - { 0x05, 0x50 }, - { 0x06, 0xD1 }, - { 0x07, 0xE8 }, - { 0x08, 0x50 }, - { 0x09, 0xE8 }, - { 0x0E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_GetTexture2, 4134, 23) // Up to 4531 -#else -OOVPA_XREF(D3DDevice_GetTexture2, 4134, 1+23, // Up to 4531 - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - { 0x0A, 0x56 }, - { 0x0B, 0x8D }, - { 0x0C, 0xB4 }, - { 0x0D, 0x81 }, - { 0x0E, 0x78 }, // GetTexture 780A vs GetPalette 880A - { 0x0F, 0x0A }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x8B }, - { 0x13, 0x06 }, - { 0x14, 0x85 }, - { 0x15, 0xC0 }, - { 0x16, 0x74 }, - - { 0x18, 0x50 }, - { 0x19, 0xE8 }, - - { 0x1E, 0x8B }, - { 0x1F, 0x16 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::SetStateVB -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetStateVB, 4134, 17) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x0C }, - - { 0x41, 0x0F }, - { 0x42, 0x84 }, - { 0x43, 0x41 }, - { 0x44, 0x01 }, - { 0x45, 0x00 }, - { 0x46, 0x00 }, - { 0x47, 0x8B }, - { 0x48, 0x86 }, - { 0x49, 0x80 }, - { 0x4A, 0x03 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - - { 0x66, 0x3B }, - { 0x67, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::SetStateUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetStateUP, 4134, 15) - - { 0x00, 0xA1 }, - - { 0x2F, 0x8B }, - { 0x30, 0x86 }, - { 0x31, 0x80 }, - { 0x32, 0x03 }, - { 0x33, 0x00 }, - { 0x34, 0x00 }, - { 0x35, 0x8B }, - { 0x36, 0x4E }, - { 0x37, 0x04 }, - { 0x38, 0x53 }, - { 0x39, 0x8B }, - { 0x3A, 0x58 }, - - { 0x4F, 0x3B }, - { 0x50, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * Rollback support signature(s) -// ****************************************************************** -#define D3DDevice_BeginVisibilityTest_4134 D3DDevice_BeginVisibilityTest_3925 -#define D3DDevice_EndVisibilityTest_4134 D3DDevice_EndVisibilityTest_3925 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl deleted file mode 100644 index 0c02c0560..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl +++ /dev/null @@ -1,187 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4242.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4242, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x242C], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x30 }, // 2C vs 30 - { 0x0D, 0x24 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4242, 12) - - // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x242C], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x2C }, // 2C vs 30 - { 0x0D, 0x24 }, - - // D3DDevice_SetSwapCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 4242, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0440] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x40 }, - { 0x08, 0x04 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x05 : mov [eax+0x0440], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0x40 }, - { 0x0F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - // D3DDevice_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07 - { 0x0D, 0xC1 }, - { 0x0E, 0xE0 }, - { 0x0F, 0x07 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x24 : cmp eax, ecx - { 0x24, 0x3B }, - { 0x25, 0xC1 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x6B : mov esi, 0x2400 - { 0x6B, 0xBE }, - { 0x6D, 0x24 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0xB3 : shl edx, 0x04 - { 0xB3, 0xC1 }, - { 0xB4, 0xE2 }, - { 0xB5, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4242, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x2434 - { 0x17, 0x05 }, - { 0x18, 0x34 }, - { 0x19, 0x24 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport_IsFlipPending -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_IsFlipPending, 4242, 17) - - { 0x00, 0x8B }, - { 0x01, 0x81 }, - { 0x02, 0xF4 }, - { 0x03, 0x01 }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x06, 0x83 }, - { 0x07, 0xE0 }, - { 0x08, 0x01 }, - { 0x09, 0x8B }, - { 0x0A, 0x84 }, - { 0x0B, 0xC1 }, - { 0x0C, 0xB4 }, - { 0x0D, 0x01 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - { 0x10, 0xC3 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl deleted file mode 100644 index 7b036406d..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ /dev/null @@ -1,191 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4361.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3D_GetAdapterDisplayMode -// ****************************************************************** -OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 4361, 13) - - // D3D_GetAdapterDisplayMode+0x08 : mov eax, 0x8876086C - { 0x08, 0xB8 }, - { 0x09, 0x6C }, - { 0x0A, 0x08 }, - { 0x0B, 0x76 }, - { 0x0C, 0x88 }, - - // D3D_GetAdapterDisplayMode+0x18 : jnz +0x17 - { 0x18, 0x75 }, - { 0x19, 0x17 }, - - // D3D_GetAdapterDisplayMode+0x31 : mov ecx, [edx+0x2080] - { 0x31, 0x8B }, - { 0x32, 0x8A }, - { 0x33, 0x80 }, - { 0x34, 0x20 }, - - // D3D_GetAdapterDisplayMode+0xBD : retn 0x08 - { 0xBD, 0xC2 }, - { 0xBE, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4361, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x2434 - { 0x17, 0x05 }, - { 0x18, 0x34 }, - { 0x19, 0x24 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginVisibilityTest@0 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4361, 7) - - { 0x07, 0x8B }, - { 0x0A, 0x46 }, - { 0x13, 0xC7 }, - { 0x16, 0x17 }, - { 0x1C, 0x00 }, - { 0x22, 0x48 }, - { 0x28, 0x06 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTexture -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28) -#else -OOVPA_XREF(D3DDevice_SetTexture, 4361, 1+26, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x53 }, - { 0x04, 0x56 }, - { 0x05, 0x8B }, - { 0x06, 0x74 }, - { 0x07, 0x24 }, - { 0x08, 0x14 }, - { 0x09, 0x57 }, - { 0x0A, 0x8B }, - { 0x0B, 0x3D }, - - { 0x10, 0x8B }, - { 0x11, 0x84 }, - { 0x12, 0xB7 }, -#ifndef WIP_LessVertexPatching - { 0x13, 0x78 }, // disabled. part of an offset - { 0x14, 0x0A }, -#endif - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x85 }, - { 0x18, 0xC0 }, - { 0x19, 0x89 }, - { 0x1A, 0x7C }, - { 0x1B, 0x24 }, - { 0x1C, 0x0C }, - { 0x1D, 0x89 }, - { 0x1E, 0x44 }, - { 0x1F, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SelectVertexShaderDirect -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SelectVertexShaderDirect, 4361, 13) - - { 0x00, 0x56 }, - { 0x05, 0x85 }, - { 0x0C, 0x00 }, - - { 0x14, 0xF3 }, - { 0x15, 0xA5 }, - { 0x16, 0x5F }, - { 0x17, 0x5E }, - { 0x18, 0xB9 }, - - { 0x1D, 0x83 }, - { 0x1E, 0xC9 }, - { 0x1F, 0x01 }, - - { 0x29, 0x5E }, - { 0x32, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderInputDirect -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderInputDirect, 4361, 13) - - { 0x00, 0x56 }, - { 0x05, 0x85 }, - { 0x0C, 0x00 }, - - { 0x14, 0xF3 }, - { 0x15, 0xA5 }, - { 0x16, 0x5F }, - { 0x17, 0x5E }, - { 0x18, 0xBA }, - - { 0x1D, 0x83 }, - { 0x1E, 0xCA }, - { 0x1F, 0x01 }, - - { 0x29, 0x5E }, - { 0x32, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl deleted file mode 100644 index eca316bb4..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ /dev/null @@ -1,176 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4432.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4432, 12) - - { 0x08, 0x06 }, - { 0x0E, 0xE8 }, - - { 0x45, 0x48 }, - { 0x46, 0x0C }, - { 0x47, 0x83 }, - { 0x48, 0xC0 }, - { 0x49, 0x10 }, - { 0x4A, 0x89 }, - { 0x4B, 0x06 }, - { 0x4C, 0xA1 }, - - { 0x5A, 0x74 }, - { 0x60, 0x2A }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4432, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x2448 - { 0x17, 0x05 }, - { 0x18, 0x48 }, - { 0x19, 0x24 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4432, 12) - - // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x2444], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x40 }, // 40 vs 44 - { 0x0D, 0x24 }, - - // D3DDevice_SetSwapCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4432, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x2444], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x44 }, // 40 vs 44 - { 0x0D, 0x24 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetViewportOffsetAndScale -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 4432, 12) // Up to 5849 - - { 0x00, 0xA1 }, - { 0x19, 0x05 }, - - { 0x45, 0x00 }, - { 0x46, 0x8B }, - { 0x47, 0x50 }, - { 0x48, 0x08 }, - { 0x49, 0x33 }, - { 0x4A, 0xC9 }, - { 0x4B, 0x84 }, - { 0x4C, 0xF6 }, - - { 0x5B, 0x74 }, - { 0x5C, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetDepthClipPlanes -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 4432, 15) - - { 0x03, 0x0C }, - { 0x04, 0x48 }, - { 0x05, 0x83 }, - { 0x06, 0xF8 }, - { 0x07, 0x03 }, - { 0x08, 0x56 }, - { 0x09, 0x8B }, - { 0x0A, 0x35 }, - - { 0x0F, 0x77 }, - { 0x10, 0x5F }, - { 0x11, 0xFF }, - { 0x12, 0x24 }, - { 0x13, 0x85 }, - - { 0x18, 0x8B }, - { 0x1F, 0x0C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl deleted file mode 100644 index 21bd91cd5..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl +++ /dev/null @@ -1,175 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4531.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_Swap -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Swap, 4531, 11) - - // D3DDevice_Swap+0x10 : mov ebx, 5 - { 0x10, 0xBB }, - { 0x11, 0x05 }, - - // D3DDevice_Swap+0x1D : test bl, 3 - { 0x1D, 0xF6 }, - { 0x1E, 0xC3 }, - { 0x1F, 0x03 }, - - // D3DDevice_Swap+0x46 : inc dword ptr [esi+0x2AD8] - { 0x46, 0xFF }, - { 0x47, 0x86 }, - { 0x48, 0xD8 }, - { 0x49, 0x2A }, - - // D3DDevice_Swap+0xAE : retn 4 - { 0xB9, 0xC2 }, - { 0xBA, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DVertexBuffer_Lock -// ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4531, 11) - - // D3DVertexBuffer_Lock+0x01 : mov bl, [esp+0x18] - { 0x01, 0x8A }, - { 0x02, 0x5C }, - { 0x03, 0x24 }, - { 0x04, 0x18 }, - - // D3DVertexBuffer_Lock+0x09 : jnz +0x24 - { 0x09, 0x75 }, - { 0x0A, 0x24 }, - - // D3DVertexBuffer_Lock+0x2F : test bl, 0xA0 - { 0x2F, 0xF6 }, - { 0x30, 0xC3 }, - { 0x31, 0xA0 }, - - // D3DVertexBuffer_Lock+0x50 : retn 0x14 - { 0x54, 0xC2 }, - { 0x55, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_UpdateOverlay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4531, 11) // Up to 5120 - - { 0x03, 0xA1 }, - { 0x1A, 0x04 }, - { 0x1F, 0x7C }, - - { 0x6F, 0x8B }, - { 0x70, 0x4F }, - { 0x71, 0x04 }, - { 0x72, 0x8B }, - { 0x73, 0xD0 }, - { 0x74, 0x8B }, - { 0x75, 0x44 }, - { 0x76, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::KickOff -// ****************************************************************** -OOVPA_XREF(D3DDevice_KickOff, 4531, 13, - - XREF_D3D_CDevice_KickOff, - XRefZero) - - // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] - { 0x0B, 0x8B }, - { 0x0C, 0x91 }, - { 0x0D, 0x5C }, - { 0x0E, 0x03 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - - // D3D::CDevice::KickOff+0x1F : test ch, 0x20 - { 0x1F, 0xF6 }, - { 0x20, 0xC5 }, - { 0x21, 0x20 }, - - // D3D::CDevice::KickOff+0x2F : sfence - { 0x2F, 0x0F }, - { 0x30, 0xAE }, - { 0x31, 0xF8 }, - - // D3D::CDevice::KickOff+0xE2 : retn - { 0xE2, 0xC3 } -OOVPA_END; - -// ****************************************************************** -// * D3DPalette_Lock -// ****************************************************************** -OOVPA_NO_XREF(D3DPalette_Lock, 4531, 17) - - { 0x00, 0xF6 }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x0C }, - { 0x04, 0xA0 }, - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0x74 }, - { 0x08, 0x24 }, - { 0x09, 0x08 }, - { 0x0A, 0x75 }, - { 0x0B, 0x06 }, - { 0x0C, 0x56 }, - { 0x0D, 0xE8 }, - - { 0x12, 0x8B }, - { 0x21, 0xC2 }, - { 0x22, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPush -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginPush, 4531, 10) - - { 0x00, 0x56 }, - { 0x07, 0x6A }, - - { 0x10, 0x8B }, - { 0x11, 0x44 }, - { 0x12, 0x24 }, - { 0x13, 0x08 }, - { 0x14, 0x40 }, - { 0x15, 0x50 }, - { 0x16, 0x56 }, - { 0x17, 0xE8 }, -OOVPA_END; \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl deleted file mode 100644 index b6ed1ce8e..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ /dev/null @@ -1,1780 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4627.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_BeginVisibilityTest -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4627, 11) - - // D3DDevice_BeginVisibilityTest+0x13 : mov dword ptr [eax], 0x000817C8 - { 0x13, 0xC7 }, - { 0x14, 0x00 }, - { 0x15, 0xC8 }, - { 0x16, 0x17 }, - { 0x17, 0x08 }, - - // D3DDevice_BeginVisibilityTest+0x19 : mov ecx, 1 - { 0x19, 0xB9 }, - { 0x1A, 0x01 }, - { 0x1B, 0x00 }, - - // D3DDevice_BeginVisibilityTest+0x24 : add eax, 0x0C - { 0x24, 0x83 }, - { 0x25, 0xC0 }, - { 0x26, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3D_GetAdapterDisplayMode -// ****************************************************************** -// Generic OOVPA as of 4627 and newer. -OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 4627, 13) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x0A, 0x08 }, - { 0x0B, 0x76 }, - { 0x0C, 0x88 }, - { 0x0D, 0xC2 }, - { 0x0E, 0x08 }, - { 0x0F, 0x00 }, - { 0x10, 0x56 }, - { 0x11, 0x8B }, - { 0x12, 0x35 }, - - { 0x30, 0xC2 }, - { 0x31, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_KickOffAndWaitForIdle -// ****************************************************************** -OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 4627, 9) - - // D3D_KickOffAndWaitForIdle+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3D_KickOffAndWaitForIdle+0x05 : mov ecx, [eax+0x30] - { 0x05, 0x8B }, - { 0x06, 0x48 }, - { 0x07, 0x30 }, - - // D3D_KickOffAndWaitForIdle+0x08 : push 2 - { 0x08, 0x6A }, - { 0x09, 0x02 }, - - // D3D_KickOffAndWaitForIdle+0x0A : push ecx - { 0x0A, 0x51 }, - - // D3D_KickOffAndWaitForIdle+0x0B : call [addr] - { 0x0B, 0xE8 }, - - // D3D_KickOffAndWaitForIdle+0x10 : retn - { 0x10, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPush -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginPush, 4627, 7) - - { 0x08, 0x00 }, - { 0x12, 0x8B }, - { 0x1C, 0x02 }, - { 0x26, 0x72 }, - { 0x30, 0xE8 }, - { 0x3A, 0x76 }, - { 0x44, 0x52 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_CommonSetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_XREF(D3D_CommonSetRenderTarget, 4627, 12, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) -#else -OOVPA_XREF(D3D_CommonSetRenderTarget, 4627, 1+12, - - XREF_D3D_CommonSetRenderTarget, - XRefOne) - - XREF_ENTRY( 0x18, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - // D3D_CommonSetRenderTarget+0x00 : sub esp, 0x20 - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x20 }, - - // D3D_CommonSetRenderTarget+0x86 : jmp +0x06 - { 0x86, 0xEB }, - { 0x87, 0x06 }, - - // D3D_CommonSetRenderTarget+0x88 : and eax, 0x0FFF - { 0x88, 0x25 }, - { 0x89, 0xFF }, - { 0x8A, 0x0F }, - { 0x8B, 0x00 }, - - // D3D_CommonSetRenderTarget+0xC6 : and ecx, 0x0F - { 0xC6, 0x83 }, - { 0xC7, 0xE1 }, - { 0xC8, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderTarget, 4627, 1+12, - - XRefNoSaveIndex, - XRefOne) - - // D3DDevice_SetRenderTarget+0x10 : call [D3D_CommonSetRenderTarget] - XREF_ENTRY( 0x10, XREF_D3D_CommonSetRenderTarget ), - - // D3DDevice_SetRenderTarget+0x00 : mov eax, [esp+0x08] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - - // D3DDevice_SetRenderTarget+0x04 : mov ecx, [esp+0x04] - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x04 }, - - // D3DDevice_SetRenderTarget+0x0D : push eax; push ecx - { 0x0D, 0x50 }, - { 0x0E, 0x51 }, - - // D3DDevice_SetRenderTarget+0x14 : retn 0x08 - { 0x14, 0xC2 }, - { 0x15, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 4627, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0500] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x00 }, - { 0x08, 0x05 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x0C : mov [eax+0x0500], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0x00 }, - { 0x0F, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetGammaRamp -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 4627, 17) // Up to 5849 - - { 0x25, 0x57 }, - { 0x26, 0x83 }, - { 0x27, 0xE0 }, - { 0x28, 0x01 }, - - { 0x39, 0xF3 }, - { 0x3A, 0xA7 }, - - { 0x5A, 0x89 }, - { 0x5B, 0x82 }, - { 0x5C, 0xE4 }, - - { 0x70, 0x00 }, - { 0x71, 0xC7 }, - { 0x72, 0x84 }, - { 0x73, 0x82 }, - { 0x74, 0xDC }, - { 0x75, 0x07 }, - { 0x76, 0x00 }, - { 0x77, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CopyRects -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CopyRects, 4627, 8) - - { 0x1E, 0x57 }, - { 0x3E, 0xF6 }, - { 0x5E, 0x00 }, - { 0x7E, 0x01 }, - { 0x9E, 0x00 }, - { 0xBE, 0x0C }, - { 0xDE, 0xF7 }, - { 0xFE, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer -// ****************************************************************** -OOVPA_XREF(D3DDevice_GetBackBuffer, 4627, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x06, XREF_D3DDevice_GetBackBuffer2 ), - - { 0x03, 0x04 }, - { 0x05, 0xE8 }, - - { 0x0A, 0x8B }, - { 0x0B, 0x4C }, - { 0x0C, 0x24 }, - { 0x0D, 0x0C }, - { 0x0E, 0x89 }, - { 0x0F, 0x01 }, - { 0x10, 0xC2 }, - { 0x11, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer2 -// ****************************************************************** -OOVPA_XREF(D3DDevice_GetBackBuffer2, 4627, 12, - - XREF_D3DDevice_GetBackBuffer2, - XRefZero) - - // D3DDevice_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF - { 0x04, 0x83 }, - { 0x05, 0xF8 }, - { 0x06, 0xFF }, - - // D3DDevice_GetBackBuffer2+0x0D : jnz +0x19 - { 0x0D, 0x75 }, - { 0x0E, 0x19 }, - - // D3DDevice_GetBackBuffer2+0x12 : mov eax, 1 - { 0x0F, 0xB8 }, - { 0x13, 0x00 }, - - // D3DDevice_GetBackBuffer2+0x15 : mov esi, [ecx+eax*4+0xXXXX] - { 0x15, 0x8B }, - { 0x16, 0xB4 }, - { 0x17, 0x81 }, - - // D3DDevice_GetBackBuffer2+0x40 : retn 0x04 - { 0x40, 0xC2 }, - { 0x41, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetRenderTarget -// ****************************************************************** -OOVPA_XREF(D3DDevice_GetRenderTarget, 4627, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_D3DDevice_GetRenderTarget2 ), - - // D3DDevice_GetRenderTarget+0x00 : call addr - { 0x00, 0xE8 }, - - // D3DDevice_GetRenderTarget+0x05 : mov ecx, [esp + 0x04] - { 0x05, 0x8B }, - { 0x06, 0x4C }, - { 0x07, 0x24 }, - { 0x08, 0x04 }, - - // D3DDevice_GetRenderTarget+0x09 : mov [ecx], eax - { 0x09, 0x89 }, - { 0x0A, 0x01 }, - - // D3DDevice_GetRenderTarget+0x0B : xor eax, eax - { 0x0B, 0x33 }, - { 0x0C, 0xC0 }, - - // D3DDevice_GetRenderTarget+0x0D : ret 0x0004 - { 0x0D, 0xC2 }, - { 0x0E, 0x04 }, - { 0x0F, 0x00 }, - -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetRenderTarget2 -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_GetRenderTarget2, 4627, 2+8, - - XREF_D3DDevice_GetRenderTarget2, - XRefTwo) -#else -OOVPA_XREF(D3DDevice_GetRenderTarget2, 4627, 3+8, - - XREF_D3DDevice_GetRenderTarget2, - XRefThree) -#endif - XREF_ENTRY( 0x01, XREF_D3DDEVICE ), // Derived -#ifdef WIP_LessVertexPatching - XREF_ENTRY( 0x08, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - XREF_ENTRY( 0x12, XREF_D3DResource_AddRef ), - - // D3DDevice_GetRenderTarget2+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_GetRenderTarget2+0x05 : push esi - { 0x05, 0x56 }, - - // D3DDevice_GetRenderTarget2+0x06 : mov esi, [eax + 0xXXXX] - { 0x06, 0x8B }, - { 0x07, 0xB0 }, - //{ 0x08, 0xB4 }, // disabled. part of an offset - //{ 0x09, 0x21 }, - - // D3DDevice_GetRenderTarget2+0x0E : jz + 0x06 - { 0x0E, 0x74 }, - { 0x0F, 0x06 }, - - // D3DDevice_GetRenderTarget2+0x11 : call [addr] - { 0x11, 0xE8 }, - - // D3DDevice_GetRenderTarget2+0x19 : retn - { 0x19, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDepthStencilSurface -// ****************************************************************** -OOVPA_XREF(D3DDevice_GetDepthStencilSurface, 4627, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_D3DDevice_GetDepthStencilSurface2 ), - - { 0x00, 0xE8 }, - - { 0x06, 0x4C }, - { 0x15, 0x66 }, - { 0x16, 0x08 }, - { 0x17, 0x76 }, - { 0x18, 0x88 }, - { 0x19, 0x8B }, - { 0x1A, 0xC2 }, - { 0x1B, 0xC2 }, - { 0x1C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDepthStencilSurface2 -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20, - - XREF_D3DDevice_GetDepthStencilSurface2, - XRefZero) -#else -OOVPA_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 1+20, - - XREF_D3DDevice_GetDepthStencilSurface2, - XRefOne) - - XREF_ENTRY( 0x08, XREF_OFFSET_D3DDEVICE_M_DEPTHSTENCIL ), // Derived -#endif - { 0x00, 0xA1 }, - - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0xB0 }, - //{ 0x08, 0xB8 }, - //{ 0x09, 0x21 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - { 0x0C, 0x85 }, - { 0x0D, 0xF6 }, - { 0x0E, 0x75 }, - { 0x0F, 0x04 }, - { 0x10, 0x33 }, - { 0x11, 0xC0 }, - { 0x12, 0x5E }, - { 0x13, 0xC3 }, - { 0x14, 0x56 }, - { 0x15, 0xE8 }, - - { 0x1A, 0x8B }, - { 0x1B, 0xC6 }, - { 0x1C, 0x5E }, - { 0x1D, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_SetTileNoWait -// ****************************************************************** -OOVPA_XREF(D3D_SetTileNoWait, 4627, 11, - - XREF_D3D_SetTileNoWait, - XRefZero) - - // D3D_SetTileNoWait+0x06 : sub esp, 0x18 - { 0x06, 0x83 }, - { 0x07, 0xEC }, - { 0x08, 0x18 }, - - // D3D_SetTileNoWait+0x15 : cmp [esi+4], eax - { 0x15, 0x39 }, - { 0x16, 0x46 }, - { 0x17, 0x04 }, - - // D3D_SetTileNoWait+0x3D : lea edi, [edx+ecx*8+0xXXXX] - { 0x3D, 0x8D }, - { 0x3E, 0xBC }, - { 0x3F, 0xCA }, - //{ 0x40, 0x60 }, - //{ 0x41, 0x22 }, - { 0x42, 0x00 }, - { 0x43, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTile -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetTile, 4627, 1+2, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x06, XREF_D3D_SetTileNoWait ), - - { 0x00, 0xE8 }, - { 0x05, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateIndexBuffer2 -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateIndexBuffer2, 4627, 7, - - XREF_D3DDevice_CreateIndexBuffer2, - XRefZero) - - { 0x05, 0xC0 }, - { 0x0F, 0x85 }, - { 0x13, 0xC2 }, - { 0x1A, 0x89 }, - { 0x21, 0x08 }, - { 0x28, 0x00 }, - { 0x2F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateIndexBuffer -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateIndexBuffer, 4627, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x06, XREF_D3DDevice_CreateIndexBuffer2 ), - - { 0x00, 0x8B }, - - { 0x0A, 0x8B }, - { 0x0B, 0x4C }, - { 0x0C, 0x24 }, - { 0x0D, 0x14 }, - { 0x0E, 0x33 }, - { 0x0F, 0xD2 }, - { 0x10, 0x85 }, - { 0x11, 0xC0 }, - - { 0x1F, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant, 4627, 13) - - { 0x00, 0x83 }, - { 0x01, 0xC1 }, - { 0x02, 0x60 }, - { 0x03, 0x83 }, - { 0x04, 0xF8 }, - { 0x05, 0x01 }, - { 0x06, 0x75 }, - { 0x07, 0x05 }, - { 0x08, 0xE9 }, - - { 0x17, 0xC1 }, - { 0x18, 0xE0 }, - { 0x19, 0x02 }, - - { 0x20, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant1 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant1, 4627, 11) - - // D3DDevice_SetVertexShaderConstant1+0x06 : add eax, 0x1C - { 0x06, 0x83 }, - { 0x07, 0xC0 }, - { 0x08, 0x1C }, - - // D3DDevice_SetVertexShaderConstant1+0x0F : jnb +0x43 - { 0x0F, 0x73 }, - { 0x10, 0x43 }, - - // D3DDevice_SetVertexShaderConstant1+0x27 : shl ecx, 0x04 - { 0x27, 0xC1 }, - { 0x28, 0xE1 }, - { 0x29, 0x04 }, - - // D3DDevice_SetVertexShaderConstant1+0x53 : retn - { 0x53, 0xC3 }, - - // D3DDevice_SetVertexShaderConstant1+0x5D : jmp +0xA2 - { 0x5D, 0xEB }, - { 0x5E, 0xA2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant4 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant4, 4627, 12) - - // D3DDevice_SetVertexShaderConstant4+0x05 : add eax, 0x4C - { 0x05, 0x83 }, - { 0x06, 0xC0 }, - { 0x07, 0x4C }, - - // D3DDevice_SetVertexShaderConstant4+0x34 : movq mm7, qword ptr [edx+0x38] - { 0x34, 0x0F }, - { 0x35, 0x6F }, - { 0x36, 0x7A }, - { 0x37, 0x38 }, - - // D3DDevice_SetVertexShaderConstant4+0x42 : shl ecx, 0x04 - { 0x42, 0xC1 }, - { 0x43, 0xE1 }, - { 0x44, 0x04 }, - - // D3DDevice_SetVertexShaderConstant4+0x91 : emms - { 0x91, 0x0F }, - { 0x92, 0x77 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstantNotInline -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstantNotInline, 4627, 12) // (NOT 5344!) - - // D3DDevice_SetVertexShaderConstantNotInline+0x02 : test byte ptr ds:[abs], 0x10 - { 0x02, 0xF6 }, - { 0x07, 0x00 }, - { 0x08, 0x10 }, - - // D3DDevice_SetVertexShaderConstantNotInline+0x0E : jnz +0x15 - { 0x0E, 0x75 }, - { 0x0F, 0x15 }, - - // D3DDevice_SetVertexShaderConstantNotInline+0x42 : push esi; push edi; mov edi, eax - { 0x10, 0x56 }, - { 0x11, 0x57 }, - { 0x12, 0x8B }, - { 0x13, 0xF8 }, - - // D3DDevice_SetVertexShaderConstantNotInline+0x21 : rep movsd - { 0x21, 0xF3 }, - { 0x22, 0xA5 }, - - // D3DDevice_SetVertexShaderConstantNotInline+0x28 : call [abs] - { 0x28, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstantNotInlineFast -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstantNotInlineFast, 4627, 13) - - // D3DDevice_SetVertexShaderConstantNotInlineFast+0x00 : push esi - { 0x00, 0x56 }, - - // D3DDevice_SetVertexShaderConstantNotInlineFast+0x26 : cmp eax, 0x10 - { 0x26, 0x83 }, - { 0x27, 0xF8 }, - { 0x28, 0x10 }, - - // D3DDevice_SetVertexShaderConstantNotInlineFast+0x29 : jnb +0x1F - { 0x29, 0x73 }, - { 0x2A, 0x1F }, - - // D3DDevice_SetVertexShaderConstantNotInlineFast+0x33 : or eax, 0x0B80 - { 0x33, 0x0D }, - { 0x34, 0x80 }, - { 0x35, 0x0B }, - { 0x36, 0x00 }, - - // D3DDevice_SetVertexShaderConstantNotInlineFast+0x3B : rep movsd - { 0x3B, 0xF3 }, - { 0x3C, 0xA5 }, - - // D3DDevice_SetVertexShaderConstantNotInlineFast+0x43 : emms - { 0x43, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant1Fast -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant1Fast, 4627, 11) - - // D3DDevice_SetVertexShaderConstant1Fast+0x05 : add eax, 0x1C - { 0x05, 0x83 }, - { 0x06, 0xC0 }, - { 0x07, 0x1C }, - - // D3DDevice_SetVertexShaderConstant1Fast+0x0E : jnb +0x2E - { 0x0E, 0x73 }, - { 0x0F, 0x2E }, - - // D3DDevice_SetVertexShaderConstant1Fast+0x28 : mov [eax-0x10], ecx - { 0x28, 0x89 }, - { 0x29, 0x48 }, - { 0x2A, 0xF0 }, - - // D3DDevice_SetVertexShaderConstant1Fast+0x3D : retn - { 0x3D, 0xC3 }, - - // D3DDevice_SetVertexShaderConstant1Fast+0x47 : jmp +0xB7 - { 0x47, 0xEB }, - { 0x48, 0xB7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShader -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4627, 16) -#else -OOVPA_XREF(D3DDevice_SetPixelShader, 4627, 1+16, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0A, XREF_OFFSET_D3DDEVICE_M_PIXELSHADER ), // Derived -#endif - { 0x03, 0x1D }, - - { 0x0C, 0x00 }, - { 0x0D, 0x00 }, - { 0x0E, 0x89 }, - { 0x0F, 0x44 }, - { 0x10, 0x24 }, - { 0x11, 0x04 }, - { 0x12, 0x8B }, - { 0x13, 0x44 }, - { 0x14, 0x24 }, - { 0x15, 0x0C }, - { 0x16, 0x85 }, - { 0x17, 0xC0 }, - { 0x18, 0x89 }, - - { 0x69, 0xC7 }, - { 0x76, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateTexture2 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4627, 13) - - // D3DDevice_CreateTexture2+0x02 : lea eax, [esp+0x20] - { 0x02, 0x8D }, - { 0x05, 0x20 }, - - // D3DDevice_CreateTexture2+0x0E : setz dl - { 0x0E, 0x0F }, - { 0x0F, 0x94 }, - { 0x10, 0xC2 }, - - // D3DDevice_CreateTexture2+0x11 : cmp eax, 5 - { 0x11, 0x83 }, - { 0x12, 0xF8 }, - { 0x13, 0x05 }, - - // D3DDevice_CreateTexture2+0x53 : call [abs] - { 0x53, 0xE8 }, - - // D3DDevice_CreateTexture2+0x78 : jnz +0x0D - { 0x78, 0x75 }, - { 0x79, 0x0D }, - - // D3DDevice_CreateTexture2+0xAE : retn 0x1C - { 0xAE, 0xC2 }, - { 0xAF, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateTexture -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateTexture, 4627, 11) - - { 0x03, 0x14 }, - - { 0x13, 0x51 }, - { 0x14, 0x8B }, - { 0x15, 0x4C }, - { 0x16, 0x24 }, - { 0x17, 0x10 }, - { 0x18, 0x52 }, - { 0x19, 0x6A }, - { 0x1A, 0x01 }, - - { 0x23, 0x54 }, - { 0x38, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_RunPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4627, 10) - - // D3DDevice_RunPushBuffer+0x3C : mov edx, [esi+30h] - { 0x3C, 0x8B }, - { 0x3D, 0x56 }, - { 0x3E, 0x30 }, - - // D3DDevice_RunPushBuffer+0xCA : mov edi, ebp - { 0xCA, 0x8B }, - { 0xCB, 0xFD }, - - // D3DDevice_RunPushBuffer+0xDC : jmp +0x12 - { 0xDC, 0xEB }, - { 0xDD, 0x12 }, - - // D3DDevice_RunPushBuffer+0xED : lea edi, [eax+4] - { 0xED, 0x8D }, - { 0xEE, 0x78 }, - { 0xEF, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Swap -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Swap, 4627, 14) - - { 0x00, 0x56 }, - - { 0x2A, 0xBB }, - { 0x2B, 0x05 }, - { 0x37, 0xF6 }, - { 0x38, 0xC3 }, - { 0x39, 0x03 }, - - { 0x73, 0xEB }, - { 0x74, 0x36 }, - { 0x75, 0x8B }, - { 0x76, 0xFB }, - { 0x77, 0x83 }, - { 0x78, 0xE7 }, - { 0x79, 0x04 }, - { 0x7A, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexBuffer -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateVertexBuffer, 4627, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x06, XREF_D3DDevice_CreateVertexBuffer2 ), - - { 0x00, 0x8B }, - - { 0x0A, 0x8B }, - { 0x0B, 0x4C }, - { 0x0C, 0x24 }, - { 0x0D, 0x14 }, - { 0x0E, 0x33 }, - { 0x0F, 0xD2 }, - { 0x10, 0x85 }, - { 0x11, 0xC0 }, - { 0x12, 0x0F }, - - { 0x1E, 0x8B }, - { 0x1F, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexBuffer2 -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 4627, 13, - - XREF_D3DDevice_CreateVertexBuffer2, - XRefZero) - - // D3DDevice_CreateVertexBuffer2+0x03 : push 0x40 - { 0x03, 0x6A }, - { 0x04, 0x40 }, - - // D3DDevice_CreateVertexBuffer2+0x10 : mov eax, [esp+8] - { 0x10, 0x8B }, - { 0x11, 0x44 }, - { 0x12, 0x24 }, - { 0x13, 0x08 }, - - // D3DDevice_CreateVertexBuffer2+0x41 : mov dword ptr [esi], 0x01000001 - { 0x41, 0xC7 }, - { 0x42, 0x06 }, - { 0x43, 0x01 }, - { 0x44, 0x00 }, - { 0x46, 0x01 }, - - // D3DDevice_CreateVertexBuffer2+0x4A : retn 0x04 - { 0x4A, 0xC2 }, - { 0x4B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4627, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x2554 - { 0x17, 0x05 }, - { 0x18, 0x54 }, - { 0x19, 0x25 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4627, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x2550], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x50 }, - { 0x0D, 0x25 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4627, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - // D3DDevice_SetTextureState_TexCoordIndex+0x14 : shl eax, 0x07 - { 0x14, 0xC1 }, - { 0x15, 0xE0 }, - { 0x16, 0x07 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x26 : cmp eax, ecx - { 0x26, 0x3B }, - { 0x27, 0xC1 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0x71 : mov ebp, 0x2400 - { 0x71, 0xBD }, - { 0x73, 0x24 }, - - // D3DDevice_SetTextureState_TexCoordIndex+0xAA : shl ebx, 0x04 - { 0xAA, 0xC1 }, - { 0xAB, 0xE3 }, - { 0xAC, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Dxt1NoiseEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, 12) - - { 0x0D, 0x8B }, - { 0x0E, 0x87 }, - - { 0x50, 0x40 }, - { 0x51, 0x04 }, - { 0x52, 0x00 }, - { 0x53, 0x00 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0xC1 }, - { 0x57, 0xE6 }, - - { 0x74, 0xC2 }, - { 0x75, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleAntiAlias -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, 17) - - { 0x04, 0x56 }, - - { 0x13, 0xE8 }, - - { 0x48, 0xC7 }, - { 0x50, 0x04 }, - { 0x51, 0x8B }, - { 0x52, 0x4E }, - { 0x53, 0x04 }, - { 0x54, 0x83 }, - { 0x55, 0xC0 }, - { 0x56, 0x08 }, - { 0x57, 0x3B }, - { 0x58, 0xC1 }, - { 0x59, 0x89 }, - { 0x5A, 0x06 }, - { 0x5B, 0x72 }, - { 0x5C, 0x05 }, - { 0x5D, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVertices -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVertices, 4627, 11) - - // D3DDevice_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] - { 0x0E, 0x8B }, - { 0x0F, 0x46 }, - { 0x10, 0x1C }, - - // D3DDevice_DrawIndexedVertices+0x26 : push 0x0209 - { 0x26, 0x68 }, - { 0x27, 0x09 }, - { 0x28, 0x02 }, - - // D3DDevice_DrawIndexedVertices+0x66 : dec eax - { 0x66, 0x48 }, - - // D3DDevice_DrawIndexedVertices+0xFB : prefetchnta byte ptr [esi+0x3C] - { 0xFB, 0x0F }, - { 0xFC, 0x18 }, - { 0xFD, 0x46 }, - { 0xFE, 0x3C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetMaterial, 4627, 12) - - // D3DDevice_SetMaterial+0x0C : add edi, 0x0AB0 - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0xB0 }, - { 0x0F, 0x0A }, - - // D3DDevice_SetMaterial+0x12 : mov ecx, 0x11 - { 0x12, 0xB9 }, - { 0x13, 0x11 }, - - // D3DDevice_SetMaterial+0x1F : or ecx, 0x1000 - { 0x1F, 0x81 }, - { 0x20, 0xC9 }, - { 0x21, 0x00 }, - { 0x22, 0x10 }, - - // D3DDevice_SetMaterial+0x2D : retn 0x04 - { 0x2D, 0xC2 }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DVertexBuffer_Lock2 -// ****************************************************************** -OOVPA_XREF(D3DVertexBuffer_Lock2, 4627, 12, - - XREF_D3DVertexBuffer_Lock2, - XRefZero) - - // D3DVertexBuffer_Lock2B+0x00 : push ebx - { 0x00, 0x53 }, - - // D3DVertexBuffer_Lock2+0x01 : mov bl, [esp+0x0C] - { 0x01, 0x8A }, - { 0x02, 0x5C }, - { 0x03, 0x24 }, - { 0x04, 0x0C }, - - // D3DVertexBuffer_Lock2B+0x09 : jnz +0x24 - { 0x09, 0x75 }, - { 0x0A, 0x24 }, - - // D3DVertexBuffer_Lock2+0x3E : mov eax, [esi+4] - { 0x3E, 0x8B }, - { 0x3F, 0x46 }, - { 0x40, 0x04 }, - - // D3DVertexBuffer_Lock2+0x48 : retn 0x08 - { 0x48, 0xC2 }, - { 0x49, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DVertexBuffer_Lock -// ****************************************************************** -OOVPA_XREF(D3DVertexBuffer_Lock, 4627, 1+25, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0B, XREF_D3DVertexBuffer_Lock2 ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x14 }, - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x04 }, - { 0x08, 0x50 }, - { 0x09, 0x51 }, - { 0x0A, 0xE8 }, - - { 0x0F, 0x8B }, - { 0x10, 0x4C }, - { 0x11, 0x24 }, - { 0x12, 0x08 }, - { 0x13, 0x8B }, - { 0x14, 0x54 }, - { 0x15, 0x24 }, - { 0x16, 0x10 }, - { 0x17, 0x03 }, - { 0x18, 0xC1 }, - { 0x19, 0x89 }, - { 0x1A, 0x02 }, - { 0x1B, 0xC2 }, - { 0x1C, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetSurfaceLevel2 -// ****************************************************************** -OOVPA_XREF(D3DTexture_GetSurfaceLevel2, 4627, 12, - - XREF_D3DTexture_GetSurfaceLevel2, - XRefZero) - - // D3DTexture_GetSurfaceLevel2+0x00 : sub esp, 0x0C - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x0C }, - - // D3DTexture_GetSurfaceLevel2+0x04 : mov esi, [esp+0x14] - { 0x04, 0x8B }, - { 0x07, 0x14 }, - - // D3DTexture_GetSurfaceLevel2+0x08 : lea eax, [esp+0x14] - { 0x08, 0x8D }, - { 0x0B, 0x14 }, - - // D3DTexture_GetSurfaceLevel2+0x17 : mov edx, [esp+0x24] - { 0x17, 0x8B }, - { 0x1A, 0x24 }, - - // D3DTexture_GetSurfaceLevel2+0x1B : lea eax, [esp+0x18] - { 0x1B, 0x8D }, - { 0x1E, 0x18 }, - - // D3DTexture_GetSurfaceLevel2+0x3E : call [abs] - { 0x3E, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetSurfaceLevel -// ****************************************************************** -OOVPA_XREF(D3DTexture_GetSurfaceLevel, 4627, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0B, XREF_D3DTexture_GetSurfaceLevel2 ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - - { 0x0A, 0xE8 }, - - { 0x0F, 0x8B }, - { 0x10, 0x54 }, - { 0x11, 0x24 }, - { 0x12, 0x0C }, - { 0x13, 0x33 }, - { 0x14, 0xC9 }, - { 0x15, 0x85 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4627, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xD8 }, - { 0x08, 0x20 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LoadVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 4627, 7) - - { 0x09, 0x08 }, - { 0x14, 0x75 }, - { 0x21, 0x8B }, - { 0x2A, 0xE8 }, - { 0x35, 0x9C }, - { 0x40, 0x14 }, - { 0x4B, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetStreamSource2 (Maybe same in older versions) -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetStreamSource2, 4627, 7) - - { 0x06, 0x34 }, - { 0x12, 0x85 }, - { 0x16, 0x57 }, - { 0x22, 0x8B }, - { 0x26, 0x89 }, - { 0x2E, 0x00 }, - { 0x36, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport_IsFlipPending -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_IsFlipPending, 4627, 18) // Was D3DDevice_Reset - - { 0x00, 0x8B }, - { 0x01, 0x81 }, - { 0x02, 0xBC }, - { 0x03, 0x01 }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x06, 0x83 }, - { 0x07, 0xE0 }, - { 0x08, 0x01 }, - { 0x09, 0x83 }, - { 0x0A, 0xC0 }, - { 0x0B, 0x1F }, - { 0x0C, 0x8D }, - { 0x0D, 0x04 }, - { 0x0E, 0x40 }, - { 0x0F, 0x8B }, - { 0x10, 0x04 }, - { 0x11, 0x81 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetProjectionViewportMatrix -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4627, 16) // Up to 5233 - - { 0x02, 0x35 }, - - { 0x07, 0x57 }, - - { 0x0E, 0x30 }, // 4361 0x7004 - { 0x0F, 0x05 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0xB9 }, - { 0x13, 0x10 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0xF3 }, - { 0x18, 0xA5 }, - { 0x19, 0x5F }, - { 0x1A, 0x5E }, - { 0x1B, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 4627, 8) - - { 0x0A, 0xA3 }, - { 0x12, 0x56 }, - { 0x1C, 0x8B }, - { 0x2A, 0x85 }, - { 0x30, 0x01 }, - { 0x3D, 0xC7 }, - { 0x44, 0x78 }, - { 0x4E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 23) -#else -OOVPA_XREF(D3DDevice_GetTexture2, 4627, 1+23, // Up to 5233. Also for 5344, 5558, 5659, 5788, 5849, 5933 - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - { 0x0A, 0x56 }, - { 0x0B, 0x8D }, - { 0x0C, 0xB4 }, - { 0x0D, 0x81 }, - { 0x0E, 0x38 }, // GetTexture2 380B vs GetPalette2 480B - { 0x0F, 0x0B }, - - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x8B }, - { 0x13, 0x06 }, - { 0x14, 0x85 }, - { 0x15, 0xC0 }, - { 0x16, 0x74 }, - - { 0x18, 0x50 }, - { 0x19, 0xE8 }, - - { 0x1E, 0x8B }, - { 0x1F, 0x06 }, -// { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 4627, 10) - - // D3DDevice_DrawIndexedVerticesUP+0x4A : or edx, 0x800 - { 0x4A, 0x81 }, - { 0x4B, 0xCA }, - { 0x4C, 0x00 }, - { 0x4D, 0x08 }, - - // D3DDevice_DrawIndexedVerticesUP+0x5C : lea edx, [edi+0x784] - { 0x5C, 0x8D }, - { 0x5D, 0x97 }, - { 0x5E, 0x84 }, - { 0x5F, 0x07 }, - - // D3DDevice_DrawIndexedVerticesUP+0x6A : mov eax, 0x10 - { 0x6A, 0xB8 }, - { 0x6B, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetStipple -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetStipple, 4627, 7) - - { 0x08, 0x03 }, - { 0x15, 0xF6 }, - { 0x1C, 0x10 }, - { 0x26, 0x20 }, - { 0x30, 0x80 }, - { 0x3A, 0x00 }, - { 0x44, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4627, 13) - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - { 0x02, 0x8B }, - { 0x03, 0x1D }, - - { 0x0E, 0x85 }, - { 0x0F, 0xC0 }, - { 0x10, 0x74 }, - { 0x11, 0x0F }, - { 0x12, 0x50 }, - { 0x13, 0xFF }, - { 0x14, 0x15 }, - - { 0x21, 0x8B }, - { 0x42, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -/* See the comment for the 4134 OOVPA signature for previous notes */ -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4627, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x254C], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x4C }, - { 0x0D, 0x25 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 4627, 8) - - { 0x09, 0x89 }, - { 0x0F, 0x8B }, - { 0x13, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x75 }, - { 0x21, 0x00 }, - { 0x28, 0x00 }, - { 0x31, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_ApplyStateBlock -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4627, 8) - - { 0x1E, 0xC6 }, - { 0x40, 0x83 }, - { 0x5E, 0x04 }, - { 0x7E, 0x50 }, - { 0xA0, 0x83 }, - { 0xBE, 0x51 }, - { 0xDE, 0xE9 }, - { 0xFE, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::BlockOnTime -// ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 4627, 6, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x09, 0x34 }, - { 0x27, 0x07 }, - { 0x55, 0x7E }, - { 0x7B, 0x58 }, - { 0xE3, 0x80 }, - { 0xF5, 0x30 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateImageSurface -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 4627, 9) - - { 0x04, 0x8B }, - { 0x0A, 0x24 }, - { 0x0E, 0x00 }, - { 0x10, 0x52 }, - { 0x16, 0x8B }, - { 0x1C, 0x85 }, - { 0x22, 0x01 }, - { 0x28, 0x07 }, - { 0x2E, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DCubeTexture_GetCubeMapSurface -// ****************************************************************** -OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 4627, 16) - - { 0x02, 0x24 }, - { 0x0D, 0x51 }, - { 0x0E, 0x52 }, - { 0x0F, 0xE8 }, - - { 0x14, 0x8B }, - { 0x15, 0x4C }, - { 0x16, 0x24 }, - { 0x17, 0x10 }, - { 0x18, 0x33 }, - { 0x19, 0xD2 }, - { 0x1A, 0x85 }, - { 0x1B, 0xC0 }, - { 0x1C, 0x0F }, - { 0x1D, 0x95 }, - { 0x2A, 0xC2 }, - { 0x2B, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DCubeTexture_GetCubeMapSurface2 -// ****************************************************************** -OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface2, 4627, 7) - - { 0x08, 0x8D }, - { 0x12, 0x8D }, - { 0x1C, 0x44 }, - { 0x26, 0x24 }, - { 0x31, 0x8B }, - { 0x3A, 0x44 }, - { 0x46, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePalette2 -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreatePalette2, 4627, 8, - - XREF_D3DDevice_CreatePalette2, - XRefZero) - - { 0x0A, 0x8B }, - { 0x16, 0x74 }, - { 0x22, 0x04 }, - { 0x2E, 0x50 }, - { 0x3A, 0xE8 }, - { 0x46, 0xC1 }, - { 0x52, 0xFF }, - { 0x5E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePalette -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreatePalette, 4627, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x06, XREF_D3DDevice_CreatePalette2 ), - - { 0x00, 0x8B }, - { 0x0A, 0x8B }, - - { 0x13, 0x95 }, - { 0x14, 0xC2 }, - { 0x15, 0x89 }, - { 0x16, 0x01 }, - { 0x17, 0x4A }, - { 0x18, 0x81 }, - { 0x19, 0xE2 }, - { 0x1A, 0x0E }, -OOVPA_END; - -// ****************************************************************** -// * D3DPalette_Lock2 -// ****************************************************************** -OOVPA_XREF(D3DPalette_Lock2, 4627, 7, - - XREF_D3DPalette_Lock2, - XRefZero) - - { 0x02, 0x24 }, - { 0x06, 0x8B }, - { 0x0A, 0x75 }, - { 0x12, 0x8B }, - { 0x13, 0x46 }, - { 0x16, 0x00 }, - { 0x1A, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DPalette_Lock -// ****************************************************************** -OOVPA_XREF(D3DPalette_Lock, 4627, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0B, XREF_D3DPalette_Lock2 ), - - { 0x01, 0x44 }, - { 0x08, 0x50 }, - { 0x0A, 0xE8 }, - { 0x0F, 0x8B }, - { 0x10, 0x54 }, - { 0x13, 0x89 }, - { 0x14, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPushBufferOffset -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 4627, 10) - - { 0x02, 0x35 }, - { 0x08, 0x86 }, - { 0x18, 0x00 }, - { 0x19, 0x2B }, - { 0x1A, 0xC1 }, - { 0x1B, 0x99 }, - { 0x1C, 0x83 }, - { 0x1D, 0xE2 }, - { 0x1E, 0x07 }, - { 0x1F, 0x03 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetModelView -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetModelView, 4627, 7) - - { 0x15, 0xFF }, - { 0x2D, 0x81 }, - { 0x43, 0x3B }, - { 0x5A, 0xC1 }, - { 0x71, 0x53 }, - { 0x8A, 0x8B }, - { 0x9F, 0x30 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::LazySetPointParams -// ****************************************************************** -OOVPA_NO_XREF(D3D_LazySetPointParams, 4627, 7) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x14 }, - { 0x4E, 0xE0 }, - { 0x73, 0xF6 }, - { 0x74, 0xC4 }, - { 0x75, 0x41 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetMaterial, 4627, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - { 0x0D, 0xB0 }, - { 0x0E, 0x0A }, - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 4627, 10) - - { 0x04, 0x08 }, - { 0x0C, 0x81 }, - { 0x0E, 0xF4 }, - { 0x0F, 0x0A }, - { 0x10, 0x00 }, - { 0x16, 0x00 }, - { 0x1F, 0x81 }, - { 0x22, 0x10 }, - { 0x2C, 0x5E }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 4627, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - { 0x0D, 0xF4 }, - { 0x0E, 0x0A }, - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_SampleAlpha -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha, 4627, 7) - - { 0x0B, 0xC1 }, - { 0x15, 0x0B }, - { 0x1C, 0x8B }, - { 0x28, 0x85 }, - { 0x30, 0x07 }, - { 0x3B, 0xC7 }, - { 0x44, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVolumeTexture -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVolumeTexture, 4627, 14) - - { 0x03, 0x18 }, - { 0x0B, 0x10 }, - { 0x0C, 0x6A }, - { 0x0D, 0x04 }, - { 0x0E, 0x50 }, - { 0x0F, 0x8B }, - { 0x10, 0x44 }, - { 0x11, 0x24 }, - { 0x12, 0x14 }, - { 0x13, 0x51 }, - { 0x14, 0x8B }, - { 0x15, 0x4C }, - - { 0x28, 0x20 }, - { 0x3B, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateCubeTexture -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 4627, 11) - - { 0x03, 0x10 }, - { 0x10, 0x44 }, - { 0x11, 0x24 }, - { 0x12, 0x0C }, - { 0x13, 0x51 }, - { 0x14, 0x52 }, - { 0x15, 0x6A }, - { 0x16, 0x01 }, - { 0x17, 0x50 }, - { 0x18, 0x50 }, - - { 0x1F, 0x4C }, -OOVPA_END; - -// ****************************************************************** -// * IDirect3DVertexBuffer8_Lock -// ****************************************************************** -OOVPA_XREF(IDirect3DVertexBuffer8_Lock, 4627, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x03, XREF_D3DVertexBuffer_Lock2 ), - - { 0x00, 0x50 }, - { 0x01, 0x51 }, - { 0x02, 0xE8 }, - - { 0x07, 0x8B }, - { 0x08, 0x4C }, - { 0x09, 0x24 }, - { 0x0A, 0x04 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl deleted file mode 100644 index 9480ddd33..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl +++ /dev/null @@ -1,169 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4831.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_CreateTexture2 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4831, 12) - - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - { 0x10, 0x0F }, - { 0x11, 0x94 }, - { 0x12, 0xC2 }, - { 0x13, 0x8D }, - { 0x14, 0x4C }, - { 0x15, 0x24 }, - { 0x16, 0x28 }, - { 0x17, 0x51 }, - - { 0x51, 0x24 }, - { 0x52, 0xF7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTexture -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) -#else -OOVPA_XREF(D3DDevice_SetTexture, 4831, 1+15, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif -#if 0 // PatrickvL preparations // 1+31, - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x53 }, - { 0x04, 0x56 }, - { 0x05, 0x8B }, - { 0x06, 0x74 }, - { 0x07, 0x24 }, - { 0x08, 0x14 }, - { 0x09, 0x57 }, - { 0x0A, 0x8B }, - { 0x0B, 0x3D }, // TODO : See if this should be value 0x56? - - { 0x10, 0x8B }, - { 0x11, 0x84 }, - { 0x12, 0xB7 }, - // { 0x13, 0x38 }, // disabled. part of an offset - // { 0x14, 0x0B }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x85 }, - { 0x18, 0xC0 }, - { 0x19, 0x89 }, - { 0x1A, 0x7C }, - { 0x1B, 0x24 }, - { 0x1C, 0x0C }, - { 0x1D, 0x89 }, - { 0x1E, 0x44 }, - { 0x1F, 0x24 }, -#else - { 0x0B, 0x56 }, - - { 0x21, 0x74 }, - { 0x22, 0x20 }, - - { 0x33, 0xF7 }, - { 0x34, 0xC1 }, - { 0x36, 0xFF }, - - { 0x39, 0x89 }, - { 0x3A, 0x10 }, - - { 0x50, 0x75 }, - { 0x51, 0x47 }, -#endif - { 0x52, 0x8B }, - { 0x53, 0x45 }, - { 0x54, 0x00 }, - { 0x55, 0x3B }, - { 0x56, 0x45 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4831, 13) // Up to 5344 - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x1E, 0x15 }, - - { 0x28, 0x00 }, - { 0x29, 0x85 }, - { 0x2A, 0xC0 }, - { 0x2B, 0x75 }, - { 0x2C, 0x0A }, - { 0x2D, 0xB8 }, - { 0x2E, 0x05 }, - { 0x2F, 0x40 }, - { 0x30, 0x00 }, - - { 0x36, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 4831, 13) - - // D3DDevice_SetPixelShaderConstant+0x1E : test eax, eax - { 0x1E, 0x85 }, - { 0x1F, 0xC0 }, - - // D3DDevice_SetPixelShaderConstant+0x32 : mov [ebp+0x10], eax - { 0x32, 0x89 }, - { 0x33, 0x45 }, - { 0x34, 0x10 }, - - // D3DDevice_SetPixelShaderConstant+0x84 : or eax, ebx - { 0x84, 0x0B }, - { 0x85, 0xC3 }, - - // D3DDevice_SetPixelShaderConstant+0xBD : mov dword ptr [eax], 0x406A0 - { 0xBD, 0xC7 }, - { 0xBE, 0x00 }, - { 0xBF, 0x60 }, - { 0xC0, 0x0A }, - { 0xC1, 0x04 }, - { 0xC2, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl deleted file mode 100644 index d79666ae1..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl +++ /dev/null @@ -1,70 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.4928.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_GetPersistedSurface2 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPersistedSurface2, 4928, 6) // For only on Unreal Championship - - { 0x00, 0xFF }, - { 0x01, 0x25 }, - { 0x02, 0x04 }, - { 0x03, 0xC1 }, - { 0x04, 0x3A }, - { 0x05, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport_IsFlipPending -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_IsFlipPending, 4928, 17) - - { 0x00, 0x8B }, - { 0x01, 0x81 }, - { 0x02, 0xBC }, - { 0x03, 0x01 }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x06, 0x83 }, - { 0x07, 0xE0 }, - { 0x08, 0x01 }, - { 0x09, 0x8D }, - { 0x0A, 0x44 }, - { 0x0B, 0x40 }, - { 0x0C, 0x5D }, - { 0x0D, 0x8B }, - { 0x0E, 0x04 }, - { 0x0F, 0x81 }, - { 0x10, 0xC3 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl deleted file mode 100644 index a91deb0a9..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ /dev/null @@ -1,670 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5028.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -OOVPA_NO_XREF(Direct3D_CreateDevice, 5028, 20) // Also for 5120, 5233, 5344 (5455 and later use generic 3911 version) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0xA1 }, - - { 0x08, 0x85 }, - { 0x09, 0xC0 }, - { 0x0A, 0x75 }, - { 0x0B, 0x0A }, - { 0x0C, 0xC7 }, - { 0x0D, 0x05 }, - - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x08 }, - { 0x15, 0x00 }, - { 0x16, 0xA1 }, - - { 0x1B, 0x85 }, - { 0x1C, 0xC0 }, - { 0x1D, 0x75 }, - { 0x1E, 0x0A }, - { 0x1F, 0xC7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5028, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1954 - { 0x17, 0x05 }, - { 0x18, 0x54 }, - { 0x19, 0x19 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVertices -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVertices, 5028, 8) - - { 0x1E, 0x5E }, - { 0x3E, 0x17 }, - { 0x5E, 0x00 }, - { 0x7E, 0x8B }, - { 0x9E, 0x89 }, - { 0xBE, 0x2B }, - { 0xDE, 0x00 }, - { 0xFE, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LoadVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 5028, 7) - - { 0x09, 0x45 }, - { 0x14, 0x75 }, - { 0x21, 0x8B }, - { 0x2D, 0x8B }, - { 0x35, 0x04 }, - { 0x40, 0x00 }, - { 0x4B, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5028, 14) - - // D3DDevice_SetVertexShader+0x06 : test bl, 1 - { 0x06, 0xF6 }, - { 0x07, 0xC3 }, - { 0x08, 0x01 }, - - // D3DDevice_SetVertexShader+0x11 : mov eax, [esi+0x037C] - { 0x11, 0x8B }, - { 0x12, 0x86 }, - { 0x13, 0x7C }, - { 0x14, 0x03 }, - - // D3DDevice_SetVertexShader+0x90 : retn 0x04 - { 0x90, 0xC2 }, - { 0x91, 0x04 }, - - // D3DDevice_SetVertexShader+0xB0 : mov dword ptr [eax], 0x4194C - { 0xB0, 0xC7 }, - { 0xB1, 0x00 }, - { 0xB2, 0x4C }, - { 0xB3, 0x19 }, - { 0xB4, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetFence -// ****************************************************************** -OOVPA_XREF(D3D_SetFence, 5028, 14, - - XREF_D3D_SetFence, - XRefZero) - - { 0x0E, 0x05 }, - { 0x18, 0xC9 }, - - { 0x28, 0xBA }, - { 0x29, 0x90 }, - { 0x2A, 0x1D }, - { 0x2B, 0x04 }, - { 0x2C, 0x00 }, - - { 0x3C, 0x83 }, - { 0x3D, 0xE1 }, - { 0x3E, 0x3F }, - - { 0x5E, 0x28 }, - { 0x86, 0x5D }, - { 0x98, 0xE8 }, - { 0xA2, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::BlockOnTime -// ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 5028, 6, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x09, 0x30 }, - { 0x27, 0x07 }, - { 0x55, 0x7E }, - { 0x7B, 0x58 }, - { 0xE3, 0x80 }, - { 0xF5, 0x2C }, -OOVPA_END; - -// ****************************************************************** -// * D3D_KickOffAndWaitForIdle -// ****************************************************************** -OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 5028, 9) - - // D3D_KickOffAndWaitForIdle+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3D_KickOffAndWaitForIdle+0x05 : mov ecx, [eax+0x2C] - { 0x05, 0x8B }, - { 0x06, 0x48 }, - { 0x07, 0x2C }, - - // D3D_KickOffAndWaitForIdle+0x08 : push 2 - { 0x08, 0x6A }, - { 0x09, 0x02 }, - - // D3D_KickOffAndWaitForIdle+0x0A : push ecx - { 0x0A, 0x51 }, - - // D3D_KickOffAndWaitForIdle+0x0B : call [addr] - { 0x0B, 0xE8 }, - - // D3D_KickOffAndWaitForIdle+0x10 : retn - { 0x10, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstantNotInline -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstantNotInline, 5028, 10) - - { 0x00, 0x55 }, - { 0x0B, 0x10 }, - - { 0x10, 0x75 }, - { 0x11, 0x15 }, - { 0x12, 0x56 }, - { 0x13, 0x57 }, - { 0x14, 0x8B }, - - { 0x1A, 0xC7 }, - { 0x31, 0xC2 }, - { 0x32, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 5028, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x04FC] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xFC }, - { 0x08, 0x04 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x0C : mov [eax+0x04FC], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0xFC }, - { 0x0F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_InsertCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_InsertCallback, 5028, 7) - - { 0x0C, 0x72 }, - { 0x1A, 0x10 }, - { 0x28, 0x85 }, - { 0x36, 0xC7 }, - { 0x44, 0x0C }, - { 0x52, 0x00 }, - { 0x60, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5028, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x80 }, - { 0x08, 0x03 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShaderConstant -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 5028, 8) - - { 0x07, 0x24 }, - { 0x08, 0x08 }, - { 0x09, 0xC1 }, - { 0x0A, 0xE1 }, - { 0x0B, 0x04 }, - { 0x10, 0x7C }, - { 0x14, 0xE6 }, - { 0x18, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5028, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x6C }, - { 0x08, 0x03 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CommonSetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 12, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) -#else -OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 1+12, - - XREF_D3D_CommonSetRenderTarget, - XRefOne) - - XREF_ENTRY( 0x18, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived TODO : Verify offset -#endif - { 0x02, 0x1C }, - { 0x1A, 0x15 }, - - { 0x3D, 0x28 }, - { 0x3E, 0x05 }, - { 0x3F, 0x00 }, - { 0x40, 0x00 }, - { 0x41, 0x89 }, - { 0x42, 0x4C }, - { 0x43, 0x24 }, - { 0x44, 0x24 }, - - { 0x7E, 0xD8 }, - { 0x7F, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LazySetStateVB -// ****************************************************************** -OOVPA_XREF(D3DDevice_LazySetStateVB, 5028, 17, - - XREF_D3DDevice_LazySetStateVB, - XRefZero) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x0C }, - - { 0x41, 0x0F }, - { 0x42, 0x84 }, - { 0x43, 0x41 }, - { 0x44, 0x01 }, - { 0x45, 0x00 }, - { 0x46, 0x00 }, - { 0x47, 0x8B }, - { 0x48, 0x86 }, - { 0x49, 0x7C }, - { 0x4A, 0x03 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - - { 0x66, 0x3B }, - { 0x67, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::LazySetStateUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_LazySetStateUP, 5028, 15) - - { 0x00, 0xA1 }, - - { 0x2F, 0x8B }, - { 0x30, 0x86 }, - { 0x31, 0x7C }, - { 0x32, 0x03 }, - { 0x33, 0x00 }, - { 0x34, 0x00 }, - { 0x35, 0x8B }, - { 0x36, 0x4E }, - { 0x37, 0x04 }, - { 0x38, 0x53 }, - { 0x39, 0x8B }, - { 0x3A, 0x58 }, - - { 0x4F, 0x3B }, - { 0x50, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPush -// ****************************************************************** -OOVPA_XREF(D3DDevice_BeginPush, 5028, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x06, 0x6A }, - { 0x07, 0x00 }, - - { 0x11, 0x40 }, - - { 0x12, 0x89 }, - { 0x13, 0x44 }, - { 0x14, 0x24 }, - { 0x15, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_IsFencePending -// ****************************************************************** -OOVPA_XREF(D3DDevice_IsFencePending, 5028, 1+5, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_D3DDEVICE ), // Derived - - { 0x07, 0x30 }, - { 0x0A, 0x2C }, - { 0x10, 0xD1 }, - { 0x17, 0x1B }, - { 0x1C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::KickOff -// ****************************************************************** -OOVPA_XREF(D3DDevice_KickOff, 5028, 8, - - XREF_D3D_CDevice_KickOff, - XRefZero) - - { 0x07, 0x08 }, - { 0x17, 0xC4 }, - { 0x18, 0x20 }, - { 0x19, 0x75 }, - { 0x1A, 0x63 }, - { 0x1B, 0xA1 }, - { 0x6D, 0x85 }, - { 0x7E, 0xBA }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginStateBig -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginStateBig, 5028, 15) - - { 0x01, 0x0D }, - { 0x07, 0x01 }, - { 0x10, 0x8D }, - - { 0x16, 0x02 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x3B }, - { 0x1A, 0xD1 }, - { 0x1B, 0x72 }, - { 0x1C, 0x23 }, - { 0x1D, 0xA1 }, - - { 0x22, 0x8B }, - { 0x2B, 0x00 }, - { 0x34, 0xCA }, - { 0x40, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_IsBusy -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_IsBusy, 5028, 12) - - { 0x00, 0xA1 }, - { 0x06, 0x80 }, - - { 0x13, 0x44 }, - { 0x14, 0x32 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x74 }, - { 0x18, 0x06 }, - { 0x19, 0xB8 }, - { 0x1A, 0x01 }, - { 0x1B, 0x00 }, - - { 0x1F, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5028, 12) - - // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x194C], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x4C }, // 4C vs 50 - { 0x0D, 0x19 }, - - // D3DDevice_SetSwapCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5028, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1950], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x50 }, // 4C vs 50 - { 0x0D, 0x19 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5028, 17) // Also for 5120, 5233 - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - - { 0x23, 0x8B }, - { 0x3B, 0x86 }, - - { 0x53, 0x0C }, - { 0x54, 0x83 }, - { 0x55, 0xF9 }, - { 0x56, 0x10 }, - { 0x57, 0x89 }, - { 0x58, 0x56 }, - { 0x59, 0x08 }, - { 0x5A, 0x8D }, - { 0x5B, 0x96 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_MakeRequestedSpace -// ****************************************************************** -OOVPA_XREF(D3D_MakeRequestedSpace, 5028, 28, // Also for 5344 - - XREF_D3D_MakeRequestedSpace, - XRefZero) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x56 }, - { 0x04, 0x8B }, - { 0x05, 0x35 }, - - { 0x0A, 0xF6 }, - { 0x0B, 0x46 }, - { 0x0C, 0x08 }, - { 0x0D, 0x04 }, - { 0x0E, 0x8B }, - { 0x0F, 0x0E }, - { 0x10, 0x57 }, - { 0x11, 0x74 }, - { 0x12, 0x26 }, - { 0x13, 0x8B }, - { 0x14, 0x86 }, - { 0x15, 0x4C }, - { 0x16, 0x03 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x8B }, - { 0x1A, 0x78 }, - { 0x1B, 0x04 }, - { 0x1C, 0x8B }, - { 0x1D, 0x96 }, - { 0x1E, 0x50 }, - { 0x1F, 0x03 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5028, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xD8 }, - { 0x08, 0x14 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * Rollback support signature(s) -// ****************************************************************** -#define D3DDevice_Begin_5028 D3DDevice_Begin_4361 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl deleted file mode 100644 index 4cd4e1ef7..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl +++ /dev/null @@ -1,70 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5120.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_RunPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5120, 13) - - { 0x0B, 0x57 }, - { 0x10, 0xE8 }, - - { 0x15, 0x8B }, - { 0x1F, 0x01 }, - - { 0x8D, 0x8B }, - { 0x8E, 0x4E }, - { 0x8F, 0x30 }, - { 0x90, 0x8B }, - { 0x91, 0x11 }, - { 0x92, 0x8B }, - { 0x93, 0x4E }, - { 0x94, 0x2C }, - { 0x95, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CopyRects -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CopyRects, 5120, 8) - - { 0x1E, 0xE1 }, - { 0x42, 0x84 }, - { 0x5E, 0x24 }, - { 0x7E, 0x8B }, - { 0x9E, 0x1C }, - { 0xBE, 0x00 }, - { 0xDE, 0xBD }, - { 0xFE, 0x4C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl deleted file mode 100644 index f4baab8ae..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ /dev/null @@ -1,239 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5233.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_UpdateOverlay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5233, 12) // Up to 5849 - - { 0x00, 0x83 }, - { 0x13, 0x89 }, - { 0x14, 0x88 }, - { 0x74, 0x4F }, - - { 0x80, 0xE1 }, - { 0x81, 0xFE }, - { 0x82, 0x0F }, - { 0x83, 0xAF }, - { 0x84, 0xCA }, - { 0x85, 0x25 }, - { 0x86, 0xFF }, - { 0x87, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5233, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x195C - { 0x17, 0x05 }, - { 0x18, 0x5C }, - { 0x19, 0x19 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5233, 13) - - // D3DDevice_SetRenderState_MultiSampleMode+0x04 : mov ecx, ds:dword_XXXX - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x0F : mov edx, [ecx+XXXXh] - { 0x0F, 0x8B }, - { 0x10, 0x91 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x15 : cmp edx, [ecx+XXXXh] - { 0x15, 0x3B }, - { 0x16, 0x91 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x1B : jnz short - { 0x1B, 0x75 }, - { 0x1C, 0x07 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x1D : xor edx, edx - { 0x1D, 0x33 }, - { 0x1E, 0xD2 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x24 : retn 4 - { 0x24, 0xC2 }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5233, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1958], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x58 }, // 54 vs 58 - { 0x0D, 0x19 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5233, 12) - - // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x1954], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x54 }, // 54 vs 58 - { 0x0D, 0x19 }, - - // D3DDevice_SetSwapCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTargetFast -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderTargetFast, 5233, 27) -#else -OOVPA_XREF(D3DDevice_SetRenderTargetFast, 5233, 1+27, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - // D3DDevice_SetRenderTargetFast+0x00 : push ebp - { 0x00, 0x55 }, - - // D3DDevice_SetRenderTargetFast+0x01 : mov ebp, [esp+8] - { 0x01, 0x8B }, - { 0x02, 0x6C }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - - // D3DDevice_SetRenderTargetFast+0x05 : push esi - { 0x05, 0x56 }, - - // D3DDevice_SetRenderTargetFast+0x06 : push edi - { 0x06, 0x57 }, - - // D3DDevice_SetRenderTargetFast+0x07 : mov edi, [ds:{addr}] - { 0x07, 0x8B }, - { 0x08, 0x3D }, - - // D3DDevice_SetRenderTargetFast+0x0D : push ebp - { 0x0D, 0x55 }, - - // D3DDevice_SetRenderTargetFast+0x0E : call {addr} - { 0x0E, 0xE8 }, - - // D3DDevice_SetRenderTargetFast+0x13 : mov eax, [edi+{offset}] - { 0x13, 0x8B }, - { 0x14, 0x87 }, - - // D3DDevice_SetRenderTargetFast+0x19 : mov ecx, [eax+0x14] - { 0x19, 0x8B }, - { 0x1A, 0x48 }, - { 0x1B, 0x14 }, - - // D3DDevice_SetRenderTargetFast+0x1C : test ecx, ecx - { 0x1C, 0x85 }, - { 0x1D, 0xC9 }, - - // D3DDevice_SetRenderTargetFast+0x1E : jz + 0x02 - { 0x1E, 0x74 }, - { 0x1F, 0x02 }, - - { 0x3C, 0x89 }, - { 0x5F, 0x8B }, - { 0x7A, 0x04 }, - { 0x99, 0x04 }, - { 0xB8, 0x02 }, - { 0xD7, 0x0C }, - { 0xF6, 0xC5 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVisibilityTestResult -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 5233, 7) - - { 0x0E, 0x08 }, - { 0x10, 0xFF }, - { 0x2A, 0x16 }, - { 0x3C, 0x76 }, - { 0x3F, 0x0C }, - { 0x51, 0x0A }, - { 0x5F, 0x0C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl deleted file mode 100644 index 59fabfa89..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ /dev/null @@ -1,710 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5344.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetLight -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetLight, 5344, 15, - - XREF_D3DDevice_SetLight, - XRefZero) - - // D3DDevice_SetLight+0x1f : add REG, 0x10 - { 0x1F, 0x83 }, - { 0x21, 0x10 }, - - // D3DDevice_SetLight+0x22 : and REG, 0xfffffff0 - { 0x22, 0x83 }, - { 0x24, 0xf0 }, - - // D3DDevice_SetLight+0x2c : push 0x24800000 - { 0x2C, 0x68 }, - { 0x2D, 0x00 }, - { 0x2E, 0x00 }, - { 0x2F, 0x80 }, - { 0x30, 0x24 }, - - // D3DDevice_SetLight+0x65 : jz +8 - { 0x65, 0x74 }, - { 0x66, 0x08 }, - - // D3DDevice_SetLight+0xe3 : jz +8 - { 0xE3, 0x74 }, - { 0xE4, 0x08 }, - - // D3DDevice_SetLight+0xfe : shr ???, 2 - { 0xFE, 0xC1 }, - { 0x100, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TwoSidedLighting -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 5344, 13) - - // D3DDevice_SetRenderState_TwoSidedLighting+0x07 : mov eax, [esi] - { 0x07, 0x8B }, - { 0x08, 0x06 }, - - // D3DDevice_SetRenderState_TwoSidedLighting+0x09 : cmp eax, [esi+4] - { 0x09, 0x3B }, - { 0x0A, 0x46 }, - { 0x0B, 0x04 }, - - // *** - // D3DDevice_SetRenderState_TwoSidedLighting+0x18 : mov dword ptr [eax], 417C4h - { 0x18, 0xC7 }, - { 0x19, 0x00 }, - { 0x1A, 0xC4 }, - { 0x1B, 0x17 }, - { 0x1C, 0x04 }, - { 0x1D, 0x00 }, - - // D3DDevice_SetRenderState_TwoSidedLighting+0x7D : retn 0x04 - { 0x7D, 0xC2 }, - { 0x7E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LightEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_LightEnable, 5344, 2+24, - - XRefNoSaveIndex, - XRefTwo) // PatrickvL : Also for 5558, 5659, 5788, 5849, 5933 - - XREF_ENTRY( 0x0B, XREF_D3DDEVICE ), // Derived - XREF_ENTRY( 0x67, XREF_D3DDevice_SetLight ), - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x68 }, - { 0x03, 0x53 }, - - { 0x04, 0x8B }, - { 0x05, 0x5C }, - { 0x06, 0x24 }, - { 0x07, 0x70 }, - { 0x08, 0x56 }, - - { 0x09, 0x8B }, - { 0x0A, 0x35 }, - - { 0x0F, 0x3B }, - { 0x10, 0x9E }, - - // { 0x11, 0x90 }, // A4 // A8 - // { 0x12, 0x03 }, // 07 - { 0x13, 0x00 }, - - { 0x14, 0x00 }, - { 0x15, 0x57 }, - { 0x16, 0x73 }, - { 0x17, 0x13 }, - { 0x18, 0x8B }, - - { 0x19, 0x8E }, - // { 0x1A, 0x8C }, // A0 // A4 - // { 0x1B, 0x03 }, // 07 - { 0x1C, 0x00 }, - { 0x1D, 0x00 }, - { 0x1E, 0x8D }, - { 0x1F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetLightEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_GetLightEnable, 5344, 1+26, - - XRefNoSaveIndex, - XRefOne) // PatrickvL : Also for 5558, 5659, 5788, 5849, 5933 - - XREF_ENTRY( 0x06, XREF_D3DDEVICE ), // Derived - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - { 0x0A, 0x8B }, - { 0x0B, 0x91 }, - //{ 0x0C, 0x8C }, 5344 0x8C03 vs 5558 0xA007 - //{ 0x0D, 0x03 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - { 0x10, 0x8D }, - { 0x11, 0x04 }, - { 0x12, 0xC0 }, - { 0x13, 0xC1 }, - { 0x14, 0xE0 }, - { 0x15, 0x04 }, - { 0x16, 0x56 }, - { 0x17, 0x8B }, - { 0x18, 0xB4 }, - { 0x19, 0x02 }, - { 0x1A, 0x8C }, - { 0x1B, 0x00 }, - { 0x1C, 0x00 }, - { 0x1D, 0x00 }, - { 0x1E, 0x8B }, - { 0x1F, 0x54 }, -/* - { 0x3E, 0xC7 }, - { 0x5E, 0xC7 }, - { 0x7E, 0x00 }, - { 0x9E, 0x85 }, - { 0xBE, 0x01 }, - { 0xDE, 0x00 }, - { 0xFE, 0x83 }, -*/ -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetMaterial, 5344, 11) - - { 0x04, 0x08 }, - - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0xE0 }, - { 0x0F, 0x0A }, - { 0x10, 0x00 }, - - { 0x16, 0x00 }, - { 0x1F, 0x81 }, - { 0x22, 0x90 }, - { 0x2C, 0x5E }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetViewport -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetViewport, 5344, 8) - - { 0x1E, 0x87 }, - { 0x3E, 0xC0 }, - { 0x5E, 0x49 }, - { 0x7E, 0xD6 }, - { 0x9E, 0xE2 }, - { 0xBE, 0xC1 }, - { 0xDE, 0xC9 }, - { 0xFE, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTransform, 5344, 15) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x54 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - { 0x08, 0x53 }, - { 0x09, 0x8B }, - { 0x0A, 0x1D }, - - { 0x0F, 0x56 }, - { 0x1F, 0xF2 }, - - { 0x2F, 0x0B }, - { 0x35, 0x35 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScissors -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScissors, 5344, 8) - - { 0x1D, 0x44 }, - { 0x3C, 0x8B }, - { 0x5D, 0xD9 }, - { 0x7D, 0xD8 }, - { 0x99, 0x0A }, - { 0xB8, 0xE8 }, - { 0xD7, 0x24 }, - { 0xF6, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5344, 7) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x88 }, - { 0x0D, 0x19 }, - { 0x10, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5344, 7) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x84 }, - { 0x0D, 0x19 }, - { 0x10, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5344, 9) -#else -OOVPA_XREF(D3DDevice_SetRenderTarget, 5344, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x18, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - { 0x00, 0x83 }, - { 0x08, 0x56 }, - { 0x09, 0x33 }, - { 0x0A, 0xF6 }, - { 0x0B, 0x3B }, - { 0x0C, 0xEE }, - { 0x2A, 0xE4 }, - { 0x30, 0x74 }, - { 0x34, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexBuffer2 -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 5344, 9, - - XREF_D3DDevice_CreateVertexBuffer2, - XRefZero) - - { 0x08, 0xE8 }, - { 0x0E, 0xF0 }, - { 0x10, 0xF6 }, - { 0x14, 0x44 }, - { 0x18, 0x04 }, - { 0x1C, 0x6A }, - { 0x2C, 0x85 }, - { 0x30, 0x68 }, - { 0x34, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePalette2 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5344, 8) - - { 0x08, 0xE8 }, - { 0x10, 0xFF }, - { 0x11, 0x75 }, - { 0x12, 0x04 }, - { 0x13, 0x5F }, - { 0x14, 0xC2 }, - { 0x38, 0x85 }, - { 0x3C, 0x68 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 5344, 16) - - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - - { 0x25, 0x8B }, - { 0x26, 0x4D }, - { 0x27, 0x08 }, - { 0x28, 0x8B }, - { 0x29, 0x5D }, - { 0x2A, 0x10 }, - { 0x2B, 0x8B }, - { 0x2C, 0x75 }, - { 0x2D, 0x14 }, - { 0x2E, 0xC7 }, - { 0x2F, 0x00 }, - - { 0x50, 0xC3 }, - { 0x51, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_End -// ****************************************************************** -//Generic OOVPA as of 5344 and newer. -OOVPA_NO_XREF(D3DDevice_End, 5344, 14) - - { 0x08, 0x06 }, - { 0x0A, 0x46 }, - { 0x0E, 0xE8 }, - { 0x15, 0xFC }, - { 0x17, 0x04 }, - - { 0x34, 0x4E }, - { 0x35, 0x08 }, - { 0x36, 0x5E }, - { 0x37, 0x74 }, - { 0x38, 0x07 }, - { 0x39, 0x6A }, - { 0x3A, 0x01 }, - { 0x3B, 0xE8 }, - - { 0x40, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5344, 11) - - // D3DDevice_CreatePixelShader+0x05 : push 0xFC - { 0x05, 0x68 }, - { 0x06, 0xFC }, - - // D3DDevice_CreatePixelShader+0x10 : mov eax, 0x8007000E - { 0x13, 0xB8 }, - { 0x14, 0x0E }, - { 0x15, 0x00 }, - { 0x16, 0x07 }, - { 0x17, 0x80 }, - - // D3DDevice_CreatePixelShader+0x31 : mov ecx, 0x3C - { 0x34, 0xB9 }, - { 0x35, 0x3C }, - - // D3DDevice_CreatePixelShader+0x42 : retn 0x08 - { 0x45, 0xC2 }, - { 0x46, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeleteVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DeleteVertexShader, 5344, 6) - - { 0x02, 0x24 }, - { 0x06, 0xFF }, - { 0x0A, 0x08 }, - { 0x0E, 0x00 }, - - // D3DDevice_DeleteVertexShader+0x18 : retn 4 - { 0x18, 0xC2 }, - { 0x19, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5344, 9) - - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0x35 }, - { 0x2A, 0xFC }, - { 0x3A, 0x89 }, - { 0x4A, 0x81 }, - { 0x5A, 0x56 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeletePixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_DeletePixelShader, 5344, 7) - - { 0x02, 0x24 }, - { 0x06, 0x75 }, - { 0x0A, 0x04 }, - { 0x0E, 0x0B }, - { 0x12, 0x80 }, - { 0x1A, 0xC2 }, - { 0x1B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetMaterial, 5344, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - { 0x0D, 0xE0 }, - { 0x0E, 0x0A }, - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5344, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - { 0x0D, 0x24 }, - { 0x0E, 0x0B }, - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5344, 11) - - { 0x04, 0x08 }, - - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0x24 }, - { 0x0F, 0x0B }, - { 0x10, 0x00 }, - - { 0x16, 0x00 }, - { 0x1F, 0x81 }, - { 0x22, 0x90 }, - { 0x2C, 0x5E }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetProjectionViewportMatrix -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5344, 16) // Up to 5455 - - { 0x02, 0x35 }, - - { 0x07, 0x57 }, - - { 0x0E, 0x60 }, // 4361 0x7004 - { 0x0F, 0x05 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0xB9 }, - { 0x13, 0x10 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0xF3 }, - { 0x18, 0xA5 }, - { 0x19, 0x5F }, - { 0x1A, 0x5E }, - { 0x1B, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateIndexBuffer2 -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateIndexBuffer2, 5344, 7, - - XREF_D3DDevice_CreateIndexBuffer2, - XRefZero) - - { 0x05, 0x00 }, - { 0x0C, 0x50 }, - { 0x13, 0xC0 }, - { 0x1A, 0xC9 }, - { 0x21, 0x04 }, - { 0x28, 0xC7 }, - { 0x2F, 0x48 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5344, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x198C - { 0x17, 0x05 }, - { 0x18, 0x8C }, - { 0x19, 0x19 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPush -// ****************************************************************** -OOVPA_XREF(D3DDevice_BeginPush, 5344, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x06, 0x6A }, - { 0x07, 0x00 }, - - { 0x11, 0x40 }, - - { 0x12, 0x89 }, - { 0x13, 0x44 }, - { 0x14, 0x24 }, - { 0x15, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 5344, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0520] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x20 }, - { 0x08, 0x05 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x0C : mov [eax+0x0520], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0x20 }, - { 0x0F, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5344, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x08 }, - { 0x08, 0x15 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_GetTexture2, 5344, 23) -#else -OOVPA_XREF(D3DDevice_GetTexture2, 5344, 1+23, // Up to 5455 - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - { 0x0A, 0x56 }, - { 0x0B, 0x8D }, - { 0x0C, 0xB4 }, - { 0x0D, 0x81 }, - { 0x0E, 0x68 }, // GetTexture2 680B vs GetPalette2 780B - { 0x0F, 0x0B }, - - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x8B }, - { 0x13, 0x06 }, - { 0x14, 0x85 }, - { 0x15, 0xC0 }, - { 0x16, 0x74 }, - - { 0x18, 0x50 }, - { 0x19, 0xE8 }, - - { 0x1E, 0x8B }, - { 0x1F, 0x06 }, -// { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * Rollback support signature(s) -// ****************************************************************** -#define D3DDevice_GetTransform_5344 D3DDevice_GetTransform_3925 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl deleted file mode 100644 index 2ce6e4953..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ /dev/null @@ -1,438 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5455.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SelectVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5455, 12) - - { 0x00, 0x8B }, - { 0x1D, 0xBE }, - - { 0x3F, 0x00 }, - { 0x40, 0x10 }, - { 0x41, 0x00 }, - { 0x42, 0x00 }, - { 0x43, 0x8B }, - { 0x44, 0x06 }, - { 0x45, 0x3B }, - { 0x46, 0x46 }, - - { 0x58, 0x8B }, - { 0x7B, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetViewport -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetViewport, 5455, 8) - - { 0x1E, 0x86 }, - { 0x3E, 0x1B }, - { 0x5E, 0x8B }, - { 0x7E, 0x6D }, - { 0x9E, 0x81 }, - { 0xBE, 0x0C }, - { 0xDE, 0x75 }, - { 0xFE, 0x85 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexBuffer2 -// ****************************************************************** -OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14, - - XREF_D3DDevice_CreateVertexBuffer2, - XRefZero) - - { 0x00, 0x56 }, - { 0x08, 0xE8 }, - - { 0x16, 0x08 }, - { 0x17, 0x68 }, - { 0x18, 0x00 }, - { 0x19, 0x00 }, - { 0x1A, 0x80 }, - { 0x1B, 0xB2 }, - { 0x1C, 0x50 }, - { 0x1D, 0xE8 }, - - { 0x26, 0x68 }, - { 0x31, 0x33 }, - { 0x3A, 0xFF }, - { 0x44, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePalette2 -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5455, 7) - - { 0x0D, 0x8B }, - { 0x16, 0x00 }, - { 0x23, 0x68 }, - { 0x2E, 0x85 }, - { 0x3D, 0x5E }, - { 0x46, 0x1E }, - { 0x52, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) - - { 0x1E, 0x89 }, - { 0x3E, 0x5F }, - { 0x61, 0x3B }, - { 0x81, 0x00 }, - { 0x9E, 0x00 }, - { 0xBE, 0x8B }, - { 0xDE, 0x04 }, - { 0xFE, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5455, 12) - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1998], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x98 }, // 94 vs 98 - { 0x0D, 0x19 }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -/* See the comment for the 4134 OOVPA signature for previous notes */ -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5455, 12) - - // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x1994], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0x94 }, // 94 vs 98 - { 0x0D, 0x19 }, - - // D3DDevice_SetSwapCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetViewport -// ****************************************************************** -OOVPA_XREF(D3DDevice_GetViewport, 5455, 1+17, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_D3DDEVICE ), // Derived - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x4C }, - { 0x07, 0x24 }, - { 0x08, 0x04 }, - { 0x09, 0x05 }, - - { 0x0C, 0x00 }, - { 0x0D, 0x00 }, - { 0x0E, 0x8B }, - - { 0x2A, 0x8B }, - { 0x2B, 0x40 }, - { 0x2C, 0x14 }, - { 0x2D, 0x89 }, - { 0x2E, 0x41 }, - { 0x2F, 0x14 }, - { 0x30, 0xC2 }, - { 0x31, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5455, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x199C - { 0x17, 0x05 }, - { 0x18, 0x9C }, - { 0x19, 0x19 }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScreenSpaceOffset -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5455, 17) - - { 0x00, 0xD9 }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x56 }, - { 0x05, 0xD8 }, - { 0x06, 0x05 }, - - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0xD9 }, - { 0x1A, 0x44 }, - { 0x1B, 0x24 }, - { 0x1C, 0x0C }, - { 0x1D, 0xD8 }, - { 0x1E, 0x05 }, - - { 0x23, 0xD9 }, - { 0x29, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5455, 12) - - { 0x00, 0x83 }, - { 0x1F, 0x6A }, - - { 0x2C, 0x00 }, - { 0x2D, 0x85 }, - { 0x2E, 0xC0 }, - { 0x2F, 0x75 }, - { 0x30, 0x0A }, - { 0x31, 0xB8 }, - { 0x32, 0x05 }, - { 0x33, 0x40 }, - - { 0x4D, 0x85 }, - { 0x6F, 0xE1 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_SetTileNoWait -// ****************************************************************** -OOVPA_XREF(D3D_SetTileNoWait, 5455, 16, - - XREF_D3D_SetTileNoWait, - XRefZero) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x1C }, - { 0x03, 0x8B }, - { 0x04, 0x44 }, - { 0x05, 0x24 }, - { 0x06, 0x24 }, - { 0x07, 0x85 }, - { 0x08, 0xC0 }, - { 0x09, 0x53 }, - { 0x0A, 0x8B }, - { 0x0B, 0x1D }, - - { 0x45, 0x8D }, - { 0x46, 0x9C }, - - { 0x88, 0x5F }, - { 0x9B, 0xCB }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport::InitHardware -// ****************************************************************** -OOVPA_NO_XREF(CMiniport_InitHardware, 5455, 24) // Also for 5558, 5659, 5788, 5849, 5933 - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xF1 }, - { 0x0A, 0x56 }, - { 0x0B, 0x68 }, - - { 0x10, 0x8D }, - { 0x11, 0x86 }, - { 0x12, 0x84 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x50 }, - { 0x17, 0xFF }, - { 0x18, 0x15 }, - - { 0x1D, 0x8D }, - { 0x1E, 0x86 }, - { 0x1F, 0xAC }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTile -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetTile, 5455, 12) - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x13, 0x00 }, - { 0x14, 0x8B }, - { 0x15, 0x0A }, - { 0x16, 0x8B }, - { 0x17, 0x44 }, - { 0x18, 0x24 }, - { 0x19, 0x08 }, - { 0x1A, 0x89 }, - - { 0x3A, 0xC2 }, - { 0x3B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::KickOff -// ****************************************************************** -OOVPA_XREF(D3DDevice_KickOff, 5455, 15, - - XREF_D3D_CDevice_KickOff, - XRefZero) - - { 0x06, 0xA8 }, - { 0x07, 0x04 }, - { 0x08, 0x74 }, - { 0x09, 0x08 }, - - // D3D::CDevice::KickOff+0x0A : mov edx, [ecx+0x35C] - { 0x0A, 0x8B }, - { 0x0B, 0x96 }, -// { 0x0C, 0x6C }, -// { 0x0D, 0x07 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - - // D3D::CDevice::KickOff+0x14 : test ch, 0x20 - { 0x14, 0xF6 }, - { 0x15, 0xC4 }, - { 0x16, 0x20 }, - - // D3D::CDevice::KickOff+0x24 : sfence - { 0x24, 0x0F }, - { 0x25, 0xAE }, - { 0x26, 0xF8 }, - - { 0x62, 0x74 } - - // D3D::CDevice::KickOff+0xAF : retn -// { 0xAF, 0xC3 } -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5455, 9) -#else -OOVPA_XREF(D3DDevice_SetRenderTarget, 5455, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived TODO : Verify offset -#endif - { 0x00, 0x83 }, - { 0x1E, 0x44 }, - { 0x3E, 0x2C }, - { 0x5E, 0x8B }, - { 0x7E, 0xDE }, - { 0xA0, 0x89 }, - { 0xBE, 0x09 }, - { 0xDE, 0x8B }, - { 0xFE, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3D_AllocContiguousMemory -// ****************************************************************** -OOVPA_NO_XREF(D3D_AllocContiguousMemory, 5455, 7) - - { 0x05, 0x10 }, - { 0x0C, 0x00 }, - { 0x13, 0x00 }, - { 0x1A, 0x08 }, - { 0x21, 0xBC }, - { 0x28, 0x0D }, - { 0x2F, 0x24 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl deleted file mode 100644 index 428f40c53..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ /dev/null @@ -1,590 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5558.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_LazySetStateVB -// ****************************************************************** -OOVPA_XREF(D3DDevice_LazySetStateVB, 5558, 16, - - XREF_D3DDevice_LazySetStateVB, - XRefZero) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x0C }, - - { 0x41, 0x0F }, - { 0x42, 0x84 }, - { 0x43, 0x41 }, - { 0x44, 0x01 }, - { 0x45, 0x00 }, - { 0x46, 0x00 }, - { 0x47, 0x8B }, - { 0x48, 0x86 }, - //{ 0x49, 0x90 }, // 5558 0x90 VS 5659 0x94 - { 0x4A, 0x07 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - - { 0x66, 0x3B }, - { 0x67, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::CDevice::LazySetStateUP -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_LazySetStateUP, 5558, 14) - - { 0x00, 0xA1 }, - - { 0x2F, 0x8B }, - { 0x30, 0x86 }, - //{ 0x31, 0x90 }, // 5558 0x90 VS 5659 0x94 - { 0x32, 0x07 }, - { 0x33, 0x00 }, - { 0x34, 0x00 }, - { 0x35, 0x8B }, - { 0x36, 0x4E }, - { 0x37, 0x04 }, - { 0x38, 0x53 }, - { 0x39, 0x8B }, - { 0x3A, 0x58 }, - - { 0x4F, 0x3B }, - { 0x50, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetMaterial, 5558, 11) - - { 0x04, 0x08 }, - - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0xF0 }, - { 0x0F, 0x0E }, - { 0x10, 0x00 }, - - { 0x16, 0x00 }, - { 0x1F, 0x81 }, - { 0x22, 0x90 }, - { 0x2C, 0x5E }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetMaterial, 5558, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - - { 0x0D, 0xF0 }, - { 0x0E, 0x0E }, - - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5558, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DAC - { 0x17, 0x05 }, - { 0x18, 0xAC }, - { 0x19, 0x1D }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTransform, 5558, 12) - - { 0x04, 0x8B }, - { 0x05, 0x54 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - { 0x08, 0x53 }, - { 0x09, 0x8B }, - { 0x0A, 0x1D }, - { 0x0F, 0x56 }, - - { 0x2C, 0x8B }, - { 0x2D, 0x0C }, - - { 0x9C, 0x00 }, - { 0x9D, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetFence -// ****************************************************************** -OOVPA_XREF(D3D_SetFence, 5558, 9, - - XREF_D3D_SetFence, - XRefZero) - - { 0x07, 0x8B }, - { 0x09, 0x3B }, - { 0x0A, 0x46 }, - { 0x0B, 0x04 }, - { 0x0F, 0xE8 }, - { 0x14, 0x8B }, - { 0x15, 0x7E }, - { 0x16, 0x2C }, - - { 0x39, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * D3D::BlockOnTime -// ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 5558, 12, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x02, 0x35 }, - - { 0x08, 0x46 }, - { 0x1F, 0x83 }, - - { 0x52, 0x8B }, - { 0x53, 0x4D }, - { 0x54, 0x04 }, - { 0x55, 0x3B }, - { 0x56, 0xCA }, - { 0x57, 0x77 }, - { 0x58, 0x03 }, - { 0x59, 0x03 }, - { 0x5A, 0x4E }, -/* - { 0x09, 0x30 }, - { 0x27, 0x07 }, - { 0x7E, 0x25 }, - { 0x9F, 0x20 }, - { 0xD3, 0x56 }, - { 0xE9, 0x57 },*/ -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScissors -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScissors, 5558, 8) - - { 0x1D, 0x44 }, - { 0x3C, 0x8B }, - { 0x5D, 0xD9 }, - { 0x7D, 0xD8 }, - { 0x99, 0x0E }, - { 0xB8, 0xE8 }, - { 0xD7, 0x24 }, - { 0xF6, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 5558, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0934] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x34 }, - { 0x08, 0x09 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x0C : mov [eax+0x0934], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0x34 }, - { 0x0F, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5558, 7) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0xA8 }, - { 0x0D, 0x1D }, - { 0x10, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5558, 7) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0xA4 }, - { 0x0D, 0x1D }, - { 0x10, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Reset -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Reset, 5558, 13) - - { 0x00, 0x53 }, - { 0x27, 0x8B }, - { 0x28, 0x74 }, - { 0x29, 0x24 }, - { 0x2A, 0x14 }, - { 0x2B, 0x56 }, - { 0x2C, 0x8B }, - { 0x2D, 0xCF }, - { 0x2E, 0xE8 }, - { 0x8B, 0x6A }, - { 0x9A, 0xE8 }, - { 0x9F, 0x33 }, - { 0xA6, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetGammaRamp -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 5558, 7) - - { 0x0F, 0x68 }, - { 0x20, 0x34 }, - { 0x31, 0xB4 }, - { 0x42, 0x08 }, - { 0x53, 0xF3 }, - { 0x64, 0xCA }, - { 0x75, 0x07 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5558, 11) - - { 0x04, 0x08 }, - - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0x34 }, - { 0x0F, 0x0F }, - { 0x10, 0x00 }, - - { 0x16, 0x00 }, - { 0x1F, 0x81 }, - { 0x22, 0x90 }, - { 0x2C, 0x5E }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5558, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - - { 0x0D, 0x34 }, - { 0x0E, 0x0F }, - - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::MakeRequestedSpace -// ****************************************************************** -OOVPA_XREF(D3D_MakeRequestedSpace, 5558, 26, // Also for 5659 - - XREF_D3D_MakeRequestedSpace, - XRefZero) - - { 0x00, 0x51 }, - { 0x01, 0x56 }, - { 0x02, 0x8B }, - { 0x03, 0x35 }, - - { 0x08, 0xF6 }, - { 0x09, 0x46 }, - { 0x0A, 0x08 }, - { 0x0B, 0x04 }, - { 0x0C, 0x57 }, - { 0x0D, 0x74 }, - { 0x0E, 0x26 }, - { 0x0F, 0x8B }, - { 0x10, 0x86 }, -// { 0x11, 0x60 }, // 0x64 for 5558.4 - { 0x12, 0x07 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x8B }, - { 0x16, 0x78 }, - { 0x17, 0x04 }, - { 0x18, 0x8B }, - { 0x19, 0x0E }, - { 0x1A, 0x8B }, - { 0x1B, 0x96 }, -// { 0x1C, 0x64 }, // 0x68 for 5558.4 - { 0x1D, 0x07 }, - { 0x1E, 0x00 }, - { 0x1F, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5558, 12) - - { 0x00, 0x83 }, - { 0x1B, 0x6A }, - - { 0x28, 0x00 }, - { 0x29, 0x85 }, - { 0x2A, 0xC0 }, - { 0x2B, 0x75 }, - { 0x2C, 0x0A }, - { 0x2D, 0xB8 }, - { 0x2E, 0x05 }, - { 0x2F, 0x40 }, - - { 0x49, 0x85 }, - { 0x6B, 0xE1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetViewportOffsetAndScale -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 5558, 8) - - { 0x1E, 0xD8 }, - { 0x40, 0xD8 }, - { 0x5E, 0xC9 }, - { 0x8C, 0x0E }, - { 0x9D, 0x0E }, - { 0xBE, 0xD8 }, - { 0xDD, 0x14 }, - { 0xFE, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetProjectionViewportMatrix -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5558, 15) - - { 0x02, 0x35 }, - { 0x07, 0x57 }, - { 0x0F, 0x09 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0xB9 }, - { 0x13, 0x10 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0xF3 }, - { 0x18, 0xA5 }, - { 0x19, 0x5F }, - { 0x1A, 0x5E }, - { 0x1B, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_RunPushBuffer -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5558, 6) - - { 0x0E, 0xED }, - { 0x42, 0x18 }, - { 0x62, 0x04 }, - { 0x8D, 0x1C }, - { 0xAF, 0x0F }, - { 0xF6, 0x41 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5558, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x18 }, - { 0x08, 0x19 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5558, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x80 }, - { 0x08, 0x07 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5558, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x94 }, - { 0x08, 0x07 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_GetTexture2, 5558, 23) // Up to 5659 -#else -OOVPA_XREF(D3DDevice_GetTexture2, 5558, 1+23, // Up to 5659 - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - { 0x0A, 0x56 }, - { 0x0B, 0x8D }, - { 0x0C, 0xB4 }, - { 0x0D, 0x81 }, - { 0x0E, 0x78 }, // GetTexture2 780F vs GetPalette2 880F - { 0x0F, 0x0F }, - - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x8B }, - { 0x13, 0x06 }, - { 0x14, 0x85 }, - { 0x15, 0xC0 }, - { 0x16, 0x74 }, - - { 0x18, 0x50 }, - { 0x19, 0xE8 }, - - { 0x1E, 0x8B }, - { 0x1F, 0x06 }, -// { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * Rollback support signature(s) -// ****************************************************************** -#define Direct3D_CreateDevice_5558 Direct3D_CreateDevice_3911 -#define D3DDevice_GetTransform_5558 D3DDevice_GetTransform_4039 -#define D3DDevice_SetVertexShaderConstantNotInline_5558 D3DDevice_SetVertexShaderConstantNotInline_4627 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl deleted file mode 100644 index ef052219d..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ /dev/null @@ -1,353 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5788.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3D::RecordStateBlock -// ****************************************************************** -OOVPA_XREF(D3D_RecordStateBlock, 5788, 10, - - XREF_D3D_RecordStateBlock, - XRefZero) - - // D3D_RecordStateBlock+0x0F : mov eax, [edi+0x07A4] - { 0x0F, 0x8B }, - { 0x10, 0x87 }, - { 0x11, 0xA4 }, - { 0x12, 0x07 }, - - // D3D_RecordStateBlock+0x95 : add ebx, ecx - { 0x95, 0x03 }, - { 0x96, 0xD9 }, - - // D3D_RecordStateBlock+0xD5 : mov dword ptr [esi+0x0C], 1 - { 0xD5, 0xC7 }, - { 0xD6, 0x46 }, - { 0xD7, 0x0C }, - { 0xD8, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetMaterial, 5788, 11) - - { 0x04, 0x08 }, - - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0x00 }, - { 0x0F, 0x0F }, - { 0x10, 0x00 }, - - { 0x16, 0x00 }, - { 0x1F, 0x81 }, - { 0x22, 0x90 }, - { 0x2C, 0x5E }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetMaterial, 5788, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - - { 0x0D, 0x00 }, - { 0x0E, 0x0F }, - - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_AddRef -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 5788, 10) - - // D3DDevice_AddRef+0x00 : mov eax, [addr] - { 0x00, 0xA1 }, - - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0938] - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x38 }, - { 0x08, 0x09 }, - - // D3DDevice_AddRef+0x0B : inc ecx - { 0x0B, 0x41 }, - - // D3DDevice_AddRef+0x0C : mov [eax+0x0938], ecx - { 0x0C, 0x89 }, - { 0x0D, 0x88 }, - { 0x0E, 0x38 }, - { 0x0F, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5788, 11) - - { 0x04, 0x08 }, - - { 0x0C, 0x81 }, - { 0x0D, 0xC7 }, - { 0x0E, 0x44 }, - { 0x0F, 0x0F }, - { 0x10, 0x00 }, - - { 0x16, 0x00 }, - { 0x1F, 0x81 }, - { 0x22, 0x90 }, - { 0x2C, 0x5E }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackMaterial -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5788, 8) - - { 0x05, 0x56 }, - { 0x06, 0x57 }, - { 0x0A, 0x0C }, - - { 0x0D, 0x44 }, - { 0x0E, 0x0F }, - - { 0x12, 0x11 }, - { 0x16, 0xF3 }, - { 0x1A, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVerticalBlankCallback -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5788, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x06, XREF_D3DDEVICE ), // Derived - - // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1DB4], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0xB8 }, // B4 vs B8 - { 0x0D, 0x1D }, - - // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetSwapCallback -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5788, 12) - - // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x1DB4], eax - { 0x0A, 0x89 }, - { 0x0B, 0x81 }, - { 0x0C, 0xB4 }, // B4 vs B8 - { 0x0D, 0x1D }, - - // D3DDevice_SetSwapCallback+0x10 : retn 0x04 - { 0x10, 0xC2 }, - { 0x11, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetVertexShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5788, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x98 }, - { 0x08, 0x07 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetPixelShader -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x84 }, - { 0x08, 0x07 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DBC - { 0x17, 0x05 }, - { 0x18, 0xBC }, - { 0x19, 0x1D }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetShaderConstantMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5788, 16) - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0x28 }, - { 0x08, 0x19 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x54 }, - { 0x0D, 0x24 }, - { 0x0E, 0x04 }, - { 0x0F, 0x89 }, - { 0x10, 0x0A }, - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) -// ****************************************************************** -#ifndef WIP_LessVertexPatching -OOVPA_NO_XREF(D3DDevice_GetTexture2, 5788, 23) // Up to 5849 -#else -OOVPA_XREF(D3DDevice_GetTexture2, 5788, 1+23, // Up to 5849 - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // Derived -#endif - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, - - { 0x0A, 0x56 }, - { 0x0B, 0x8D }, - { 0x0C, 0xB4 }, - { 0x0D, 0x81 }, - { 0x0E, 0x88 }, // GetTexture2 880F vs GetPalette2 980F - { 0x0F, 0x0F }, - - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x8B }, - { 0x13, 0x06 }, - { 0x14, 0x85 }, - { 0x15, 0xC0 }, - { 0x16, 0x74 }, - - { 0x18, 0x50 }, - { 0x19, 0xE8 }, - - { 0x1E, 0x8B }, - { 0x1F, 0x06 }, -// { 0x21, 0xC2 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl deleted file mode 100644 index 841e4b042..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ /dev/null @@ -1,81 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.1.0.5849.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 5849, 8) - - { 0x12, 0x8B }, - { 0x24, 0x33 }, - { 0x37, 0x74 }, - { 0x4A, 0x1E }, - { 0x5D, 0x74 }, - { 0x70, 0xB9 }, - { 0x83, 0x40 }, - { 0x96, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetFence -// * SOURCE: Spiderman 2 -// ****************************************************************** -OOVPA_XREF(D3D_SetFence, 5849, 7, - - XREF_D3D_SetFence, - XRefZero) - - { 0x0E, 0x05 }, - { 0x17, 0xC7 }, - { 0x3E, 0x40 }, - { 0x5E, 0x00 }, - { 0x87, 0x4E }, - { 0x98, 0x83 }, - { 0xA8, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 5849, 8) - - { 0x0C, 0x89 }, - { 0x1E, 0x8B }, - { 0x28, 0x74 }, - { 0x36, 0xD2 }, - { 0x44, 0x3D }, - { 0x52, 0xC7 }, - { 0x60, 0x04 }, - { 0x6E, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.h b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.h deleted file mode 100644 index 9d9d4cccf..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.h +++ /dev/null @@ -1,55 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8.OOVPA.h -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * (c) 2017 jarupxx -// * (c) 2017 RadWolfie -// * -// * All rights reserved -// * -// ****************************************************************** -#ifndef D3D8_OOVPA_H -#define D3D8_OOVPA_H - -#include "../OOVPA.h" - -extern LOOVPA<1 + 11> D3DDevice_SetTextureState_TexCoordIndex_3911; -extern LOOVPA<2 + 16> D3DDevice_SetRenderState_CullMode_3911; - -extern LOOVPA<1 + 12> D3DDevice_SetStreamSource_3911; - -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_4034; -extern LOOVPA<2 + 14> D3DDevice_SetRenderState_CullMode_4034; - -extern LOOVPA<1 + 14> D3DDevice_SetStreamSource_4034; - -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_4242; - -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_4627; - -#endif \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl deleted file mode 100644 index 5bce2f443..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ /dev/null @@ -1,441 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->D3D8.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full library version -// [LibV] Title Name | Verify | Comments -//----------------------------------------------------------------------- -// * [3925] Azurik | 100% | Missing D3D_SetPushBufferSize due locate in BINK section, have 182/196 library. -// * [3948] Shikigami no Shiro | 100% | have 178/196 library. -// * [4034] Dark Summit | 100% | have 113/195 library. -// * [4039] New Legends | 100% | have 117/195 library. -// * [4134] Double-S.T.E.A.L | 100% | have 195/202 library. -// * [4242] NFL Blitz 2002 | 100% | have 180/202 library. -// * [4361] Hunter The Reckoning | 100% | have 117/204 library. -// * [4432] RedCard 2003 | 100% | have 184/206 library. -// * [4531] NHL HITZ 2003 | 100% | have 196/206 library. -// * [4627] MLB SlugFest 2003 | 100% | have 216/227 library. -// * [4721] Terminator - Dawn of Fate | 100% | have 202/227 library. -// * [4831] Frogger Beyond | 100% | have 200/227 library. -// * [4928] Drihoo | 100% | have 201/228 library. -// * [5028] Shikigami no Shiro Evolution | 100% | have 201/229 library. -// * [5120] N.U.D.E.@ | 100% | have 211/229 library. -// * [5233] Evil Dead | 100% | have 208/230 library. -// * [5344] Gladius DEMO | 100% | have 202/229 library. -// * [5455] Dinosaur Hunting | 100% | have 207/229 library. -// * [5558] NHL HITZ Pro 2004 | 100% | have 218/230 library. -// * [5558] XIII | 100% | With Intergrated Hotfixes. have 209/230 library. -// * [5659] NFL Blitz Pro | 100% | have 208/230 library. -// * [5659] Midway Arcade Treasures Paperboy | 100% | With Intergrated Hotfixes. have 212/230 library. -// * [5788] Digimon Battle Chronicle | 100% | have 210/230 library. -// * [5849] Nickelodeon Tak 2 | 100% | have 210/229 library. - -// TODO: Known D3D8 OOVPA issue list -// * CMiniport_IsFlipPending is XREF in v1 database, any reason for this? -// * Verification needed: Function Name ( Revision ) -// * D3D_AllocContiguousMemory (4034, 4242) -// * D3D_ClearStateBlockFlags (4034, 4039, 4721, 5028, 5120) -// * D3D_GetAdapterIdentifier (4034) -// * D3D_RecordStateBlock (4034, 4039, 4721, 5028, 5120) -// * D3D_SetPushBufferSize (4034) -// * D3DBaseTexture_GetLevelCount (4034) -// * D3DCubeTexture_GetCubeMapSurface (5233) -// * D3DDevice_AddRef (4034) -// * D3DDevice_ApplyStateBlock (4034, 4039, 4721, 4831, 5028, 5120) -// * D3DDevice_Begin (4034) -// * D3DDevice_BeginPushBuffer (3950, 4034, 4039, 4242, 4831, 5028) -// * D3DDevice_BeginStateBlock (3950, 4034, 4039, 4721, 4831, 5028, 5120) -// * D3DDevice_BlockOnFence (4034) -// * D3DDevice_CaptureStateBlock (4034, 4039, 4432, 4721, 4831, 5028, 5120) -// * D3DDevice_CreateCubeTexture (4721, 5028, 5233) -// * D3DDevice_CreateImageSurface (4721, 5028, 5120) -// * D3DDevice_CreateIndexBuffer (4721, 4928) -// * D3DDevice_CreatePalette (4721, 4831, 4928, 5120, 5233, 5455) -// * D3DDevice_CreateStateBlock (4034, 4039, 4242, 4432, 4721, 4928, 5028, 5120) -// * D3DDevice_CreateVolumeTexture (5028, 5120, 5233, 5455) -// * D3DDevice_DeletePatch (3950, 4134, 4242, 4432, 4721, 4928, 5028, 5120, 5233, 5455) -// * D3DDevice_DeleteStateBlock (3950, 4034, 4039, 4721, 4831, 5028, 5120) -// * D3DDevice_DeleteVertexShader (4034) -// * D3DDevice_DrawIndexedVerticesUP (4034) -// * D3DDevice_DrawRectPatch (3950, 4242, 4432, 4721, 4928, 5028, 5120, 5233, 5455) -// * D3DDevice_DrawTriPatch (3950, 4034, 4039, 4242, 4432, 4721, 4831, 4928, 5028, 5120, 5233, 5455) -// * D3DDevice_DrawVerticesUP (4034) -// * D3DDevice_EnableOverlay (3950, 4034, 4039) -// * D3DDevice_End (4034) -// * D3DDevice_EndPushBuffer (3950, 4034, 4242, 4831, 5028) -// * D3DDevice_EndStateBlock (3950, 4034, 4039, 4721, 4831, 5028, 5120) -// * D3DDevice_FlushVertexCache (4034, 4039) -// * D3DDevice_GetBackBuffer (4721, 4831, 4928, 5028, 5120, 5233, 5455) -// * D3DDevice_GetBackMaterial (4034, 4039) -// * D3DDevice_GetDepthStencilSurface (4034) -// * D3DDevice_GetDisplayFieldStatus (4034) -// * D3DDevice_GetDisplayMode (4034) -// * D3DDevice_GetLightEnable (4034) -// * D3DDevice_GetMaterial (4034, 4039) -// * D3DDevice_GetModelView (4034, 4039) -// * D3DDevice_GetOverlayUpdateStatus (3950, 4034, 4039, 4134, 4242, 4432, 4531) -// * D3DDevice_GetPixelShader (4034) -// * D3DDevice_GetProjectionViewportMatrix (4034, 4039) -// * D3DDevice_GetPushBufferOffset (3950, 4034, 4242, 4831, 5028) -// * D3DDevice_GetRenderTarget (4034, 5028) -// * D3DDevice_GetScissors (4034) -// * D3DDevice_GetShaderConstantMode (4034, 4039) -// * D3DDevice_GetTexture2 (4034, 4039) -// * D3DDevice_GetTile (4034) -// * D3DDevice_GetVertexShader (4034) -// * D3DDevice_GetVertexShaderConstant (4034) -// * D3DDevice_GetVertexShaderDeclaration (4034) -// * D3DDevice_GetVertexShaderFunction (4034) -// * D3DDevice_GetVertexShaderInput (4034) -// * D3DDevice_GetVertexShaderSize (4034) -// * D3DDevice_GetVertexShaderType (4034) -// * D3DDevice_InsertCallback (4034, 4039) -// * D3DDevice_InsertFence (4034) -// * D3DDevice_IsFencePending (4034) -// * D3DDevice_KickPushBuffer (4034) -// * D3DDevice_LoadVertexShaderProgram (4034) -// * D3DDevice_PersistDisplay (4034) -// * D3DDevice_PrimeVertexCache (4034, 4039) -// * D3DDevice_RunPushBuffer (4034, 4831, 5028) -// * D3DDevice_RunVertexStateShader (4034) -// * D3DDevice_SetBackMaterial (4034, 4039) -// * D3DDevice_SetModelView (4034, 4039) -// * D3DDevice_SetPixelShaderConstant (4034) -// * D3DDevice_SetPixelShaderProgram (4034) -// * D3DDevice_SetRenderTarget (4034) -// * D3DDevice_SetVertexData2f (4034) -// * D3DDevice_SetVertexData2s (4034) -// * D3DDevice_SetVertexData4f (4034) -// * D3DDevice_SetVertexData4s (4034, 4039) -// * D3DDevice_SetVertexData4ub (4034, 4039) -// * D3DDevice_SetVertexDataColor (4034) -// * D3DDevice_SetVertexShaderInput (4034, 4039) -// * D3DDevice_SetVerticalBlankCallback (4034) -// * D3DDevice_SwitchTexture (4034) -// * D3DDevice_UpdateOverlay (3950, 4034, 4039) -// * D3DPalette_Lock (4721, 4831, 4928, 5120) -// * D3DResource_BlockUntilNotBusy (4034) -// * D3DResource_IsBusy (4034) -// * D3DResource_Register (4034) -// * D3DVertexBuffer_GetDesc (4034) -// * D3DVertexBuffer_Lock (4721, 4831, 4928, 5120, 5233, 5455) -// * Direct3D_CheckDeviceMultiSampleType (4034) -// * CMiniport_IsFlipPending (4034, 4039, 4134, 4928, 5028, 5120, 5233, 5455) -// * D3D_EnumAdapterModes (4034) -// * D3D_GetAdapterDisplayMode (4034) -// * D3D_GetAdapterModeCount (4034) -// * IDirect3DVertexBuffer8_Lock (4721, 5028, 5120, 5233) -// * List of functions might be D3D8LTCG library: (Verifying with Sega GT 2002 title) -// * D3D_CreateDeviceX (4627) -// * D3D_KickOffAndWaitForIdle2 (4627) -// * D3D_CommonSetRenderTargetB (4627) - -#ifndef D3D8_OOVPA_INL -#define D3D8_OOVPA_INL - -#include "../OOVPA.h" - -#include "D3D8.1.0.3911.inl" -#include "D3D8.1.0.3925.inl" -#include "D3D8.1.0.3948.inl" -#include "D3D8.1.0.4034.inl" -#include "D3D8.1.0.4134.inl" -#include "D3D8.1.0.4242.inl" -#include "D3D8.1.0.4361.inl" -#include "D3D8.1.0.4432.inl" -#include "D3D8.1.0.4531.inl" -#include "D3D8.1.0.4627.inl" -#include "D3D8.1.0.4831.inl" -#include "D3D8.1.0.4928.inl" -#include "D3D8.1.0.5028.inl" -#include "D3D8.1.0.5120.inl" -#include "D3D8.1.0.5233.inl" -#include "D3D8.1.0.5344.inl" -#include "D3D8.1.0.5455.inl" -#include "D3D8.1.0.5558.inl" -#include "D3D8.1.0.5788.inl" -#include "D3D8.1.0.5849.inl" - - -// ****************************************************************** -// * D3D8_OOVPA -// ****************************************************************** -OOVPATable D3D8_OOVPAV2[] = { - - REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034), - REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034, 5455), - REGISTER_OOVPAS(CMiniport_IsFlipPending, UNPATCHED, 3911, 4242, 4627, 4928), - REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), - REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911, 4627), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above - REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), - REGISTER_OOVPAS(D3DCubeTexture_LockRect, PATCH, 3911), // Just calls Lock2DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3911, 4039, 4134, 4242, 4627, 5028, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4531,4627, 5028), - REGISTER_OOVPAS(D3DDevice_BeginPush2, PATCH, 4134), - REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, PATCH, 3911, 4134), // Not implemented yet. (from 5788's comment) - REGISTER_OOVPAS(D3DDevice_BeginStateBig, XREF, 5028), - REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4034, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034, 4627, 5120), - REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034, 4627),//TODO 4721,4928 (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3911, 4627), // TODO: This needs to be verified on 4361 - REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), - REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3911, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_CreatePalette2, PATCH, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3911, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_DeletePatch, UNPATCHED, 3911), // (TODO) (from 4034's comment) - REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3911, 4039, 5028, 5344), - REGISTER_OOVPAS(D3DDevice_DrawRectPatch, PATCH, 3911), // TODO: Unused? (from 4034's comment) - REGISTER_OOVPAS(D3DDevice_DrawTriPatch, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3911, 4039, 5344), - REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039, 5344), - REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134), // Was 4627 (from 5233's comment) - REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3911), // Not implemented yet. (from 5788's comment) - REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3911, 4034, 4134, 4627), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627), // 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetCreationParameters, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, PATCH, 3911, 4627), // Called D3DDevice_GetDepthStencilSurface2 (from 4627's comment) NOTE: Use D3DDevice_GetDepthStencilSurface2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134, 4627, 5344, 5558), // For 5455 (from 5558's comment) - REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3911, 4627),//TODO 4831 (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3911, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911, 5455), - REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3911, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3911, 5455), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4432), - REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3911, 5233), - REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3911, 4134, 5028), - REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911, 5028), - REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4034, 4531, 5028, 5455), - REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_LazySetStateUP, UNPATCHED, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911, 5344), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_MakeSpace, UNPATCHED, 4134), - REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 3911, 4039, 4627, 4831, 5455, 5558), - REGISTER_OOVPAS(D3DDevice_Present, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_Release, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3911, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) - REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4034, 5455), - REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134), - REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4432), - REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_SetIndices, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344, 5558, 5788), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3911, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911, 4831), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 3911, 4034, 4627), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_PSTextureModes, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZCmpAlwaysRead, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZRead, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_SampleAlpha, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Simple, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3911, 4034, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3911, 4034, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3911, 4034, 5344), // Beware of the typo... (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3911, 4034, 4134, 4432), - REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233), - REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4034, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStipple, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034, 4361, 4831), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627), - REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4034, 4627), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. - REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034, 5344, 5558), // Was 4134 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_MultiplyTransform, PATCH, 3911, 4034), // TODO: Verify 4034 is correct - REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3911, 4039), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3911, 4034, 4134, 5028, 5455), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1Fast, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant4, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInline, PATCH, 4627, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInlineFast, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3911, 4039, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3911, 4034, 5344, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627), - REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 3911, 4531, 5233), - REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3911, 4531, 4627), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above - REGISTER_OOVPAS(D3DPalette_Lock2, PATCH, 4627), - REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3911), - REGISTER_OOVPAS(D3DResource_BlockUntilNotBusy, PATCH, 3911), - REGISTER_OOVPAS(D3DResource_GetType, UNPATCHED, 3911, 4034), // Probably not even necessary... (from 3925's comment) // I forget why I had this in here... (from 5028's comment) - REGISTER_OOVPAS(D3DResource_IsBusy, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DResource_Register, PATCH, 3911), - REGISTER_OOVPAS(D3DResource_Release, PATCH, 3911), - REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3911), - REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3911), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 4627), - REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3911), - REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DVertexBuffer_Lock, PATCH, 3911, 4034, 4531, 4627), - REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 4627), - REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5455), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) - REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4034, 4627, 5028, 5558), - REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), - REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911), - REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028), // Used between 4627 to 5233 (from 5344's comment) - REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4034), - REGISTER_OOVPAS(D3D_EnumAdapterModes, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_GetAdapterDisplayMode, UNPATCHED, 3911, 4627), - REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_GetAdapterModeCount, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911), - REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3911), - REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4034, 4134, 5028, 5558), - REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_SetTileNoWait, XREF, 4627, 5455), - REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), - REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), - REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3911, 4034), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(Lock2DSurface, PATCH, 3911), - REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911), - REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558), - REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirect3DVertexBuffer8_Lock, UNPATCHED, 4627), -}; - -// ****************************************************************** -// * D3D8_OOVPA_COUNT -// ****************************************************************** -const uint32 D3D8_OOVPA_COUNT = OOVPA_TABLE_COUNT(D3D8_OOVPAV2); - -#endif diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.3911.inl deleted file mode 100644 index becb2176e..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.3911.inl +++ /dev/null @@ -1,1023 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.3911.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -//85C9750AC705 ...C21000 -OOVPA_NO_XREF(Direct3D_CreateDevice_16, 2024, 9) - - { 0x00, 0x8B }, - - { 0x06, 0x85 }, - { 0x07, 0xC9 }, - { 0x08, 0x75 }, - { 0x09, 0x0A }, - { 0x0A, 0xC7 }, - { 0x0B, 0x05 }, - - { 0x28, 0x56 }, - { 0x29, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_CullMode -// ****************************************************************** -//C7000803040075 -OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 1045, 2+8, - - XREF_D3DDevice_SetRenderState_CullMode, - XRefTwo) - - XREF_ENTRY( 0x03, XREF_D3DDEVICE ), // Derived - XREF_ENTRY( 0x2D, XREF_D3DRS_CULLMODE ), // Derived - - { 0x00, 0x56 }, - - { 0x1B, 0xC7 }, - { 0x1C, 0x00 }, - { 0x1D, 0x08 }, - { 0x1E, 0x03 }, - { 0x1F, 0x04 }, - { 0x20, 0x00 }, - { 0x21, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BumpEnv -// ****************************************************************** -//000085C08BDF75 ...C20800 -OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv_8, 2024, 8) - - { 0x00, 0x53 }, - - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x85 }, - { 0x17, 0xC0 }, - { 0x18, 0x8B }, - { 0x19, 0xDF }, - { 0x1A, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -//C9C7000C03040089480483 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 1024, 13) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x2F, 0xC9 }, - { 0x30, 0xC7 }, - { 0x31, 0x00 }, - { 0x32, 0x0C }, - { 0x33, 0x03 }, - { 0x34, 0x04 }, - { 0x35, 0x00 }, - { 0x36, 0x89 }, - { 0x37, 0x48 }, - { 0x38, 0x04 }, - { 0x39, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TextureFactor -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_TextureFactor, 1036, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x03, XREF_D3DDEVICE ), // Derived - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x08, 0x86 }, - //{ 0x09, 0x84 }, - //{ 0x0A, 0x07 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x85 }, - { 0x0E, 0xC0 }, - { 0x0F, 0x75 }, - - { 0x11, 0x8B }, - { 0x12, 0x06 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_YuvEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_YuvEnable, 1024, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_YUVENABLE ), - - { 0x01, 0x44 }, - { 0x04, 0x56 }, - { 0x05, 0x8B }, - { 0x06, 0x35 }, - { 0x0B, 0xA3 }, - { 0x11, 0x06 }, - { 0x15, 0x72 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_OcclusionCullEnable -// ****************************************************************** -//568BD0E8 -OOVPA_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 1024, 1+2, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_OCCLUSIONCULLENABLE ), - - { 0x00, 0x8B }, - { 0x06, 0x35 }, - - //{ 0x26, 0x56 }, - //{ 0x27, 0x8B }, - //{ 0x28, 0xD0 }, - //{ 0x29, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -//538BD9C1E107 ...C3 -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex_0, 2039, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x08, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - { 0x02, 0xD9 }, - { 0x03, 0xC1 }, - { 0x04, 0xE1 }, - { 0x05, 0x07 }, - - { 0x13, 0x25 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -//C1..0681..241B040089 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor_0, 2024, 12) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x1C, 0xC1 }, - { 0x1D, 0xE1 }, - { 0x1E, 0x06 }, - { 0x1F, 0x81 }, - { 0x20, 0xC1 }, - { 0x21, 0x24 }, - { 0x22, 0x1B }, - { 0x23, 0x04 }, - { 0x24, 0x00 }, - { 0x25, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -//83C008C1E707890689 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor_0, 2024, 10) - - { 0x01, 0x8B }, - - { 0x26, 0x83 }, - { 0x27, 0xC0 }, - { 0x28, 0x08 }, - { 0x29, 0xC1 }, - { 0x2A, 0xE7 }, - { 0x2B, 0x07 }, - { 0x2C, 0x89 }, - { 0x2D, 0x06 }, - { 0x2E, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZBias -// ****************************************************************** -//24..8BF07D06D805 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZBias, 1048, 9) - - // XREF_ENTRY( 0x6A, XREF_D3DRS_ZBIAS ), - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - - { 0x17, 0x24 }, - //{ 0x18, 0x10 }, - { 0x19, 0x8B }, - { 0x1A, 0xF0 }, - { 0x1B, 0x7D }, - { 0x1C, 0x06 }, - { 0x1D, 0xD8 }, - { 0x1E, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LineWidth -// ****************************************************************** -//44240C57D88E -OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 1024, 7) - - - // XREF_ENTRY( 0x5B, XREF_D3DRS_LINEWIDTH ), - - { 0x02, 0x5C }, - - { 0x11, 0x44 }, - { 0x12, 0x24 }, - { 0x13, 0x0C }, - { 0x14, 0x57 }, - { 0x15, 0xD8 }, - { 0x16, 0x8E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Dxt1NoiseEnable -// ****************************************************************** -//0FB6480D8A91 -OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 1036, 7) - - // XREF_ENTRY( 0x6F, XREF_D3DRS_DXT1NOISEENABLE ), - - { 0x00, 0x53 }, - - { 0x12, 0x0F }, - { 0x13, 0xB6 }, - { 0x14, 0x48 }, - { 0x15, 0x0D }, - { 0x16, 0x8A }, - { 0x17, 0x91 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilCullEnable -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_StencilCullEnable, 1024, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_STENCILCULLENABLE ), - - { 0x01, 0x44 }, - { 0x04, 0x56 }, - { 0x05, 0x8B }, - { 0x06, 0x35 }, - { 0x0B, 0xA3 }, - { 0x11, 0x06 }, - { 0x15, 0x72 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_RopZCmpAlwaysRead -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 1024, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - { 0x09, 0xE8 }, - - { 0x0E, 0xC2 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_RopZRead -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_RopZRead, 1024, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x05, XREF_D3DRS_ROPZREAD ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - { 0x09, 0xE8 }, - - { 0x0E, 0xC2 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_DoNotCullUncompressed -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_DoNotCullUncompressed, 1024, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x05, XREF_D3DRS_DONOTCULLUNCOMPRESSED ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - { 0x09, 0xE8 }, - - { 0x0E, 0xC2 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetRenderState_BackFillMode -//****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_BackFillMode, 1024, 2+5, - - XRefNoSaveIndex, - XRefTwo) - - XREF_ENTRY( 0x06, XREF_D3DRS_FILLMODE ), - XREF_ENTRY( 0x0B, XREF_D3DRS_BACKFILLMODE ), - - { 0x01, 0x44 }, - { 0x0F, 0x89 }, - { 0x10, 0x4C }, - { 0x11, 0x24 }, - { 0x12, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_EdgeAntiAlias -// ****************************************************************** -//0020030800894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 1024, 10) - - { 0x01, 0x8B }, - { 0x12, 0x4C }, - - { 0x1A, 0x00 }, - { 0x1B, 0x20 }, - { 0x1C, 0x03 }, - { 0x1D, 0x08 }, - { 0x1E, 0x00 }, - { 0x1F, 0x89 }, - { 0x20, 0x48 }, - { 0x21, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FillMode -// ****************************************************************** -//C98B4C24087502 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 1024, 9) - - { 0x00, 0x56 }, - { 0x08, 0x06 }, - - { 0x22, 0xC9 }, - { 0x23, 0x8B }, - { 0x24, 0x4C }, - { 0x25, 0x24 }, - { 0x26, 0x08 }, - { 0x27, 0x75 }, - { 0x28, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FogColor -// ****************************************************************** -//54240E8BF981 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 1024, 7) - - { 0x00, 0x56 }, - - { 0x1C, 0x54 }, - { 0x1D, 0x24 }, - { 0x1E, 0x0E }, - { 0x1F, 0x8B }, - { 0x20, 0xF9 }, - { 0x21, 0x81 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleAntiAlias -// ****************************************************************** -//C1E11083E20F -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1024, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_MULTISAMPLEANTIALIAS ), - - { 0x00, 0x8B }, - - { 0x36, 0xC1 }, - { 0x37, 0xE1 }, - { 0x38, 0x10 }, - { 0x39, 0x83 }, - { 0x3A, 0xE2 }, - { 0x3B, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -//83E10FC1E210 -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1024, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_MULTISAMPLEMASK ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x36, 0x83 }, - { 0x37, 0xE1 }, - { 0x38, 0x0F }, - { 0x39, 0xC1 }, - { 0x3A, 0xE2 }, - { 0x3B, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LogicOp -// ****************************************************************** -//18C700BC1704 -OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 1024, 7) - - // XREF_ENTRY( 0x2D, XREF_D3DRS_LOGICOP ), - - { 0x01, 0x8B }, - - { 0x1C, 0x18 }, - { 0x1D, 0xC7 }, - { 0x1E, 0x00 }, - { 0x1F, 0xBC }, - { 0x20, 0x17 }, - { 0x21, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_NormalizeNormals -// ****************************************************************** -//A4030400894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 1024, 8) - - { 0x00, 0x56 }, - - { 0x1B, 0xA4 }, - { 0x1C, 0x03 }, - { 0x1D, 0x04 }, - { 0x1E, 0x00 }, - { 0x1F, 0x89 }, - { 0x20, 0x48 }, - { 0x21, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -//7003040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 1024, 7) - - { 0x01, 0x8B }, - { 0x1B, 0x33 }, - - { 0x59, 0x70 }, - { 0x5A, 0x03 }, - { 0x5B, 0x04 }, - { 0x5C, 0x00 }, - { 0x5D, 0x89 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetRenderState_TwoSidedLighting -//****************************************************************** -//834808208B -OOVPA_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1024, 1+6, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_D3DRS_TWOSIDEDLIGHTING ), - - { 0x00, 0xA1 }, - - { 0x05, 0x83 }, - { 0x06, 0x48 }, - { 0x07, 0x08 }, - { 0x08, 0x20 }, - { 0x09, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FrontFace -// ****************************************************************** -//00A00304008948 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 1024, 8) - - { 0x01, 0x8B }, - - { 0x1A, 0x00 }, - { 0x1B, 0xA0 }, - { 0x1C, 0x03 }, - { 0x1D, 0x04 }, - { 0x1E, 0x00 }, - { 0x1F, 0x89 }, - { 0x20, 0x48 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ShadowFunc -// ****************************************************************** -//6C1E04008D91 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 1024, 8) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - - { 0x1B, 0x6C }, - { 0x1C, 0x1E }, - { 0x1D, 0x04 }, - { 0x1E, 0x00 }, - { 0x1F, 0x8D }, - { 0x20, 0x91 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -//018b54240885d2c700 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 1024, 10) - - { 0x02, 0x35 }, - - { 0x48, 0x01 }, - { 0x49, 0x8B }, - { 0x4A, 0x54 }, - { 0x4B, 0x24 }, - { 0x4C, 0x08 }, - { 0x4D, 0x85 }, - { 0x4E, 0xD2 }, - { 0x4F, 0xC7 }, - { 0x50, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexShader -// ****************************************************************** -//241833f685ed -OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 1024, 8) - - { 0x04, 0x6C }, - { 0x0C, 0x0F }, - { 0x1A, 0x24 }, - { 0x1B, 0x18 }, - { 0x1C, 0x33 }, - { 0x1D, 0xF6 }, - { 0x1E, 0x85 }, - { 0x1F, 0xED }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetShaderConstantMode -// ****************************************************************** -//A810538B1D ...C3 -OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode_0, 2048, 11) - - { 0x00, 0xA8 }, - { 0x01, 0x10 }, - { 0x02, 0x53 }, - { 0x03, 0x8B }, - { 0x04, 0x1D }, - - { 0x10, 0x00 }, - { 0x11, 0x02 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0xEB }, - { 0x15, 0x06 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Clear -// ****************************************************************** -//FFFDFFFF8944 -OOVPA_NO_XREF(D3DDevice_Clear, 1036, 8) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x42, 0xFF }, - { 0x43, 0xFD }, - { 0x44, 0xFF }, - { 0x45, 0xFF }, - { 0x46, 0x89 }, - { 0x47, 0x44 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_Release -// ****************************************************************** -//578B7C24088B078BC881E1FFFF0000 -OOVPA_NO_XREF(D3DResource_Release, 1036, 15) - - { 0x00, 0x57 }, - { 0x01, 0x8B }, - { 0x02, 0x7C }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - { 0x05, 0x8B }, - { 0x06, 0x07 }, - { 0x07, 0x8B }, - { 0x08, 0xC8 }, - { 0x09, 0x81 }, - { 0x0A, 0xE1 }, - { 0x0B, 0xFF }, - { 0x0C, 0xFF }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetTile -//****************************************************************** -//C744242000000000C744241C ...C3 -OOVPA_NO_XREF(D3DDevice_SetTile_0, 2024, 14) - - { 0x00, 0x8B }, - { 0x01, 0x15 }, - - { 0x2C, 0xC7 }, - { 0x2D, 0x44 }, - { 0x2E, 0x24 }, - { 0x2F, 0x20 }, - { 0x30, 0x00 }, - { 0x31, 0x00 }, - { 0x32, 0x00 }, - { 0x33, 0x00 }, - { 0x34, 0xC7 }, - { 0x35, 0x44 }, - { 0x36, 0x24 }, - { 0x37, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Present -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Present, 1024, 17) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x56 }, - { 0x04, 0x8B }, - { 0x05, 0x35 }, - - { 0x0B, 0x6A }, - { 0x0C, 0x02 }, - { 0x0D, 0xE8 }, - { 0x12, 0x8B }, - { 0x13, 0x86 }, - { 0x16, 0x00 }, - { 0x17, 0x00 }, - { 0x18, 0x8B }, - { 0x19, 0x8E }, - { 0x1C, 0x00 }, - { 0x1D, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -//C700FC1704008B57 -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 1024, 10) - - { 0x01, 0x8B }, - { 0x05, 0x14 }, - - { 0x2F, 0xC7 }, - { 0x30, 0x00 }, - { 0x31, 0xFC }, - { 0x32, 0x17 }, - { 0x33, 0x04 }, - { 0x34, 0x00 }, - { 0x35, 0x8B }, - { 0x36, 0x57 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -//F6C30155568B35 ...C3 -OOVPA_NO_XREF(D3DDevice_SetVertexShader_0, 2024, 14) - - { 0x00, 0xF6 }, - { 0x01, 0xC3 }, - { 0x02, 0x01 }, - { 0x03, 0x55 }, - { 0x04, 0x56 }, - { 0x05, 0x8B }, - { 0x06, 0x35 }, - - { 0x15, 0x74 }, - { 0x16, 0x05 }, - { 0x17, 0x8D }, - { 0x18, 0x7B }, - { 0x19, 0xFF }, - { 0x1A, 0xEB }, - { 0x1B, 0x0E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScissors -// ****************************************************************** -//75448B..000B00008B..080B00008B..040B0000 -OOVPA_NO_XREF(D3DDevice_SetScissors, 1024, 19) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x13, 0x75 }, - { 0x14, 0x44 }, - { 0x15, 0x8B }, - { 0x17, 0x00 }, - { 0x18, 0x0B }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x8B }, - { 0x1D, 0x08 }, - { 0x1E, 0x0B }, - { 0x1F, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x8B }, - { 0x23, 0x04 }, - { 0x24, 0x0B }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -//8D7822C1E70603FBB910000000 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTransform_0, 2024, 15) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x09, 0x8D }, - { 0x0A, 0x78 }, - { 0x0B, 0x22 }, - { 0x0C, 0xC1 }, - { 0x0D, 0xE7 }, - { 0x0E, 0x06 }, - { 0x0F, 0x03 }, - { 0x10, 0xFB }, - { 0x11, 0xB9 }, - { 0x12, 0x10 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant -// ****************************************************************** -//83C160C1E202A810 ...C3 -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant_8, 2024, 10) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x13, 0x83 }, - { 0x14, 0xC1 }, - { 0x15, 0x60 }, - { 0x16, 0xC1 }, - { 0x17, 0xE2 }, - { 0x18, 0x02 }, - { 0x19, 0xA8 }, - { 0x1A, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawVerticesUP -// ****************************************************************** -//894804C700FC1704008B ...C20C00 -OOVPA_NO_XREF(D3DDevice_DrawVerticesUP_12, 2024, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x2B, 0x89 }, - { 0x2C, 0x48 }, - { 0x2D, 0x04 }, - { 0x2E, 0xC7 }, - { 0x2F, 0x00 }, - { 0x30, 0xFC }, - { 0x31, 0x17 }, - { 0x32, 0x04 }, - { 0x33, 0x00 }, - { 0x34, 0x8B }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_LoadVertexShader -//****************************************************************** -//C7009C1E04008B ...C3 -OOVPA_NO_XREF(D3DDevice_LoadVertexShader_0, 2024, 9) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x3F, 0xC7 }, - { 0x40, 0x00 }, - { 0x41, 0x9C }, - { 0x42, 0x1E }, - { 0x43, 0x04 }, - { 0x44, 0x00 }, - { 0x45, 0x8B }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SelectVertexShader -//****************************************************************** -//C740040600000083 ...C20400 -OOVPA_NO_XREF(D3DDevice_SelectVertexShader_4, 2024, 10) - - { 0x00, 0x85 }, - { 0x03, 0x8B }, - - { 0x46, 0xC7 }, - { 0x47, 0x40 }, - { 0x48, 0x04 }, - { 0x49, 0x06 }, - { 0x4A, 0x00 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - { 0x4D, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -//0CC1E91483E10FBD01000000 -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 1024, 14) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x24, 0x0C }, - { 0x25, 0xC1 }, - { 0x26, 0xE9 }, - { 0x27, 0x14 }, - { 0x28, 0x83 }, - { 0x29, 0xE1 }, - { 0x2A, 0x0F }, - { 0x2B, 0xBD }, - { 0x2C, 0x01 }, - { 0x2D, 0x00 }, - { 0x2E, 0x00 }, - { 0x2F, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetViewport -// ****************************************************************** -//EB06894424088BF8 -OOVPA_NO_XREF(D3DDevice_SetViewport, 1024, 10) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x25, 0xEB }, - { 0x26, 0x06 }, - { 0x27, 0x89 }, - { 0x28, 0x44 }, - { 0x29, 0x24 }, - { 0x2A, 0x08 }, - { 0x2B, 0x8B }, - { 0x2C, 0xF8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTexture -// ****************************************************************** -//81C10000F8FF89 ...C20400 -OOVPA_NO_XREF(D3DDevice_SetTexture_4, 2024, 9) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x27, 0x81 }, - { 0x28, 0xC1 }, - { 0x29, 0x00 }, - { 0x2A, 0x00 }, - { 0x2B, 0xF8 }, - { 0x2C, 0xFF }, - { 0x2D, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnResource -// ****************************************************************** -//00007800750C85 ...C3 -OOVPA_NO_XREF(D3D_BlockOnResource_0, 2024, 11) - - { 0x00, 0x8B }, - { 0x01, 0x15 }, - - { 0x28, 0xF7 }, - { 0x29, 0xC1 }, - { 0x2A, 0x00 }, - { 0x2B, 0x00 }, - { 0x2C, 0x78 }, - { 0x2D, 0x00 }, - { 0x2E, 0x75 }, - { 0x2F, 0x0C }, - { 0x30, 0x85 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetStreamSource -// ****************************************************************** -//7406810300000800 -OOVPA_XREF(D3DDevice_SetStreamSource, 1039, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x47, XREF_G_STREAM ), // Derived - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - { 0x02, 0x1D }, - - { 0x38, 0x81 }, - { 0x39, 0x45 }, - { 0x3A, 0x00 }, - { 0x3B, 0x00 }, - { 0x3C, 0x00 }, - { 0x3D, 0x08 }, - { 0x3E, 0x00 }, - { 0x3F, 0x8D }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4039.inl deleted file mode 100644 index b96928c6e..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4039.inl +++ /dev/null @@ -1,1026 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.4039.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_DrawIndexedVertices -// ****************************************************************** -//558BEC83EC0853568B35 -OOVPA_NO_XREF(D3DDevice_DrawIndexedVertices, 1024, 10) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x08 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0x35 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetViewport -// ****************************************************************** -//EB06894424088BF8 -OOVPA_NO_XREF(D3DDevice_SetViewport, 1036, 10) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x23, 0xEB }, - { 0x24, 0x06 }, - { 0x25, 0x89 }, - { 0x26, 0x44 }, - { 0x27, 0x24 }, - { 0x28, 0x08 }, - { 0x29, 0x8B }, - { 0x2A, 0xF8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetLight -// ****************************************************************** -//83E0F0894424108D04C0 -OOVPA_NO_XREF(D3DDevice_SetLight, 1048, 12) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x26, 0x83 }, - { 0x27, 0xE0 }, - { 0x28, 0xF0 }, - { 0x29, 0x89 }, - { 0x2A, 0x44 }, - { 0x2B, 0x24 }, - { 0x2C, 0x10 }, - { 0x2D, 0x8D }, - { 0x2E, 0x04 }, - { 0x2F, 0xC0 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -//51538B5C240C8BC6 ...C20400 -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, 2040, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x14, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - { 0x02, 0x8B }, - { 0x03, 0x5C }, - { 0x04, 0x24 }, - { 0x05, 0x0C }, - { 0x06, 0x8B }, - { 0x07, 0xC6 }, - - { 0x12, 0x89 }, - { 0x18, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -//8BCEC1E10681C1241B04 ...C20400 -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor_4, 2048, 10) - - { 0x01, 0x8B }, - - { 0x23, 0x8B }, - { 0x24, 0xCE }, - { 0x25, 0xC1 }, - { 0x26, 0xE1 }, - { 0x27, 0x06 }, - { 0x28, 0x81 }, - { 0x29, 0xC1 }, - { 0x2A, 0x24 }, - - { 0x44, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_CullMode -// ****************************************************************** -//C7000803040075 -OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 1049, 2+8, - - XREF_D3DDevice_SetRenderState_CullMode, - XRefTwo) - - XREF_ENTRY( 0x03, XREF_D3DDEVICE ), // Derived - XREF_ENTRY( 0x31, XREF_D3DRS_CULLMODE ), // Derived - - { 0x00, 0x56 }, - - { 0x1F, 0xC7 }, - { 0x20, 0x00 }, - { 0x21, 0x08 }, - { 0x22, 0x03 }, - { 0x23, 0x04 }, - { 0x24, 0x00 }, - { 0x25, 0x75 }, -OOVPA_END; - - -// ****************************************************************** -// * D3DDevice_SetRenderState_NormalizeNormals -// ****************************************************************** -//A4030400894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 1036, 8) - - { 0x00, 0x56 }, - - { 0x1F, 0xA4 }, - { 0x20, 0x03 }, - { 0x21, 0x04 }, - { 0x22, 0x00 }, - { 0x23, 0x89 }, - { 0x24, 0x48 }, - { 0x25, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -//C7000C0304008950 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 1036, 10) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x37, 0xC7 }, - { 0x38, 0x00 }, - { 0x39, 0x0C }, - { 0x3A, 0x03 }, - { 0x3B, 0x04 }, - { 0x3C, 0x00 }, - { 0x3D, 0x89 }, - { 0x3E, 0x50 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -//018b54240885d2c700 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 1036, 10) - - { 0x02, 0x35 }, - - { 0x4C, 0x01 }, - { 0x4D, 0x8B }, - { 0x4E, 0x54 }, - { 0x4F, 0x24 }, - { 0x50, 0x08 }, - { 0x51, 0x85 }, - { 0x52, 0xD2 }, - { 0x53, 0xC7 }, - { 0x54, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FillMode -// ****************************************************************** -//C98B4C24087502 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 1036, 9) - - { 0x00, 0x56 }, - { 0x08, 0x06 }, - - { 0x26, 0xC9 }, - { 0x27, 0x8B }, - { 0x28, 0x4C }, - { 0x29, 0x24 }, - { 0x2A, 0x08 }, - { 0x2B, 0x75 }, - { 0x2C, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FogColor -// ****************************************************************** -//54240E8BF981 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 1036, 7) - - { 0x00, 0x56 }, - - { 0x20, 0x54 }, - { 0x21, 0x24 }, - { 0x22, 0x0E }, - { 0x23, 0x8B }, - { 0x24, 0xF9 }, - { 0x25, 0x81 }, -OOVPA_END; - - -// ****************************************************************** -// * D3DDevice_SetRenderState_ShadowFunc -// ****************************************************************** -//6C1E04008D91 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 1036, 8) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - - { 0x1F, 0x6C }, - { 0x20, 0x1E }, - { 0x21, 0x04 }, - { 0x22, 0x00 }, - { 0x23, 0x8D }, - { 0x24, 0x91 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_EdgeAntiAlias -// ****************************************************************** -//0020030800894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 1036, 10) - - { 0x01, 0x8B }, - { 0x1A, 0x4C }, - - { 0x1E, 0x00 }, - { 0x1F, 0x20 }, - { 0x20, 0x03 }, - { 0x21, 0x08 }, - { 0x22, 0x00 }, - { 0x23, 0x89 }, - { 0x24, 0x48 }, - { 0x25, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetLevelDesc -// ****************************************************************** -// * NOTE: We are actually intercepting Get2DSurfaceDesc, because -// * GetLevelDesc Simply redirects to that function -// ****************************************************************** -//7909C74608010000 ...C3 -OOVPA_NO_XREF(Get2DSurfaceDesc_0, 2024, 10) - - { 0x00, 0x0F }, - { 0x01, 0xB6 }, - - { 0x2A, 0x79 }, - { 0x2B, 0x09 }, - { 0x2C, 0xC7 }, - { 0x2D, 0x46 }, - { 0x2E, 0x08 }, - { 0x2F, 0x01 }, - { 0x30, 0x00 }, - { 0x31, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -//E00A040089 ...C20400 -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor_4, 2048, 7) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x26, 0xE0 }, - { 0x27, 0x0A }, - { 0x28, 0x04 }, - { 0x29, 0x00 }, - { 0x2A, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -//F6C30155568B35 -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 1024, 12) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - { 0x02, 0x5C }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - { 0x05, 0xF6 }, - { 0x06, 0xC3 }, - { 0x07, 0x01 }, - { 0x08, 0x55 }, - { 0x09, 0x56 }, - { 0x0A, 0x8B }, - { 0x0B, 0x35 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Swap -// ****************************************************************** -//7505BB050000008B -OOVPA_NO_XREF(D3DDevice_Swap, 1036, 9) - - { 0x01, 0x8B }, - - { 0x0E, 0x75 }, - { 0x0F, 0x05 }, - { 0x10, 0xBB }, - { 0x11, 0x05 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_IsFencePending -// ****************************************************************** -//D12B4424043B -OOVPA_NO_XREF(D3DDevice_IsFencePending, 1024, 8) - - { 0x00, 0xA1 }, - { 0x05, 0x8B }, - - { 0x10, 0xD1 }, - { 0x11, 0x2B }, - { 0x12, 0x44 }, - { 0x13, 0x24 }, - { 0x14, 0x04 }, - { 0x15, 0x3B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_VertexBlend -// ****************************************************************** -//81CA000200003BC1 -OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 1036, 10) - - { 0x00, 0x8B }, - { 0x01, 0x15 }, - - { 0x12, 0x81 }, - { 0x13, 0xCA }, - { 0x14, 0x00 }, - { 0x15, 0x02 }, - { 0x16, 0x00 }, - { 0x17, 0x00 }, - { 0x18, 0x3B }, - { 0x19, 0xC1 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetRenderState_TwoSidedLighting -//****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1036, 2+6, - - XRefNoSaveIndex, - XRefTwo) - - XREF_ENTRY( 0x18, XREF_D3DRS_FILLMODE ), - XREF_ENTRY( 0x1D, XREF_D3DRS_TWOSIDEDLIGHTING ), - - { 0x00, 0x8B }, - { 0x06, 0x8B }, - { 0x07, 0x44 }, - { 0x08, 0x24 }, - { 0x09, 0x04 }, - { 0x25, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LogicOp -// ****************************************************************** -//18C700BC1704 -OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 1036, 7) - - // XREF_ENTRY( 0x34, XREF_D3DRS_LOGICOP ), - - { 0x01, 0x8B }, - - { 0x20, 0x18 }, - { 0x21, 0xC7 }, - { 0x22, 0x00 }, - { 0x23, 0xBC }, - { 0x24, 0x17 }, - { 0x25, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleAntiAlias -// ****************************************************************** -//C1E11083E20F -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1036, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_MULTISAMPLEANTIALIAS ), - - { 0x00, 0x8B }, - - { 0x3D, 0xC1 }, - { 0x3E, 0xE1 }, - { 0x3F, 0x10 }, - { 0x40, 0x83 }, - { 0x41, 0xE2 }, - { 0x42, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -//83E10FC1E210 -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1036, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_MULTISAMPLEMASK ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x3D, 0x83 }, - { 0x3E, 0xE1 }, - { 0x3F, 0x0F }, - { 0x40, 0xC1 }, - { 0x41, 0xE2 }, - { 0x42, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMode -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMode, 1024, 1+5, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0B, XREF_D3DRS_MULTISAMPLEMODE ), - - { 0x00, 0x8B }, - { 0x15, 0x3B }, - //{ 0x16, 0x90 }, - //{ 0x17, 0x14 }, - //{ 0x18, 0x1A }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 1024, 1+5, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE ), - - { 0x01, 0x4C }, - { 0x15, 0x3B }, - //{ 0x16, 0x90 }, - //{ 0x17, 0x14 }, - //{ 0x18, 0x1A }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x74 }, - //{ 0x1C, 0x0D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -//7003040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 1036, 7) - - { 0x01, 0x8B }, - { 0x1F, 0x33 }, - - { 0x5D, 0x70 }, - { 0x5E, 0x03 }, - { 0x5F, 0x04 }, - { 0x60, 0x00 }, - { 0x61, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FrontFace -// ****************************************************************** -//00A00304008948 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 1036, 8) - - { 0x01, 0x8B }, - - { 0x1E, 0x00 }, - { 0x1F, 0xA0 }, - { 0x20, 0x03 }, - { 0x21, 0x04 }, - { 0x22, 0x00 }, - { 0x23, 0x89 }, - { 0x24, 0x48 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateTexture2 -// ****************************************************************** -//F744241C0000010074 -OOVPA_NO_XREF(D3DDevice_CreateTexture2, 1036, 11) - - { 0x00, 0x53 }, - { 0x01, 0x56 }, - - { 0x37, 0xF7 }, - { 0x38, 0x44 }, - { 0x39, 0x24 }, - { 0x3A, 0x1C }, - { 0x3B, 0x00 }, - { 0x3C, 0x00 }, - { 0x3D, 0x01 }, - { 0x3E, 0x00 }, - { 0x3F, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -//0F85..0100008B0D -OOVPA_XREF(D3DDevice_SetRenderTarget, 1036, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x4F, XREF_D3DRS_MULTISAMPLEMODE ), - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x3C }, - - { 0x47, 0x0F }, - { 0x48, 0x85 }, - //{ 0x49, 0x65 }, - { 0x4A, 0x01 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - { 0x4D, 0x8B }, - { 0x4E, 0x0D }, - - { 0x53, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeleteVertexShader -// ****************************************************************** -//FF08750D8B480485C9740650E8 ...C3 -OOVPA_NO_XREF(D3DDevice_DeleteVertexShader_0, 2024, 12) - - { 0x00, 0x8B }, - { 0x01, 0x48 }, - { 0x02, 0xFF }, - { 0x03, 0x48 }, - { 0x04, 0x49 }, - { 0x05, 0x89 }, - { 0x06, 0x08 }, - { 0x07, 0x75 }, - { 0x08, 0x06 }, - { 0x09, 0x50 }, - { 0x0A, 0xE8 }, - - { 0x0F, 0xC3 }, -OOVPA_END; - -//****************************************************************** -//* D3DSurface_GetDesc -//****************************************************************** -//578B7C241033DBE8 -OOVPA_NO_XREF(D3DSurface_GetDesc, 1024, 9) - - { 0x00, 0x53 }, - - { 0x06, 0x57 }, - { 0x07, 0x8B }, - { 0x08, 0x7C }, - { 0x09, 0x24 }, - { 0x0A, 0x10 }, - { 0x0B, 0x33 }, - { 0x0C, 0xDB }, - { 0x0D, 0xE8 }, -OOVPA_END; - -//****************************************************************** -//* Lock2DSurface -//****************************************************************** -//2418F6C320558B ...C21000 -OOVPA_NO_XREF(Lock2DSurface_16, 2048, 8) - - { 0x01, 0x53 }, - { 0x04, 0x24 }, - { 0x05, 0x18 }, - { 0x06, 0xF6 }, - { 0x07, 0xC3 }, - { 0x08, 0x20 }, - { 0x09, 0x55 }, - { 0x0A, 0x8B }, -OOVPA_END; - -//****************************************************************** -//* Lock3DSurface -//****************************************************************** -//83EC08538A5C241CF6C32055 ...C21000 -OOVPA_NO_XREF(Lock3DSurface_16, 2048, 12) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x53 }, - { 0x04, 0x8A }, - { 0x05, 0x5C }, - { 0x06, 0x24 }, - { 0x07, 0x1C }, - { 0x08, 0xF6 }, - { 0x09, 0xC3 }, - { 0x0A, 0x20 }, - { 0x0B, 0x55 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -//568BC8C1E106578DBC ...C3 -OOVPA_NO_XREF(D3DDevice_SetTransform_0, 2048, 13) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xC8 }, - { 0x0A, 0xC1 }, - { 0x0B, 0xE1 }, - { 0x0C, 0x06 }, - { 0x0D, 0x57 }, - { 0x0E, 0x8D }, - { 0x0F, 0xBC }, - { 0x10, 0x19 }, - - { 0x3E, 0x28 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeletePixelShader -// ****************************************************************** -//FF08750D8B480485C9740650E8 ...C3 -OOVPA_NO_XREF(D3DDevice_DeletePixelShader_0, 2024, 15) - - { 0x00, 0xFF }, - { 0x01, 0x08 }, - { 0x02, 0x75 }, - { 0x03, 0x0D }, - { 0x04, 0x8B }, - { 0x05, 0x48 }, - { 0x06, 0x04 }, - { 0x07, 0x85 }, - { 0x08, 0xC9 }, - { 0x09, 0x74 }, - { 0x0A, 0x06 }, - { 0x0B, 0x50 }, - { 0x0C, 0xE8 }, - - { 0x10, 0xFF }, - { 0x11, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_GetType -// ****************************************************************** -//3D00000300772274 ...C3 -OOVPA_NO_XREF(D3DResource_GetType_0, 2024, 11) - - { 0x00, 0x8B }, - { 0x01, 0x01 }, - - { 0x07, 0x3D }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x03 }, - { 0x0B, 0x00 }, - { 0x0C, 0x77 }, - { 0x0D, 0x22 }, - { 0x0E, 0x74 }, - - { 0x0F, 0x1A }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnResource -// ****************************************************************** -//F7C20000780075 ...C3 -OOVPA_NO_XREF(D3D_BlockOnResource_0, 2036, 9) - - { 0x01, 0x8B }, - { 0x02, 0x35 }, - - { 0x22, 0xF7 }, - { 0x23, 0xC2 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x78 }, - { 0x27, 0x00 }, - { 0x28, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Begin -// ****************************************************************** -//814E08000800005EC204 -OOVPA_NO_XREF(D3DDevice_Begin, 1048, 12) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x30, 0x81 }, - { 0x31, 0x4E }, - { 0x32, 0x08 }, - { 0x33, 0x00 }, - { 0x34, 0x08 }, - { 0x35, 0x00 }, - { 0x36, 0x00 }, - { 0x37, 0x5E }, - { 0x38, 0xC2 }, - { 0x39, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer -// ****************************************************************** -//7507B801000000EB07F7 ...C20800 -OOVPA_NO_XREF(D3DDevice_GetBackBuffer_8, 2048, 13) - - { 0x00, 0x83 }, - { 0x01, 0xF8 }, - - { 0x09, 0x75 }, - { 0x0A, 0x07 }, - { 0x0B, 0xB8 }, - { 0x0C, 0x01 }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - { 0x10, 0xEB }, - { 0x11, 0x07 }, - { 0x12, 0xF7 }, - - { 0x4C, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2s -// ****************************************************************** -//8D....00190400 -OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 1024, 7) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x1D, 0x8D }, - //{ 0x21, 0x14 }, - //{ 0x22, 0x8D }, - { 0x20, 0x00 }, - { 0x21, 0x19 }, - { 0x22, 0x04 }, - { 0x23, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2f -// ****************************************************************** -//8D....801808008B -OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 1024, 7) - - { 0x01, 0x8B }, - { 0x1D, 0x8D }, - - { 0x20, 0x80 }, - { 0x21, 0x18 }, - { 0x22, 0x08 }, - { 0x23, 0x00 }, - { 0x24, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4f -// ****************************************************************** -//B918150000EB09 ...C21000 -OOVPA_NO_XREF(D3DDevice_SetVertexData4f_16, 2024, 9) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x1E, 0xB9 }, - { 0x1F, 0x18 }, - { 0x20, 0x15 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x23, 0xEB }, - { 0x24, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4s -// ****************************************************************** -//801908000FBF -OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 1024, 7) - - { 0x00, 0x56 }, - - { 0x20, 0x80 }, - { 0x21, 0x19 }, - { 0x22, 0x08 }, - { 0x23, 0x00 }, - { 0x24, 0x0F }, - { 0x25, 0xBF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4ub -// ****************************************************************** -//8D....4019040033 -OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 1024, 7) - - { 0x00, 0x56 }, - { 0x1D, 0x8D }, - - { 0x20, 0x40 }, - { 0x21, 0x19 }, - { 0x22, 0x04 }, - { 0x23, 0x00 }, - { 0x24, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * D3D::SetFence -// ****************************************************************** -OOVPA_XREF(D3D_SetFence, 1024, 9, - - XREF_D3D_SetFence, - XRefZero) - - { 0x00, 0x53 }, - - { 0x24, 0xC9 }, - { 0x25, 0x89 }, - { 0x26, 0x48 }, - { 0x27, 0x0C }, - { 0x28, 0x89 }, - { 0x29, 0x48 }, - { 0x2A, 0x14 }, - { 0x2B, 0xC7 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_MultiplyTransform -// ****************************************************************** -//558BEC83E4F081EC8800000056578BF0 ...C3 -OOVPA_NO_XREF(D3DDevice_MultiplyTransform_0, 2024, 23) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xE4 }, - { 0x05, 0xF0 }, - { 0x06, 0x81 }, - { 0x07, 0xEC }, - { 0x08, 0x88 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - { 0x0C, 0x56 }, - { 0x0D, 0x57 }, - { 0x0E, 0x8B }, - { 0x0F, 0xF0 }, - { 0x10, 0xB9 }, - { 0x11, 0x10 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x8D }, - { 0x16, 0x7C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetIndices -// ****************************************************************** -//74108103000008008B -OOVPA_NO_XREF(D3DDevice_SetIndices, 1024, 11) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x0F, 0x74 }, - { 0x10, 0x10 }, - { 0x11, 0x81 }, - { 0x12, 0x03 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x08 }, - { 0x16, 0x00 }, - { 0x17, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetStreamSource -// ****************************************************************** -//7406810300000800 -OOVPA_XREF(D3DDevice_SetStreamSource, 1040, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x23, XREF_G_STREAM ), // Derived - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x13, 0x74 }, - { 0x14, 0x06 }, - { 0x15, 0x81 }, - { 0x16, 0x03 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x08 }, - { 0x1A, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderInput -// ****************************************************************** -//8B44240483EC4085C0538B1D -OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 1024, 18) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x83 }, - { 0x05, 0xEC }, - { 0x06, 0x40 }, - { 0x07, 0x85 }, - { 0x08, 0xC0 }, - { 0x09, 0x53 }, - { 0x0A, 0x8B }, - { 0x0B, 0x1D }, - - { 0x1A, 0x25 }, - { 0x1B, 0xFF }, - { 0x1C, 0xFF }, - { 0x1D, 0xFF }, - { 0x1E, 0xBF }, - { 0x1F, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LightEnable_4 -// ****************************************************************** -//F64401680175 ...C20400 -OOVPA_NO_XREF(D3DDevice_LightEnable_4, 2024, 8) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x21, 0xF6 }, - { 0x22, 0x44 }, - { 0x23, 0x01 }, - { 0x24, 0x68 }, - { 0x25, 0x01 }, - { 0x26, 0x75 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4432.inl deleted file mode 100644 index 112cbf623..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4432.inl +++ /dev/null @@ -1,818 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.4432.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3D_MakeRequestedSpace -// ****************************************************************** -//0300002BCF03D189 -OOVPA_NO_XREF(D3D_MakeRequestedSpace, 1048, 10) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x1F, 0x03 }, - { 0x20, 0x00 }, - { 0x21, 0x00 }, - { 0x22, 0x2B }, - { 0x23, 0xCF }, - { 0x24, 0x03 }, - { 0x25, 0xD1 }, - { 0x26, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_SetFence -// ****************************************************************** -//460457720EA1 -OOVPA_XREF(D3D_SetFence, 1036, 8, - - XREF_D3D_SetFence, - XRefZero) - - { 0x00, 0x53 }, - { 0x0D, 0x8B }, - - { 0x10, 0x46 }, - { 0x11, 0x04 }, - { 0x12, 0x57 }, - { 0x13, 0x72 }, - { 0x14, 0x0E }, - { 0x15, 0xA1 }, -OOVPA_END; - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -//00000800A1 -OOVPA_NO_XREF(Direct3D_CreateDevice, 1024, 7) - - { 0x00, 0xA1 }, - { 0x06, 0xC0 }, - - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x08 }, - { 0x12, 0x00 }, - { 0x13, 0xA1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetStreamSource -// ****************************************************************** -//7406810300000800 -OOVPA_XREF(D3DDevice_SetStreamSource, 1044, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x22, XREF_G_STREAM ), // Derived - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x0E, 0x74 }, - { 0x0F, 0x06 }, - { 0x10, 0x81 }, - { 0x11, 0x03 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x08 }, - { 0x15, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -//8BC3C1E007578B3D -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 1944, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - { 0x00, 0x53 }, - { 0x02, 0x5C }, - - { 0x0B, 0x8B }, - { 0x0C, 0xC3 }, - { 0x0D, 0xC1 }, - { 0x0E, 0xE0 }, - { 0x0F, 0x07 }, - { 0x10, 0x57 }, - { 0x11, 0x8B }, - { 0x12, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_CullMode -// ****************************************************************** -//C7000803040075 -OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 1052, 2+8, - - XREF_D3DDevice_SetRenderState_CullMode, - XRefTwo) - - XREF_ENTRY( 0x03, XREF_D3DDEVICE ), // Derived - XREF_ENTRY( 0x34, XREF_D3DRS_CULLMODE ), // Derived - - { 0x00, 0x56 }, - - { 0x22, 0xC7 }, - { 0x23, 0x00 }, - { 0x24, 0x08 }, - { 0x25, 0x03 }, - { 0x26, 0x04 }, - { 0x27, 0x00 }, - { 0x28, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_NormalizeNormals -// ****************************************************************** -//A4030400894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 1048, 8) - - { 0x00, 0x56 }, - - { 0x22, 0xA4 }, - { 0x23, 0x03 }, - { 0x24, 0x04 }, - { 0x25, 0x00 }, - { 0x26, 0x89 }, - { 0x27, 0x48 }, - { 0x28, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -//C9C7000C0304008948048B -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 1048, 13) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x36, 0xC9 }, - { 0x37, 0xC7 }, - { 0x38, 0x00 }, - { 0x39, 0x0C }, - { 0x3A, 0x03 }, - { 0x3B, 0x04 }, - { 0x3C, 0x00 }, - { 0x3D, 0x89 }, - { 0x3E, 0x48 }, - { 0x3F, 0x04 }, - { 0x40, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -//018b54240885d2c700 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 1048, 10) - - { 0x02, 0x35 }, - - { 0x4F, 0x01 }, - { 0x50, 0x8B }, - { 0x51, 0x54 }, - { 0x52, 0x24 }, - { 0x53, 0x08 }, - { 0x54, 0x85 }, - { 0x55, 0xD2 }, - { 0x56, 0xC7 }, - { 0x57, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FillMode -// ****************************************************************** -//C98B4C24087502 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 1048, 9) - - { 0x00, 0x56 }, - { 0x08, 0x06 }, - - { 0x29, 0xC9 }, - { 0x2A, 0x8B }, - { 0x2B, 0x4C }, - { 0x2C, 0x24 }, - { 0x2D, 0x08 }, - { 0x2E, 0x75 }, - { 0x2F, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FogColor -// ****************************************************************** -//54240E8BF981 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 1048, 7) - - { 0x00, 0x56 }, - - { 0x23, 0x54 }, - { 0x24, 0x24 }, - { 0x25, 0x0E }, - { 0x26, 0x8B }, - { 0x27, 0xF9 }, - { 0x28, 0x81 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ShadowFunc -// ****************************************************************** -//6C1E04008D91 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 1048, 8) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - - { 0x22, 0x6C }, - { 0x23, 0x1E }, - { 0x24, 0x04 }, - { 0x25, 0x00 }, - { 0x26, 0x8D }, - { 0x27, 0x91 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_EdgeAntiAlias -// ****************************************************************** -//0020030800894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 1048, 10) - - { 0x01, 0x8B }, - { 0x1D, 0x4C }, - - { 0x21, 0x00 }, - { 0x22, 0x20 }, - { 0x23, 0x03 }, - { 0x24, 0x08 }, - { 0x25, 0x00 }, - { 0x26, 0x89 }, - { 0x27, 0x48 }, - { 0x28, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -//E00A040089 -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 1036, 7) - - { 0x01, 0x8B }, - { 0x1D, 0x4C }, - - { 0x23, 0xE0 }, - { 0x24, 0x0A }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, - { 0x27, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_VertexBlend -// ****************************************************************** -//81CA00020000568B35 -OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 1024, 11) - - { 0x00, 0x8B }, - { 0x01, 0x15 }, - - { 0x06, 0x81 }, - { 0x07, 0xCA }, - { 0x08, 0x00 }, - { 0x09, 0x02 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - { 0x0C, 0x56 }, - { 0x0D, 0x8B }, - { 0x0E, 0x35 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TwoSidedLighting -// ****************************************************************** -//81CA001000008915 -OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1048, 9) - - { 0x01, 0x15 }, - - { 0x11, 0x81 }, - { 0x12, 0xCA }, - { 0x13, 0x00 }, - { 0x14, 0x10 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x89 }, - { 0x18, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LogicOp -// ****************************************************************** -//18C700BC1704 -OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 1048, 7) - - // XREF_ENTRY( 0x34, XREF_D3DRS_LOGICOP ), - - { 0x01, 0x8B }, - - { 0x23, 0x18 }, - { 0x24, 0xC7 }, - { 0x25, 0x00 }, - { 0x26, 0xBC }, - { 0x27, 0x17 }, - { 0x28, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleAntiAlias -// ****************************************************************** -//C1E11083E20F -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1048, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_MULTISAMPLEANTIALIAS ), - - { 0x00, 0x8B }, - - { 0x3B, 0xC1 }, - { 0x3C, 0xE1 }, - { 0x3D, 0x10 }, - { 0x3E, 0x83 }, - { 0x3F, 0xE2 }, - { 0x40, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -//83E10FC1E210 -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1048, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_MULTISAMPLEMASK ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x3B, 0x83 }, - { 0x3C, 0xE1 }, - { 0x3D, 0x0F }, - { 0x3E, 0xC1 }, - { 0x3F, 0xE2 }, - { 0x40, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -//7003040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 1048, 7) - - { 0x01, 0x8B }, - { 0x22, 0x33 }, - - { 0x60, 0x70 }, - { 0x61, 0x03 }, - { 0x62, 0x04 }, - { 0x63, 0x00 }, - { 0x64, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FrontFace -// ****************************************************************** -//00A00304008948 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 1048, 8) - - { 0x01, 0x8B }, - - { 0x21, 0x00 }, - { 0x22, 0xA0 }, - { 0x23, 0x03 }, - { 0x24, 0x04 }, - { 0x25, 0x00 }, - { 0x26, 0x89 }, - { 0x27, 0x48 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetRenderState_BackFillMode -//****************************************************************** -//8B063B4604578B -OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 1036, 8) - - { 0x01, 0x44 }, - - { 0x10, 0x8B }, - { 0x11, 0x06 }, - { 0x12, 0x3B }, - { 0x13, 0x46 }, - { 0x14, 0x04 }, - { 0x15, 0x57 }, - { 0x16, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateTexture -// ****************************************************************** -//206A00508B44241451 -OOVPA_NO_XREF(D3DDevice_CreateTexture, 1024, 14) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x10, 0x20 }, - { 0x11, 0x6A }, - { 0x12, 0x00 }, - { 0x13, 0x50 }, - { 0x14, 0x8B }, - { 0x15, 0x44 }, - { 0x16, 0x24 }, - { 0x17, 0x14 }, - { 0x18, 0x51 }, - - { 0x29, 0x5F }, - { 0x2A, 0xC2 }, - { 0x2B, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_End -// ****************************************************************** -//816608FFE7FFFF5EC3 -OOVPA_NO_XREF(D3DDevice_End, 1036, 10) - - { 0x00, 0x56 }, - - { 0x3D, 0x81 }, - { 0x3E, 0x66 }, - { 0x3F, 0x08 }, - { 0x40, 0xFF }, - { 0x41, 0xE7 }, - { 0x42, 0xFF }, - { 0x43, 0xFF }, - { 0x44, 0x5E }, - { 0x45, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetLevelDesc -// ****************************************************************** -// * NOTE: We are actually intercepting Get2DSurfaceDesc, because -// * GetLevelDesc Simply redirects to that function -// ****************************************************************** -//7909C74608010000 ...C3 -OOVPA_NO_XREF(Get2DSurfaceDesc_0, 2036, 10) - - { 0x00, 0x0F }, - { 0x01, 0xB6 }, - - { 0x29, 0x79 }, - { 0x2A, 0x09 }, - { 0x2B, 0xC7 }, - { 0x2C, 0x46 }, - { 0x2D, 0x08 }, - { 0x2E, 0x01 }, - { 0x2F, 0x00 }, - { 0x30, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetShaderConstantMode -// ****************************************************************** -//8B442404A810538B1D -OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 1024, 10) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0xA8 }, - { 0x05, 0x10 }, - { 0x06, 0x53 }, - { 0x07, 0x8B }, - { 0x08, 0x1D }, - - { 0x1F, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -//F6C30155568B35 -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 1036, 13) - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - { 0x02, 0x8B }, - { 0x03, 0x5C }, - { 0x04, 0x24 }, - { 0x05, 0x0C }, - { 0x06, 0xF6 }, - { 0x07, 0xC3 }, - { 0x08, 0x01 }, - { 0x09, 0x55 }, - { 0x0A, 0x56 }, - { 0x0B, 0x8B }, - { 0x0C, 0x35 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstant -// ****************************************************************** -//83C160C1E202A810 -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant, 1024, 10) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x14, 0x83 }, - { 0x15, 0xC1 }, - { 0x16, 0x60 }, - { 0x17, 0xC1 }, - { 0x18, 0xE2 }, - { 0x19, 0x02 }, - { 0x1A, 0xA8 }, - { 0x1B, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawVertices -// ****************************************************************** -//56576A0053E8 -OOVPA_NO_XREF(D3DDevice_DrawVertices, 1024, 7) - - { 0x00, 0x53 }, - - { 0x07, 0x56 }, - { 0x08, 0x57 }, - { 0x09, 0x6A }, - { 0x0A, 0x00 }, - { 0x0B, 0x53 }, - { 0x0C, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Clear -// ****************************************************************** -//FFFDFFFF8944 -OOVPA_NO_XREF(D3DDevice_Clear, 1024, 8) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x40, 0xFF }, - { 0x41, 0xFD }, - { 0x42, 0xFF }, - { 0x43, 0xFF }, - { 0x44, 0x89 }, - { 0x45, 0x44 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDepthStencilSurface -// ****************************************************************** -//B866087688..C20400 -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 1024, 9) - - { 0x00, 0xA1 }, - - { 0x40, 0xB8 }, - { 0x41, 0x66 }, - { 0x42, 0x08 }, - { 0x43, 0x76 }, - { 0x44, 0x88 }, - - { 0x46, 0xC2 }, - { 0x47, 0x04 }, - { 0x48, 0x00 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetTile -//****************************************************************** -//B9060000008D7C2410F3 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTile_0, 2036, 12) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x1C, 0xB9 }, - { 0x1D, 0x06 }, - { 0x1E, 0x00 }, - { 0x1F, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x8D }, - { 0x22, 0x7C }, - { 0x23, 0x24 }, - { 0x24, 0x10 }, - { 0x25, 0xF3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -//5533ED3BD5565775 -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 1048, 10) - - { 0x00, 0x8B }, - { 0x01, 0x54 }, - - { 0x0E, 0x55 }, - { 0x0F, 0x33 }, - { 0x10, 0xED }, - { 0x11, 0x3B }, - { 0x12, 0xD5 }, - { 0x13, 0x56 }, - { 0x14, 0x57 }, - { 0x15, 0x75 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_LoadVertexShader -//****************************************************************** -//C7009C1E040089 ...C3 -OOVPA_NO_XREF(D3DDevice_LoadVertexShader_0, 2036, 9) - - { 0x00, 0x53 }, - { 0x01, 0x55 }, - - { 0x59, 0xC7 }, - { 0x5A, 0x00 }, - { 0x5B, 0x9C }, - { 0x5C, 0x1E }, - { 0x5D, 0x04 }, - { 0x5E, 0x00 }, - { 0x5F, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2f -// ****************************************************************** -//8D....801808008B -OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 1036, 7) - - { 0x01, 0x8B }, - { 0x20, 0x8D }, - - { 0x23, 0x80 }, - { 0x24, 0x18 }, - { 0x25, 0x08 }, - { 0x26, 0x00 }, - { 0x27, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4f -// ****************************************************************** -//B918150000EB09 -OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 1024, 9) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x25, 0xB9 }, - { 0x26, 0x18 }, - { 0x27, 0x15 }, - { 0x28, 0x00 }, - { 0x29, 0x00 }, - { 0x2A, 0xEB }, - { 0x2B, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DCubeTexture_GetCubeMapSurface2 -// ****************************************************************** -//83EC08578B7C24108D -OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface2, 1024, 9) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x08 }, - { 0x03, 0x57 }, - { 0x04, 0x8B }, - { 0x05, 0x7C }, - { 0x06, 0x24 }, - { 0x07, 0x10 }, - { 0x08, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_GetType -// ****************************************************************** -//7728741E85C0 -OOVPA_NO_XREF(D3DResource_GetType, 1024, 8) - - { 0x00, 0x8B }, - { 0x01, 0x4C }, - - { 0x10, 0x77 }, - { 0x11, 0x28 }, - { 0x12, 0x74 }, - { 0x13, 0x1E }, - { 0x14, 0x85 }, - { 0x15, 0xC0 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Begin -// ****************************************************************** -//814E08000800005EC204 -OOVPA_NO_XREF(D3DDevice_Begin, 1024, 12) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x33, 0x81 }, - { 0x34, 0x4E }, - { 0x35, 0x08 }, - { 0x36, 0x00 }, - { 0x37, 0x08 }, - { 0x38, 0x00 }, - { 0x39, 0x00 }, - { 0x3A, 0x5E }, - { 0x3B, 0xC2 }, - { 0x3C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShaderConstant -// ****************************************************************** -//44242085C08974240C894C24 -OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 1024, 14) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x14, 0x44 }, - { 0x15, 0x24 }, - { 0x16, 0x20 }, - { 0x17, 0x85 }, - { 0x18, 0xC0 }, - { 0x19, 0x89 }, - { 0x1A, 0x74 }, - { 0x1B, 0x24 }, - { 0x1C, 0x0C }, - { 0x1D, 0x89 }, - { 0x1E, 0x4C }, - { 0x1F, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetViewportOffsetAndScale_0 -// ****************************************************************** -//000085F6577D06D805 ...C3 -OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale_0, 2024, 11) - - { 0x00, 0xA1 }, - { 0x05, 0xDB }, - - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x85 }, - { 0x16, 0xF6 }, - { 0x17, 0x57 }, - { 0x18, 0x7D }, - { 0x19, 0x06 }, - { 0x1A, 0xD8 }, - { 0x1B, 0x05 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4531.inl deleted file mode 100644 index 14918dfb5..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4531.inl +++ /dev/null @@ -1,215 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.4531.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -//51538B5C240C8BC6C1E0 ...C20400 -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, 2045, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x14, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - { 0x02, 0x8B }, - { 0x03, 0x1D }, - - { 0x0D, 0x8B }, - { 0x0E, 0xC7 }, - { 0x0F, 0xC1 }, - { 0x10, 0xE0 }, - { 0x11, 0x07 }, - { 0x12, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -//8BCEC1E10681C1241B04 ...C20400 -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor_4, 2060, 10) - - { 0x00, 0x53 }, - - { 0x26, 0x8B }, - { 0x27, 0xCE }, - { 0x28, 0xC1 }, - { 0x29, 0xE1 }, - { 0x2A, 0x06 }, - { 0x2B, 0x81 }, - { 0x2C, 0xC1 }, - { 0x2D, 0x24 }, - - { 0x47, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -//8D0CB5E00A0400 ...C20400 -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor_4, 2060, 9) - - { 0x00, 0x53 }, - - { 0x26, 0x8D }, - { 0x27, 0x0C }, - { 0x28, 0xB5 }, - { 0x29, 0xE0 }, - { 0x2A, 0x0A }, - { 0x2B, 0x04 }, - { 0x2C, 0x00 }, - - { 0x43, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZBias -// ****************************************************************** -//24..8BF07D06D805 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZBias, 1036, 9) - - // XREF_ENTRY( 0x6A, XREF_D3DRS_ZBIAS ), - - { 0x00, 0x51 }, - { 0x01, 0x56 }, - - { 0x16, 0x24 }, - //{ 0x17, 0x10 }, - { 0x18, 0x8B }, - { 0x19, 0xF0 }, - { 0x1A, 0x7D }, - { 0x1B, 0x06 }, - { 0x1C, 0xD8 }, - { 0x1D, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Swap -// ****************************************************************** -//7505BB050000008B ...C3 -OOVPA_NO_XREF(D3DDevice_Swap_0, 2024, 9) - - { 0x01, 0x8B }, - - { 0x0C, 0x75 }, - { 0x0D, 0x05 }, - { 0x0E, 0xBB }, - { 0x0F, 0x05 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x00 }, - { 0x13, 0x8B }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SelectVertexShader -//****************************************************************** -//C700941E080083 ...C20400 -OOVPA_NO_XREF(D3DDevice_SelectVertexShader_4, 2048, 9) - - { 0x00, 0x85 }, - { 0x03, 0x8B }, - - { 0x4C, 0xC7 }, - { 0x4D, 0x00 }, - { 0x4E, 0x94 }, - { 0x4F, 0x1E }, - { 0x50, 0x08 }, - { 0x51, 0x00 }, - { 0x52, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * CMiniport_InitHardware -// ****************************************************************** -//558BEC83EC1053578BF85768 -OOVPA_NO_XREF(CMiniport_InitHardware, 1024, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - { 0x06, 0x53 }, - { 0x07, 0x57 }, - { 0x08, 0x8B }, - { 0x09, 0xF8 }, - { 0x0A, 0x57 }, - { 0x0B, 0x68 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetFlickerFilter -// ****************************************************************** -//6A00566A0B50FF15 ...C3 -OOVPA_NO_XREF(D3DDevice_SetFlickerFilter_0, 2024, 10) - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x1D, 0x6A }, - { 0x1E, 0x00 }, - { 0x1F, 0x56 }, - { 0x20, 0x6A }, - { 0x21, 0x0B }, - { 0x22, 0x50 }, - { 0x23, 0xFF }, - { 0x24, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShader -// ****************************************************************** -//C740040000210083C008 ...C3 -OOVPA_NO_XREF(D3DDevice_SetPixelShader_0, 2024, 13) - - { 0x00, 0x85 }, - { 0x01, 0xC0 }, - - { 0x6D, 0xC7 }, - { 0x6E, 0x40 }, - { 0x6F, 0x04 }, - { 0x70, 0x00 }, - { 0x71, 0x00 }, - { 0x72, 0x21 }, - { 0x73, 0x00 }, - { 0x74, 0x83 }, - { 0x75, 0xC0 }, - { 0x76, 0x08 }, - - { 0x7B, 0xC3 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4627.inl deleted file mode 100644 index ce3ac9bc6..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4627.inl +++ /dev/null @@ -1,1258 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.4627.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -//85C9750AC705 ...C21000 -OOVPA_NO_XREF(Direct3D_CreateDevice_16, 2036, 8) - - { 0x00, 0x56 }, - - { 0x0A, 0x85 }, - { 0x0B, 0xC9 }, - { 0x0C, 0x75 }, - { 0x0D, 0x0A }, - { 0x0E, 0xC7 }, - { 0x0F, 0x05 }, - - { 0x3A, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetLevelDesc -// ****************************************************************** -// * NOTE: We are actually intercepting Get2DSurfaceDesc, because -// * GetLevelDesc Simply redirects to that function -// ****************************************************************** -//7909C74608010000 ...C20400 -OOVPA_NO_XREF(Get2DSurfaceDesc_4, 2048, 10) - - { 0x00, 0x0F }, - { 0x01, 0xB6 }, - - { 0x2F, 0x79 }, - { 0x30, 0x09 }, - { 0x31, 0xC7 }, - { 0x32, 0x46 }, - { 0x33, 0x08 }, - { 0x34, 0x01 }, - { 0x35, 0x00 }, - { 0x36, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZBias -// ****************************************************************** -//24..8BF07D06D805 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZBias, 1060, 9) - - // XREF_ENTRY( 0x6A, XREF_D3DRS_ZBIAS ), - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - - { 0x18, 0x24 }, - //{ 0x19, 0x18 }, - { 0x1A, 0x8B }, - { 0x1B, 0xF0 }, - { 0x1C, 0x7D }, - { 0x1D, 0x06 }, - { 0x1E, 0xD8 }, - { 0x1F, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_Dxt1NoiseEnable -// ****************************************************************** -//0FB6480D8A91 -OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 1024, 7) - - // XREF_ENTRY( 0x6F, XREF_D3DRS_DXT1NOISEENABLE ), - - { 0x00, 0x53 }, - - { 0x13, 0x0F }, - { 0x14, 0xB6 }, - { 0x15, 0x48 }, - { 0x16, 0x0D }, - { 0x17, 0x8A }, - { 0x18, 0x91 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleAntiAlias -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1060, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0D, XREF_D3DRS_MULTISAMPLEANTIALIAS ), - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x56 }, - { 0x05, 0x8B }, - { 0x06, 0x35 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1060, 1+6, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_MULTISAMPLEMASK ), - - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x57 }, - { 0x05, 0x8B }, - { 0x06, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMask -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1072, 1+6, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0B, XREF_D3DRS_MULTISAMPLEMASK ), - - { 0x01, 0x44 }, - { 0x0F, 0xC1 }, - { 0x10, 0xE0 }, - { 0x11, 0x10 }, - { 0x12, 0x56 }, - { 0x13, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_SampleAlpha -// ****************************************************************** -OOVPA_XREF(D3DDevice_SetRenderState_SampleAlpha, 1024, 1+4, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_D3DRS_SAMPLEALPHA ), - - { 0x00, 0x8B }, - { 0x04, 0x57 }, - { 0x05, 0x8B }, - { 0x06, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_SampleAlpha -// ****************************************************************** -//C1E610578B3D -OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha, 1036, 8) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x0B, 0xC1 }, - { 0x0C, 0xE6 }, - { 0x0D, 0x10 }, - { 0x0E, 0x57 }, - { 0x0F, 0x8B }, - { 0x10, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -//088BD1C1E20681C2241B -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 1024, 11) - - { 0x00, 0x56 }, - - { 0x1F, 0x08 }, - { 0x20, 0x8B }, - { 0x21, 0xD1 }, - { 0x22, 0xC1 }, - { 0x23, 0xE2 }, - { 0x24, 0x06 }, - { 0x25, 0x81 }, - { 0x26, 0xC2 }, - { 0x27, 0x24 }, - { 0x28, 0x1B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BumpEnv -// ****************************************************************** -//8d5e01f6c303 -OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 1024, 7) - - { 0x02, 0x56 }, - - { 0x1A, 0x8D }, - { 0x1B, 0x5E }, - { 0x1C, 0x01 }, - { 0x1D, 0xF6 }, - { 0x1E, 0xC3 }, - { 0x1F, 0x03 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -//c1e0078998 -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 1958, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - { 0x00, 0x53 }, - { 0x08, 0x35 }, - - { 0x14, 0xC1 }, - { 0x15, 0xE0 }, - { 0x16, 0x07 }, - { 0x17, 0x89 }, - { 0x18, 0x98 }, - - { 0x1D, 0x8B }, - { 0x1E, 0x06 }, - { 0x1F, 0x8B }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetRenderTarget -//****************************************************************** -//8B4424088B4C240468 -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 1060, 15) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x04 }, - { 0x08, 0x68 }, - - { 0x0D, 0x50 }, - { 0x0E, 0x51 }, - { 0x0F, 0xE8 }, - - { 0x14, 0xC2 }, - { 0x15, 0x08 }, - { 0x16, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTargetFast -// ****************************************************************** -//0F85..0100008B0D -OOVPA_XREF(D3DDevice_SetRenderTargetFast, 1036, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x4F, XREF_D3DRS_MULTISAMPLEMODE ), - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x20 }, - - { 0x47, 0x0F }, - { 0x48, 0x85 }, - //{ 0x49, 0x4B }, - { 0x4A, 0x01 }, - { 0x4B, 0x00 }, - { 0x4C, 0x00 }, - { 0x4D, 0x8B }, - { 0x4E, 0x0D }, - - { 0x53, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScissors -// ****************************************************************** -//C700B402040089 -OOVPA_NO_XREF(D3DDevice_SetScissors, 1036, 8) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x88, 0xC7 }, - { 0x89, 0x00 }, - { 0x8A, 0xB4 }, - { 0x8B, 0x02 }, - { 0x8C, 0x04 }, - { 0x8D, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTexture -// ****************************************************************** -//81C10000F8FF89 -OOVPA_NO_XREF(D3DDevice_SetTexture, 1024, 9) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x28, 0x81 }, - { 0x29, 0xC1 }, - { 0x2A, 0x00 }, - { 0x2B, 0x00 }, - { 0x2C, 0xF8 }, - { 0x2D, 0xFF }, - { 0x2E, 0x89 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_CopyRects -//****************************************************************** -//81EC940100008B842498 -OOVPA_NO_XREF(D3DDevice_CopyRects, 1036, 10) - - { 0x00, 0x81 }, - { 0x01, 0xEC }, - { 0x02, 0x94 }, - { 0x03, 0x01 }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x06, 0x8B }, - { 0x07, 0x84 }, - { 0x08, 0x24 }, - { 0x09, 0x98 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_BeginVisibilityTest -//****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 1024, 8) - - { 0x08, 0x06 }, - { 0x1C, 0xC7 }, - { 0x1D, 0x00 }, - { 0x1E, 0xC8 }, - { 0x1F, 0x17 }, - { 0x20, 0x08 }, - { 0x21, 0x00 }, - { 0x22, 0xB9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateTexture2 -// ****************************************************************** -//F744241C0000010074 -OOVPA_NO_XREF(D3DDevice_CreateTexture2, 1048, 11) - - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - { 0x3D, 0xF7 }, - { 0x3E, 0x44 }, - { 0x3F, 0x24 }, - { 0x40, 0x1C }, - { 0x41, 0x00 }, - { 0x42, 0x00 }, - { 0x43, 0x01 }, - { 0x44, 0x00 }, - { 0x45, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DeleteStateBlock -// ****************************************************************** -//535556578B7C241433ED33DB -OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 1024, 12) - - { 0x00, 0x53 }, - { 0x01, 0x55 }, - { 0x02, 0x56 }, - { 0x03, 0x57 }, - { 0x04, 0x8B }, - { 0x05, 0x7C }, - { 0x06, 0x24 }, - { 0x07, 0x14 }, - { 0x08, 0x33 }, - { 0x09, 0xED }, - { 0x0A, 0x33 }, - { 0x0B, 0xDB }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -//8B4D148B560883 -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 1036, 9) - - { 0x00, 0x55 }, - { 0x0F, 0xF8 }, - - { 0x36, 0x8B }, - { 0x37, 0x4D }, - { 0x38, 0x14 }, - { 0x39, 0x8B }, - { 0x3A, 0x56 }, - { 0x3B, 0x08 }, - { 0x3C, 0x83 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_DrawVerticesUP -//****************************************************************** -//8B8E7C0700008B -OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 1036, 9) - - { 0x00, 0x55 }, - { 0x0F, 0xEC }, - - { 0x36, 0x8B }, - { 0x37, 0x8E }, - { 0x38, 0x7C }, - { 0x39, 0x07 }, - { 0x3A, 0x00 }, - { 0x3B, 0x00 }, - { 0x3C, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndVisibilityTest -// ****************************************************************** -//B80E0007805E -OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 1024, 10) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x10, 0xB8 }, - { 0x11, 0x0E }, - { 0x12, 0x00 }, - { 0x13, 0x07 }, - { 0x14, 0x80 }, - { 0x15, 0x5E }, - - { 0x16, 0xC2 }, - { 0x17, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndVisibilityTest -// ****************************************************************** -//B80E0007805E ...C3 -OOVPA_NO_XREF(D3DDevice_EndVisibilityTest_0, 2048, 10) - - { 0x00, 0x56 }, - { 0x01, 0xE8 }, - - { 0x0C, 0xB8 }, - { 0x0D, 0x0E }, - { 0x0E, 0x00 }, - { 0x0F, 0x07 }, - { 0x10, 0x80 }, - { 0x11, 0x5E }, - - { 0x12, 0xC3 }, - { 0x13, 0x57 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer2 -// ****************************************************************** -//7507B801000000EB07F7 -OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 1036, 14) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x0D, 0x75 }, - { 0x0E, 0x07 }, - { 0x0F, 0xB8 }, - { 0x10, 0x01 }, - { 0x11, 0x00 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0xEB }, - { 0x15, 0x07 }, - { 0x16, 0xF7 }, - - { 0x4C, 0xC2 }, - { 0x4D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer2 -// ****************************************************************** -//7507B801000000EB07F7 ...C3 -OOVPA_NO_XREF(D3DDevice_GetBackBuffer2_0, 2024, 13) - - { 0x00, 0x83 }, - { 0x01, 0xF8 }, - - { 0x09, 0x75 }, - { 0x0A, 0x07 }, - { 0x0B, 0xB8 }, - { 0x0C, 0x01 }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - { 0x10, 0xEB }, - { 0x11, 0x07 }, - { 0x12, 0xF7 }, - - { 0x48, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDepthStencilSurface2 -// ****************************************************************** -//85F6750433C05EC3 -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 1048, 10) - - { 0x00, 0xA1 }, - - { 0x0B, 0x00 }, - { 0x0C, 0x85 }, - { 0x0D, 0xF6 }, - { 0x0E, 0x75 }, - { 0x0F, 0x04 }, - { 0x10, 0x33 }, - { 0x11, 0xC0 }, - { 0x12, 0x5E }, - { 0x13, 0xC3 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_GetDisplayMode -//****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 1024, 9) -//8B90181A0000 - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - { 0x06, 0x90 }, - //{ 0x07, 0x18 }, - //{ 0x08, 0x1A }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0D, 0x10 }, - { 0x0E, 0x85 }, - { 0x12, 0x8B }, - { 0x13, 0x4A }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetTransform -// ****************************************************************** -//56C1E106578B7C24108DB4 -OOVPA_NO_XREF(D3DDevice_GetTransform, 1024, 12) - - { 0x00, 0x8B }, - - { 0x09, 0x56 }, - { 0x0A, 0xC1 }, - { 0x0B, 0xE1 }, - { 0x0C, 0x06 }, - { 0x0D, 0x57 }, - { 0x0E, 0x8B }, - { 0x0F, 0x7C }, - { 0x10, 0x24 }, - { 0x11, 0x10 }, - { 0x12, 0x8D }, - { 0x13, 0xB4 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_IsBusy -// ****************************************************************** -//8B88BC2300008B90 -OOVPA_NO_XREF(D3DDevice_IsBusy, 1024, 9) - - { 0x00, 0xA1 }, - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xBC }, - { 0x08, 0x23 }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x8B }, - { 0x0C, 0x90 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LightEnable -// ****************************************************************** -//F64401680175 -OOVPA_NO_XREF(D3DDevice_LightEnable, 1024, 8) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x23, 0xF6 }, - { 0x24, 0x44 }, - { 0x25, 0x01 }, - { 0x26, 0x68 }, - { 0x27, 0x01 }, - { 0x28, 0x75 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_LoadVertexShaderProgram -//****************************************************************** -//8B542404530FB75A0255 -OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 1036, 10) - - { 0x00, 0x8B }, - { 0x01, 0x54 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x53 }, - { 0x05, 0x0F }, - { 0x06, 0xB7 }, - { 0x07, 0x5A }, - { 0x08, 0x02 }, - { 0x09, 0x55 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -//85C0740F50FF15 -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 1048, 9) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x0D, 0x85 }, - { 0x0E, 0xC0 }, - { 0x0F, 0x74 }, - { 0x10, 0x0F }, - { 0x11, 0x50 }, - { 0x12, 0xFF }, - { 0x13, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Reset -// ****************************************************************** -//803F6A006A036A006A00E8 -OOVPA_NO_XREF(D3DDevice_Reset, 1024, 10) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x99, 0x6A }, - { 0x9A, 0x00 }, - { 0x9B, 0x68 }, - { 0x9C, 0x00 }, - { 0x9D, 0x00 }, - { 0x9E, 0x80 }, - { 0x9F, 0x3F }, - { 0xA0, 0x6A }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Reset -// ****************************************************************** -//803F6A006A036A006A00E8 ...C3 -OOVPA_NO_XREF(D3DDevice_Reset_0, 2024, 10) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x92, 0x6A }, - { 0x93, 0x00 }, - { 0x94, 0x68 }, - { 0x95, 0x00 }, - { 0x96, 0x00 }, - { 0x97, 0x80 }, - { 0x98, 0x3F }, - { 0x99, 0x6A }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_RunVertexStateShader -// ****************************************************************** -//C740EC801E1000D9 ...C20400 -OOVPA_NO_XREF(D3DDevice_RunVertexStateShader_4, 2048, 9) - - { 0x00, 0x57 }, - - { 0x2E, 0xC7 }, - { 0x2F, 0x40 }, - { 0x30, 0xEC }, - { 0x31, 0x80 }, - { 0x32, 0x1E }, - { 0x33, 0x10 }, - { 0x34, 0x00 }, - { 0x35, 0xD9 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_SetGammaRamp -//****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 1024, 8) - - { 0x01, 0x15 }, - { 0x06, 0x53 }, - { 0x07, 0x8B }, - { 0x08, 0x9A }, - //{ 0x09, 0x78 }, - //{ 0x0A, 0x24 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x8D }, - { 0x0E, 0x82 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShader -// ****************************************************************** -//C740040000210083C008 -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 1036, 12) - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - - { 0x76, 0xC7 }, - { 0x77, 0x40 }, - { 0x78, 0x04 }, - { 0x79, 0x00 }, - { 0x7A, 0x00 }, - { 0x7B, 0x21 }, - { 0x7C, 0x00 }, - { 0x7D, 0x83 }, - { 0x7E, 0xC0 }, - { 0x7F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexShader -// ****************************************************************** -//C740040000210083C008 ...C3 -OOVPA_NO_XREF(D3DDevice_SetPixelShader_0, 2036, 13) - - { 0x00, 0x51 }, - { 0x01, 0x85 }, - - { 0x72, 0xC7 }, - { 0x73, 0x40 }, - { 0x74, 0x04 }, - { 0x75, 0x00 }, - { 0x76, 0x00 }, - { 0x77, 0x21 }, - { 0x78, 0x00 }, - { 0x79, 0x83 }, - { 0x7A, 0xC0 }, - { 0x7B, 0x08 }, - - { 0x80, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -//568BC8C1E106578DBC -OOVPA_NO_XREF(D3DDevice_SetTransform, 1024, 13) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x0F, 0x56 }, - { 0x10, 0x8B }, - { 0x11, 0xC8 }, - { 0x12, 0xC1 }, - { 0x13, 0xE1 }, - { 0x14, 0x06 }, - { 0x15, 0x57 }, - { 0x16, 0x8D }, - { 0x17, 0xBC }, - { 0x18, 0x19 }, - - { 0x46, 0x2C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2s -// ****************************************************************** -//8D....00190400 -OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 1036, 7) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x20, 0x8D }, - //{ 0x21, 0x14 }, - //{ 0x22, 0x8D }, - { 0x23, 0x00 }, - { 0x24, 0x19 }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4f -// ****************************************************************** -//B918150000EB09 ...C21000 -OOVPA_NO_XREF(D3DDevice_SetVertexData4f_16, 2036, 9) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x21, 0xB9 }, - { 0x22, 0x18 }, - { 0x23, 0x15 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0xEB }, - { 0x27, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4s -// ****************************************************************** -//801908000FBF -OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 1036, 7) - - { 0x00, 0x56 }, - - { 0x23, 0x80 }, - { 0x24, 0x19 }, - { 0x25, 0x08 }, - { 0x26, 0x00 }, - { 0x27, 0x0F }, - { 0x28, 0xBF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4ub -// ****************************************************************** -//8D....4019040033 -OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 1036, 7) - - { 0x00, 0x56 }, - { 0x20, 0x8D }, - - { 0x23, 0x40 }, - { 0x24, 0x19 }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, - { 0x27, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Swap -// ****************************************************************** -//7505BB050000008B -OOVPA_NO_XREF(D3DDevice_Swap, 1024, 9) - - { 0x01, 0x8B }, - - { 0x28, 0x75 }, - { 0x29, 0x05 }, - { 0x2A, 0xBB }, - { 0x2B, 0x05 }, - { 0x2C, 0x00 }, - { 0x2D, 0x00 }, - { 0x2E, 0x00 }, - { 0x2F, 0x8B }, -OOVPA_END; - -//****************************************************************** -//* D3DPalette_Lock2 -//****************************************************************** -//F6442408A0568B74 -OOVPA_NO_XREF(D3DPalette_Lock2, 1024, 8) - - { 0x00, 0xF6 }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - { 0x04, 0xA0 }, - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_LockRect -// ****************************************************************** -//8B4424148B4C24088B542404568B -OOVPA_NO_XREF(D3DTexture_LockRect, 1024, 14) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x14 }, - { 0x04, 0x8B }, - { 0x05, 0x4C }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - { 0x08, 0x8B }, - { 0x09, 0x54 }, - { 0x0A, 0x24 }, - { 0x0B, 0x04 }, - { 0x0C, 0x56 }, - { 0x0D, 0x8B }, -OOVPA_END; - -// Verteks 11/03/2009 -// blueshogun96 7/17/2010 -// ****************************************************************** -// * D3DVertexBuffer_Lock2 -// ****************************************************************** -//0CF6C3105675 -OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 1024, 8) - - { 0x01, 0x8A }, - { 0x04, 0x0C }, - { 0x05, 0xF6 }, - { 0x06, 0xC3 }, - { 0x07, 0x10 }, - { 0x08, 0x56 }, - { 0x09, 0x75 }, - { 0x11, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnResource -// ****************************************************************** -//F7C20000780075 ...C3 -OOVPA_NO_XREF(D3D_BlockOnResource_0, 2048, 9) - - { 0x01, 0x8B }, - { 0x02, 0x35 }, - - { 0x24, 0xF7 }, - { 0x25, 0xC2 }, - { 0x26, 0x00 }, - { 0x27, 0x00 }, - { 0x28, 0x78 }, - { 0x29, 0x00 }, - { 0x2A, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnTime -// ****************************************************************** -//6A006A006A016A0656 -OOVPA_XREF(D3D_BlockOnTime, 1036, 11, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x01, 0x8B }, - { 0x02, 0x5C }, - - { 0x110, 0x6A }, - { 0x111, 0x00 }, - { 0x112, 0x6A }, - { 0x113, 0x00 }, - { 0x114, 0x6A }, - { 0x115, 0x01 }, - { 0x116, 0x6A }, - { 0x117, 0x06 }, - { 0x118, 0x56 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_CommonSetRenderTarget -// ****************************************************************** -//00750C8B87B42100 -#ifndef WIP_LessVertexPatching -OOVPA_XREF(D3D_CommonSetRenderTarget, 1024, 10, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) -#else -OOVPA_XREF(D3D_CommonSetRenderTarget, 1024, 1+10, - - XREF_D3D_CommonSetRenderTarget, - XRefOne) - - XREF_ENTRY( 0x18, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET ), // Derived -#endif - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x13, 0x00 }, - { 0x14, 0x75 }, - { 0x15, 0x0C }, - { 0x16, 0x8B }, - { 0x17, 0x87 }, - { 0x18, 0xB4 }, - { 0x19, 0x21 }, - { 0x1A, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_KickOffAndWaitForIdle -// ****************************************************************** -//8B4C24088B442404E8 -OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle2, 1024, 12) - - { 0x00, 0xA1 }, - - { 0x10, 0x8B }, - { 0x11, 0x4C }, - { 0x12, 0x24 }, - { 0x13, 0x08 }, - { 0x14, 0x8B }, - { 0x15, 0x44 }, - { 0x16, 0x24 }, - { 0x17, 0x04 }, - { 0x18, 0xE8 }, - - { 0x1D, 0xC2 }, - { 0x1E, 0x08 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_UpdateOverlay -//****************************************************************** -//7707B800001000EB -OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 1036, 9) - - { 0x02, 0x08 }, - - { 0xCA, 0x77 }, - { 0xCB, 0x07 }, - { 0xCC, 0xB8 }, - { 0xCD, 0x00 }, - { 0xCE, 0x00 }, - { 0xCF, 0x10 }, - { 0xD0, 0x00 }, - { 0xD1, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderStateNotInline -// ****************************************************************** -//C381FE880000007D1D8B0D ...C3 -OOVPA_NO_XREF(D3DDevice_SetRenderStateNotInline_0, 2048, 13) - - { 0x00, 0x83 }, - { 0x01, 0xFE }, - - { 0x1A, 0xC3 }, - { 0x1B, 0x81 }, - { 0x1C, 0xFE }, - { 0x1D, 0x88 }, - { 0x1E, 0x00 }, - { 0x1F, 0x00 }, - { 0x10, 0x00 }, - { 0x21, 0x7D }, - { 0x22, 0x1D }, - { 0x23, 0x8B }, - { 0x24, 0x0D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderStateNotInline -// ****************************************************************** -//578B7C24108BD7E8 -OOVPA_NO_XREF(D3DDevice_SetRenderStateNotInline, 1024, 9) - - { 0x00, 0x56 }, - - { 0x11, 0x57 }, - { 0x12, 0x8B }, - { 0x13, 0x7C }, - { 0x14, 0x24 }, - { 0x15, 0x10 }, - { 0x16, 0x8B }, - { 0x17, 0xD7 }, - { 0x18, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureStageStateNotInline -// ****************************************************************** -//1BC981E1F1BFFFFF81C1 -OOVPA_NO_XREF(D3DDevice_SetTextureStageStateNotInline, 1024, 11) - - { 0x00, 0x8B }, - - { 0x46, 0x1B }, - { 0x47, 0xC9 }, - { 0x48, 0x81 }, - { 0x49, 0xE1 }, - { 0x4A, 0xF1 }, - { 0x4B, 0xBF }, - { 0x4C, 0xFF }, - { 0x4D, 0xFF }, - { 0x4E, 0x81 }, - { 0x4F, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureStageStateNotInline -// ****************************************************************** -//1BC025F1BFFFFF050F48 -OOVPA_NO_XREF(D3DDevice_SetTextureStageStateNotInline_0, 2024, 11) - - { 0x00, 0x83 }, - - { 0x36, 0x1B }, - { 0x37, 0xC0 }, - { 0x38, 0x25 }, - { 0x39, 0xF1 }, - { 0x3A, 0xBF }, - { 0x3B, 0xFF }, - { 0x3C, 0xFF }, - { 0x3D, 0x05 }, - { 0x3E, 0x0F }, - { 0x3F, 0x48 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPush -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginPush, 1024, 18) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x0F, 0x8B }, - { 0x10, 0x06 }, - { 0x11, 0x8B }, - { 0x12, 0x76 }, - { 0x13, 0x04 }, - { 0x14, 0x8B }, - { 0x15, 0x4C }, - { 0x16, 0x24 }, - { 0x17, 0x08 }, - { 0x18, 0x81 }, - { 0x19, 0xC6 }, - { 0x1A, 0x00 }, - { 0x1B, 0x02 }, - { 0x1C, 0x00 }, - { 0x1D, 0x00 }, - { 0x1E, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetIndices -// ****************************************************************** -//74108103000008008B -OOVPA_NO_XREF(D3DDevice_SetIndices, 1036, 11) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x14, 0x74 }, - { 0x15, 0x10 }, - { 0x16, 0x81 }, - { 0x17, 0x03 }, - { 0x18, 0x00 }, - { 0x19, 0x00 }, - { 0x1A, 0x08 }, - { 0x1B, 0x00 }, - { 0x1C, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetIndices_4 -// ****************************************************************** -//74108103000008008B ...C20400 -OOVPA_NO_XREF(D3DDevice_SetIndices_4, 2024, 11) - - { 0x00, 0x85 }, - { 0x01, 0xDB }, - - { 0x0F, 0x74 }, - { 0x10, 0x10 }, - { 0x11, 0x81 }, - { 0x12, 0x03 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x08 }, - { 0x16, 0x00 }, - { 0x17, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetRenderTarget2 -// ****************************************************************** -//8B88041A000085 -OOVPA_XREF(D3DDevice_GetRenderTarget2, 1036, 1+9, - - XREF_D3DDevice_GetRenderTarget2, - XRefOne) - - XREF_ENTRY( 0x2E, XREF_D3DResource_AddRef ), - - { 0x00, 0xA1 }, - - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0xB0 }, - //{ 0x08, 0xB4 }, - //{ 0x09, 0x21 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - { 0x0C, 0x85 }, - - { 0x32, 0xFF }, - { 0x33, 0x06 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SelectVertexShader -// ****************************************************************** -//578D78FF89......0000 ...C20400 -OOVPA_NO_XREF(D3DDevice_SelectVertexShader_4, 2060, 9) - - { 0x00, 0x85 }, - { 0x01, 0xC0 }, - - { 0x10, 0x57 }, - { 0x11, 0x8D }, - { 0x12, 0x78 }, - { 0x13, 0xFF }, - { 0x14, 0x89 }, - - { 0x18, 0x00 }, - { 0x19, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4721.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4721.inl deleted file mode 100644 index 7a9e563da..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4721.inl +++ /dev/null @@ -1,92 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.4721.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_Swap -// ****************************************************************** -//7505BB050000008B ...C3 -OOVPA_NO_XREF(D3DDevice_Swap_0, 2036, 9) - - { 0x01, 0x56 }, - - { 0x26, 0x75 }, - { 0x27, 0x05 }, - { 0x28, 0xBB }, - { 0x29, 0x05 }, - { 0x2A, 0x00 }, - { 0x2B, 0x00 }, - { 0x2C, 0x00 }, - { 0x2D, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTile -// ****************************************************************** -//C744242000000000C744241C ...C3 -OOVPA_NO_XREF(D3DDevice_SetTile_0, 2048, 14) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x2D, 0xC7 }, - { 0x2E, 0x44 }, - { 0x2F, 0x24 }, - { 0x30, 0x20 }, - { 0x31, 0x00 }, - { 0x32, 0x00 }, - { 0x33, 0x00 }, - { 0x34, 0x00 }, - { 0x35, 0xC7 }, - { 0x36, 0x44 }, - { 0x37, 0x24 }, - { 0x38, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTexture -// ****************************************************************** -//81C10000F8FF89 ...C20400 -OOVPA_NO_XREF(D3DDevice_SetTexture_4, 2036, 9) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x2B, 0x81 }, - { 0x2C, 0xC1 }, - { 0x2D, 0x00 }, - { 0x2E, 0x00 }, - { 0x2F, 0xF8 }, - { 0x30, 0xFF }, - { 0x31, 0x89 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4928.inl deleted file mode 100644 index 21995597b..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.4928.inl +++ /dev/null @@ -1,235 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.4928.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_CopyRects -// ****************************************************************** -//81EC940100005355568B -OOVPA_NO_XREF(D3DDevice_CopyRects, 1048, 10) - - { 0x00, 0x81 }, - { 0x01, 0xEC }, - { 0x02, 0x94 }, - { 0x03, 0x01 }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x06, 0x53 }, - { 0x07, 0x55 }, - { 0x08, 0x56 }, - { 0x09, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateTexture2 -// ****************************************************************** -//F744241C0000010074 -OOVPA_NO_XREF(D3DDevice_CreateTexture2, 1024, 11) - - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - { 0x42, 0xF7 }, - { 0x43, 0x44 }, - { 0x44, 0x24 }, - { 0x45, 0x1C }, - { 0x46, 0x00 }, - { 0x47, 0x00 }, - { 0x48, 0x01 }, - { 0x49, 0x00 }, - { 0x4A, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EndPushBuffer -// ****************************************************************** -//B82908768859 -OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 1024, 8) - - { 0x00, 0x51 }, - { 0x01, 0x56 }, - - { 0x7C, 0xB8 }, - { 0x7D, 0x29 }, - { 0x7E, 0x08 }, - { 0x7F, 0x76 }, - { 0x80, 0x88 }, - { 0x81, 0x59 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer2 -// ****************************************************************** -//7507B801000000EB07F7 -OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 1024, 14) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x0D, 0x75 }, - { 0x0E, 0x07 }, - { 0x0F, 0xB8 }, - { 0x10, 0x01 }, - { 0x11, 0x00 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0xEB }, - { 0x15, 0x07 }, - { 0x16, 0xF7 }, - - { 0x4A, 0xC2 }, - { 0x4B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetDepthStencilSurface2 -// ****************************************************************** -//000085C9750333C0C38B01A9 -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 1024, 14) - - { 0x00, 0xA1 }, - { 0x11, 0xC3 }, - - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x85 }, - { 0x0C, 0xC9 }, - { 0x0D, 0x75 }, - { 0x0E, 0x03 }, - { 0x0F, 0x33 }, - { 0x10, 0xC0 }, - { 0x11, 0xC3 }, - { 0x12, 0x8B }, - { 0x13, 0x01 }, - { 0x14, 0xA9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetRenderTarget2 -// ****************************************************************** -//8B88041A000085 -OOVPA_XREF(D3DDevice_GetRenderTarget2, 1024, 1+7, - - XREF_D3DDevice_GetRenderTarget2, - XRefOne) - - XREF_ENTRY( 0x2D, XREF_D3DResource_AddRef ), - - { 0x00, 0xA1 }, - - { 0x05, 0x8B }, - //{ 0x06, 0x88 }, - //{ 0x07, 0x04 }, - //{ 0x08, 0x1A }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0x85 }, - - { 0x34, 0xC1 }, - { 0x35, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_PersistDisplay -// ****************************************************************** -//85C0740F50FF15 -OOVPA_NO_XREF(D3DDevice_PersistDisplay, 1060, 9) - - { 0x00, 0x51 }, - { 0x01, 0x55 }, - - { 0x0E, 0x85 }, - { 0x0F, 0xC0 }, - { 0x10, 0x74 }, - { 0x11, 0x0F }, - { 0x12, 0x50 }, - { 0x13, 0xFF }, - { 0x14, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShaderConstant -// ****************************************************************** -//450C8B451085 -OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 1036, 8) - - { 0x00, 0x55 }, - { 0x07, 0x15 }, - - { 0x19, 0x45 }, - { 0x1A, 0x0C }, - { 0x1B, 0x8B }, - { 0x1C, 0x45 }, - { 0x1D, 0x10 }, - { 0x1E, 0x85 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_UpdateOverlay -// ****************************************************************** -//7707B800001000EB -OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 1048, 9) - - { 0x01, 0xA1 }, - - { 0xFD, 0x77 }, - { 0xFE, 0x07 }, - { 0xFF, 0xB8 }, - { 0x100, 0x00 }, - { 0x101, 0x00 }, - { 0x102, 0x10 }, - { 0x103, 0x00 }, - { 0x104, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetSurfaceLevel2 -// ****************************************************************** -//7C24148D442418508D -OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel2, 1024, 12) - - { 0x00, 0x83 }, - - { 0x05, 0x7C }, - { 0x06, 0x24 }, - { 0x07, 0x14 }, - { 0x08, 0x8D }, - { 0x09, 0x44 }, - { 0x0A, 0x24 }, - { 0x0B, 0x18 }, - { 0x0C, 0x50 }, - { 0x0D, 0x8D }, - - { 0x45, 0xC2 }, - { 0x46, 0x08 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5028.inl deleted file mode 100644 index db8a20f75..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5028.inl +++ /dev/null @@ -1,94 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.5028.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -//85C9750AC705 ...C21000 -OOVPA_NO_XREF(Direct3D_CreateDevice_16, 2048, 8) - - { 0x00, 0x55 }, - - { 0x0D, 0x85 }, - { 0x0E, 0xC9 }, - { 0x0F, 0x75 }, - { 0x10, 0x0A }, - { 0x11, 0xC7 }, - { 0x12, 0x05 }, - - { 0x1B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_TexCoordIndex -// ****************************************************************** -// ...C20400 -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, 2058, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x14, XREF_D3DTSS_TEXCOORDINDEX ), // Derived - - { 0x01, 0x53 }, - { 0x02, 0x8B }, - - { 0x08, 0x55 }, - { 0x09, 0x8B }, - - { 0x0C, 0x10 }, - { 0x0D, 0x8B }, - { 0x0E, 0xC6 }, - { 0x0F, 0xC1 }, - { 0x10, 0xE0 }, - { 0x11, 0x07 }, -OOVPA_END; - -//****************************************************************** -//* D3DDevice_LoadVertexShader -//****************************************************************** -//C7009C1E040089 ...C20400 -OOVPA_NO_XREF(D3DDevice_LoadVertexShader_4, 2024, 9) - - { 0x00, 0x53 }, - { 0x01, 0x55 }, - - { 0x5E, 0xC7 }, - { 0x5F, 0x00 }, - { 0x60, 0x9C }, - { 0x61, 0x1E }, - { 0x62, 0x04 }, - { 0x63, 0x00 }, - { 0x64, 0x89 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5120.inl deleted file mode 100644 index ad331a06e..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5120.inl +++ /dev/null @@ -1,97 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.5120.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -//00000800A1 -OOVPA_NO_XREF(Direct3D_CreateDevice, 1036, 7) - - { 0x00, 0x55 }, - { 0x09, 0xC0 }, - - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x08 }, - { 0x15, 0x00 }, - { 0x16, 0xA1 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Reset -// ****************************************************************** -//803F6A006A036A006A00E8 -OOVPA_NO_XREF(D3DDevice_Reset, 1036, 11) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0xA6, 0x6A }, - { 0xA7, 0x00 }, - { 0xA8, 0x6A }, - { 0xA9, 0x03 }, - { 0xAA, 0x6A }, - { 0xAB, 0x00 }, - { 0xAC, 0x6A }, - { 0xAD, 0x00 }, - { 0xAE, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderInput -// ****************************************************************** -//8B0F81C10000F8FF8BC1A9 -OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 1036, 19) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - { 0x02, 0x5C }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0x35 }, - - { 0x25, 0x8B }, - { 0x26, 0x0F }, - { 0x27, 0x81 }, - { 0x28, 0xC1 }, - { 0x29, 0x00 }, - { 0x2A, 0x00 }, - { 0x2B, 0xF8 }, - { 0x2C, 0xFF }, - { 0x2D, 0x8B }, - { 0x2E, 0xC1 }, - { 0x2F, 0xA9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5233.inl deleted file mode 100644 index 3a74ccdd0..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5233.inl +++ /dev/null @@ -1,214 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.5233.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_BeginPush -// ****************************************************************** -//24088B49048D -OOVPA_NO_XREF(D3DDevice_BeginPush, 1036, 8) - - { 0x00, 0xA1 }, - { 0x06, 0x6A }, - - { 0x18, 0x24 }, - { 0x19, 0x08 }, - { 0x1A, 0x8B }, - { 0x1B, 0x49 }, - { 0x1C, 0x04 }, - { 0x1D, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetBackBuffer2 -// ****************************************************************** -//7507B801000000EB07F7 ...C3 -OOVPA_NO_XREF(D3DDevice_GetBackBuffer2_0, 2048, 13) - - { 0x00, 0x83 }, - { 0x01, 0xF8 }, - - { 0x09, 0x75 }, - { 0x0A, 0x07 }, - { 0x0B, 0xB8 }, - { 0x0C, 0x01 }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - { 0x10, 0xEB }, - { 0x11, 0x07 }, - { 0x12, 0xF7 }, - - { 0x46, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -//8BCEC1E10681C1241B04 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor_0, 2036, 10) - - { 0x00, 0x56 }, - - { 0x21, 0x8B }, - { 0x22, 0xCE }, - { 0x23, 0xC1 }, - { 0x24, 0xE1 }, - { 0x25, 0x06 }, - { 0x26, 0x81 }, - { 0x27, 0xC1 }, - { 0x28, 0x24 }, - - { 0x41, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -//8D0CB5E00A0400 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor_0, 2036, 9) - - { 0x00, 0x56 }, - - { 0x21, 0x8D }, - { 0x22, 0x0C }, - { 0x23, 0xB5 }, - { 0x24, 0xE0 }, - { 0x25, 0x0A }, - { 0x26, 0x04 }, - { 0x27, 0x00 }, - - { 0x3D, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShader -// ****************************************************************** -//F6C30155568B35 ...C3 -OOVPA_NO_XREF(D3DDevice_SetVertexShader_0, 2036, 15) - - { 0x00, 0x51 }, - - { 0x01, 0xF6 }, - { 0x02, 0xC3 }, - { 0x03, 0x01 }, - { 0x04, 0x55 }, - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0x35 }, - - { 0x1D, 0x74 }, - { 0x1E, 0x05 }, - { 0x1F, 0x8D }, - { 0x20, 0x7B }, - { 0x21, 0xFF }, - { 0x22, 0xEB }, - { 0x23, 0x0E }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexShaderConstantNotInline -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstantNotInline, 1024, 8) - - { 0x00, 0xF6 }, - - { 0x09, 0x56 }, - { 0x0A, 0x57 }, - { 0x0B, 0x8B }, - { 0x0C, 0xFB }, - { 0x0D, 0xC1 }, - { 0x0E, 0xE7 }, - { 0x0F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPush -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BeginPush, 1048, 10) - - { 0x00, 0xA1 }, - - { 0x14, 0x8B }, - { 0x15, 0x01 }, - { 0x16, 0x8B }, - { 0x17, 0x74 }, - { 0x18, 0x24 }, - { 0x19, 0x08 }, - { 0x1A, 0x8B }, - { 0x1B, 0x49 }, - { 0x1C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPalette -// ****************************************************************** -//85C05774258B4E2C8948088BBC -OOVPA_NO_XREF(D3DDevice_SetPalette, 1036, 15) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x18, 0x85 }, - { 0x19, 0xC0 }, - { 0x1A, 0x57 }, - { 0x1B, 0x74 }, - { 0x1C, 0x25 }, - { 0x1D, 0x8B }, - { 0x1E, 0x4E }, - { 0x1F, 0x2C }, - { 0x20, 0x89 }, - { 0x21, 0x48 }, - { 0x22, 0x08 }, - { 0x23, 0x8B }, - { 0x24, 0xBC }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SelectVertexShader -// ****************************************************************** -//578D78FF89......0000 ...C3 -OOVPA_NO_XREF(D3DDevice_SelectVertexShader_0, 2048, 9) - - { 0x00, 0x85 }, - { 0x01, 0xC0 }, - - { 0x14, 0x57 }, - { 0x15, 0x8D }, - { 0x16, 0x78 }, - { 0x17, 0xFF }, - { 0x18, 0x89 }, - - { 0x1C, 0x00 }, - { 0x1D, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5344.inl deleted file mode 100644 index 5c0f55dea..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5344.inl +++ /dev/null @@ -1,268 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.5344.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_DeleteVertexShader -// ****************************************************************** -//8B48FF4849890875 ...C3 -OOVPA_NO_XREF(D3DDevice_DeleteVertexShader_0, 2036, 9) - - { 0x00, 0x8B }, - { 0x01, 0x48 }, - { 0x02, 0xFF }, - { 0x03, 0x48 }, - { 0x04, 0x49 }, - { 0x05, 0x89 }, - { 0x06, 0x08 }, - { 0x07, 0x75 }, - - { 0x14, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -//558BEC83EC1453568B35 ...C700FC17040089 -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 1048, 17) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0x35 }, - - { 0x2F, 0xC7 }, - { 0x30, 0x00 }, - { 0x31, 0xFC }, - { 0x32, 0x17 }, - { 0x33, 0x04 }, - { 0x34, 0x00 }, - { 0x35, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawVerticesUP -// ****************************************************************** -//EC1453568B35 -OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 1024, 9) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0x35 }, - - { 0x11, 0xEC }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_End -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_End, 1048, 7) - - { 0x07, 0x8B }, - { 0x13, 0x50 }, - { 0x1C, 0xC7 }, - { 0x22, 0xC7 }, - { 0x2B, 0x08 }, - { 0x34, 0xE1 }, - { 0x49, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetLight -// ****************************************************************** -//83E0F0894424108D04C0 -OOVPA_NO_XREF(D3DDevice_SetLight, 1024, 12) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x22, 0x83 }, - { 0x23, 0xE0 }, - { 0x24, 0xF0 }, - { 0x25, 0x89 }, - { 0x26, 0x44 }, - { 0x27, 0x24 }, - { 0x28, 0x10 }, - { 0x29, 0x8D }, - { 0x2A, 0x04 }, - { 0x2B, 0xC0 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TwoSidedLighting -// ****************************************************************** -//C700C417040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1060, 8) - - { 0x01, 0x8B }, - - { 0x20, 0xC7 }, - { 0x21, 0x00 }, - { 0x22, 0xC4 }, - { 0x23, 0x17 }, - { 0x24, 0x04 }, - { 0x25, 0x00 }, - { 0x26, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TwoSidedLighting -// ****************************************************************** -//C700C417040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1072, 8) - - { 0x01, 0x8B }, - - { 0x21, 0xC7 }, - { 0x22, 0x00 }, - { 0x23, 0xC4 }, - { 0x24, 0x17 }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, - { 0x27, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -//A900007800751925000007003D -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 1072, 15) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x26, 0xA9 }, - { 0x27, 0x00 }, - { 0x28, 0x00 }, - { 0x29, 0x78 }, - { 0x2A, 0x00 }, - { 0x2B, 0x75 }, - { 0x2C, 0x19 }, - { 0x2D, 0x25 }, - { 0x2E, 0x00 }, - { 0x2F, 0x00 }, - { 0x30, 0x07 }, - { 0x31, 0x00 }, - { 0x32, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScissors -// ****************************************************************** -//55894424088B430489 -OOVPA_NO_XREF(D3DDevice_SetScissors, 1048, 10) - - { 0x01, 0xEC }, - - { 0x16, 0x55 }, - { 0x17, 0x89 }, - { 0x18, 0x44 }, - { 0x19, 0x24 }, - { 0x1A, 0x08 }, - { 0x1B, 0x8B }, - { 0x1C, 0x43 }, - { 0x1D, 0x04 }, - { 0x1E, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -//56578D7821C1E706 -OOVPA_NO_XREF(D3DDevice_SetTransform, 1048, 12) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - - { 0x0F, 0x56 }, - { 0x10, 0x57 }, - { 0x11, 0x8D }, - { 0x12, 0x78 }, - { 0x13, 0x21 }, - { 0x14, 0xC1 }, - { 0x15, 0xE7 }, - { 0x16, 0x06 }, - - { 0x107, 0xC2 }, - { 0x108, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform_0 -// ****************************************************************** -//56578D7821C1E706 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTransform_0, 2060, 11) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x07, 0x56 }, - { 0x08, 0x57 }, - { 0x09, 0x8D }, - { 0x0A, 0x78 }, - { 0x0B, 0x21 }, - { 0x0C, 0xC1 }, - { 0x0D, 0xE7 }, - { 0x0E, 0x06 }, - - { 0xFF, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LightEnable_4 -// ****************************************************************** -//F64401680175 ...C20400 -OOVPA_NO_XREF(D3DDevice_LightEnable_4, 2048, 8) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x22, 0xF6 }, - { 0x23, 0x44 }, - { 0x24, 0x01 }, - { 0x25, 0x68 }, - { 0x26, 0x01 }, - { 0x27, 0x75 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5455.inl deleted file mode 100644 index 7c162c94e..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5455.inl +++ /dev/null @@ -1,220 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.5455.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_CopyRects -// ****************************************************************** -//83EC345355568B7424440F -OOVPA_NO_XREF(D3DDevice_CopyRects, 1024, 11) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x34 }, - { 0x03, 0x53 }, - { 0x04, 0x55 }, - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0x74 }, - { 0x08, 0x24 }, - { 0x09, 0x44 }, - { 0x0A, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SelectVertexShader -// ****************************************************************** -//00008B4904578D ...C3 -OOVPA_NO_XREF(D3DDevice_SelectVertexShader_0, 2060, 9) - - { 0x00, 0x85 }, - { 0x02, 0x56 }, - - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x8B }, - { 0x12, 0x49 }, - { 0x13, 0x04 }, - { 0x14, 0x57 }, - { 0x15, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetScreenSpaceOffset -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 1024, 6) - - { 0x00, 0xD9 }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x56 }, - { 0x05, 0xD8 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTile -// ****************************************************************** -//85C9538B1D ...C3 -OOVPA_NO_XREF(D3DDevice_SetTile_0, 2060, 9) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x03, 0x85 }, - { 0x04, 0xC9 }, - { 0x05, 0x53 }, - { 0x06, 0x8B }, - { 0x07, 0x1D }, - - { 0x0B, 0x00 }, - { 0x0C, 0x56 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetViewport -// ****************************************************************** -//8B4C240483EC0C85C9568B -OOVPA_NO_XREF(D3DDevice_SetViewport, 1048, 11) - - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x83 }, - { 0x05, 0xEC }, - { 0x06, 0x0C }, - { 0x07, 0x85 }, - { 0x08, 0xC9 }, - { 0x09, 0x56 }, - { 0x0A, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_UpdateOverlay -// ****************************************************************** -//7707B800001000EB -OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 1024, 9) - - { 0x02, 0x08 }, - - { 0xCB, 0x77 }, - { 0xCC, 0x07 }, - { 0xCD, 0xB8 }, - { 0xCE, 0x00 }, - { 0xCF, 0x00 }, - { 0xD0, 0x10 }, - { 0xD1, 0x00 }, - { 0xD2, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnResource -// ****************************************************************** -//F7C20000780075 ...C3 -OOVPA_NO_XREF(D3D_BlockOnResource_0, 2060, 9) - - { 0x01, 0x8B }, - { 0x02, 0x35 }, - - { 0x28, 0xF7 }, - { 0x29, 0xC2 }, - { 0x2A, 0x00 }, - { 0x2B, 0x00 }, - { 0x2C, 0x78 }, - { 0x2D, 0x00 }, - { 0x2E, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_KickOffAndWaitForIdle -// ****************************************************************** -//8B4C24088B442404E8 -OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle2, 1048, 12) - - { 0x00, 0xA1 }, - - { 0x13, 0x8B }, - { 0x14, 0x4C }, - { 0x15, 0x24 }, - { 0x16, 0x08 }, - { 0x17, 0x8B }, - { 0x18, 0x44 }, - { 0x19, 0x24 }, - { 0x1A, 0x04 }, - { 0x1B, 0xE8 }, - - { 0x20, 0xC2 }, - { 0x21, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTarget -// ****************************************************************** -//A900007800751925000007003D -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 1084, 15) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x25, 0xA9 }, - { 0x26, 0x00 }, - { 0x27, 0x00 }, - { 0x28, 0x78 }, - { 0x29, 0x00 }, - { 0x2A, 0x75 }, - { 0x2B, 0x19 }, - { 0x2C, 0x25 }, - { 0x2D, 0x00 }, - { 0x2E, 0x00 }, - { 0x2F, 0x07 }, - { 0x30, 0x00 }, - { 0x31, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LightEnable -// ****************************************************************** -//F64401680175 -OOVPA_NO_XREF(D3DDevice_LightEnable, 1036, 8) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x24, 0xF6 }, - { 0x25, 0x44 }, - { 0x26, 0x01 }, - { 0x27, 0x68 }, - { 0x28, 0x01 }, - { 0x29, 0x75 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5788.inl deleted file mode 100644 index d15d027c1..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5788.inl +++ /dev/null @@ -1,601 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.5659.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * D3DDevice_SetPalette -// ****************************************************************** -//85C05774258B4E2C8948088BBC -OOVPA_NO_XREF(D3DDevice_SetPalette, 1024, 15) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x13, 0x85 }, - { 0x14, 0xC0 }, - { 0x15, 0x57 }, - { 0x16, 0x74 }, - { 0x17, 0x25 }, - { 0x18, 0x8B }, - { 0x19, 0x4E }, - { 0x1A, 0x2C }, - { 0x1B, 0x89 }, - { 0x1C, 0x48 }, - { 0x1D, 0x08 }, - { 0x1E, 0x8B }, - { 0x1F, 0xBC }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPalette -// ****************************************************************** -//85C05774258B4E2C8948088BBC ...C20400 -OOVPA_NO_XREF(D3DDevice_SetPalette_4, 2024, 14) - - { 0x00, 0x53 }, - - { 0x16, 0x85 }, - { 0x17, 0xC0 }, - { 0x18, 0x57 }, - { 0x19, 0x74 }, - { 0x1A, 0x25 }, - { 0x1B, 0x8B }, - { 0x1C, 0x4E }, - { 0x1D, 0x2C }, - { 0x1E, 0x89 }, - { 0x1F, 0x48 }, - { 0x20, 0x08 }, - { 0x21, 0x8B }, - { 0x22, 0xBC }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShader -// ****************************************************************** -//C740040000210083C008 -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 1024, 12) - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - - { 0x77, 0xC7 }, - { 0x78, 0x40 }, - { 0x79, 0x04 }, - { 0x7A, 0x00 }, - { 0x7B, 0x00 }, - { 0x7C, 0x21 }, - { 0x7D, 0x00 }, - { 0x7E, 0x83 }, - { 0x7F, 0xC0 }, - { 0x80, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreateVertexShader -// ****************************************************************** -//C740040000210083C008 ...C3 -OOVPA_NO_XREF(D3DDevice_SetPixelShader_0, 2048, 13) - - { 0x00, 0x51 }, - { 0x01, 0x85 }, - - { 0x73, 0xC7 }, - { 0x74, 0x40 }, - { 0x75, 0x04 }, - { 0x76, 0x00 }, - { 0x77, 0x00 }, - { 0x78, 0x21 }, - { 0x79, 0x00 }, - { 0x7A, 0x83 }, - { 0x7B, 0xC0 }, - { 0x7C, 0x08 }, - - { 0x81, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShaderConstant -// ****************************************************************** -//840700008B49 ...C20400 -OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant_4, 2024, 7) - - { 0x04, 0xEC }, - - { 0x13, 0x84 }, - { 0x14, 0x07 }, - { 0x15, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x8B }, - { 0x18, 0x49 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShaderProgram -// ****************************************************************** -//C780280900 -OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 1024, 8) - - { 0x06, 0xA1 }, - { 0x0B, 0x74 }, - - { 0x19, 0xC7 }, - { 0x1A, 0x80 }, - { 0x1B, 0x28 }, - { 0x1C, 0x09 }, - { 0x1D, 0x00 }, - { 0x1E, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_CullMode -// ****************************************************************** -//C7000803040075 -OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 1053, 2+8, - - XREF_D3DDevice_SetRenderState_CullMode, - XRefTwo) - - XREF_ENTRY( 0x03, XREF_D3DDEVICE ), // Derived - XREF_ENTRY( 0x35, XREF_D3DRS_CULLMODE ), // Derived - - { 0x00, 0x56 }, - - { 0x23, 0xC7 }, - { 0x24, 0x00 }, - { 0x25, 0x08 }, - { 0x26, 0x03 }, - { 0x27, 0x04 }, - { 0x28, 0x00 }, - { 0x29, 0x75 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_EdgeAntiAlias -// ****************************************************************** -//0020030800894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 1060, 10) - - { 0x01, 0x8B }, - { 0x1E, 0x4C }, - - { 0x22, 0x00 }, - { 0x23, 0x20 }, - { 0x24, 0x03 }, - { 0x25, 0x08 }, - { 0x26, 0x00 }, - { 0x27, 0x89 }, - { 0x28, 0x48 }, - { 0x29, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FillMode -// ****************************************************************** -//C98B4C24087502 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 1060, 9) - - { 0x00, 0x56 }, - { 0x08, 0x06 }, - - { 0x2A, 0xC9 }, - { 0x2B, 0x8B }, - { 0x2C, 0x4C }, - { 0x2D, 0x24 }, - { 0x2E, 0x08 }, - { 0x2F, 0x75 }, - { 0x30, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FogColor -// ****************************************************************** -//54240E8BF981 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 1060, 7) - - { 0x00, 0x56 }, - - { 0x24, 0x54 }, - { 0x25, 0x24 }, - { 0x26, 0x0E }, - { 0x27, 0x8B }, - { 0x28, 0xF9 }, - { 0x29, 0x81 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_FrontFace -// ****************************************************************** -//00a0A0304008948 -OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 1060, 8) - - { 0x01, 0x8B }, - - { 0x22, 0x00 }, - { 0x23, 0xA0 }, - { 0x24, 0x03 }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, - { 0x27, 0x89 }, - { 0x28, 0x48 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_LogicOp -// ****************************************************************** -//18C700BC1704 -OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 1060, 7) - - // XREF_ENTRY( 0x34, XREF_D3DRS_LOGICOP ), - - { 0x01, 0x8B }, - - { 0x24, 0x18 }, - { 0x25, 0xC7 }, - { 0x26, 0x00 }, - { 0x27, 0xBC }, - { 0x28, 0x17 }, - { 0x29, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_NormalizeNormals -// ****************************************************************** -//A4030400894804 -OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 1060, 8) - - { 0x00, 0x56 }, - - { 0x23, 0xA4 }, - { 0x24, 0x03 }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, - { 0x27, 0x89 }, - { 0x28, 0x48 }, - { 0x29, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ShadowFunc -// ****************************************************************** -//6C1E04008D91 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 1060, 8) - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - - { 0x23, 0x6C }, - { 0x24, 0x1E }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, - { 0x27, 0x8D }, - { 0x28, 0x91 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -//018b54240885d2c700 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 1060, 10) - - { 0x02, 0x35 }, - - { 0x50, 0x01 }, - { 0x51, 0x8B }, - { 0x52, 0x54 }, - { 0x53, 0x24 }, - { 0x54, 0x08 }, - { 0x55, 0x85 }, - { 0x56, 0xD2 }, - { 0x57, 0xC7 }, - { 0x58, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -//7003040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 1060, 7) - - { 0x01, 0x8B }, - { 0x23, 0x33 }, - - { 0x61, 0x70 }, - { 0x62, 0x03 }, - { 0x63, 0x04 }, - { 0x64, 0x00 }, - { 0x65, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZEnable -// ****************************************************************** -//C9C7000C0304008948048B -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 1060, 13) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x37, 0xC9 }, - { 0x38, 0xC7 }, - { 0x39, 0x00 }, - { 0x3A, 0x0C }, - { 0x3B, 0x03 }, - { 0x3C, 0x04 }, - { 0x3D, 0x00 }, - { 0x3E, 0x89 }, - { 0x3F, 0x48 }, - { 0x40, 0x04 }, - { 0x41, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -//088BD1C1E20681C2241B -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 1048, 11) - - { 0x00, 0x56 }, - - { 0x20, 0x08 }, - { 0x21, 0x8B }, - { 0x22, 0xD1 }, - { 0x23, 0xC1 }, - { 0x24, 0xE2 }, - { 0x25, 0x06 }, - { 0x26, 0x81 }, - { 0x27, 0xC2 }, - { 0x28, 0x24 }, - { 0x29, 0x1B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_BorderColor -// ****************************************************************** -//891089580483 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor_0, 2048, 7) - - { 0x01, 0x57 }, - - { 0x2D, 0x89 }, - { 0x2E, 0x10 }, - { 0x2F, 0x89 }, - { 0x30, 0x58 }, - { 0x31, 0x04 }, - { 0x32, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -//E00A040089 -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 1024, 8) - - { 0x01, 0x8B }, - { 0x18, 0xE8 }, - { 0x1E, 0x4C }, - - { 0x24, 0xE0 }, - { 0x25, 0x0A }, - { 0x26, 0x04 }, - { 0x27, 0x00 }, - { 0x28, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTextureState_ColorKeyColor -// ****************************************************************** -//E00A040089 ...C3 -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor_0, 2048, 8) - - { 0x01, 0x57 }, - { 0x0B, 0x8B }, - { 0x1D, 0xE8 }, - - { 0x25, 0xE0 }, - { 0x26, 0x0A }, - { 0x27, 0x04 }, - { 0x28, 0x00 }, - { 0x29, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderTargetFast -// ****************************************************************** -//A900007800578B -OOVPA_NO_XREF(D3DDevice_SetRenderTargetFast, 1024, 9) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x07, 0xA9 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x78 }, - { 0x0B, 0x00 }, - { 0x0C, 0x57 }, - { 0x0D, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnTime -// ****************************************************************** -//C747101001040089 -OOVPA_XREF(D3D_BlockOnTime, 1024, 10, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0xB4, 0xC7 }, - { 0xB5, 0x47 }, - { 0xB6, 0x10 }, - { 0xB7, 0x10 }, - { 0xB8, 0x01 }, - { 0xB9, 0x04 }, - { 0xBA, 0x00 }, - { 0xBB, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnTime -// ****************************************************************** -//C747101001040089 ...C20400 -OOVPA_XREF(D3D_BlockOnTime_4, 2048, 9, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x00, 0x56 }, - - { 0xB8, 0xC7 }, - { 0xB9, 0x47 }, - { 0xBA, 0x10 }, - { 0xBB, 0x10 }, - { 0xBC, 0x01 }, - { 0xBD, 0x04 }, - { 0xBE, 0x00 }, - { 0xBF, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_MakeRequestedSpace -// ****************************************************************** -//81C5004000003BE9 ...C20400 -OOVPA_NO_XREF(D3D_MakeRequestedSpace, 2048, 10) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x5A, 0x81 }, - { 0x5B, 0xC5 }, - { 0x5C, 0x00 }, - { 0x5D, 0x40 }, - { 0x5E, 0x00 }, - { 0x5F, 0x00 }, - { 0x60, 0x3B }, - { 0x61, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_SetFence -// ****************************************************************** -//C70010A304008BCF -OOVPA_XREF(D3D_SetFence, 1048, 10, - - XREF_D3D_SetFence, - XRefZero) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x21, 0xC7 }, - { 0x22, 0x00 }, - { 0x23, 0x10 }, - { 0x24, 0xA3 }, - { 0x25, 0x04 }, - { 0x26, 0x00 }, - { 0x27, 0x8B }, - { 0x28, 0xCF }, -OOVPA_END; - -// ****************************************************************** -// * D3D_SetFence -// ****************************************************************** -//C70010A304008B -OOVPA_XREF(D3D_SetFence, 1060, 9, - - XREF_D3D_SetFence, - XRefZero) - - { 0x00, 0x53 }, - { 0x01, 0x8A }, - - { 0x25, 0xC7 }, - { 0x26, 0x00 }, - { 0x27, 0x10 }, - { 0x28, 0xA3 }, - { 0x29, 0x04 }, - { 0x2A, 0x00 }, - { 0x2B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_DrawIndexedVerticesUP -// ****************************************************************** -//558BEC83EC1453568B35 ...C700FC17040089 -OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 1060, 17) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0x35 }, - - { 0x30, 0xC7 }, - { 0x31, 0x00 }, - { 0x32, 0xFC }, - { 0x33, 0x17 }, - { 0x34, 0x04 }, - { 0x35, 0x00 }, - { 0x36, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTransform -// ****************************************************************** -//568BC8C1E106578DBC ...C3 -OOVPA_NO_XREF(D3DDevice_SetTransform_0, 2072, 13) - - { 0x00, 0x53 }, - { 0x01, 0x8B }, - - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xC8 }, - { 0x0A, 0xC1 }, - { 0x0B, 0xE1 }, - { 0x0C, 0x06 }, - { 0x0D, 0x57 }, - { 0x0E, 0x8D }, - { 0x0F, 0xBC }, - { 0x10, 0x19 }, - - { 0x3E, 0x2C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl deleted file mode 100644 index 671ddacc3..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl +++ /dev/null @@ -1,694 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.1.0.5849.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -//85C9750AC705 ...C20400 -OOVPA_NO_XREF(Direct3D_CreateDevice_4, 2048, 8) - - { 0x00, 0x56 }, - - { 0x0A, 0x85 }, - { 0x0B, 0xC9 }, - { 0x0C, 0x75 }, - { 0x0D, 0x0A }, - { 0x0E, 0xC7 }, - { 0x0F, 0x05 }, - - { 0x3A, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * Direct3D_CreateDevice -// ****************************************************************** -//85C9750AC705 ...C20400 -OOVPA_NO_XREF(Direct3D_CreateDevice_4, 2060, 8) - - { 0x00, 0x53 }, - - { 0x0B, 0x85 }, - { 0x0C, 0xC9 }, - { 0x0D, 0x75 }, - { 0x0E, 0x0A }, - { 0x0F, 0xC7 }, - { 0x10, 0x05 }, - - { 0x3B, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetPixelShader -// ****************************************************************** -//C70001000000C7812809 -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 1048, 12) - - { 0x00, 0x8B }, - { 0x01, 0x54 }, - - { 0x14, 0xC7 }, - { 0x15, 0x00 }, - { 0x16, 0x01 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x00 }, - { 0x1A, 0xC7 }, - { 0x1B, 0x81 }, - { 0x1C, 0x28 }, - { 0x1D, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -//85FFC700841D0400 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 1072, 9) - - { 0x00, 0x56 }, - { 0x02, 0x35 }, - - { 0x5C, 0x85 }, - { 0x5D, 0xFF }, - { 0x5E, 0xC7 }, - { 0x5F, 0x00 }, - { 0x60, 0x84 }, - { 0x61, 0x1D }, - { 0x62, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilEnable -// ****************************************************************** -//85FFC700841D0400 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 1084, 9) - - { 0x00, 0x56 }, - { 0x02, 0x35 }, - - { 0x5B, 0x85 }, - { 0x5C, 0xFF }, - { 0x5D, 0xC7 }, - { 0x5E, 0x00 }, - { 0x5F, 0x84 }, - { 0x60, 0x1D }, - { 0x61, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3DTexture_GetLevelDesc -// ****************************************************************** -// * NOTE: We are actually intercepting Get2DSurfaceDesc, because -// * GetLevelDesc Simply redirects to that function -// ****************************************************************** -//7909C74608010000 -OOVPA_NO_XREF(Get2DSurfaceDesc, 1024, 10) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - - { 0x38, 0x79 }, - { 0x39, 0x09 }, - { 0x3A, 0xC7 }, - { 0x3B, 0x46 }, - { 0x3C, 0x08 }, - { 0x3D, 0x01 }, - { 0x3E, 0x00 }, - { 0x3F, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DResource_Release -// ****************************************************************** -//068BC881E1FFFF000083F90175 -OOVPA_NO_XREF(D3DResource_Release, 1024, 15) - - { 0x00, 0x56 }, - - { 0x06, 0x06 }, - { 0x07, 0x8B }, - { 0x08, 0xC8 }, - { 0x09, 0x81 }, - { 0x0A, 0xE1 }, - { 0x0B, 0xFF }, - { 0x0C, 0xFF }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0x83 }, - { 0x10, 0xF9 }, - { 0x11, 0x01 }, - { 0x12, 0x75 }, - - { 0x17, 0x07 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnTime -// ****************************************************************** -//C747101001040089 -OOVPA_XREF(D3D_BlockOnTime, 1048, 10, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0xF0, 0xC7 }, - { 0xF1, 0x47 }, - { 0xF2, 0x10 }, - { 0xF3, 0x10 }, - { 0xF4, 0x01 }, - { 0xF5, 0x04 }, - { 0xF6, 0x00 }, - { 0xF7, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_BlockOnTime -// ****************************************************************** -//C747101001040089 ...C20400 -OOVPA_XREF(D3D_BlockOnTime_4, 2060, 9, - - XREF_D3D_BlockOnTime, - XRefZero) - - { 0x00, 0x56 }, - - { 0xF4, 0xC7 }, - { 0xF5, 0x47 }, - { 0xF6, 0x10 }, - { 0xF7, 0x10 }, - { 0xF8, 0x01 }, - { 0xF9, 0x04 }, - { 0xFA, 0x00 }, - { 0xFB, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_KickOffAndWaitForIdle -// ****************************************************************** -//8B4C24088B442404E8 -OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle2, 1036, 12) - - { 0x00, 0xA1 }, - - { 0x0F, 0x8B }, - { 0x10, 0x4C }, - { 0x11, 0x24 }, - { 0x12, 0x08 }, - { 0x13, 0x8B }, - { 0x14, 0x44 }, - { 0x15, 0x24 }, - { 0x16, 0x04 }, - { 0x17, 0xE8 }, - - { 0x1C, 0xC2 }, - { 0x1D, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_TwoSidedLighting -// ****************************************************************** -//C700C417040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1084, 8) - - { 0x01, 0x8B }, - - { 0x22, 0xC7 }, - { 0x23, 0x00 }, - { 0x24, 0xC4 }, - { 0x25, 0x17 }, - { 0x26, 0x04 }, - { 0x27, 0x00 }, - { 0x28, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_ZBias -// ****************************************************************** -//241485FF0F95C085 -OOVPA_NO_XREF(D3DDevice_SetRenderState_ZBias, 1024, 9) - - // XREF_ENTRY( 0x6A, XREF_D3DRS_ZBIAS ), - - { 0x00, 0x51 }, - - { 0x08, 0x24 }, - { 0x09, 0x14 }, - { 0x0A, 0x85 }, - { 0x0B, 0xFF }, - { 0x0C, 0x0F }, - { 0x0D, 0x95 }, - { 0x0E, 0xC0 }, - { 0x0F, 0x85 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -//7003040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 1072, 7) - - { 0x01, 0x8B }, - { 0x2E, 0x33 }, - - { 0x68, 0x70 }, - { 0x69, 0x03 }, - { 0x6A, 0x04 }, - { 0x6B, 0x00 }, - { 0x6C, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetRenderState_StencilFail -// ****************************************************************** -//7003040089 -OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 1084, 7) - - { 0x01, 0x8B }, - { 0x2D, 0x33 }, - - { 0x67, 0x70 }, - { 0x68, 0x03 }, - { 0x69, 0x04 }, - { 0x6A, 0x00 }, - { 0x6B, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Release -// ****************************************************************** -//8B873809000083 -OOVPA_NO_XREF(D3DDevice_Release, 1024, 8) - - { 0x02, 0x3D }, - { 0x07, 0x8B }, - { 0x08, 0x87 }, - { 0x09, 0x38 }, - { 0x0A, 0x09 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetTile -// ****************************************************************** -//83EC1885C05356578B3D ...C3 -OOVPA_NO_XREF(D3DDevice_SetTile_0, 2072, 10) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x18 }, - { 0x03, 0x85 }, - { 0x04, 0xC0 }, - { 0x05, 0x53 }, - { 0x06, 0x56 }, - { 0x07, 0x57 }, - { 0x08, 0x8B }, - { 0x09, 0x3D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LoadVertexShaderProgram -// ****************************************************************** -//B75802558B2D -OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 1024, 7) - - { 0x01, 0x44 }, - - { 0x06, 0xB7 }, - { 0x07, 0x58 }, - { 0x08, 0x02 }, - { 0x09, 0x55 }, - { 0x0A, 0x8B }, - { 0x0B, 0x2D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SelectVertexShader -// ****************************************************************** -//00008B4904578D -OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 1024, 8) - - { 0x00, 0x8B }, - - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x8B }, - { 0x16, 0x49 }, - { 0x17, 0x04 }, - { 0x18, 0x57 }, - { 0x19, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_LoadVertexShader -// ****************************************************************** -//C7009C1E040089 ...C20400 -OOVPA_NO_XREF(D3DDevice_LoadVertexShader_4, 2048, 8) - - { 0x01, 0x55 }, - - { 0x2F, 0xC7 }, - { 0x30, 0x00 }, - { 0x31, 0x9C }, - { 0x32, 0x1E }, - { 0x33, 0x04 }, - { 0x34, 0x00 }, - { 0x35, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginVisibilityTest -// ****************************************************************** -//C700C8170800B9 -OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 1048, 9) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x1D, 0xC7 }, - { 0x1E, 0x00 }, - { 0x1F, 0xC8 }, - { 0x20, 0x17 }, - { 0x21, 0x08 }, - { 0x22, 0x00 }, - { 0x23, 0xB9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_GetViewportOffsetAndScale -// ****************************************************************** -//8B88E00E0000DB -OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 1024, 8) - - { 0x05, 0x8B }, - { 0x06, 0x88 }, - { 0x07, 0xE0 }, - { 0x08, 0x0E }, - { 0x09, 0x00 }, - { 0x0A, 0x00 }, - { 0x0B, 0xDB }, - - { 0x19, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2f -// ****************************************************************** -//8D....801808008B -OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 1048, 7) - - { 0x01, 0x8B }, - { 0x21, 0x8D }, - - { 0x24, 0x80 }, - { 0x25, 0x18 }, - { 0x26, 0x08 }, - { 0x27, 0x00 }, - { 0x28, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData2s -// ****************************************************************** -//8D....00190400 -OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 1048, 7) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x21, 0x8D }, - //{ 0x22, 0x0C }, - //{ 0x23, 0x75 }, - { 0x24, 0x00 }, - { 0x25, 0x19 }, - { 0x26, 0x04 }, - { 0x27, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4f -// ****************************************************************** -//B918150000EB09 -OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 1036, 9) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x26, 0xB9 }, - { 0x27, 0x18 }, - { 0x28, 0x15 }, - { 0x29, 0x00 }, - { 0x2A, 0x00 }, - { 0x2B, 0xEB }, - { 0x2C, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4s -// ****************************************************************** -//801908000FBF -OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 1048, 7) - - { 0x00, 0x56 }, - - { 0x34, 0x80 }, - { 0x35, 0x19 }, - { 0x36, 0x08 }, - { 0x37, 0x00 }, - { 0x38, 0x0F }, - { 0x39, 0xBF }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetVertexData4ub -// ****************************************************************** -//8D....4019040033 -OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 1048, 7) - - { 0x00, 0x56 }, - { 0x21, 0x8D }, - - { 0x24, 0x40 }, - { 0x25, 0x19 }, - { 0x26, 0x04 }, - { 0x27, 0x00 }, - { 0x28, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_End -// ****************************************************************** -//108956085E74076A -OOVPA_NO_XREF(D3DDevice_End, 1024, 9) - - { 0x00, 0x56 }, - - { 0x3C, 0x10 }, - { 0x3D, 0x89 }, - { 0x3E, 0x56 }, - { 0x3F, 0x08 }, - { 0x40, 0x5E }, - { 0x41, 0x74 }, - { 0x42, 0x07 }, - { 0x43, 0x6A }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_BeginPushBuffer -// ****************************************************************** -//008107000008008B -OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 1024, 10) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x45, 0x00 }, - { 0x46, 0x81 }, - { 0x47, 0x07 }, - { 0x48, 0x00 }, - { 0x49, 0x00 }, - { 0x4A, 0x08 }, - { 0x4B, 0x00 }, - { 0x4C, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_Begin -// ****************************************************************** -//814E08000800005EC204 -OOVPA_NO_XREF(D3DDevice_Begin, 1036, 12) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - - { 0x34, 0x81 }, - { 0x35, 0x4E }, - { 0x36, 0x08 }, - { 0x37, 0x00 }, - { 0x38, 0x08 }, - { 0x39, 0x00 }, - { 0x3A, 0x00 }, - { 0x3B, 0x5E }, - { 0x3C, 0xC2 }, - { 0x3D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_MakeRequestedSpace -// ****************************************************************** -//81C5004000003BE9 -OOVPA_NO_XREF(D3D_MakeRequestedSpace, 1024, 10) - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - - { 0x57, 0x81 }, - { 0x58, 0xC5 }, - { 0x59, 0x00 }, - { 0x5A, 0x40 }, - { 0x5B, 0x00 }, - { 0x5C, 0x00 }, - { 0x5D, 0x3B }, - { 0x5E, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3D_MakeRequestedSpace -// ****************************************************************** -//81C5004000003BE9 -OOVPA_NO_XREF(D3D_MakeRequestedSpace, 1036, 10) - - { 0x00, 0x51 }, - { 0x01, 0x53 }, - - { 0x58, 0x81 }, - { 0x59, 0xC5 }, - { 0x5A, 0x00 }, - { 0x5B, 0x40 }, - { 0x5C, 0x00 }, - { 0x5D, 0x00 }, - { 0x5E, 0x3B }, - { 0x5F, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_CreatePixelShader -// ****************************************************************** -//85C07508B80E000780C2 -OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 1024, 12) - - { 0x00, 0x8B }, - { 0x01, 0x0D }, - - { 0x22, 0x85 }, - { 0x23, 0xC0 }, - { 0x24, 0x75 }, - { 0x25, 0x08 }, - { 0x26, 0xB8 }, - { 0x27, 0x0E }, - { 0x28, 0x00 }, - { 0x29, 0x07 }, - { 0x2A, 0x80 }, - { 0x2B, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_SetStreamSource -// ****************************************************************** -//7406810300000800 ...C20400 -OOVPA_XREF(D3DDevice_SetStreamSource_4, 2058, 1+12, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1E, XREF_G_STREAM ), // Derived - - { 0x00, 0x85 }, - { 0x01, 0xDB }, - { 0x02, 0x8B }, - { 0x03, 0x0D }, - - { 0x0E, 0x74 }, - { 0x0F, 0x06 }, - { 0x10, 0x81 }, - { 0x11, 0x03 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - { 0x14, 0x08 }, - { 0x15, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_UpdateOverlay -// ****************************************************************** -//7707B800001000EB ...C21000 -OOVPA_NO_XREF(D3DDevice_UpdateOverlay_16, 2048, 11) - - { 0x00, 0x83 }, - { 0x01, 0xEC }, - { 0x02, 0x0C }, - - { 0xC9, 0x77 }, - { 0xCA, 0x07 }, - { 0xCB, 0xB8 }, - { 0xCC, 0x00 }, - { 0xCD, 0x00 }, - { 0xCE, 0x10 }, - { 0xCF, 0x00 }, - { 0xD0, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * D3DDevice_EnableOverlay -// ****************************************************************** -//00010000003990 ...C3 -OOVPA_NO_XREF(D3DDevice_EnableOverlay_0, 2048, 11) - - { 0x00, 0xA1 }, - { 0x05, 0x8B }, - { 0x06, 0x80 }, - - { 0x1C, 0x00 }, - { 0x1D, 0x01 }, - { 0x1E, 0x00 }, - { 0x1F, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x39 }, - { 0x22, 0x90 }, - - { 0x60, 0xC3 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.h b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.h deleted file mode 100644 index 9871e5077..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.h +++ /dev/null @@ -1,58 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->D3D8LTCG.OOVPA.h -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** -#ifndef D3D8LTCG_OOVPA_H -#define D3D8LTCG_OOVPA_H - -#include "../OOVPA.h" - -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_0_2039; -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_4_2040; -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_4_2045; -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_4_2058; -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_1944; -extern LOOVPA<1 + 10> D3DDevice_SetTextureState_TexCoordIndex_1958; - -extern LOOVPA<2 + 8> D3DDevice_SetRenderState_CullMode_1045; -extern LOOVPA<2 + 8> D3DDevice_SetRenderState_CullMode_1049; -extern LOOVPA<2 + 8> D3DDevice_SetRenderState_CullMode_1052; -extern LOOVPA<2 + 8> D3DDevice_SetRenderState_CullMode_1053; - -extern LOOVPA<1 + 14> D3DDevice_SetStreamSource_4034; -extern LOOVPA<1 + 11> D3DDevice_SetStreamSource_1039; -extern LOOVPA<1 + 10> D3DDevice_SetStreamSource_1040; -extern LOOVPA<1 + 10> D3DDevice_SetStreamSource_1044; -extern LOOVPA<1 + 12> D3DDevice_SetStreamSource_4_2058; - -#endif \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.inl deleted file mode 100644 index d3bb68412..000000000 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.OOVPA.inl +++ /dev/null @@ -1,489 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->D3D8LTCG.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full libary version -// [LibV] Title Name | Verify | Comments -//----------------------------------------------------------------------- -// * [3925] Nascar Heat 2002 | 20% | Only verified an actually used library. -// * [4039] NBA 2K2 | 20% | Only verified an actually used library. -// * [4432] Bruce Lee | 20% | Only verified an actually used library. -// * [4627] Battle Engine Aquila | 100% | Only has 50%-ish of the library compiled with xbe build. -// * [4928] Shin Megami Tensei - Nine | 100% | Only has 80% of the library compiled with xbe build. -// * [5233] Midtown Madness 3 | 50% | Only has 50%-ish of the library compiled with xbe build. -// * [5455] Freaky Flyers | 50% | Only has 50%-ish of the library compiled with xbe build. -// * [5659] Ninja Gaiden | 50% | With Intergrated Hotfixes. Only has a few library. -// * [5849] Grand Theft Auto - San Andreas | 100% | Only has 50%-ish of the library compiled with xbe build. - -// * About the number of OOVPA -// * 1024 and 1xxx - Cmpatible with known functions probably. -// * 2028 and 2xxx - Remade by Link-time Code Generation, will not work with known functions. - -#ifndef D3D8LTCG_OOVPA_INL -#define D3D8LTCG_OOVPA_INL - -#include "../OOVPA.h" - -#include "HLEDataBase/D3D8LTCG.1.0.3911.inl" -#include "HLEDataBase/D3D8LTCG.1.0.4039.inl" -#include "HLEDataBase/D3D8LTCG.1.0.4432.inl" -#include "HLEDataBase/D3D8LTCG.1.0.4531.inl" -#include "HLEDataBase/D3D8LTCG.1.0.4627.inl" -#include "HLEDataBase/D3D8LTCG.1.0.4721.inl" -#include "HLEDataBase/D3D8LTCG.1.0.4928.inl" -#include "HLEDataBase/D3D8LTCG.1.0.5028.inl" -#include "HLEDataBase/D3D8LTCG.1.0.5120.inl" -#include "HLEDataBase/D3D8LTCG.1.0.5233.inl" -#include "HLEDataBase/D3D8LTCG.1.0.5344.inl" -#include "HLEDataBase/D3D8LTCG.1.0.5455.inl" -#include "HLEDataBase/D3D8LTCG.1.0.5788.inl" -#include "HLEDataBase/D3D8LTCG.1.0.5849.inl" - -// ****************************************************************** -// * D3D8LTCG_OOVPA -// ****************************************************************** -OOVPATable D3D8LTCG_OOVPAV2[] = { - - REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3D_MakeRequestedSpace, UNPATCHED, 2048), - REGISTER_OOVPAS(D3D_SetFence, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3D_BlockOnTime_4, UNPATCHED, 2048, 2060), - REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3911), - - REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 1024), - REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_DeletePixelShader_0, UNPATCHED, 2024), - REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_DeleteVertexShader_0, PATCH, 2024, 2036), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_DrawVerticesUP_12, UNPATCHED, 2024), - REGISTER_OOVPAS(D3DDevice_EnableOverlay_0, UNPATCHED, 2048), - REGISTER_OOVPAS(D3DDevice_End, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_EndVisibilityTest_0, PATCH, 2048), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, UNPATCHED, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer2_0, UNPATCHED, 2024, 2048), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer_8, UNPATCHED, 2048), - REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale_0, PATCH, 2024), - REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_LightEnable_4, PATCH, 2024, 2048), - REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_LoadVertexShader_0, UNPATCHED, 2024, 2036), - REGISTER_OOVPAS(D3DDevice_LoadVertexShader_4, PATCH, 2024, 2048), - REGISTER_OOVPAS(D3DDevice_MultiplyTransform_0, UNPATCHED, 2024), - REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_Present, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_Release, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_Reset_0, UNPATCHED, 2024), - REGISTER_OOVPAS(D3DDevice_RunVertexStateShader_4, UNPATCHED, 2048), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader_0, PATCH, 2048, 2060), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader_4, PATCH, 2024, 2048, 2060), - REGISTER_OOVPAS(D3DDevice_SetFlickerFilter_0, PATCH, 2024), - REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetIndices, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetIndices_4, PATCH, 2024), - REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetPalette_4, PATCH, 2024), - REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant_4, UNPATCHED, 2024), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetPixelShader_0, PATCH, 2024, 2036, 2048), - REGISTER_OOVPAS(D3DDevice_SetRenderStateNotInline, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderStateNotInline_0, UNPATCHED, 2048), - REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 1045, 1049, 1052, 1053), - REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 1024, 1036, 1048, 1060, 1072), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZCmpAlwaysRead, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZRead, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_SampleAlpha, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 1024, 1036, 1048, 1060, 1072, 1084), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 1024, 1036, 1048, 1060, 1072, 1084), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 1036), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 1024, 1036, 1048, 1060, 1072, 1084), - REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 1024, 1036, 1048, 1060, 1072, 1084), - REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode_0, PATCH, 2048), - REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 1039, 1040, 1044), - REGISTER_OOVPAS(D3DDevice_SetStreamSource_4, PATCH, 2058), - REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetTextureStageStateNotInline, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetTextureStageStateNotInline_0, UNPATCHED, 2024), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor_0, PATCH, 2024, 2036, 2048), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor_4, PATCH, 2048, 2060), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv_8, PATCH, 2024), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor_0, PATCH, 2024, 2036, 2048), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor_4, UNPATCHED, 2048, 2060), - REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 1944, 1958), - REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex_0, UNPATCHED, 2039), - REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex_4, PATCH, 2040, 2045, 2058), - REGISTER_OOVPAS(D3DDevice_SetTexture_4, PATCH, 2024, 2036), - REGISTER_OOVPAS(D3DDevice_SetTile_0, UNPATCHED, 2024, 2036, 2048, 2060, 2072), - REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_SetTransform_0, PATCH, 2024, 2048, 2060, 2072), - REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetVertexData4f_16, UNPATCHED, 2024, 2036), - REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInline, PATCH, 1024), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant_8, PATCH, 2024), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetVertexShader_0, UNPATCHED, 2024, 2036), - REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_Swap_0, PATCH, 2024, 2036), - REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_UpdateOverlay_16, UNPATCHED, 2048), - REGISTER_OOVPAS(D3DPalette_Lock2, PATCH, 1024), - REGISTER_OOVPAS(D3DResource_GetType, UNPATCHED, 1024), - REGISTER_OOVPAS(D3DResource_GetType_0, UNPATCHED, 2024), - REGISTER_OOVPAS(D3DResource_Release, PATCH, 1024, 1036), - REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 1024), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 1024), - REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 1024), - REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 1024), - REGISTER_OOVPAS(D3D_BlockOnResource_0, UNPATCHED, 2024, 2036, 2048, 2060), - REGISTER_OOVPAS(D3D_CommonSetRenderTarget, UNPATCHED, 1024), - REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, PATCH, 1024, 1036, 1048), - REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 1024, 1036), - REGISTER_OOVPAS(Direct3D_CreateDevice_16, PATCH, 2024, 2036, 2048), - REGISTER_OOVPAS(Direct3D_CreateDevice_4, PATCH, 2048, 2060), - REGISTER_OOVPAS(Get2DSurfaceDesc, UNPATCHED, 1024), - REGISTER_OOVPAS(Get2DSurfaceDesc_0, UNPATCHED, 2024, 2036), - REGISTER_OOVPAS(Get2DSurfaceDesc_4, UNPATCHED, 2048), - REGISTER_OOVPAS(Lock3DSurface_16, PATCH, 2048), - REGISTER_OOVPAS(Lock2DSurface_16, PATCH, 2048), - -// *********************** Copy from D3D8.OOVPA.inl ***************** - REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034), - REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034, 5455), - REGISTER_OOVPAS(CMiniport_IsFlipPending, UNPATCHED, 3911, 4242, 4627, 4928), - REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), - REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911, 4627), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above - REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), - REGISTER_OOVPAS(D3DCubeTexture_LockRect, PATCH, 3911), // Just calls Lock2DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3911, 4039, 4134, 4242, 4627, 5028, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4531,4627, 5028), - REGISTER_OOVPAS(D3DDevice_BeginPush2, PATCH, 4134), - REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, PATCH, 3911, 4134), // Not implemented yet. (from 5788's comment) - REGISTER_OOVPAS(D3DDevice_BeginStateBig, XREF, 5028), - REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4034, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034, 4627, 5120), - REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034, 4627),//TODO 4721,4928 (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3911, 4627), // TODO: This needs to be verified on 4361 - REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), - REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3911, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_CreatePalette2, PATCH, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3911, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_DeletePatch, UNPATCHED, 3911), // (TODO) (from 4034's comment) - REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3911, 4039, 5028, 5344), - REGISTER_OOVPAS(D3DDevice_DrawRectPatch, PATCH, 3911), // TODO: Unused? (from 4034's comment) - REGISTER_OOVPAS(D3DDevice_DrawTriPatch, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3911, 4039, 5344), - REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039, 5344), - REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134), // Was 4627 (from 5233's comment) - REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3911), // Not implemented yet. (from 5788's comment) - REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3911, 4034, 4134, 4627), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627), // 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetCreationParameters, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, PATCH, 3911, 4627), // Called D3DDevice_GetDepthStencilSurface2 (from 4627's comment) NOTE: Use D3DDevice_GetDepthStencilSurface2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134, 4627, 5344, 5558), // For 5455 (from 5558's comment) - REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3911, 4627),//TODO 4831 (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3911, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911, 5455), - REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3911, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3911, 5455), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4432), - REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3911, 5233), - REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3911, 4134, 5028), - REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911, 5028), - REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4034, 4531, 5028, 5455), - REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_LazySetStateUP, UNPATCHED, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911, 5344), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_MakeSpace, UNPATCHED, 4134), - REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 3911, 4039, 4627, 4831, 5455, 5558), - REGISTER_OOVPAS(D3DDevice_Present, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_Release, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3911, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) - REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4034, 5455), - REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134), - REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4432), - REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_SetIndices, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344, 5558, 5788), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3911, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911, 4831), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 3911, 4034, 4627), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_PSTextureModes, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZCmpAlwaysRead, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZRead, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_SampleAlpha, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Simple, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3911, 4034, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3911, 4034, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3911, 4034, 5344), // Beware of the typo... (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3911, 4034, 4134, 4432), - REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233), - REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4034, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStipple, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034, 4361, 4831), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627), - REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4034, 4627), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. - REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034, 5344, 5558), // Was 4134 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_MultiplyTransform, PATCH, 3911, 4034), // TODO: Verify 4034 is correct - REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3911, 4039), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3911, 4034, 4134, 5028, 5455), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1Fast, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant4, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInline, PATCH, 4627, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInlineFast, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3911, 4039, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3911, 4034, 5344, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627), - REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 3911, 4531, 5233), - REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3911, 4531, 4627), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above - REGISTER_OOVPAS(D3DPalette_Lock2, PATCH, 4627), - REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3911), - REGISTER_OOVPAS(D3DResource_BlockUntilNotBusy, PATCH, 3911), - REGISTER_OOVPAS(D3DResource_GetType, UNPATCHED, 3911, 4034), // Probably not even necessary... (from 3925's comment) // I forget why I had this in here... (from 5028's comment) - REGISTER_OOVPAS(D3DResource_IsBusy, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DResource_Register, PATCH, 3911), - REGISTER_OOVPAS(D3DResource_Release, PATCH, 3911), - REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3911), - REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3911), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 4627), - REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3911), - REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DVertexBuffer_Lock, PATCH, 3911, 4034, 4531, 4627), - REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 4627), - REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5455), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) - REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4034, 4627, 5028, 5558), - REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), - REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911), - REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028), // Used between 4627 to 5233 (from 5344's comment) - REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4034), - REGISTER_OOVPAS(D3D_EnumAdapterModes, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_GetAdapterDisplayMode, UNPATCHED, 3911, 4627), - REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_GetAdapterModeCount, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911), - REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3911), - REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4034, 4134, 5028, 5558), - REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_SetTileNoWait, XREF, 4627, 5455), - REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), - REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), - REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3911, 4034), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(Lock2DSurface, PATCH, 3911), - REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911), - REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558), - REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirect3DVertexBuffer8_Lock, UNPATCHED, 4627), -}; - -// ****************************************************************** -// * D3D8LTCG_OOVPA_COUNT -// ****************************************************************** -uint32 D3D8LTCG_OOVPA_COUNT = OOVPA_TABLE_COUNT(D3D8LTCG_OOVPAV2); - -#endif diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl deleted file mode 100644 index a6b89d0e2..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ /dev/null @@ -1,5732 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.3911.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 RadWolfie -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * DirectSoundEnterCriticalSection -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(DirectSoundEnterCriticalSection, 3911, 7, - - XREF_DirectSoundEnterCriticalSection, - XRefZero) - - { 0x02, 0xB6 }, - { 0x06, 0x00 }, - { 0x0A, 0x74 }, - { 0x0E, 0xC3 }, - { 0x14, 0xFF }, - { 0x1A, 0x33 }, - { 0x1B, 0xC0 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundCreate -// ****************************************************************** -OOVPA_NO_XREF(DirectSoundCreate, 3911, 9) - - // DirectSoundCreate+0x23 : add eax, 8 - { 0x23, 0x83 }, - { 0x24, 0xC0 }, - { 0x25, 0x08 }, - - // DirectSoundCreate+0x34 : push 0x1C - { 0x34, 0x6A }, - { 0x35, 0x1C }, - - // DirectSoundCreate+0x75 : sbb eax, eax - { 0x75, 0x1B }, - { 0x76, 0xC0 }, - - // DirectSoundCreate+0x9B : retn 0x0C - { 0x9B, 0xC2 }, - { 0x9C, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU_ServiceDeferredCommandsLow -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_ServiceDeferredCommandsLow, 3911, 12, - - XREF_CMcpxAPU_ServiceDeferredCommandsLow, - XRefZero) - - // CMcpxAPU_ServiceDeferredCommandsLow+0x06 : lea edi, [ebx+0x664] - { 0x06, 0x8D }, - { 0x07, 0xBB }, - { 0x08, 0x64 }, - { 0x09, 0x06 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - - // CMcpxAPU_ServiceDeferredCommandsLow+0x20 : mov eax, [ecx] - { 0x20, 0x8B }, - { 0x21, 0x01 }, - - // CMcpxAPU_ServiceDeferredCommandsLow+0x33 : add edi, 4; dec ebp - { 0x33, 0x83 }, - { 0x34, 0xC7 }, - { 0x35, 0x04 }, - { 0x36, 0x4D }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_DoWork -// ****************************************************************** -OOVPA_XREF(CDirectSound_DoWork, 3911, 1+8, - - XREF_CDirectSound_DoWork, - XRefOne) - - // CDirectSound_DoWork+0x0F : call [CMcpxAPU_ServiceDeferredCommandsLow] - XREF_ENTRY( 0x10, XREF_CMcpxAPU_ServiceDeferredCommandsLow ), - - // CDirectSound_DoWork+0x08 : mov eax, [esp+0x08] - { 0x08, 0x8B }, - { 0x09, 0x44 }, - { 0x0A, 0x24 }, - { 0x0B, 0x08 }, - - // CDirectSound_DoWork+0x17 : jz +0x0B - { 0x17, 0x74 }, - { 0x18, 0x0B }, - - // CDirectSound_DoWork+0x24 : retn 0x04 - { 0x24, 0xC2 }, - { 0x25, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundDoWork -// ****************************************************************** -OOVPA_XREF(DirectSoundDoWork, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // DirectSoundDoWork+0x12 : call [CDirectSound_DoWork] - XREF_ENTRY( 0x13, XREF_CDirectSound_DoWork ), - - // DirectSoundDoWork+0x0D : test eax, eax;jz +0x06 - { 0x0D, 0x85 }, - { 0x0E, 0xC0 }, - { 0x0F, 0x74 }, - { 0x10, 0x06 }, - - // DirectSoundDoWork+0x19 : pop esi; jz +0x0B - { 0x19, 0x5E }, - { 0x1A, 0x74 }, - { 0x1B, 0x0B }, - - // DirectSoundDoWork+0x27 : retn - { 0x27, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CreateSoundBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3911, 17, - - XREF_CDirectSound_CreateSoundBuffer, - XRefZero) - - // CDirectSound_CreateSoundBuffer+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_CreateSoundBuffer+0x2D : and esi, 0x7FF8FFF2 - { 0x2D, 0x81 }, - { 0x2E, 0xE6 }, - { 0x2F, 0xF2 }, - { 0x30, 0xFF }, - { 0x31, 0xF8 }, - { 0x32, 0x7F }, - - // CDirectSound_CreateSoundBuffer+0x33 : add esi, 0x8007000E - { 0x33, 0x81 }, - { 0x34, 0xC6 }, - { 0x35, 0x0E }, - { 0x36, 0x00 }, - { 0x37, 0x07 }, - { 0x38, 0x80 }, - - // CDirectSound_CreateSoundBuffer+0x3C : js +0x21 - { 0x3C, 0x78 }, - { 0x3D, 0x21 }, - - // CDirectSound_CreateSoundBuffer+0x7D : retn 0x10 - { 0x7D, 0xC2 }, - { 0x7E, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_CreateSoundBuffer -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3911, 1+11, - - XREF_IDirectSound_CreateSoundBuffer, - XRefOne) - - // IDirectSound_CreateSoundBuffer+0x1C : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundBuffer ), - - // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+8] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSound_CreateSoundBuffer+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xF8 }, - - // IDirectSound_CreateSoundBuffer+0x17 : sbb ecx, ecx - { 0x17, 0x1B }, - { 0x18, 0xC9 }, - - // IDirectSound_CreateSoundBuffer+0x21 : retn 0x10 - { 0x21, 0xC2 }, - { 0x22, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundCreateBuffer -// ****************************************************************** -OOVPA_XREF(DirectSoundCreateBuffer, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // DirectSoundCreateBuffer+0x27 : call [IDirectSound::CreateSoundBuffer] - XREF_ENTRY(0x28, XREF_IDirectSound_CreateSoundBuffer), - - // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, - { 0x05, 0x65 }, - { 0x06, 0xFC }, - - { 0x20, 0x0C }, - { 0x23, 0x08 }, - { 0x26, 0xFC }, - - // DirectSoundCreateBuffer+0x2E : lea eax, [ebp-0x04] - { 0x2E, 0x8D }, - { 0x2F, 0x45 }, - { 0x30, 0xFC }, - - // DirectSoundCreateBuffer+0x3B : retn 0x08 - { 0x3B, 0xC2 }, - { 0x3C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CreateSoundStream -// ****************************************************************** -OOVPA_XREF(CDirectSound_CreateSoundStream, 3911, 16, - - XREF_CDirectSound_CreateSoundStream, - XRefZero) - - // CDirectSound_CreateSoundStream+0x2D : and esi, 0x7FF8FFF2 - { 0x2D, 0x81 }, - { 0x2E, 0xE6 }, - { 0x2F, 0xF2 }, - { 0x30, 0xFF }, - { 0x31, 0xF8 }, - { 0x32, 0x7F }, - - // CDirectSound_CreateSoundStream+0x33 : add esi, 0x8007000E - { 0x33, 0x81 }, - { 0x34, 0xC6 }, - { 0x35, 0x0E }, - { 0x36, 0x00 }, - { 0x37, 0x07 }, - { 0x38, 0x80 }, - - // CDirectSound_CreateSoundStream+0x3C : js +0x16 - { 0x3C, 0x78 }, - { 0x3D, 0x16 }, - - // CDirectSound_CreateSoundStream+0x72 : retn 0x10 - { 0x72, 0xC2 }, - { 0x73, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_CreateSoundStream -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_CreateSoundStream, 3911, 1+9, - - XREF_IDirectSound_CreateSoundStream, - XRefOne) - - // IDirectSound_CreateSoundStream+0x1C : call [CDirectSound::CreateSoundStream] - XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundStream ), - - // IDirectSound_CreateSoundStream+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSound_CreateSoundStream+0x12 : and eax, 0xFFFFFFF8 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xF8 }, - - // IDirectSound_CreateSoundStream+0x21 : retn 0x10 - { 0x21, 0xC2 }, - { 0x22, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundCreateStream -// ****************************************************************** -OOVPA_XREF(DirectSoundCreateStream, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // DirectSoundCreateStream+0x27 : call [IDirectSound::CreateSoundStream] - XREF_ENTRY(0x28, XREF_IDirectSound_CreateSoundStream ), - - // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, - { 0x05, 0x65 }, - { 0x06, 0xFC }, - - { 0x20, 0x0C }, - { 0x23, 0x08 }, - { 0x26, 0xFC }, - - // DirectSoundCreateStream+0x2E : lea eax, [ebp-0x04] - { 0x2E, 0x8D }, - { 0x2F, 0x45 }, - { 0x30, 0xFC }, - - // DirectSoundCreateStream+0x3B : retn 0x08 - { 0x3B, 0xC2 }, - { 0x3C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_AddRef -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(IDirectSoundBuffer_AddRef, 3911, 11) - - // IDirectSoundBuffer_AddRef+0x04 : lea ecx, [eax-0x1C] - { 0x04, 0x8D }, - { 0x05, 0x48 }, - { 0x06, 0xE4 }, - - // IDirectSoundBuffer_AddRef+0x07 : neg eax; sbb eax, eax - { 0x07, 0xF7 }, - { 0x08, 0xD8 }, - { 0x09, 0x1B }, - { 0x0A, 0xC0 }, - - // IDirectSoundBuffer_AddRef+0x10 : call dword ptr [ecx+0x04] - { 0x10, 0xFF }, - { 0x11, 0x51 }, - { 0x12, 0x04 }, - - // IDirectSoundBuffer_AddRef+0x13 : ret 4 - { 0x13, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_Release -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(IDirectSoundBuffer_Release, 3911, 11) - - // IDirectSoundBuffer_Release+0x04 : lea ecx, [eax-0x1C] - { 0x04, 0x8D }, - { 0x05, 0x48 }, - { 0x06, 0xE4 }, - - // IDirectSoundBuffer_Release+0x07 : neg eax; sbb eax, eax - { 0x07, 0xF7 }, - { 0x08, 0xD8 }, - { 0x09, 0x1B }, - { 0x0A, 0xC0 }, - - // IDirectSoundBuffer_Release+0x10 : call dword ptr [ecx+0x08] - { 0x10, 0xFF }, - { 0x11, 0x51 }, - { 0x12, 0x08 }, - - // IDirectSoundBuffer_Release+0x13 : ret 4 - { 0x13, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_Unlock -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(IDirectSoundBuffer_Unlock, 3911, 5) - - // IDirectSoundBuffer_Unlock+0x00 : xor eax, eax - { 0x00, 0x33 }, - { 0x01, 0xC0 }, - - // IDirectSoundBuffer_Unlock+0x02 : ret 14h - { 0x02, 0xC2 }, - { 0x03, 0x14 }, - { 0x04, 0x00 } -OOVPA_END; - -#if 0 // Cannot be used since this OOVPA does produce false detection. Use it only for as a model understanding. -// ****************************************************************** -// * IDirectSound_SetCooperativeLevel -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(IDirectSound_SetCooperativeLevel, 3911, 5) - - // IDirectSound_SetCooperativeLevel+0x00 : xor eax, eax - { 0x00, 0x33 }, - { 0x01, 0xC0 }, - - // IDirectSound_SetCooperativeLevel+0x02 : ret 0Ch - { 0x02, 0xC2 }, - { 0x03, 0x0C }, - { 0x04, 0x00 } -OOVPA_END; -#endif - -// ****************************************************************** -// * CMcpxVoiceClient_SetVolume -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3911, 11, - - XREF_CMcpxVoiceClient_SetVolume, - XRefZero) - - // CMcpxVoiceClient_SetVolume+0x26 : mov ecx, [esi+0xE0] - { 0x26, 0x8B }, - { 0x27, 0x8E }, - { 0x28, 0xE0 }, - { 0x29, 0x00 }, - - // CMcpxVoiceClient_SetVolume+0x2F : movzx ecx, word ptr [ecx+2] - { 0x2F, 0x0F }, - { 0x30, 0xB7 }, - { 0x31, 0x49 }, - { 0x32, 0x02 }, - - // CMcpxVoiceClient_SetVolume+0x35 : dec ecx; sar ecx, 1 - { 0x35, 0x49 }, - { 0x36, 0xD1 }, - { 0x37, 0xF9 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetVolume, 3911, 1+10, - - XREF_CDirectSoundVoice_SetVolume, - XRefOne) - - XREF_ENTRY( 0x1E, XREF_CMcpxVoiceClient_SetVolume ), - - //CDirectSoundVoice_SetVolume+0x00 : push esi - { 0x00, 0x56 }, - - //CDirectSoundVoice_SetVolume+0x11 : mov eax, dword ptr [ecx+18h] - { 0x11, 0x8B }, - { 0x12, 0x41 }, - { 0x13, 0x18 }, - - //CDirectSoundVoice_SetVolume+0x1A : mov ecx, dword ptr [ecx+14h] - { 0x1A, 0x8B }, - { 0x1B, 0x49 }, - { 0x1C, 0x14 }, - - //CDirectSoundVoice_SetVolume+0x1D : call CMcpxVoiceClient_SetVolume - { 0x1D, 0xE8 }, - - //CDirectSoundVoice_SetVolume+0x37 : ret 8 - { 0x37, 0xC2 }, - { 0x38, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetVolume -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetVolume+0x15 : call [CDirectSoundVoice_SetVolume] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetVolume), - - // IDirectSoundBuffer_SetVolume+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetVolume+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetVolume+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_Stop -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Stop, 3911, 10, - - XREF_CMcpxBuffer_Stop, - XRefZero) - - // CMcpxBuffer_Stop+0x08 : or eax, dword ptr [esp+10h] - { 0x08, 0x0B }, - { 0x09, 0x44 }, - { 0x0A, 0x24 }, - { 0x0B, 0x10 }, - - // CMcpxBuffer_Stop+0x19 : push 3 - { 0x19, 0x6A }, - { 0x1A, 0x03 }, - - // CMcpxBuffer_Stop+0x24 : test [esp+10h], 2 - { 0x24, 0x8B }, - { 0x25, 0xCE }, - - // CMcpxBuffer_Stop+0x31 : retn 0x08 - { 0x31, 0xC2 }, - { 0x32, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_StopEx -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_StopEx, 3911, 1+10, - - XREF_CDirectSoundBuffer_StopEx, - XRefOne) - - XREF_ENTRY( 0x39, XREF_CMcpxBuffer_Stop ), - - // CDirectSoundBuffer_StopEx+0x0F : test al, 3 - { 0x0F, 0xA8 }, - { 0x10, 0x03 }, - - // CDirectSoundBuffer_StopEx+0x15 : and eax, 1 - { 0x15, 0x83 }, - { 0x16, 0xE0 }, - { 0x17, 0x01 }, - - // CDirectSoundBuffer_StopEx+0x32 : push dword ptr [ebp+0Ch] - { 0x32, 0xFF }, - { 0x33, 0x75 }, - { 0x34, 0x0C }, - - // CDirectSoundBuffer_StopEx+0x53 : retn 0x10 - { 0x53, 0xC2 }, - { 0x54, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_StopEx -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_StopEx, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_StopEx+0x1D : call [CDirectSoundBuffer::StopEx] - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_StopEx ), - - { 0x03, 0x10 }, - { 0x08, 0xFF }, - { 0x0D, 0xC8 }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, - { 0x22, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Stop -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Stop, 3911, 1+12, - - XREF_CDirectSoundBuffer_Stop, - XRefOne) - - XREF_ENTRY( 0x14, XREF_CDirectSoundBuffer_StopEx ), - - // CDirectSoundBuffer_Stop+0x07 : mov eax, 0x80004005 - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x00 }, - { 0x0B, 0x6A }, - { 0x0C, 0x00 }, - - // CDirectSoundBuffer_Stop+0x1A : mov ebx, eax; jz +0x0B - { 0x1A, 0x8B }, - { 0x1B, 0xD8 }, - { 0x1C, 0x74 }, - { 0x1D, 0x0B }, - - // CDirectSoundBuffer_Stop+0x2D : retn 0x04 - { 0x2D, 0xC2 }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_Stop -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_Stop, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop] - XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop ), - - // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // IDirectSoundBuffer_Stop+0x04 : mov ecx, eax - { 0x04, 0x8B }, - { 0x05, 0xC8 }, - - // IDirectSoundBuffer_Stop+0x06 : add eax, 0x0FFFFFFE4 - { 0x06, 0x83 }, - { 0x07, 0xC0 }, - { 0x08, 0xE4 }, - - // IDirectSoundBuffer_Stop+0x15 : retn 4 - { 0x16, 0x04 }, - { 0x17, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetLoopRegion -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 3911, 10, - - XREF_CDirectSoundBuffer_SetLoopRegion, - XRefZero) - - // CDirectSoundBuffer_SetLoopRegion+0x20 : cmp edx, [ecx+0x54] - { 0x20, 0x3B }, - { 0x21, 0x51 }, - { 0x22, 0x54 }, - - // CDirectSoundBuffer_SetLoopRegion+0x2C : mov ecx, [esi+0x20] - { 0x2C, 0x8B }, - { 0x2D, 0x4E }, - { 0x2E, 0x20 }, - - // CDirectSoundBuffer_SetLoopRegion+0x38 : jz +0x0B - { 0x38, 0x74 }, - { 0x39, 0x0B }, - - // CDirectSoundBuffer_SetLoopRegion+0x4A : retn 0x0C - { 0x4A, 0xC2 }, - { 0x4B, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetLoopRegion -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetLoopRegion+0x19 : call [CDirectSoundBuffer_SetLoopRegion] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), - - // IDirectSoundBuffer_SetLoopRegion+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetLoopRegion+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xE4 }, - - // IDirectSoundBuffer_SetLoopRegion+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_Play -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 3911, 9, - - XREF_CMcpxBuffer_Play, - XRefZero) - - { 0x06, 0x56 }, - { 0x0E, 0xF1 }, - { 0x18, 0x75 }, - { 0x19, 0x08 }, - { 0x1A, 0x6A }, - { 0x1B, 0x02 }, - { 0x26, 0x75 }, - { 0x2F, 0x8B }, - { 0x36, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_PlayEx -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_PlayEx, 3911, 1+8, - - XREF_CDirectSoundBuffer_PlayEx, - XRefOne) - - XREF_ENTRY( 0x21, XREF_CMcpxBuffer_Play ), - - { 0x08, 0xF0 }, - - { 0x13, 0x24 }, - { 0x17, 0x24 }, - { 0x1B, 0x24 }, - - { 0x25, 0x85 }, - { 0x27, 0x8B }, - - { 0x3A, 0xC2 }, - { 0x3B, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Play -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Play, 3911, 1+7, - - XREF_CDirectSoundBuffer_Play, - XRefOne) - - XREF_ENTRY( 0x16, XREF_CDirectSoundBuffer_PlayEx ), - - { 0x07, 0xFF }, - { 0x0C, 0xF0 }, - { 0x13, 0x24 }, - { 0x1A, 0x85 }, - { 0x25, 0xFF }, - { 0x2B, 0x8B }, - { 0x2F, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_Play -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_Play, 3911, 1+15, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_Play+0x1D : call CDirectSoundBuffer::Play - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ), - - // IDirectSoundBuffer_Play+0x00 : push [esp+0x10] - { 0x00, 0xFF }, - { 0x01, 0x74 }, - { 0x02, 0x24 }, - { 0x03, 0x10 }, - - // IDirectSoundBuffer_Play+0x04 : mov eax, [esp+4+arg_0] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_Play+0x12 : and eax, [0xFFFFFFE4] - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xE4 }, - - // IDirectSoundBuffer_Play+0x17 : sbb ecx, ecx - { 0x17, 0x1B }, - { 0x18, 0xC9 }, - - // IDirectSoundBuffer_Play+0x21 : retn 0x10 - { 0x21, 0xC2 }, - { 0x22, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_PlayEx -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_PlayEx, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_PlayEx ), - - { 0x03, 0x10 }, - { 0x08, 0xFF }, - { 0x0D, 0xC8 }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 3911, 15, - - XREF_CMcpxBuffer_GetCurrentPosition, - XRefZero) - - // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+XX] - { 0x12, 0x8B }, - { 0x13, 0x46 }, - //{ 0x14, 0x18 }, //3911 has 0x18 while 3936 has 0x08 - - // CMcpxBuffer_GetCurrentPosition+0x15 : and eax, 3 - { 0x15, 0x83 }, - { 0x16, 0xE0 }, - { 0x17, 0x03 }, - - // CMcpxBuffer_GetCurrentPosition+0x18 : cmp al, 3 - { 0x18, 0x3C }, - { 0x19, 0x03 }, - - // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 - { 0x1A, 0x75 }, - { 0x1B, 0x79 }, - - // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x4C] - { 0x8E, 0xF7 }, - { 0x8F, 0x71 }, - { 0x90, 0x4C }, - - // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 - { 0xC8, 0xC2 }, - { 0xC9, 0x08 }, - { 0xCA, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_GetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 3911, 1+8, - - XREF_CDirectSoundBuffer_GetCurrentPosition, - XRefOne) - - // CDirectSoundBuffer_GetCurrentPosition+0x19 : call [CMcpxBuffer::GetCurrentPosition] - XREF_ENTRY( 0x19, XREF_CMcpxBuffer_GetCurrentPosition), - - // CDirectSoundBuffer_GetCurrentPosition+0x0D : mov eax, [esp+0x10] - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x10 }, - - // CDirectSoundBuffer_GetCurrentPosition+0x21 : jz +0x0B - { 0x21, 0x74 }, - { 0x22, 0x0B }, - - // CDirectSoundBuffer_GetCurrentPosition+0x32 : retn 0x0C - { 0x32, 0xC2 }, - { 0x33, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_GetCurrentPosition -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_GetCurrentPosition+0x19 : call [CDirectSoundBuffer::GetCurrentPosition] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_GetCurrentPosition), - - // IDirectSoundBuffer_GetCurrentPosition+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xE4 }, - - // IDirectSoundBuffer_GetCurrentPosition+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, - { 0x14, 0xC9 }, - - // IDirectSoundBuffer_GetCurrentPosition+0x15 : and ecx, eax - { 0x15, 0x23 }, - { 0x16, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetStatus, 3911, 13, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) - - // CMcpxBuffer_GetStatus+0x10 : mov eax, [ebp+0x08] - { 0x10, 0x8B }, - { 0x11, 0x45 }, - { 0x12, 0x08 }, - - // CMcpxBuffer_GetStatus+0x16 : xor ecx, ecx; inc ecx - { 0x16, 0x33 }, - { 0x17, 0xC9 }, - { 0x18, 0x41 }, - - // CMcpxBuffer_GetStatus+0x1C : jz +0x17 - { 0x1C, 0x74 }, - { 0x1D, 0x17 }, - - // CMcpxBuffer_GetStatus+0x2F : mov [eax], 5 - { 0x2F, 0xC7 }, - { 0x30, 0x00 }, - { 0x31, 0x05 }, - - // CMcpxBuffer_GetStatus+0x48 : retn 0x04 - { 0x48, 0xC2 }, - { 0x49, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_GetStatus, 3911, 1+9, - - XREF_CDirectSoundBuffer_GetStatus, - XRefOne) - - // CDirectSoundBuffer_GetStatus+0x15 : call [CMcpxBuffer::GetStatus] - XREF_ENTRY( 0x15, XREF_CMcpxBuffer_GetStatus), - - // CDirectSoundBuffer_GetStatus+0x07 : push [esp+0x10] - { 0x07, 0xFF }, - { 0x08, 0x74 }, - { 0x09, 0x24 }, - { 0x0A, 0x10 }, - - // CDirectSoundBuffer_GetStatus+0x11 : mov ecx, [eax+0x20] - { 0x11, 0x8B }, - { 0x12, 0x48 }, - { 0x13, 0x20 }, - - // CDirectSoundBuffer_GetStatus+0x2E : retn 0x08 - { 0x2E, 0xC2 }, - { 0x2F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_GetStatus -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_GetStatus, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_GetStatus ), - - // IDirectSoundBuffer_GetStatus+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_GetStatus+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_GetStatus+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetFilter -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetFilter, 3911, 12, - - XREF_CMcpxVoiceClient_SetFilter, - XRefZero) - - { 0x0E, 0xE8 }, - { 0x1F, 0x6A }, - - { 0x73, 0x00 }, - { 0x74, 0xF6 }, - { 0x75, 0x47 }, - { 0x76, 0x0C }, - { 0x77, 0x10 }, - { 0x78, 0x8B }, - { 0x79, 0x7D }, - { 0x7A, 0xE0 }, - - { 0xA6, 0x8B }, - { 0xA7, 0xE0 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetFilter -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetFilter, 3911, 1+9, - - XREF_CDirectSoundVoice_SetFilter, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetFilter ), - - { 0x01, 0x57 }, - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x10 }, - { 0x11, 0x8B }, - { 0x12, 0x48 }, - { 0x2E, 0xC2 }, - { 0x2F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetFilter -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetFilter, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetFilter+0x15 : call [CDirectSoundVoice_SetFilter] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetFilter), - - // IDirectSoundBuffer_SetFilter+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetFilter+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetFilter+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetLFO -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetLFO, 3911, 12, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) - - { 0x10, 0x8B }, - { 0x21, 0xEB }, - - { 0x7D, 0x75 }, - { 0x7E, 0x28 }, - { 0x7F, 0x39 }, - { 0x80, 0x05 }, - { 0x81, 0x10 }, - { 0x82, 0x00 }, - { 0x83, 0x82 }, - { 0x84, 0xFE }, - - { 0xA1, 0x89 }, - { 0xB7, 0x6C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetLFO -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetLFO, 3911, 1+9, - - XREF_CDirectSoundVoice_SetLFO, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetLFO ), - - { 0x01, 0x57 }, - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x10 }, - { 0x11, 0x8B }, - { 0x12, 0x48 }, - { 0x2E, 0xC2 }, - { 0x2F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetLFO -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetLFO, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetLFO ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetEG -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetEG, 3911, 12, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) - - { 0x10, 0x8B }, - { 0x21, 0xEB }, - - { 0x6B, 0x82 }, - { 0x6C, 0xFE }, - - { 0x95, 0x8B }, - { 0x96, 0x96 }, - { 0x97, 0x8C }, - { 0x98, 0x00 }, - { 0x99, 0x00 }, - { 0x9A, 0x00 }, - { 0x9B, 0x89 }, - { 0x9C, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetEG -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetEG, 3911, 1+9, - - XREF_CDirectSoundVoice_SetEG, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetEG ), - - { 0x01, 0x57 }, - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x10 }, - { 0x11, 0x8B }, - { 0x12, 0x48 }, - { 0x2E, 0xC2 }, - { 0x2F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetEG -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetEG, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetEG ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -#if 0 // Disabled due to both functions are not unique and unable to identify the difference. -// ****************************************************************** -// * IDirectSoundStream_SetEG & CDirectSoundStream_SetEG -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetEG, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0xD, XREF_CDirectSoundVoice_SetEG ), - - { 0x02, 0x24 }, - { 0x03, 0x08 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - { 0x08, 0x83 }, - { 0x0C, 0xE8 }, - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; -#endif - -// ****************************************************************** -// * IDirectSoundBuffer_SetOutputBuffer -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundBuffer_SetOutputBuffer, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetOutputBuffer ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMixBinVolumes -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 3911, 1+7, - - XREF_CDirectSoundVoice_SetMixBinVolumes, - XRefOne) - - XREF_ENTRY( 0x54, XREF_CMcpxVoiceClient_SetVolume ), - - { 0x0D, 0x65 }, - { 0x1C, 0x53 }, - { 0x2B, 0xC0 }, - { 0x3A, 0xC7 }, - { 0x49, 0xFC }, - { 0x58, 0x83 }, - { 0x67, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMixBinVolumes_12 -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetMixBinVolumes ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetMixBinVolumes -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3911, 1+8, - - XREF_CDirectSoundStream_SetMixBinVolumes_12, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMixBinVolumes ), - - { 0x01, 0x74 }, - { 0x04, 0x8B }, - { 0x07, 0x08 }, - { 0x0A, 0x24 }, - { 0x0D, 0xC0 }, - { 0x10, 0xE8 }, - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU_Commit3dSettings -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_Commit3dSettings, 3911, 11, - - XREF_CMcpxAPU_Commit3dSettings, - XRefZero) - - // CMcpxAPU_Commit3dSettings+0x56 : fld dword ptr [eax+0x174] - { 0x56, 0xD9 }, - { 0x57, 0x80 }, - { 0x58, 0x74 }, - { 0x59, 0x01 }, - { 0x5A, 0x00 }, - { 0x5B, 0x00 }, - - // CMcpxAPU_Commit3dSettings+0xA8 : fsubp st(1), st - { 0xA8, 0xDE }, - { 0xA9, 0xE9 }, - - // CMcpxAPU_Commit3dSettings+0xD4 : mov esi, 0x118 - { 0xD4, 0xBE }, - { 0xD5, 0x18 }, - { 0xD6, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_CommitDeferredSettings -// ****************************************************************** -OOVPA_XREF(CDirectSound_CommitDeferredSettings, 3911, 1+9, - - XREF_CDirectSound_CommitDeferredSettings, - XRefOne) - - // CDirectSound_CommitDeferredSettings+0x12 : call [CMcpxAPU_Commit3dSettings] - XREF_ENTRY( 0x12, XREF_CMcpxAPU_Commit3dSettings ), - - // CDirectSound_CommitDeferredSettings+0x0C : mov ecx, [eax+0x0C] - { 0x0C, 0x8B }, - { 0x0D, 0x48 }, - { 0x0E, 0x0C }, - - // CDirectSound_CommitDeferredSettings+0x0F : push 0 - { 0x0F, 0x6A }, - { 0x10, 0x00 }, - - // CDirectSound_CommitDeferredSettings+0x19 : jz +0x0B - { 0x19, 0x74 }, - { 0x1A, 0x0B }, - - // CDirectSound_CommitDeferredSettings+0x28 : retn 0x04 - { 0x28, 0xC2 }, - { 0x29, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_CommitDeferredSettings -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSound_CommitDeferredSettings, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound_CommitDeferredSettings] - XREF_ENTRY( 0x11, XREF_CDirectSound_CommitDeferredSettings ), - - // IDirectSound_CommitDeferredSettings+0x06 : and eax, 0xFFFFFFF8 - { 0x06, 0x83 }, - { 0x07, 0xC0 }, - { 0x08, 0xF8 }, - - // IDirectSound_CommitDeferredSettings+0x09 : neg ecx - { 0x09, 0xF7 }, - { 0x0A, 0xD9 }, - - // IDirectSound_CommitDeferredSettings+0x15 : retn 0x04 - { 0x15, 0xC2 }, - { 0x16, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetOrientation, 3911, 13, - - XREF_CDirectSound_SetOrientation, - XRefZero) - - // CDirectSound_SetOrientation+0x00 : push ebp - { 0x00 , 0x55 }, - - { 0x0F , 0x8B }, - { 0x11 , 0x0C }, - { 0x15 , 0x8B }, - { 0x17 , 0x10 }, - { 0x1B , 0x8B }, - { 0x1D , 0x14 }, - { 0x21 , 0x8B }, - { 0x23 , 0x18 }, - { 0x27 , 0x8B }, - { 0x29 , 0x1C }, - { 0x2D , 0x8B }, - { 0x2F , 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetOrientation -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSound_SetOrientation, 3911, 1+14, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound_CommitDeferredSettings] - XREF_ENTRY( 0x42, XREF_CDirectSound_SetOrientation ), - - // IDirectSound_SetOrientation+0x00 : push ebp - { 0x00 , 0x55 }, - - // IDirectSound_SetOrientation+0x06 : fld [ebp+0x20] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x20 }, - - // IDirectSound_SetOrientation+0x0C : sub esp, 0x18 - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x18 }, - - // IDirectSound_SetOrientation+0x18 : add eax, 0xFFFFFFF8 - { 0x18, 0x83 }, - { 0x19, 0xC0 }, - { 0x1A, 0xF8 }, - - // IDirectSound_SetOrientation+0x1F : neg ecx - { 0x1F, 0xF7 }, - { 0x20, 0xD9 }, - - // IDirectSound_SetOrientation+0x47 : retn 0x20 - { 0x47, 0xC2 }, - { 0x48, 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_AddRef -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_NO_XREF(IDirectSound_AddRef, 3911, 12) - - // IDirectSound_AddRef+0x04 : lea ecx, [eax-8] - { 0x04, 0x8D }, - { 0x05, 0x48 }, - { 0x06, 0xF8 }, - - // IDirectSound_AddRef+0x07 : neg eax - { 0x07, 0xF7 }, - { 0x08, 0xD8 }, - - // IDirectSound_AddRef+0x09 : sbb eax, eax - { 0x09, 0x1B }, - { 0x0A, 0xC0 }, - - // IDirectSound_AddRef+0x0D : mov ecx, [eax] - { 0x0D, 0x8B }, - { 0x0E, 0x08 }, - - // IDirectSound_AddRef+0x10 : call dword ptr [ecx+4] - { 0x10, 0xFF }, - { 0x11, 0x51 }, - { 0x12, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_Release -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_NO_XREF(IDirectSound_Release, 3911, 10) - - // IDirectSound_Release+0x04 : lea ecx, [eax-8] - { 0x04, 0x8D }, - { 0x05, 0x48 }, - { 0x06, 0xF8 }, - - // IDirectSound_Release+0x07 : neg eax - { 0x07, 0xF7 }, - { 0x08, 0xD8 }, - - // IDirectSound_Release+0x10 : call dword ptr [ecx+8] - { 0x10, 0xFF }, - { 0x11, 0x51 }, - { 0x12, 0x08 }, - - // IDirectSound_Release+0x13 : retn 0x04 - { 0x13, 0xC2 }, - { 0x14, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_SetPitch -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetPitch, 3911, 11, - - XREF_CMcpxVoiceClient_SetPitch, - XRefZero) - // CMcpxVoiceClient_SetPitch+0x21 : lea edi, [esi+0xB4] - { 0x21, 0x8D }, - { 0x22, 0xBE }, - { 0x23, 0xB4 }, - { 0x24, 0x00 }, - - // CMcpxVoiceClient_SetPitch+0x58 : movzx eax, word ptr [eax+2] - { 0x58, 0x0F }, - { 0x59, 0xB7 }, - { 0x5A, 0x40 }, - { 0x5B, 0x02 }, - - // CMcpxVoiceClient_SetPitch+0x5E : dec eax; sar eax, 1 - { 0x5E, 0x48 }, - { 0x5F, 0xD1 }, - { 0x60, 0xF8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetPitch -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetPitch, 3911, 1+11, - - XREF_CDirectSoundVoice_SetPitch, - XRefOne) - - // CDirectSoundVoice_SetPitch+0x1B : call [CMcpxVoiceClient_SetPitch] - XREF_ENTRY( 0x1B, XREF_CMcpxVoiceClient_SetPitch ), - - // CDirectSoundVoice_SetPitch+0x07 : mov edx, [esp+0x10] - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x10 }, - - // CDirectSoundVoice_SetPitch+0x11 : mov ecx, [eax+0x18] - { 0x11, 0x8B }, - { 0x12, 0x48 }, - { 0x13, 0x18 }, - - // CDirectSoundVoice_SetPitch+0x23 : jz +0x0B - { 0x23, 0x74 }, - { 0x24, 0x0B }, - - // CDirectSoundVoice_SetPitch+0x34 : retn 0x08 - { 0x34, 0xC2 }, - { 0x35, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetPitch -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetPitch+0x15 : call [CDirectSoundVoice_SetPitch] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetPitch ), - - // IDirectSoundBuffer_SetPitch+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetPitch+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetPitch+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XAudioCalculatePitch -// ****************************************************************** -OOVPA_XREF(XAudioCalculatePitch, 3911, 11, - - XREF_XAudioCalculatePitch, - XRefZero) - - // XAudioCalculatePitch+0x08 : cmp esi, 0xBB80 - { 0x08, 0x81 }, - { 0x09, 0xFE }, - { 0x0A, 0x80 }, - { 0x0B, 0xBB }, - - // XAudioCalculatePitch+0x1D : jmp +0x2B - { 0x1D, 0xEB }, - { 0x1E, 0x2B }, - - // XAudioCalculatePitch+0x1F : lea ecx, [ebp+0x08] - { 0x1F, 0x8D }, - { 0x20, 0x4D }, - { 0x21, 0x08 }, - - // XAudioCalculatePitch+0x4E : retn 0x04 - { 0x4E, 0xC2 }, - { 0x4F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundGetSampleTime -// ****************************************************************** -OOVPA_NO_XREF(DirectSoundGetSampleTime, 3911, 6) - - { 0x00, 0xA1 }, - { 0x01, 0x0C }, - { 0x02, 0x20 }, - { 0x03, 0x80 }, - { 0x04, 0xFE }, - { 0x05, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CSensaura3d::GetFullHRTFFilterPair -// ****************************************************************** -OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3911, 7, - - XREF_CSensaura3d_GetFullHRTFFilterPair, - XRefZero) - - { 0x1E, 0xEB }, - { 0x2E, 0x6A }, - { 0x3E, 0x40 }, - { 0x5E, 0x7E }, - { 0x7E, 0x1E }, - { 0xA2, 0xD9 }, - { 0xBE, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseFullHRTF -// ****************************************************************** -OOVPA_XREF(DirectSoundUseFullHRTF, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0D, XREF_CSensaura3d_GetFullHRTFFilterPair ), - - { 0x05, 0x85 }, - { 0x06, 0xC0 }, - { 0x11, 0x74 }, - { 0x12, 0x0B }, - { 0x13, 0x68 }, - { 0x18, 0xFF }, - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CSensaura3d_GetLiteHRTFFilterPair -// ****************************************************************** -OOVPA_XREF(CSensaura3d_GetLiteHRTFFilterPair, 3911, 10, - - XREF_CSensaura3d_GetLiteHRTFFilterPair, - XRefZero) - - //CSensaura3d_GetLiteHRTFFilterPair+0x00 : push ebp - { 0x00, 0x55 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x14 : push ecx - { 0x15, 0x51 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x22 : push 3 - { 0x1F, 0x6A }, - { 0x20, 0x03 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x22 : idiv eax, ecx - { 0x22, 0xF7 }, - { 0x23, 0xF9 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x24 : cmp dword ptr [ebp+10h], 0 - { 0x24, 0x83 }, - { 0x25, 0x7D }, - { 0x26, 0x10 }, - { 0x27, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseLightHRTF -// ****************************************************************** -OOVPA_XREF(DirectSoundUseLightHRTF, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0D, XREF_CSensaura3d_GetLiteHRTFFilterPair ), - - { 0x05, 0x85 }, - { 0x06, 0xC0 }, - { 0x11, 0x74 }, - { 0x12, 0x0B }, - { 0x13, 0x68 }, - { 0x18, 0xFF }, - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetFrequency -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3911, 1+8, - - XREF_CDirectSoundVoice_SetFrequency, - XRefOne) - - // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] - XREF_ENTRY( 0x20, XREF_XAudioCalculatePitch ), - - // CDirectSoundVoice_SetFrequency+0x15 : mov eax, [esi+0x18] - { 0x15, 0x8B }, - { 0x16, 0x46 }, - { 0x17, 0x18 }, - - // CDirectSoundVoice_SetFrequency+0x18 : mov eax, [eax+0x10] - { 0x18, 0x8B }, - { 0x19, 0x40 }, - { 0x1A, 0x10 }, - - // CDirectSoundVoice_SetFrequency+0x40 : retn 0x08 - { 0x40, 0xC2 }, - { 0x41, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetFrequency -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetFrequency+0x14 : call [CDirectSoundVoice_SetFrequency] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetFrequency ), - - // IDirectSoundBuffer_SetFrequency+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetFrequency+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, - { 0x10, 0xC9 }, - - // IDirectSoundBuffer_SetFrequency+0x11 : and ecx, eax - { 0x11, 0x23 }, - { 0x12, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetMixBins -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 3911, 16, - - XREF_CMcpxVoiceClient_SetMixBins, - XRefZero) - - // CMcpxVoiceClient_SetMixBins+0x1D : lea eax, [esi+0x84] - { 0x1D, 0x86 }, - { 0x1E, 0x84 }, - { 0x21, 0x00 }, - - // CMcpxVoiceClient_SetMixBins+0x2E : mov eax, [esi+0xE0] - { 0x2E, 0x8B }, - { 0x30, 0xE0 }, - { 0x31, 0x00 }, - - // CMcpxVoiceClient_SetMixBins+0x41 : jz +0x7F - { 0x41, 0x74 }, - { 0x42, 0x7F }, - - // CMcpxVoiceClient_SetMixBins+0x5A : mov ds:[0xFE8202F8], eax - { 0x5A, 0xA3 }, - { 0x5B, 0xF8 }, - { 0x5C, 0x02 }, - { 0x5D, 0x82 }, - { 0x5E, 0xFE }, - - // CMcpxVoiceClient_SetMixBins+0xBF : jb +0x8C - { 0xBF, 0x72 }, - { 0xC0, 0x8C }, - - // CMcpxVoiceClient_SetMixBins+0xD6 : retn - { 0xD6, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMixBins -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMixBins, 3911, 1+8, - - XREF_CDirectSoundVoice_SetMixBins, - XRefOne) - - // CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins] - XREF_ENTRY( 0x29, XREF_CMcpxVoiceClient_SetMixBins ), - - // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x18] - { 0x11, 0x8B }, - { 0x12, 0x4E }, - { 0x13, 0x18 }, - - // CDirectSoundVoice_SetMixBins+0x25 : mov ecx, [esi+0x14] - { 0x25, 0x8B }, - { 0x26, 0x4E }, - { 0x27, 0x14 }, - - // CDirectSoundVoice_SetMixBins+0x55 : retn 0x08 - { 0x55, 0xC2 }, - { 0x56, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMixBins -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMixBins ), - - // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetMixBins+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, - { 0x10, 0xC9 }, - - // IDirectSoundBuffer_SetMixBins+0x11 : and ecx, eax - { 0x11, 0x23 }, - { 0x12, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetOutputBuffer, 3911, 7, - - XREF_CDirectSoundVoice_SetOutputBuffer, - XRefZero) - - { 0x0B, 0xF7 }, - { 0x19, 0x8B }, - { 0x25, 0x3B }, - { 0x30, 0xE8 }, - { 0x35, 0x8B }, - { 0x46, 0x74 }, - { 0x51, 0xD8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 3911, 1+12, - - XREF_CDirectSoundBuffer_SetOutputBuffer, - XRefOne) - - // CDirectSoundBuffer_SetOutputBuffer+0x11 : call [XREF_CDirectSoundVoice_SetOutputBuffer] - XREF_ENTRY( 0x12, XREF_CDirectSoundVoice_SetOutputBuffer), - - // CDirectSoundBuffer_SetOutputBuffer+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x07 : push [esp+0x10] - { 0x07, 0xFF }, - { 0x08, 0x74 }, - { 0x09, 0x24 }, - { 0x0A, 0x10 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x0D : push [esp+0x10] - { 0x0D, 0xFF }, - { 0x0E, 0x74 }, - { 0x0F, 0x24 }, - { 0x10, 0x10 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x29 : pop edi - { 0x29, 0x5F }, - - // CDirectSoundBuffer_SetOutputBuffer+0x2B : retn 0x08 - { 0x2B, 0xC2 }, - { 0x2C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetBufferData -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 3911, 9, - - XREF_CDirectSoundBuffer_SetBufferData, - XRefZero) - - // CDirectSoundBuffer_SetBufferData+0x22 : cmp ecx, [eax+0x4C] - { 0x22, 0x3B }, - { 0x23, 0x48 }, - { 0x24, 0x4C }, - - // CDirectSoundBuffer_SetBufferData+0x38 : mov ecx, [esi+0x1C] - { 0x38, 0x8B }, - { 0x39, 0x4E }, - { 0x3A, 0x1C }, - - // CDirectSoundBuffer_SetBufferData+0x71 : leave; retn 0x0C - { 0x71, 0xC9 }, - { 0x72, 0xC2 }, - { 0x73, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetBufferData -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundBuffer_SetBufferData, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetBufferData+0x18 : call [CDirectSoundBuffer_SetBufferData] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetBufferData ), - - // IDirectSoundBuffer_SetBufferData+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetBufferData+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xE4 }, - - // IDirectSoundBuffer_SetBufferData+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetNotificationPositions -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions, 3911, 7, - - XREF_CDirectSoundBuffer_SetNotificationPositions, - XRefZero) - - { 0x09, 0x24 }, - { 0x14, 0x24 }, - { 0x1F, 0x74 }, - { 0x2A, 0x50 }, - { 0x35, 0xF6 }, - { 0x40, 0x07 }, - { 0x4D, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetNotificationPositions -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetNotificationPositions ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3911, 1+11, - - XREF_CDirectSoundVoice_SetHeadroom, - XRefOne) - - // WARNING: I am unsure if this is SetHeadroom - - // CDirectSoundVoice_SetHeadroom+0x23 : call [CMcpxVoiceClient_SetVolume] - XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_SetVolume ), - - // CDirectSoundVoice_SetHeadroom+0x07 : mov edx, [esp+0x0C] - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x0C }, - - // CDirectSoundVoice_SetHeadroom+0x11 : mov eax, [edx+0x18] - { 0x11, 0x8B }, - { 0x12, 0x42 }, - { 0x13, 0x18 }, - - // CDirectSoundVoice_SetHeadroom+0x2B : jz +0x0B - { 0x2B, 0x74 }, - { 0x2C, 0x0B }, - - // CDirectSoundVoice_SetHeadroom+0x3C : retn 0x08 - { 0x3C, 0xC2 }, - { 0x3D, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetHeadroom -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetHeadroom ), - - // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetHeadroom+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetHeadroom+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Pause -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Pause, 3911, 1+6, - - XREF_CDirectSoundStream_Pause, - XRefOne) - - XREF_ENTRY(0x0C, XREF_CMcpxStream_Pause ), - - { 0x01, 0x44 }, - { 0x04, 0xFF }, - { 0x07, 0x08 }, - { 0x0A, 0x24 }, - { 0x10, 0xC2 }, - { 0x11, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Process -// ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_Process, 3911, 16) - - { 0x01, 0x8B }, - { 0x04, 0x08 }, - - { 0x05, 0x8B }, - { 0x07, 0x24 }, - - { 0x0D, 0x85 }, - { 0x0E, 0xC0 }, - - //CDirectSoundStream_Process+0x11 : mov eax, 88780032h - { 0x12, 0x32 }, - { 0x13, 0x00 }, - { 0x14, 0x78 }, - { 0x15, 0x88 }, - - { 0x18, 0xFF }, - { 0x1B, 0x0C }, - - { 0x1C, 0x8B }, - { 0x1E, 0x24 }, - - { 0x25, 0xC2 }, - { 0x26, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_GetStatus -// ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_GetStatus, 3911, 14) - - { 0x00, 0x56 }, //Prevent false detection & check if is at beginning of function. - - { 0x08, 0x8B }, - { 0x0B, 0x08 }, - - { 0x0C, 0x8B }, - { 0x0E, 0x24 }, - - { 0x14, 0x8B }, - { 0x17, 0x0C }, - - { 0x18, 0xF7 }, - { 0x1A, 0x1B }, - { 0x1C, 0xF7 }, - - //CDirectSoundStream_GetStatus+0x20 : mov dword ptr [ecx], eax - { 0x20, 0x89 }, - { 0x21, 0x01 }, - - { 0x32, 0xC2 }, - { 0x33, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Flush, 3911, 15, - - XREF_CMcpxStream_Flush, - XRefZero) - - { 0x0D, 0x03 }, - { 0x0F, 0x03 }, - - { 0x20, 0x33 }, - { 0x22, 0x33 }, - - { 0x2D, 0x83 }, - { 0x2E, 0xFF }, - { 0x2F, 0x03 }, - - { 0x4B, 0xE8 }, - - //CMcpxStream_Flush+0x57 : e__,0x80004004 (unique value) - { 0x58, 0x04 }, - { 0x59, 0x40 }, - { 0x5A, 0x00 }, - { 0x5B, 0x80 }, - - { 0x62, 0xE8 }, - - { 0x9D, 0xC9 }, - { 0x9E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Flush -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Flush, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - //CDirectSoundStream_Flush+0x10 : call [CMcpxStream_Flush] - XREF_ENTRY( 0x11, XREF_CMcpxStream_Flush ), - - { 0x00, 0x56 }, - - { 0x09, 0x8B }, - { 0x0C, 0x0C }, - - { 0x0D, 0x8B }, - { 0x0F, 0x24 }, - - { 0x10, 0xE8 }, - - //CDirectSoundStream_Flush+0x2A : ret 4 - { 0x2A, 0xC2 }, - { 0x2B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Discontinuity -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Discontinuity, 3911, 1+11, - - XREF_CMcpxStream_Discontinuity, - XRefOne) - - //CMcpxStream_Discontinuity+0x66 : call [CMcpxStream_Flush] - XREF_ENTRY ( 0x67, XREF_CMcpxStream_Flush ), - - { 0x0D, 0x03 }, - { 0x0F, 0x03 }, - - { 0x1B, 0x33 }, - { 0x1D, 0x8D }, - - { 0x25, 0x0F }, - { 0x26, 0x94 }, - { 0x27, 0xC1 }, - - { 0x64, 0x8B }, - - { 0x66, 0xE8 }, - - { 0x6E, 0xC9 }, - { 0x6F, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Discontinuity -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Discontinuity, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - //CDirectSoundStream_Discontinuity+0x10 : call [CMcpxStream_Discontinuity] - XREF_ENTRY( 0x11, XREF_CMcpxStream_Discontinuity ), - - { 0x00, 0x56 }, - - { 0x09, 0x8B }, - { 0x0C, 0x0C }, - - { 0x0D, 0x8B }, - { 0x0F, 0x24 }, - - { 0x10, 0xE8 }, - - //CDirectSoundStream_Discontinuity+0x2A : ret 4 - { 0x2A, 0xC2 }, - { 0x2B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_GetInfo -// ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_GetInfo, 3911, 17) - - //CDirectSoundStream_GetInfo+0x00 : push ebx - { 0x00, 0x53 }, - - //CDirectSoundStream_GetInfo+0x0C : mov edi, dword ptr [esp + 10h] - { 0x0C, 0x8B }, - { 0x0D, 0x7C }, - { 0x0E, 0x24 }, - { 0x0F, 0x10 }, - - //CDirectSoundStream_GetInfo+0x16 : mov, dword ptr [edi + 24h] - { 0x16, 0x8B }, - { 0x17, 0x4F }, - { 0x18, 0x24 }, - - //CDirectSoundStream_GetInfo+0x23 : mov eax, dword ptr [edi + 20h] - { 0x23, 0x8B }, - { 0x24, 0x47 }, - { 0x25, 0x20 }, - - //CDirectSoundStream_GetInfo+0x2D : and dword ptr [esi + 8], 0 - { 0x2D, 0x83 }, - { 0x2E, 0x66 }, - { 0x2F, 0x08 }, - { 0x30, 0x00 }, - - //CDirectSoundStream_GetInfo+0x48 : ret 8 - { 0x48, 0xC2 }, - { 0x49, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_Set3dMaxDistance -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dMaxDistance, 3911, 12, - - XREF_CMcpxVoiceClient_Set3dMaxDistance, - XRefZero) - - // CMcpxVoiceClient_Set3dMaxDistance+0x04 : or byte ptr [ecx+0x80], 0x04 - { 0x04, 0x83 }, - { 0x05, 0x89 }, - { 0x06, 0x80 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x04 }, - - // CMcpxVoiceClient_Set3dMaxDistance+0x10 : mov [ecx+0x54], eax - { 0x10, 0x89 }, - { 0x11, 0x41 }, - { 0x12, 0x54 }, - - // CMcpxVoiceClient_Set3dMaxDistance+0x1E : retn 0x08 - { 0x1E, 0xC2 }, - { 0x1F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 3911, 1+14, - - XREF_CDirectSoundVoice_SetMaxDistance, - XRefOne) - - // CDirectSoundVoice_SetMaxDistance+0x23 : call [CMcpxVoiceClient_Set3dMaxDistance] - XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMaxDistance ), - - // CDirectSoundVoice_SetMaxDistance+0x0D : mov eax, [esp+0x14] - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x14 }, - - // CDirectSoundVoice_SetMaxDistance+0x11 : not eax - { 0x11, 0xF7 }, - { 0x12, 0xD0 }, - - // CDirectSoundVoice_SetMaxDistance+0x13 : and eax, 1 - { 0x13, 0x83 }, - { 0x14, 0xE0 }, - { 0x15, 0x01 }, - - // CDirectSoundVoice_SetMaxDistance+0x1C : mov ecx, [eax+0x14] - { 0x1C, 0x8B }, - { 0x1D, 0x48 }, - { 0x1E, 0x14 }, - - // CDirectSoundVoice_SetMaxDistance+0x3C : retn 0x0C - { 0x3C, 0xC2 }, - { 0x3D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 3911, 1+8, - - XREF_CDirectSoundBuffer_SetMaxDistance, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMaxDistance ), - - { 0x01, 0x74 }, - { 0x04, 0xD9 }, - { 0x07, 0x0C }, - { 0x0A, 0x1C }, - { 0x0D, 0x74 }, - { 0x10, 0xE8 }, - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMaxDistance -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance ), - - { 0x03, 0x0C }, - { 0x08, 0x8B }, - { 0x0D, 0x8B }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3911, 1+9, - - XREF_CDirectSoundStream_SetMaxDistance, - XRefOne) - - // CDirectSoundStream_SetMaxDistance+0x15 : call [CDirectSoundVoice_SetMaxDistance] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMaxDistance ), - - // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // CDirectSoundStream_SetMaxDistance+0x0D : add eax, 0x04 - { 0x0D, 0x83 }, - { 0x0E, 0xC0 }, - { 0x0F, 0x04 }, - - // CDirectSoundStream_SetMaxDistance+0x19 : retn 0x0C - { 0x19, 0xC2 }, - { 0x1A, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetMaxDistance -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundStream_SetMaxDistance, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetMaxDistance+0x11 : call [CDirectSoundStream_SetMaxDistance] - XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetMaxDistance ), - - // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // CDirectSoundStream_SetMaxDistance+0x0C : push [esp+0x0C] - { 0x0C, 0xFF }, - { 0x0D, 0x74 }, - { 0x0E, 0x24 }, - { 0x0F, 0x0C }, - - // CDirectSoundStream_SetMaxDistance+0x15 : retn 0x0C - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_Set3dMinDistance -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dMinDistance, 3911, 12, - - XREF_CMcpxVoiceClient_Set3dMinDistance, - XRefZero) - - // CMcpxVoiceClient_Set3dMinDistance+0x04 : or byte ptr [ecx+0x80], 0x04 - { 0x04, 0x83 }, - { 0x05, 0x89 }, - { 0x06, 0x80 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x04 }, - - // CMcpxVoiceClient_Set3dMinDistance+0x10 : mov [ecx+0x50], eax - { 0x10, 0x89 }, - { 0x11, 0x41 }, - { 0x12, 0x50 }, - - // CMcpxVoiceClient_Set3dMinDistance+0x1E : retn 0x08 - { 0x1E, 0xC2 }, - { 0x1F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 3911, 1+14, - - XREF_CDirectSoundVoice_SetMinDistance, - XRefOne) - - // CDirectSoundVoice_SetMinDistance+0x23 : call [CMcpxVoiceClient_Set3dMinDistance] - XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMinDistance ), - - // CDirectSoundVoice_SetMinDistance+0x0D : mov eax, [esp+0x14] - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x14 }, - - // CDirectSoundVoice_SetMinDistance+0x11 : not eax - { 0x11, 0xF7 }, - { 0x12, 0xD0 }, - - // CDirectSoundVoice_SetMinDistance+0x13 : and eax, 1 - { 0x13, 0x83 }, - { 0x14, 0xE0 }, - { 0x15, 0x01 }, - - // CDirectSoundVoice_SetMinDistance+0x1C : mov ecx, [eax+0x14] - { 0x1C, 0x8B }, - { 0x1D, 0x48 }, - { 0x1E, 0x14 }, - - // CDirectSoundVoice_SetMinDistance+0x3C : retn 0x0C - { 0x3C, 0xC2 }, - { 0x3D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 3911, 1+8, - - XREF_CDirectSoundBuffer_SetMinDistance, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMinDistance ), - - { 0x01, 0x74 }, - { 0x04, 0xD9 }, - { 0x07, 0x0C }, - { 0x0A, 0x1C }, - { 0x0D, 0x74 }, - { 0x10, 0xE8 }, - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMinDistance -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMinDistance ), - - { 0x03, 0x0C }, - { 0x08, 0x8B }, - { 0x0D, 0x8B }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3911, 1+9, - - XREF_CDirectSoundStream_SetMinDistance, - XRefOne) - - // CDirectSoundStream_SetMinDistance+0x15 : call [CDirectSoundVoice_SetMinDistance] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMinDistance ), - - // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // CDirectSoundStream_SetMinDistance+0x0D : add eax, 0x04 - { 0x0D, 0x83 }, - { 0x0E, 0xC0 }, - { 0x0F, 0x04 }, - - // CDirectSoundStream_SetMinDistance+0x19 : retn 0x0C - { 0x19, 0xC2 }, - { 0x1A, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetMinDistance -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundStream_SetMinDistance, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetMinDistance+0x11 : call [CDirectSoundStream_SetMinDistance] - XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetMinDistance ), - - // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // CDirectSoundStream_SetMinDistance+0x0C : push [esp+0x0C] - { 0x0C, 0xFF }, - { 0x0D, 0x74 }, - { 0x0E, 0x24 }, - { 0x0F, 0x0C }, - - // CDirectSoundStream_SetMinDistance+0x15 : retn 0x0C - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_Set3dConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dConeOutsideVolume, 3911, 12, - - XREF_CMcpxVoiceClient_Set3dConeOutsideVolume, - XRefZero) - - // CMcpxVoiceClient_Set3dConeOutsideVolume+0x04 : or dword ptr [eax+0x80], 0x10 - { 0x04, 0x83 }, - { 0x05, 0x89 }, - { 0x06, 0x80 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x10 }, - - // CMcpxVoiceClient_Set3dConeOutsideVolume+0x10 : mov [ecx+0x4C], eax - { 0x10, 0x89 }, - { 0x11, 0x41 }, - { 0x12, 0x4C }, - - // CMcpxVoiceClient_Set3dConeOutsideVolume+0x1E : retn 0x08 - { 0x1E, 0xC2 }, - { 0x1F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 3911, 1+11, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefOne) - - // CDirectSoundVoice_SetConeOutsideVolume+0x1F : call [CMcpxVoiceClient_Set3dConeOutsideVolume] - XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dConeOutsideVolume ), - - // CDirectSoundVoice_SetConeOutsideVolume+0x09 : mov eax, [esp+0x14] - { 0x09, 0x8B }, - { 0x0A, 0x44 }, - { 0x0B, 0x24 }, - { 0x0C, 0x14 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x0D : not eax; and eax, 1 - { 0x0D, 0xF7 }, - { 0x0E, 0xD0 }, - { 0x0F, 0x83 }, - { 0x10, 0xE0 }, - { 0x11, 0x01 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x38 : retn 0x0C - { 0x38, 0xC2 }, - { 0x39, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 3911, 1+1, - - XREF_CDirectSoundBuffer_SetConeOutsideVolume, - XRefOne) - - // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : jmp CDirectSoundVoice_SetConeOutsideVolume - XREF_ENTRY( 0x1, XREF_CDirectSoundVoice_SetConeOutsideVolume ), - - // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : jmp - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundVoice_SetConeOutsideVolume] - XREF_ENTRY(0x19, XREF_CDirectSoundVoice_SetConeOutsideVolume ), - - // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] - { 0x0A, 0xFF }, - { 0x0B, 0x74 }, - { 0x0C, 0x24 }, - { 0x0D, 0x0C }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax - { 0x15, 0x23 }, - { 0x16, 0xC8 }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch - { 0x1E, 0x0C }, - { 0x1F, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3911, 1+9, - - XREF_CDirectSoundStream_SetConeOutsideVolume, - XRefOne) - - // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [CDirectSoundVoice_SetConeOutsideVolume] - XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetConeOutsideVolume ), - - // CDirectSoundStream_SetConeOutsideVolume+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetConeOutsideVolume+0x0C : add eax, 0x04 - { 0x0C, 0x83 }, - { 0x0D, 0xC0 }, - { 0x0E, 0x04 }, - - // CDirectSoundStream_SetConeOutsideVolume+0x15 : retn 0x0C - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::Commit3dSettings -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Commit3dSettings, 3911, 10, - - XREF_CMcpxVoiceClient_Commit3dSettings, - XRefZero) - - // CMcpxVoiceClient::Commit3dSettings+0x17 : or [eax+0x80], ecx - { 0x17, 0x09 }, - { 0x18, 0x88 }, - { 0x19, 0x80 }, - { 0x1A, 0x00 }, - // CMcpxVoiceClient::Commit3dSettings+0x2B : add eax, 0x80 - { 0x2B, 0x05 }, - { 0x2C, 0x80 }, - { 0x2D, 0x00 }, - // CMcpxVoiceClient::Commit3dSettings+0x3D : cmpxchg [ecx], edx - { 0x3D, 0x0F }, - { 0x3E, 0xB1 }, - { 0x3F, 0x11 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_Set3dParameters -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dParameters, 3911, 1+11, - - XREF_CMcpxVoiceClient_Set3dParameters, - XRefOne) - - XREF_ENTRY( 0x25, XREF_CMcpxVoiceClient_Commit3dSettings ), - - { 0x02, 0x74 }, - { 0x08, 0x6A }, - { 0x09, 0x10 }, - { 0x0A, 0x59 }, - { 0x0B, 0x8D }, - { 0x0C, 0x78 }, - { 0x0D, 0x1C }, - { 0x0E, 0xF3 }, - { 0x14, 0x00 }, - { 0x18, 0x7C }, - { 0x1F, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 3911, 1+11, - - XREF_CDirectSoundVoice_SetAllParameters, - XRefOne) - - // TODO: re-use for CDirectSoundBuffer_SetAllParametersA!? - - // CDirectSoundVoice_SetAllParameters+0x25 : call [CMcpxVoiceClient_Set3dParameters] - XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dParameters ), - - // CDirectSoundVoice_SetAllParameters+0x09 : mov eax, [esp+0x14] - { 0x09, 0x8B }, - { 0x0A, 0x44 }, - { 0x0B, 0x24 }, - { 0x0C, 0x14 }, - - // CDirectSoundVoice_SetAllParameters+0x0D : not eax; and eax, 1 - { 0x0D, 0xF7 }, - { 0x0E, 0xD0 }, - { 0x0F, 0x83 }, - { 0x10, 0xE0 }, - { 0x11, 0x01 }, - - // CDirectSoundVoice_SetAllParameters+0x38 : retn 0x0C - { 0x38, 0xC2 }, - { 0x39, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3911, 1+9, - - XREF_CDirectSoundStream_SetAllParameters, - XRefOne) - - // CDirectSoundStream_SetAllParameters+0x11 : call [CDirectSoundVoice_SetAllParameters] - XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetAllParameters ), - - // CDirectSoundStream_SetAllParameters+0x04 : push eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetAllParameters+0x0C : add eax, 0x04 - { 0x0C, 0x83 }, - { 0x0D, 0xC0 }, - { 0x0E, 0x04 }, - - // CDirectSoundStream_SetAllParameters+0x15 : retn 0x0C - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetAllParameters -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetAllParameters, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetAllParameters ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetConeAngles -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 3911, 8, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) - - { 0x07, 0x8B }, - { 0x0E, 0xD0 }, - { 0x16, 0x18 }, - { 0x1E, 0x18 }, - { 0x27, 0x85 }, - { 0x32, 0xFF }, - { 0x38, 0x8B }, - { 0x3E, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetConeAngles -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSoundVoice_SetConeAngles ), - - { 0x03, 0x10 }, - { 0x08, 0xFF }, - { 0x0D, 0xC8 }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeAngles -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3911, 1+9, - - XREF_CDirectSoundStream_SetConeAngles, - XRefOne) - - // CDirectSoundStream_SetConeAngles+0x15 : call [CDirectSoundVoice_SetConeAngles] - XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetConeAngles ), - - // CDirectSoundStream_SetConeAngles+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetConeAngles+0x0C : add eax, 0x04 - { 0x0C, 0x83 }, - { 0x0D, 0xC0 }, - { 0x0E, 0x04 }, - - // CDirectSoundStream_SetConeAngles+0x19 : retn 0x10 - { 0x19, 0xC2 }, - { 0x1A, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_Set3dConeOrientation -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dConeOrientation, 3911, 11, - - XREF_CMcpxVoiceClient_Set3dConeOrientation, - XRefZero) - - // CMcpxVoiceClient_Set3dConeOrientation+0x0C : or byte ptr [ecx+0x80], 0x18 - { 0x0C, 0x83 }, - { 0x0D, 0x89 }, - { 0x0E, 0x80 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x18 }, - - // CMcpxVoiceClient_Set3dConeOrientation+0x1A : jz +0x07 - { 0x1A, 0x74 }, - { 0x1B, 0x07 }, - - // CMcpxVoiceClient_Set3dConeOrientation+0x25 : retn 0x08 - { 0x25, 0xC2 }, - { 0x26, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 3911, 1+13, - - XREF_CDirectSoundVoice_SetConeOrientation, - XRefOne) - - // CDirectSoundVoice_SetConeOrientation+0x34 : call [CMcpxVoiceClient_Set3dConeOrientation] - XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dConeOrientation ), - - // CDirectSoundVoice_SetConeOrientation+0x21 : mov eax, [ebp+0x18] - { 0x21, 0x8B }, - { 0x22, 0x45 }, - { 0x23, 0x18 }, - - // CDirectSoundVoice_SetConeOrientation+0x24 : not eax - { 0x24, 0xF7 }, - { 0x25, 0xD0 }, - - // CDirectSoundVoice_SetConeOrientation+0x26 : and eax, 1 - { 0x26, 0x83 }, - { 0x27, 0xE0 }, - { 0x28, 0x01 }, - - // CDirectSoundVoice_SetConeOrientation+0x31 : mov ecx, [eax+0x14] - { 0x31, 0x8B }, - { 0x32, 0x48 }, - { 0x33, 0x14 }, - - // CDirectSoundVoice_SetConeOrientation+0x4F : retn 0x14 - { 0x4F, 0xC2 }, - { 0x50, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 3911, 1+10, - - XREF_CDirectSoundBuffer_SetConeOrientation, - XRefOne) - - XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetConeOrientation ), - - // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp+8h] - { 0x0C, 0xD9 }, - { 0x0D, 0x5C }, - { 0x0E, 0x24 }, - { 0x0F, 0x08 }, - - // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp] - { 0x1A, 0xD9 }, - { 0x1B, 0x1C }, - { 0x1C, 0x24 }, - - // CDirectSoundBuffer_SetConeOrientation+0x26 : ret 14h - { 0x26, 0xC2 }, - { 0x27, 0x14 }, - { 0x28, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetConeOrientation -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetConeOrientation+0x2C : call [CDirectSoundBuffer::SetConeOrientation] - XREF_ENTRY(0x2D, XREF_CDirectSoundBuffer_SetConeOrientation), - - // IDirectSoundBuffer_SetConeOrientation+0x06 : fld [ebp+arg_C] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // IDirectSoundBuffer_SetConeOrientation+0x28 : fstp [esp+10h+var_10] - { 0x28, 0xD9 }, - { 0x29, 0x1C }, - { 0x2A, 0x24 }, - - // IDirectSoundBuffer_SetConeOrientation+0x32 : retn 14h - { 0x33, 0x14 }, - { 0x34, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 3911, 1+8, - - XREF_CDirectSoundStream_SetConeOrientation, - XRefOne) - - // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? - - // CDirectSoundStream_SetConeOrientation+0x25 : call [CDirectSoundVoice_SetConeOrientation] - XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetConeOrientation ), - - // CDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundStream_SetConeOrientation+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // CDirectSoundStream_SetConeOrientation+0x2A : retn 0x14 - { 0x2A, 0xC2 }, - { 0x2B, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetConeOrientation -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetConeOrientation, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetConeOrientation+0x21 : call [CDirectSoundStream_SetConeOrientation] - XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetConeOrientation ), - - // IDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // IDirectSoundStream_SetConeOrientation+0x1A : fstp [esp] - { 0x1A, 0xD9 }, - { 0x1B, 0x1C }, - { 0x1C, 0x24 }, - - // IDirectSoundStream_SetConeOrientation+0x26 : retn 0x14 - { 0x26, 0xC2 }, - { 0x27, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::Set3dMode -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dMode, 3911, 12, - - XREF_CMcpxVoiceClient_Set3dMode, - XRefZero) - - // CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF - { 0x04, 0x80 }, - { 0x05, 0x89 }, - { 0x06, 0x80 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0xFF }, - - // CMcpxVoiceClient_Set3dMode+0x10 : cmp [ecx+0x58], eax - { 0x10, 0x89 }, - { 0x11, 0x41 }, - { 0x12, 0x58 }, - - // CMcpxVoiceClient_Set3dMode+0x1E : retn 0x08 - { 0x1E, 0xC2 }, - { 0x1F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMode -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMode, 3911, 1+9, - - XREF_CDirectSoundVoice_SetMode, - XRefOne) - - // CDirectSoundVoice_SetMode+0x1E : call [CMcpxVoiceClient::Set3dMode] - XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dMode), - - // CDirectSoundVoice_SetMode+0x17 : push [esp+0x14] - { 0x17, 0xFF }, - { 0x18, 0x74 }, - { 0x19, 0x24 }, - { 0x1A, 0x14 }, - - // CDirectSoundVoice_SetMode+0x1B : mov ecx, [eax+0x14] - { 0x1B, 0x8B }, - { 0x1C, 0x48 }, - { 0x1D, 0x14 }, - - // CDirectSoundVoice_SetMode+0x38 : retn 0x0C - { 0x38, 0xC2 }, - { 0x39, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMode -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMode, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetMode+0x18 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetMode ), - - // IDirectSoundBuffer_SetMode+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xE4 }, - - // IDirectSoundBuffer_SetMode+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMode -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMode, 3911, 1+6, - - XREF_CDirectSoundStream_SetMode, - XRefOne) - - // CDirectSoundStream_SetMode+0x10 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMode ), - - // CDirectSoundStream_SetMode+0x0C : add eax, 4 - { 0x0C, 0x83 }, - { 0x0D, 0xC0 }, - { 0x0E, 0x04 }, - - // CDirectSoundStream_SetMode+0x0F : push eax - { 0x0F, 0x50 }, - - // CDirectSoundBuffer8_SetMode+0x15 : retn 0x0C - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_Set3dPosition -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dPosition, 3911, 11, - - XREF_CMcpxVoiceClient_Set3dPosition, - XRefZero) - - // CMcpxVoiceClient_Set3dPosition+0x0C : or byte ptr [ecx+0x80], 0xFF - { 0x0C, 0x80 }, - { 0x0D, 0x89 }, - { 0x0E, 0x80 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0xFF }, - - // CMcpxVoiceClient_Set3dPosition+0x1A : jz +0x07 - { 0x1A, 0x74 }, - { 0x1B, 0x07 }, - - // CMcpxVoiceClient_Set3dPosition+0x25 : retn 0x08 - { 0x25, 0xC2 }, - { 0x26, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetPosition, 3911, 1+13, - - XREF_CDirectSoundVoice_SetPosition, - XRefOne) - - // CDirectSoundVoice_SetPosition+0x35 : call [CMcpxVoiceClient_Set3dPosition] - XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dPosition ), - - // CDirectSoundVoice_SetPosition+0x21 : mov eax, [ebp+0x18] - { 0x21, 0x8B }, - { 0x22, 0x45 }, - { 0x23, 0x18 }, - - // CDirectSoundVoice_SetPosition+0x24 : not eax - { 0x24, 0xF7 }, - { 0x25, 0xD0 }, - - // CDirectSoundVoice_SetPosition+0x26 : and eax, 1 - { 0x26, 0x83 }, - { 0x27, 0xE0 }, - { 0x28, 0x01 }, - - // CDirectSoundVoice_SetPosition+0x31 : mov ecx, [eax+0x14] - { 0x31, 0x8B }, - { 0x32, 0x48 }, - { 0x33, 0x14 }, - - // CDirectSoundVoice_SetPosition+0x4F : retn 0x14 - { 0x4F, 0xC2 }, - { 0x50, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPosition, 3911, 1+8, - - XREF_CDirectSoundStream_SetPosition, - XRefOne) - - // CDirectSoundStream_SetPosition+0x25 : call [CDirectSoundVoice_SetPosition] - XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetPosition ), - - // CDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundStream_SetPosition+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // CDirectSoundStream_SetPosition+0x2A : retn 0x14 - { 0x2A, 0xC2 }, - { 0x2B, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetPosition -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetPosition, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetPosition+0x21 : call [CDirectSoundStream_SetPosition] - XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetPosition ), - - // IDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // IDirectSoundStream_SetPosition+0x1A : fstp [esp] - { 0x1A, 0xD9 }, - { 0x1B, 0x1C }, - { 0x1C, 0x24 }, - - // IDirectSoundStream_SetPosition+0x26 : retn 0x14 - { 0x26, 0xC2 }, - { 0x27, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetPosition, 3911, 1+8, - - XREF_CDirectSoundBuffer_SetPosition, - XRefOne) - - // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundVoice_SetPosition] - XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetPosition ), - - // CDirectSoundBuffer_SetPosition+0x06 : fld [ebp+arg_C] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundBuffer_SetPosition+0x1A : fstp [esp+0x10+var_10] - { 0x1A, 0xD9 }, - { 0x1B, 0x1C }, - { 0x1C, 0x24 }, - - // CDirectSoundBuffer_SetPosition+0x26 : retn 0x14 - { 0x27, 0x14 }, - { 0x28, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetPosition -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundBuffer_SetPosition, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition] - XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetPosition ), - - // IDirectSoundBuffer_SetPosition+0x09 : mov eax, [ebp+arg_0] - { 0x09, 0x8B }, - { 0x0A, 0x45 }, - { 0x0B, 0x08 }, - - // IDirectSoundBuffer_SetPosition+0x28 : fstp [esp+0x10+var_10] - { 0x28, 0xD9 }, - { 0x29, 0x1C }, - { 0x2A, 0x24 }, - - // IDirectSoundBuffer_SetPosition+0x32 : retn 0x14 - { 0x33, 0x14 }, - { 0x34, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU_Set3dPosition -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_Set3dPosition, 3911, 12, - - XREF_CMcpxAPU_Set3dPosition, - XRefZero) - - // CMcpxAPU_Set3dPosition+0x0C : movsd; movsd; movsd - { 0x0C, 0xA5 }, - { 0x0D, 0xA5 }, - { 0x0E, 0xA5 }, - - // CMcpxAPU_Set3dPosition+0x0F : or byte ptr [ecx+0x01B4], 0xFF - { 0x0F, 0x80 }, - { 0x10, 0x89 }, - { 0x11, 0xB4 }, - { 0x12, 0x01 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0xFF }, - - // CMcpxAPU_Set3dPosition+0x28 : retn 0x08 - { 0x28, 0xC2 }, - { 0x29, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetPosition, 3911, 1+9, - - XREF_CDirectSound_SetPosition, - XRefOne) - - // CDirectSound_SetPosition+0x35 : call [CMcpxAPU_Set3dPosition] - XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dPosition ), - - // CDirectSound_SetPosition+0x06 : push esi; push edi - { 0x06, 0x56 }, - { 0x07, 0x57 }, - - // CDirectSound_SetPosition+0x24 : not eax; and eax, 1 - { 0x24, 0xF7 }, - { 0x25, 0xD0 }, - { 0x26, 0x83 }, - { 0x27, 0xE0 }, - { 0x28, 0x01 }, - - // CDirectSound_SetPosition+0x4F : retn 0x14 - { 0x4F, 0xC2 }, - { 0x50, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetPosition -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_SetPosition, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_SetPosition+0x2D : call [CDirectSound_SetPosition] - XREF_ENTRY( 0x2D, XREF_CDirectSound_SetPosition ), - - // IDirectSound_SetPosition+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // IDirectSound_SetPosition+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // IDirectSound_SetPosition+0x1B : neg ecx - { 0x1B, 0xF7 }, - { 0x1C, 0xD9 }, - - // IDirectSound_SetPosition+0x32 : retn 0x14 - { 0x32, 0xC2 }, - { 0x33, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_Set3dVelocity -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_Set3dVelocity, 3911, 12, - - XREF_CMcpxVoiceClient_Set3dVelocity, - XRefZero) - - // CMcpxVoiceClient_Set3dVelocity+0x09 : movsd; movsd; movsd - { 0x09, 0xA5 }, - { 0x0A, 0xA5 }, - { 0x0B, 0xA5 }, - - // CMcpxVoiceClient_Set3dVelocity+0x0C : or byte ptr [ecx+0x80], 0x40 - { 0x0C, 0x83 }, - { 0x0D, 0x89 }, - { 0x0E, 0x80 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - { 0x12, 0x40 }, - - // CMcpxVoiceClient_Set3dVelocity+0x25 : retn 0x08 - { 0x25, 0xC2 }, - { 0x26, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetVelocity, 3911, 1+13, - - XREF_CDirectSoundVoice_SetVelocity, - XRefOne) - - // CDirectSoundVoice_SetVelocity+0x35 : call [CMcpxVoiceClient_Set3dVelocity] - XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dVelocity ), - - // CDirectSoundVoice_SetVelocity+0x21 : mov eax, [ebp+0x18] - { 0x21, 0x8B }, - { 0x22, 0x45 }, - { 0x23, 0x18 }, - - // CDirectSoundVoice_SetVelocity+0x24 : not eax - { 0x24, 0xF7 }, - { 0x25, 0xD0 }, - - // CDirectSoundVoice_SetVelocity+0x26 : and eax, 1 - { 0x26, 0x83 }, - { 0x27, 0xE0 }, - { 0x28, 0x01 }, - - // CDirectSoundVoice_SetVelocity+0x31 : mov ecx, [eax+0x14] - { 0x31, 0x8B }, - { 0x32, 0x48 }, - { 0x33, 0x14 }, - - // CDirectSoundVoice_SetVelocity+0x4F : retn 0x14 - { 0x4F, 0xC2 }, - { 0x50, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVelocity, 3911, 1+8, - - XREF_CDirectSoundStream_SetVelocity, - XRefOne) - - // CDirectSoundStream_SetVelocity+0x25 : call [CDirectSoundVoice_SetVelocity] - XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetVelocity ), - - // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundStream_SetVelocity+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // CDirectSoundStream_SetVelocity+0x2A : retn 0x14 - { 0x2A, 0xC2 }, - { 0x2B, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetVelocity -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetVelocity, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetVelocity+0x21 : call [CDirectSoundStream_SetVelocity] - XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetVelocity ), - - // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundStream_SetVelocity+0x1A : fstp [esp] - { 0x1A, 0xD9 }, - { 0x1B, 0x1C }, - { 0x1C, 0x24 }, - - // CDirectSoundStream_SetVelocity+0x26 : retn 0x14 - { 0x26, 0xC2 }, - { 0x27, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 3911, 1+8, - - XREF_CDirectSoundBuffer_SetVelocity, - XRefOne) - - // CDirectSoundBuffer_SetVelocity+0x20 : call [CDirectSoundVoice_SetVelocity] - XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetVelocity ), - - // CDirectSoundBuffer_SetVelocity+0x06 : fld [ebp+arg_C] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundBuffer_SetVelocity+0x1A : fstp [esp+0x10+var_10] - { 0x1A, 0xD9 }, - { 0x1B, 0x1C }, - { 0x1C, 0x24 }, - - // CDirectSoundBuffer_SetVelocity+0x26 : retn 0x14 - { 0x27, 0x14 }, - { 0x28, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetVelocity -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity] - XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetVelocity ), - - // IDirectSoundBuffer_SetVelocity+0x09 : mov eax, [ebp+arg_0] - { 0x09, 0x8B }, - { 0x0A, 0x45 }, - { 0x0B, 0x08 }, - - // IDirectSoundBuffer_SetVelocity+0x28 : fstp [esp+0x10+var_10] - { 0x28, 0xD9 }, - { 0x29, 0x1C }, - { 0x2A, 0x24 }, - - // IDirectSoundBuffer_SetVelocity+0x32 : retn 0x14 - { 0x33, 0x14 }, - { 0x34, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 3911, 1+11, - - XREF_CDirectSoundStream_SetOutputBuffer, - XRefOne) - - // CDirectSoundStream_SetOutputBuffer+0x22 : call [CDirectSoundVoice_SetOutputBuffer] - XREF_ENTRY( 0x23, XREF_CDirectSoundVoice_SetOutputBuffer ), - - // CDirectSoundStream_SetOutputBuffer+0x00 : push ebx - { 0x00, 0x53 }, - - // CDirectSoundStream_SetOutputBuffer+0x08 : mov esi, dword ptr[esp+10h] - { 0x08, 0x8B }, - { 0x09, 0x74 }, - { 0x0A, 0x24 }, - { 0x0B, 0x10 }, - - // CDirectSoundStream_SetOutputBuffer+0x1A : push dword ptr[esp+14h] - { 0x1A, 0xFF }, - { 0x1B, 0x74 }, - { 0x1C, 0x24 }, - { 0x1D, 0x14 }, - - // CDirectSoundStream_SetOutputBuffer+0x3D : retn 0x14 - { 0x3D, 0xC2 }, - { 0x3E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetI3DL2Source, 3911, 7, - - XREF_CMcpxVoiceClient_SetI3DL2Source, - XRefZero) - - { 0x04, 0x08 }, - { 0x0A, 0x59 }, - { 0x10, 0x80 }, - { 0x16, 0x80 }, - { 0x1C, 0x5F }, - { 0x22, 0x8B }, - { 0x29, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 3911, 1+8, - - XREF_CDirectSoundVoice_SetI3DL2Source, - XRefOne) - - XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_SetI3DL2Source ), - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x0E, 0xD0 }, - { 0x16, 0x10 }, - { 0x1E, 0xE8 }, - { 0x26, 0xF8 }, - { 0x2E, 0xFF }, - { 0x36, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetI3DL2Source ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 3911, 1+8, - - XREF_CDirectSoundStream_SetI3DL2Source, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetI3DL2Source ), - - { 0x01, 0x74 }, - { 0x04, 0x8B }, - { 0x07, 0x08 }, - { 0x0A, 0x24 }, - { 0x0D, 0xC0 }, - { 0x10, 0xE8 }, - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Lock -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Lock, 3911, 1+11, - - XREF_CDirectSoundBuffer_Lock, - XRefOne) - - XREF_ENTRY( 0x23, XREF_CDirectSoundBuffer_GetCurrentPosition ), - - { 0x00, 0x55 }, - - // CDirectSoundBuffer_Lock+0x37 : mov eax, [eax+0x4C] - { 0x37, 0x8B }, - { 0x38, 0x40 }, - { 0x39, 0x4C }, - - // CDirectSoundBuffer_Lock+0x68 : mov [edi], ebx; jz +0x1F - { 0x68, 0x89 }, - { 0x69, 0x1F }, - { 0x6A, 0x74 }, - { 0x6B, 0x1F }, - - // CDirectSoundBuffer_Lock+0x85 : and dword ptr [edx], 0 - { 0x85, 0x83 }, - { 0x86, 0x22 }, - { 0x87, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_Lock -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundBuffer_Lock, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_Lock+0x28 : call [CDirectSoundBuffer_Lock] - XREF_ENTRY( 0x28, XREF_CDirectSoundBuffer_Lock ), - - // IDirectSoundBuffer_Lock+0x03 : push [esp+0x24] - { 0x03, 0xFF }, - { 0x04, 0x75 }, - { 0x05, 0x24 }, - - // IDirectSoundBuffer_Lock+0x11 : add eax, 0xFFFFFFE4 - { 0x11, 0x83 }, - { 0x12, 0xC0 }, - { 0x13, 0xE4 }, - - // IDirectSoundBuffer_Lock+0x2D : retn 0x20 - { 0x2D, 0xC2 }, - { 0x2E, 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_SetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 3911, 11, - - XREF_CMcpxBuffer_SetCurrentPosition, - XRefZero) - - // CMcpxBuffer_SetCurrentPosition+0x25 : mov eax, [esi+0x148] - { 0x25, 0x8B }, - { 0x26, 0x86 }, - { 0x27, 0x48 }, - { 0x28, 0x01 }, - - // CMcpxBuffer_SetCurrentPosition+0x4A : push edi; push 4 - { 0x4A, 0x57 }, - { 0x4B, 0x6A }, - { 0x4C, 0x04 }, - - // CMcpxBuffer_SetCurrentPosition+0x71 : movzx eax, word ptr [eax+2] - { 0x71, 0x0F }, - { 0x72, 0xB7 }, - { 0x73, 0x40 }, - { 0x74, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 3911, 1+11, - - XREF_CDirectSoundBuffer_SetCurrentPosition, - XRefOne) - - // CDirectSoundBuffer_SetCurrentPosition+0x15 : call [CMcpxBuffer_SetCurrentPosition] - XREF_ENTRY( 0x15, XREF_CMcpxBuffer_SetCurrentPosition ), - - // CDirectSoundBuffer_SetCurrentPosition+0x0D : mov eax, [esp+0x10] - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x10 }, - - // CDirectSoundBuffer_SetCurrentPosition+0x11 : mov ecx, [eax+0x20] - { 0x11, 0x8B }, - { 0x12, 0x48 }, - { 0x13, 0x20 }, - - // CDirectSoundBuffer_SetCurrentPosition+0x1D : jz +0x0B - { 0x1D, 0x74 }, - { 0x1E, 0x0B }, - - // CDirectSoundBuffer_SetCurrentPosition+0x2E : retn 0x08 - { 0x2E, 0xC2 }, - { 0x2F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetCurrentPosition -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetCurrentPosition+0x15 : call [CDirectSoundBuffer_SetCurrentPosition] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetCurrentPosition ), - - // IDirectSoundBuffer_SetCurrentPosition+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetCurrentPosition+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetCurrentPosition+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DSound_CRefCount_AddRef -// ****************************************************************** -OOVPA_XREF(DSound_CRefCount_AddRef, 3911, 11, - - XREF_DSound_CRefCount_AddRef, - XRefZero) - - // DSound_CRefCount_AddRef+0x04 : add eax, 4 - { 0x00, 0x56 }, - - // DSound_CRefCount_AddRef+0x0A : inc dword ptr [ecx+4] - { 0x0A, 0xFF }, - { 0x0B, 0x41 }, - { 0x0C, 0x04 }, - - // DSound_CRefCount_AddRef+0x0A : mov, dword ptr [ecx+4] - { 0x0F, 0x8B }, - { 0x10, 0x71 }, - { 0x11, 0x04 }, - - { 0x19, 0xFF }, - { 0x1A, 0x15 }, - - // DSound_CRefCount_AddRef+0x22 : retn 0x04 - { 0x22, 0xC2 }, - { 0x23, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_AddRef -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_AddRef, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_AddRef+0x08 : call [CRefCount_AddRef] - XREF_ENTRY( 0x09, XREF_DSound_CRefCount_AddRef ), - - // CDirectSoundStream_AddRef+0x04 : add eax, 4 - { 0x04, 0x83 }, - { 0x05, 0xC0 }, - { 0x06, 0x04 }, - - // CDirectSoundStream_AddRef+0x0A : push eax - { 0x07, 0x50 }, - - // CDirectSoundStream_AddRef+0x08 : call [CRefCount_AddRef] - { 0x08, 0xE8 }, - - // CDirectSoundStream_AddRef+0x0D : retn 0x04 - { 0x0D, 0xC2 }, - { 0x0E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DSound_CRefCount_Release -// ****************************************************************** -OOVPA_XREF(DSound_CRefCount_Release, 3911, 11, - - XREF_DSound_CRefCount_Release, - XRefZero) - - // DSound_CRefCount_Release+0x04 : add eax, 4 - { 0x00, 0x56 }, - - // DSound_CRefCount_Release+0x0A : dec dword ptr [ecx+4] - { 0x0B, 0xFF }, - { 0x0C, 0x49 }, - { 0x0D, 0x04 }, - - // DSound_CRefCount_Release+0x0A : mov, dword ptr [ecx+4] - { 0x0E, 0x8B }, - { 0x0F, 0x71 }, - { 0x10, 0x04 }, - - { 0x26, 0xFF }, - { 0x27, 0x15 }, - - // DSound_CRefCount_Release+0x30 : retn 0x04 - { 0x30, 0xC2 }, - { 0x31, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Release -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Release, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_Release+0x08 : call [CRefCount_Release] - XREF_ENTRY( 0x09, XREF_DSound_CRefCount_Release ), - - // CDirectSoundStream_Release+0x04 : add eax, 4 - { 0x04, 0x83 }, - { 0x05, 0xC0 }, - { 0x06, 0x04 }, - - // CDirectSoundStream_Release+0x0A : push eax - { 0x07, 0x50 }, - - // CDirectSoundStream_Release+0x08 : call [CRefCount_Release] - { 0x08, 0xE8 }, - - // CDirectSoundStream_Release+0x0D : retn 0x04 - { 0x0D, 0xC2 }, - { 0x0E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::GetCaps -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetCaps, 3911, 8, - - XREF_CDirectSound_GetCaps, - XRefZero) - - { 0x08, 0x8B }, - { 0x12, 0x8D }, - { 0x1C, 0x0C }, - { 0x26, 0xFF }, - { 0x34, 0x03 }, - { 0x3A, 0xDB }, - { 0x48, 0x8B }, - { 0x4E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_GetCaps -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_GetCaps, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSound_GetCaps ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetSpeakerConfig -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetSpeakerConfig, 3911, 15, - - XREF_CDirectSound_GetSpeakerConfig, - XRefZero) - - { 0x00, 0x8B }, - { 0x03, 0x04 }, - - { 0x04, 0x8B }, - { 0x06, 0x08 }, - - { 0x07, 0x8B }, - { 0x09, 0x08 }, - - { 0x0A, 0x8B }, - { 0x0D, 0x08 }, - - // CDirectSound_GetSpeakerConfig+0x0E : and eax, 7FFFFFFFh - { 0x0E, 0x25 }, - { 0x0F, 0xFF }, - { 0x10, 0xFF }, - { 0x11, 0xFF }, - { 0x12, 0x7F }, - - // CDirectSound_GetSpeakerConfig+0x17 : ret 8 - { 0x17, 0xC2 }, - { 0x18, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_GetSpeakerConfig -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_GetSpeakerConfig, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSound_GetSpeakerConfig ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_DownloadEffectsImage -// ****************************************************************** -OOVPA_XREF(CDirectSound_DownloadEffectsImage, 3911, 18, - - XREF_CDirectSound_DownloadEffectsImage, - XRefZero) - - // CDirectSound_DownloadEffectsImage+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_DownloadEffectsImage+0x0A : mov esi,dword ptr [ebp+8] - { 0x0A, 0x8B }, - { 0x0B, 0x75 }, - { 0x0C, 0x08 }, - - // CDirectSound_DownloadEffectsImage+0x0D : push dword ptr [ebp+14h] - { 0x0D, 0xFF }, - { 0x0E, 0x75 }, - { 0x0F, 0x14 }, - - // CDirectSound_DownloadEffectsImage+0x10 : mov ecx,dword ptr [esi+8] - { 0x10, 0x8B }, - { 0x11, 0x4E }, - { 0x12, 0x08 }, - - // CDirectSound_DownloadEffectsImage+0x1A : push dword ptr [ebp+18h] - { 0x1A, 0xFF }, - //{ 0x1B, 0x75 }, - { 0x1C, 0x18 }, - - // CDirectSound_DownloadEffectsImage+0x20 : push dword ptr [ebp+10h] - { 0x20, 0xFF }, - //{ 0x21, 0x75 }, - { 0x22, 0x10 }, - - // CDirectSound_DownloadEffectsImage+0x23 : push dword ptr [ebp+0Ch] - { 0x23, 0xFF }, - //{ 0x24, 0x75 }, - { 0x25, 0x0C }, - - // CDirectSound_DownloadEffectsImage+0x41 : ret 14h - { 0x41, 0xC2 }, - { 0x42, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_DownloadEffectsImage -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_DownloadEffectsImage, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1F, XREF_CDirectSound_DownloadEffectsImage ), - - // IDirectSound_DownloadEffectsImage+0x03 : push [ebp+0x18] - { 0x03, 0xFF }, - { 0x04, 0x75 }, - { 0x05, 0x18 }, - - // IDirectSound_DownloadEffectsImage+0x06 : mov eax, [ebp+0x08] - { 0x06, 0x8B }, - { 0x07, 0x45 }, - { 0x08, 0x08 }, - - // IDirectSound_DownloadEffectsImage+0x11 : add eax, 0xFFFFFFF8 - { 0x11, 0x83 }, - { 0x12, 0xC0 }, - { 0x13, 0xF8 }, - - // IDirectSound_DownloadEffectsImage+0x24 : retn 0x14 - { 0x24, 0xC2 }, - { 0x25, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetEffectData -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetEffectData, 3911, 18, - - XREF_CDirectSound_GetEffectData, - XRefZero) - - // CDirectSound_GetEffectData+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_GetEffectData+0x0A : push dword ptr [ebp+18h] - { 0x0A, 0xFF }, - { 0x0B, 0x75 }, - { 0x0C, 0x18 }, - - // CDirectSound_GetEffectData+0x0F : push dword ptr [ebp+14h] - { 0x0F, 0xFF }, - { 0x10, 0x75 }, - { 0x11, 0x14 }, - - // CDirectSound_GetEffectData+0x12 : mov eax, dword ptr [ebp+8] - { 0x12, 0x8B }, - { 0x13, 0x45 }, - { 0x14, 0x08 }, - - // CDirectSound_GetEffectData+0x15 : push dword ptr [ebp+10h] - { 0x15, 0xFF }, - //{ 0x16, 0x75 }, - { 0x17, 0x10 }, - - // CDirectSound_GetEffectData+0x18 : mov eax, dword ptr [eax+0Ch] - { 0x18, 0x8B }, - //{ 0x19, 0x40 }, - { 0x1A, 0x0C }, - - // CDirectSound_GetEffectData+0x1B : push dword ptr [ebp+0Ch] - { 0x1B, 0xFF }, - //{ 0x1C, 0x75 }, - { 0x1D, 0x0C }, - - // CDirectSound_GetEffectData+0x3F : ret 14h - { 0x3F, 0xC2 }, - { 0x40, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_GetEffectData -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_GetEffectData, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1F, XREF_CDirectSound_GetEffectData ), - - // IDirectSound_GetEffectData+0x03 : push [ebp+0x18] - { 0x03, 0xFF }, - { 0x04, 0x75 }, - { 0x05, 0x18 }, - - // IDirectSound_GetEffectData+0x06 : mov eax, [ebp+0x08] - { 0x06, 0x8B }, - { 0x07, 0x45 }, - { 0x08, 0x08 }, - - // IDirectSound_GetEffectData+0x11 : add eax, 0xFFFFFFF8 - { 0x11, 0x83 }, - { 0x12, 0xC0 }, - { 0x13, 0xF8 }, - - // IDirectSound_GetEffectData+0x24 : retn 0x14 - { 0x24, 0xC2 }, - { 0x25, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetEffectData -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetEffectData, 3911, 21, - - XREF_CDirectSound_SetEffectData, - XRefZero) - - // CDirectSound_GetEffectData+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_GetEffectData+0x0A : mov ecx,dword ptr [ebp+1Ch] - { 0x0A, 0x8B }, - { 0x0B, 0x4D }, - { 0x0C, 0x1C }, - - // CDirectSound_GetEffectData+0x0A : push dword ptr [ebp+18h] - { 0x13, 0xFF }, - { 0x14, 0x75 }, - { 0x15, 0x18 }, - - // CDirectSound_GetEffectData+0x0F : push dword ptr [ebp+14h] - { 0x18, 0xFF }, - { 0x19, 0x75 }, - { 0x1A, 0x14 }, - - // CDirectSound_GetEffectData+0x12 : mov eax, dword ptr [ebp+8] - { 0x1B, 0x8B }, - { 0x1C, 0x45 }, - { 0x1D, 0x08 }, - - // CDirectSound_GetEffectData+0x15 : push dword ptr [ebp+10h] - { 0x1E, 0xFF }, - //{ 0x1F, 0x75 }, - { 0x20, 0x10 }, - - // CDirectSound_GetEffectData+0x18 : mov eax, dword ptr [eax+0Ch] - { 0x21, 0x8B }, - //{ 0x22, 0x40 }, - { 0x23, 0x0C }, - - // CDirectSound_GetEffectData+0x1B : push dword ptr [ebp+0Ch] - { 0x24, 0xFF }, - //{ 0x25, 0x75 }, - { 0x26, 0x0C }, - - // CDirectSound_GetEffectData+0x3F : ret 18h - { 0x48, 0xC2 }, - { 0x49, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetEffectData -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_SetEffectData, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x22, XREF_CDirectSound_SetEffectData ), - - // IDirectSound_SetEffectData+0x03 : push [ebp+0x1C] - { 0x03, 0xFF }, - { 0x04, 0x75 }, - { 0x05, 0x1C }, - - // IDirectSound_SetEffectData+0x06 : mov eax, [ebp+0x08] - { 0x06, 0x8B }, - { 0x07, 0x45 }, - { 0x08, 0x08 }, - - // IDirectSound_SetEffectData+0x11 : add eax, 0xFFFFFFF8 - { 0x11, 0x83 }, - { 0x12, 0xC0 }, - { 0x13, 0xF8 }, - - // IDirectSound_SetEffectData+0x27 : retn 0x18 - { 0x27, 0xC2 }, - { 0x28, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_CommitEffectData -// ****************************************************************** -OOVPA_XREF(CDirectSound_CommitEffectData, 3911, 12, - - XREF_CDirectSound_CommitEffectData, - XRefZero) - - // CDirectSound_CommitEffectData+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_CommitEffectData+0x08 : mov eax, dword ptr [esp+8] - { 0x08, 0x8B }, - { 0x0B, 0x08 }, - - // CDirectSound_CommitEffectData+0x0C : mov eax, dword ptr [esp+0Ch] - { 0x0C, 0x8B }, - { 0x0E, 0x0C }, - - // CDirectSound_CommitEffectData+0x15 : push 0; push 0 - { 0x15, 0x6A }, - { 0x16, 0x00 }, - { 0x17, 0x6A }, - { 0x18, 0x00 }, - - // CDirectSound_CommitEffectData+0x20 : pop esi - { 0x20, 0x5E }, - - // CDirectSound_CommitEffectData+0x30 : retn 0x04 - { 0x30, 0xC2 }, - { 0x31, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_CommitEffectData -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_CommitEffectData, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSound_CommitEffectData ), - - // IDirectSound_CommitEffectData+0x04 : mov ecx, eax - { 0x04, 0x8B }, - { 0x05, 0xC8 }, - - // IDirectSound_CommitEffectData+0x06 : add eax, 0xFFFFFFF8 - { 0x06, 0x83 }, - { 0x07, 0xC0 }, - { 0x08, 0xF8 }, - - // IDirectSound_CommitEffectData+0x15 : retn 0x04 - { 0x15, 0xC2 }, - { 0x16, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::EnableHeadphones -// ****************************************************************** -OOVPA_XREF(CDirectSound_EnableHeadphones, 3911, 18, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) - - { 0x00, 0x55 }, - - { 0x25, 0x0F }, - { 0x26, 0x95 }, - { 0x27, 0xC2 }, - - { 0x38, 0x81 }, - { 0x39, 0xCB }, - { 0x3A, 0x00 }, - { 0x3B, 0x00 }, - { 0x3C, 0x00 }, - { 0x3D, 0x80 }, - - { 0x40, 0x81 }, - { 0x41, 0xE3 }, - { 0x42, 0xFF }, - { 0x43, 0xFF }, - { 0x44, 0xFF }, - { 0x45, 0x7F }, - - { 0xCB, 0xC2 }, - { 0xCC, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_EnableHeadphones -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_EnableHeadphones, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSound_EnableHeadphones ), - - // IDirectSound_EnableHeadphones+0x04 : push dword ptr [esp+8] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSound_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xF8 }, - - // IDirectSound_EnableHeadphones+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU_SetMixBinHeadroom -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_SetMixBinHeadroom, 3911, 12, - - XREF_CMcpxAPU_SetMixBinHeadroom, - XRefZero) - - // CMcpxAPU_SetMixBinHeadroom+0x04 : cmp dword ptr ds:[0xFE820010], 4 - { 0x12, 0x83 }, - { 0x13, 0x3D }, - { 0x14, 0x10 }, - { 0x15, 0x00 }, - { 0x16, 0x82 }, - { 0x17, 0xFE }, - { 0x18, 0x04 }, - - // CMcpxAPU_SetMixBinHeadroom+0x1F : and edx, 7 - { 0x1F, 0x83 }, - { 0x20, 0xE2 }, - { 0x21, 0x07 }, - - // CMcpxAPU_SetMixBinHeadroom+0x2D : jl +0xD8 - { 0x2D, 0x7C }, - { 0x2E, 0xD8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetMixBinHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 3911, 1+8, - - XREF_CDirectSound_SetMixBinHeadroom, - XRefOne) - - // CDirectSound_SetMixBinHeadroom+0x19 : call [CMcpxAPU_SetMixBinHeadroom] - XREF_ENTRY( 0x19, XREF_CMcpxAPU_SetMixBinHeadroom ), - - // CDirectSound_SetMixBinHeadroom+0x00 : push esi; push edi - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - // CDirectSound_SetMixBinHeadroom+0x07 : push [esp+0x14] - { 0x07, 0xFF }, - { 0x08, 0x74 }, - { 0x09, 0x24 }, - { 0x0A, 0x14 }, - - // CDirectSound_SetMixBinHeadroom+0x21 : jz +0x0B - { 0x21, 0x74 }, - { 0x22, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetMixBinHeadroom -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound_SetMixBinHeadroom] - XREF_ENTRY( 0x19, XREF_CDirectSound_SetMixBinHeadroom ), - - // IDirectSound_SetMixBinHeadroom+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSound_SetMixBinHeadroom+0x08 : mov ecx, eax - { 0x08, 0x8B }, - { 0x09, 0xC8 }, - - // IDirectSound_SetMixBinHeadroom+0x0E : add eax, 0xFFFFFFF8 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xF8 }, - - // IDirectSound_SetMixBinHeadroom+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU::Set3dParameters -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_Set3dParameters, 3911, 7, - - XREF_CMcpxAPU_Set3dParameters, - XRefZero) - - { 0x05, 0x57 }, - { 0x0C, 0xB8 }, - { 0x13, 0x80 }, - { 0x1A, 0x83 }, - { 0x21, 0x74 }, - { 0x2C, 0x33 }, - { 0x2F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetAllParameters, 3911, 1+8, - - XREF_CDirectSound_SetAllParameters, - XRefOne) - - XREF_ENTRY( 0x1F, XREF_CMcpxAPU_Set3dParameters ), - - { 0x00, 0x56 }, - { 0x07, 0x8B }, - { 0x0E, 0xD0 }, - { 0x16, 0x10 }, - { 0x1E, 0xE8 }, - { 0x26, 0xF8 }, - { 0x2E, 0xFF }, - { 0x36, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetAllParameters -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_SetAllParameters, 3911, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSound_SetAllParameters ), - - // IDirectSound_SetAllParameters+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSound_SetAllParameters+0x08 : mov ecx, eax - { 0x08, 0x8B }, - { 0x09, 0xC8 }, - - // IDirectSound_SetAllParameters+0x0E : add eax, 0xFFFFFFF8 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xF8 }, - - // IDirectSound_SetAllParameters+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU_Set3dDistanceFactor -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_Set3dDistanceFactor, 3911, 13, - - XREF_CMcpxAPU_Set3dDistanceFactor, - XRefZero) - - // Unique value difference against CMcpxAPU_Set3dDopperFactor's unique value. - // CMcpxAPU_Set3dDistanceFactor+0x04 : or dword ptr [ecx+0x01B4], 0x60 - { 0x04, 0x83 }, - { 0x05, 0x89 }, - { 0x06, 0xB4 }, - { 0x07, 0x01 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x60 }, - - // CMcpxAPU_Set3dDistanceFactor+0x0B : cmp [esp+0x08], 0 - { 0x0B, 0x83 }, - { 0x0C, 0x7C }, - { 0x0D, 0x24 }, - { 0x0E, 0x08 }, - - // Unique value difference against CMcpxAPU_Set3dDopperFactor's unique value. - // CMcpxAPU_Set3dDistanceFactor+0x12 : mov [ecx+0x0178], eax - { 0x12, 0x78 }, - { 0x13, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetDistanceFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactor, 3911, 1+11, - - XREF_CDirectSound_SetDistanceFactor, - XRefOne) - - // CDirectSound_SetDistanceFactor+0x23 : call [CMcpxAPU_Set3dDistanceFactor] - XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dDistanceFactor ), - - // CDirectSound_SetDistanceFactor+0x00 : push esi; push edi - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - // CDirectSound_SetDistanceFactor+0x07 : fld [esp+0x10] - { 0x07, 0xD9 }, - { 0x08, 0x44 }, - { 0x09, 0x24 }, - { 0x0A, 0x10 }, - - // CDirectSound_SetDistanceFactor+0x11 : not eax; and eax, 1 - { 0x11, 0xF7 }, - { 0x12, 0xD0 }, - { 0x13, 0x83 }, - { 0x14, 0xE0 }, - { 0x15, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetDistanceFactor -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_SetDistanceFactor, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound_SetDistanceFactor] - XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDistanceFactor ), - - // IDirectSound_SetDistanceFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSound_SetDistanceFactor+0x0C : push ecx - { 0x0C, 0x51 }, - - // IDirectSound_SetDistanceFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xF8 }, - - // IDirectSound_SetDistanceFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, - { 0x22, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU::Set3dDopplerFactor -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_Set3dDopplerFactor, 3911, 13, - - XREF_CMcpxAPU_Set3dDopplerFactor, - XRefZero) - - // Unique value difference against CMcpxAPU_Set3dDistanceFactor's unique value. - // CMcpxAPU_Set3dDopplerFactor+0x04 : or dword ptr [ecx+0x01B4], 0x40 - { 0x04, 0x83 }, - { 0x05, 0x89 }, - { 0x06, 0xB4 }, - { 0x07, 0x01 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x40 }, - - // CMcpxAPU_Set3dDopplerFactor+0x0B : cmp [esp+0x08], 0 - { 0x0B, 0x83 }, - { 0x0C, 0x7C }, - { 0x0D, 0x24 }, - { 0x0E, 0x08 }, - - // Unique value difference against CMcpxAPU_Set3dDistanceFactor's unique value. - // CMcpxAPU_Set3dDopplerFactor+0x12 : mov [ecx+0x0180], eax - { 0x12, 0x80 }, - { 0x13, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDopplerFactor, 3911, 1+8, - - XREF_CDirectSound_SetDopplerFactor, - XRefOne) - - XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dDopplerFactor ), - - { 0x07, 0xD9 }, - { 0x0E, 0x44 }, - { 0x16, 0x50 }, - { 0x1E, 0x0C }, - { 0x27, 0x85 }, - { 0x32, 0xFF }, - { 0x38, 0x8B }, - { 0x3E, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetDopplerFactor -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_SetDopplerFactor, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDopplerFactor ), - - // IDirectSound_SetDopplerFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSound_SetDopplerFactor+0x0C : push ecx - { 0x0C, 0x51 }, - - // IDirectSound_SetDopplerFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xF8 }, - - // IDirectSound_SetDopplerFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, - { 0x22, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU_Set3dVelocity -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3911, 12, - - XREF_CMcpxAPU_Set3dVelocity, - XRefZero) - - // CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd - { 0x0C, 0xA5 }, - { 0x0D, 0xA5 }, - { 0x0E, 0xA5 }, - - // CMcpxAPU_Set3dVelocity+0x0F : or dword ptr [ecx+0x01B4], 0x40 - { 0x0F, 0x83 }, - { 0x10, 0x89 }, - { 0x11, 0xB4 }, - { 0x12, 0x01 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x40 }, - - // CMcpxAPU_Set3dVelocity+0x28 : retn 0x08 - { 0x28, 0xC2 }, - { 0x29, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocity, 3911, 1+9, - - XREF_CDirectSound_SetVelocity, - XRefOne) - - // CDirectSound_SetVelocity+0x35 : call [CMcpxAPU_Set3dVelocity] - XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dVelocity ), - - // CDirectSound_SetVelocity+0x06 : push esi; push edi - { 0x06, 0x56 }, - { 0x07, 0x57 }, - - // CDirectSound_SetVelocity+0x24 : not eax; and eax, 1 - { 0x24, 0xF7 }, - { 0x25, 0xD0 }, - { 0x26, 0x83 }, - { 0x27, 0xE0 }, - { 0x28, 0x01 }, - - // CDirectSound_SetVelocity+0x4F : retn 0x14 - { 0x4F, 0xC2 }, - { 0x50, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetVelocity -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSound_SetVelocity, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_SetVelocity+0x2D : call [CDirectSound_SetVelocity] - XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ), - - // IDirectSound_SetVelocity+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // IDirectSound_SetVelocity+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // IDirectSound_SetVelocity+0x1B : neg ecx - { 0x1B, 0xF7 }, - { 0x1C, 0xD9 }, - - // IDirectSound_SetVelocity+0x32 : retn 0x14 - { 0x32, 0xC2 }, - { 0x33, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetTime -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_XREF(CDirectSound_GetTime, 3911, 8, - - XREF_CDirectSound_GetTime, - XRefZero) - - // CDirectSound_GetTime+0x00 : push dword ptr [esp+8] - { 0x00, 0xFF }, - { 0x02, 0x24 }, - - // CDirectSound_GetTime+0x04 : call dword ptr [KeQuerySystemTime] - { 0x04, 0xFF }, - { 0x05, 0x15 }, - - // CDirectSound_GetTime+0x0A : xor eax,eax - { 0x0A, 0x33 }, - { 0x0B, 0xC0 }, - - // CDirectSound_GetTime+0x0C : retn 0x08 - { 0x0C, 0xC2 }, - { 0x0D, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_GetTime -// ****************************************************************** -//Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSound_GetTime, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_GetTime+0x10 : call [CDirectSound_GetTime] - XREF_ENTRY( 0x15, XREF_CDirectSound_GetTime ), - - // IDirectSound_GetTime+0x0A : and eax, 0xFFFFFFF8 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xF8 }, - - // IDirectSound_GetTime+0x0D : neg ecx - { 0x0D, 0xF7 }, - { 0x0E, 0xD9 }, - - // IDirectSound_GetTime+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU_Set3dRolloffFactor -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_Set3dRolloffFactor, 3911, 13, - - XREF_CMcpxAPU_Set3dRolloffFactor, - XRefZero) - - // CMcpxAPU_Set3dRolloffFactor+0x04 : or dword ptr [ecx+0x01B4], 0x04 - { 0x04, 0x83 }, - { 0x05, 0x89 }, - { 0x06, 0xB4 }, - { 0x07, 0x01 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0x04 }, - - // CMcpxAPU_Set3dRolloffFactor+0x0B : cmp [esp+0x08], 0 - { 0x0B, 0x83 }, - { 0x0C, 0x7C }, - { 0x0D, 0x24 }, - { 0x0E, 0x08 }, - - // CMcpxAPU_Set3dRolloffFactor+0x12 : mov [ecx+0x017C], eax - { 0x12, 0x7C }, - { 0x13, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetRolloffFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactor, 3911, 1+11, - - XREF_CDirectSound_SetRolloffFactor, - XRefOne) - - // CDirectSound_SetRolloffFactor+0x23 : call [CMcpxAPU_Set3dRolloffFactor] - XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dRolloffFactor ), - - // CDirectSound_SetRolloffFactor+0x00 : push esi; push edi - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - // CDirectSound_SetRolloffFactor+0x07 : fld [esp+0x10] - { 0x07, 0xD9 }, - { 0x08, 0x44 }, - { 0x09, 0x24 }, - { 0x0A, 0x10 }, - - // CDirectSound_SetRolloffFactor+0x11 : not eax; and eax, 1 - { 0x11, 0xF7 }, - { 0x12, 0xD0 }, - { 0x13, 0x83 }, - { 0x14, 0xE0 }, - { 0x15, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetRolloffFactor -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSound_SetRolloffFactor, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound_SetRolloffFactor] - XREF_ENTRY( 0x1D, XREF_CDirectSound_SetRolloffFactor ), - - // IDirectSound_SetRolloffFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSound_SetRolloffFactor+0x0C : push ecx - { 0x0C, 0x51 }, - - // IDirectSound_SetRolloffFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xF8 }, - - // IDirectSound_SetRolloffFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, - { 0x22, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxAPU::SetI3DL2Listener -// ****************************************************************** -OOVPA_XREF(CMcpxAPU_SetI3DL2Listener, 3911, 13, - - XREF_CMcpxAPU_SetI3DL2Listener, - XRefZero) - - // CMcpxAPU_SetI3DL2Listener+0x08 : push 0x0C; pop ecx - { 0x08, 0x6A }, - { 0x09, 0x0C }, - { 0x0A, 0x59 }, - - // CMcpxAPU_SetI3DL2Listener+0x13 : or word ptr [ecx+0x01B4], 0x0180 - { 0x13, 0x66 }, - { 0x14, 0x81 }, - { 0x15, 0x88 }, - { 0x16, 0xB4 }, - { 0x17, 0x01 }, - { 0x18, 0x00 }, - { 0x1A, 0x80 }, - { 0x1B, 0x01 }, - - // CMcpxAPU_SetI3DL2Listener+0x30 : retn 0x08 - { 0x30, 0xC2 }, - { 0x31, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetI3DL2Listener -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetI3DL2Listener, 3911, 1+7, - - XREF_CDirectSound_SetI3DL2Listener, - XRefOne) - - XREF_ENTRY( 0x2F, XREF_CMcpxAPU_SetI3DL2Listener ), - - { 0x08, 0xF8 }, - { 0x12, 0x0C }, - { 0x1C, 0x18 }, - { 0x26, 0x51 }, - { 0x33, 0x8B }, - { 0x3E, 0xFF }, - { 0x44, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_SetI3DL2Listener -// ****************************************************************** -OOVPA_XREF(IDirectSound_SetI3DL2Listener, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSound_SetI3DL2Listener ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetVolume -// ****************************************************************** -// NOTE: IDirectSoundStream_SetVolume has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetVolume, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetVolume+0x0C : call [CMcpxVoiceClient_SetVolume] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetVolume ), - - // CDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetVolume+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetVolume+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetVolume -// ****************************************************************** -// NOTE: CDirectSoundStream_SetVolume has the same asm code as this function. -OOVPA_XREF(IDirectSoundStream_SetVolume, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetVolume+0x0C : call [CMcpxVoiceClient_SetVolume] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetVolume ), - - // IDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetVolume+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetVolume+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetPitch -// ****************************************************************** -// NOTE: IDirectSoundStream_SetPitch has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetPitch, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetPitch+0x0C : call [CMcpxVoiceClient_SetPitch] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetPitch ), - - // CDirectSoundStream_SetPitch+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetPitch+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetPitch+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetPitch -// ****************************************************************** -// NOTE: CDirectSoundStream_SetPitch has the same asm code as this function. -OOVPA_XREF(IDirectSoundStream_SetPitch, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetPitch+0x0C : call [CMcpxVoiceClient_SetPitch] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetPitch ), - - // IDirectSoundStream_SetPitch+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetPitch+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetPitch+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetLFO -// ****************************************************************** -// NOTE: IDirectSoundStream_SetLFO has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetLFO, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetLFO+0x0C : call [CMcpxVoiceClient_SetLFO] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetLFO ), - - // CDirectSoundStream_SetLFO+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetLFO+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetLFO+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetLFO -// ****************************************************************** -// NOTE: CDirectSoundStream_SetLFO has the same asm code as this function. -OOVPA_XREF(IDirectSoundStream_SetLFO, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetLFO+0x0C : call [CMcpxVoiceClient_SetLFO] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetLFO ), - - // IDirectSoundStream_SetLFO+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetLFO+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetLFO+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetEG -// ****************************************************************** -// NOTE: IDirectSoundStream_SetEG has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetEG, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetEG+0x0C : call [CMcpxVoiceClient_SetEG] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetEG ), - - // CDirectSoundStream_SetEG+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetEG+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetEG+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetEG -// ****************************************************************** -// NOTE: CDirectSoundStream_SetEG has the same asm code as this function. -OOVPA_XREF(IDirectSoundStream_SetEG, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetEG+0x0C : call [CMcpxVoiceClient_SetEG] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetEG ), - - // IDirectSoundStream_SetEG+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetEG+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetEG+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetFilter -// ****************************************************************** -// NOTE: IDirectSoundStream_SetFilter has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetFilter, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetFilter+0x0C : call [CMcpxVoiceClient_SetFilter] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFilter ), - - // CDirectSoundStream_SetFilter+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetFilter+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetFilter+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetFilter -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetFilter, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetFilter+0x0C : call [CMcpxVoiceClient_SetFilter] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFilter ), - - // IDirectSoundStream_SetFilter+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetFilter+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetFilter+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetHeadroom -// ****************************************************************** -// NOTE: IDirectSoundStream_SetHeadroom has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetHeadroom+0x0C : call [CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetHeadroom ), - - // CDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetHeadroom+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetHeadroom+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetHeadroom -// ****************************************************************** -// NOTE: CDirectSoundStream_SetHeadroom has the same asm code as this function. -OOVPA_XREF(IDirectSoundStream_SetHeadroom, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetHeadroom+0x0C : call [CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetHeadroom ), - - // IDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetHeadroom+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetHeadroom+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetFrequency -// ****************************************************************** -// NOTE: IDirectSoundStream_SetFrequency has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetFrequency, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice_SetFrequency] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFrequency ), - - // CDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetFrequency+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetFrequency+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetFrequency -// ****************************************************************** -// NOTE: CDirectSoundStream_SetFrequency has the same asm code as this function. -OOVPA_XREF(IDirectSoundStream_SetFrequency, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice_SetFrequency] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFrequency ), - - // IDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetFrequency+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetFrequency+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMixBins -// ****************************************************************** -// NOTE: IDirectSoundStream_SetMixBins has the same asm code as this function. -OOVPA_XREF(CDirectSoundStream_SetMixBins, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_SetMixBins+0x0C : call [CDirectSoundVoice_SetMixBins] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetMixBins ), - - // CDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // CDirectSoundStream_SetMixBins+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // CDirectSoundStream_SetMixBins+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetMixBins -// ****************************************************************** -// NOTE: CDirectSoundStream_SetMixBins has the same asm code as this function. -OOVPA_XREF(IDirectSoundStream_SetMixBins, 3911, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetMixBins+0x0C : call [CDirectSoundVoice_SetMixBins] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetMixBins ), - - // IDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundStream_SetMixBins+0x08 : add eax, 0x04 - { 0x08, 0x83 }, - { 0x09, 0xC0 }, - { 0x0A, 0x04 }, - - // IDirectSoundStream_SetMixBins+0x11 : retn 0x08 - { 0x11, 0xC2 }, - { 0x12, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetOutputBuffer, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetOutputBuffer+0x00 : jmp [CDirectSoundStream_SetOutputBuffer] - XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetOutputBuffer ), - - // IDirectSoundStream_SetOutputBuffer+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetMixBinVolumes -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetMixBinVolumes_12, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetMixBinVolumes_12+0x00 : jmp [CDirectSoundStream_SetMixBinVolumes_12] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMixBinVolumes_12), - - // IDirectSoundStream_SetMixBinVolumes_12+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetAllParameters -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetAllParameters, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetAllParameters+0x00 : jmp [CDirectSoundStream_SetAllParameters] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetAllParameters), - - // IDirectSoundStream_SetAllParameters+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetConeAngles -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetConeAngles, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetConeAngles+0x00 : jmp [CDirectSoundStream_SetConeAngles] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetConeAngles), - - // IDirectSoundStream_SetConeAngles+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetConeOutsideVolume, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetConeOutsideVolume+0x00 : jmp [CDirectSoundStream_SetConeOutsideVolume] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetConeOutsideVolume), - - // IDirectSoundStream_SetConeOutsideVolume+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetMode -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_SetMode, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetMode+0x00 : jmp [CDirectSoundStream_SetMode] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMode), - - // IDirectSoundStream_SetMode+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetI3DL2Source -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundStream_SetI3DL2Source, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetI3DL2Source+0x00 : jmp [CDirectSoundStream_SetI3DL2Source] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetI3DL2Source), - - // IDirectSoundStream_SetI3DL2Source+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_Pause -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(IDirectSoundStream_Pause, 3911, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_Pause+0x00 : jmp [CDirectSoundStream_Pause] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_Pause), - - // IDirectSoundStream_Pause+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Pause -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Pause, 3911, 12, - - XREF_CMcpxStream_Pause, - XRefZero) - - { 0x00, 0x55 }, - - { 0x16, 0x8B }, - { 0x17, 0x46 }, - - { 0x19, 0x83 }, - { 0x1A, 0xC8 }, - { 0x1B, 0x04 }, - - { 0x27, 0x83 }, - { 0x28, 0xE0 }, - { 0x29, 0xFB }, - - { 0x44, 0xC9 }, - - { 0x45, 0xC2 }, - { 0x46, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * XAudioCreatePcmFormat -// ****************************************************************** -OOVPA_NO_XREF(XAudioCreatePcmFormat, 3911, 11) - - { 0x00, 0x8B }, - - { 0x11, 0x02 }, - { 0x18, 0x0E }, - { 0x2E, 0x10 }, - - //XAudioCreatePcmFormat+0x10 : mov word ptr [ecx],1 - { 0x34, 0x66 }, - { 0x35, 0xC7 }, - { 0x36, 0x01 }, - { 0x37, 0x01 }, - { 0x38, 0x00 }, - - { 0x47, 0xC2 }, - { 0x48, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * XAudioCreateAdpcmFormat -// ****************************************************************** -OOVPA_NO_XREF(XAudioCreateAdpcmFormat, 3911, 14) - - { 0x00, 0x8B }, - { 0x04, 0x8B }, - { 0x09, 0x8B }, - - //XAudioCreateAdpcmFormat+0x10 : mov word ptr [edx],69h - { 0x10, 0x66 }, - { 0x11, 0xC7 }, - { 0x12, 0x02 }, - { 0x13, 0x69 }, - { 0x14, 0x00 }, - - { 0x20, 0x04 }, - - { 0x22, 0xE8 }, - - { 0x38, 0x02 }, - - { 0x3E, 0x40 }, - - { 0x41, 0xC2 }, - { 0x42, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IsValidFormat -// ****************************************************************** -OOVPA_NO_XREF(IsValidFormat, 3911, 10) - - { 0x00, 0x8B }, - { 0x04, 0x0F }, - { 0x07, 0x48 }, - - //IsValidFormat+0x10 : sub eax,68h - { 0x0A, 0x83 }, - { 0x0B, 0xE8 }, - { 0x0C, 0x68 }, - - { 0x14, 0xE8 }, - - { 0x1C, 0xE8 }, - - { 0x21, 0xC2 }, - { 0x22, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * XFileCreateMediaObject -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_XREF(XFileCreateMediaObject, 3911, 14, - - XRefNoSaveIndex, - XRefZero) - - { 0x00, 0x55 }, - { 0x08, 0xE8 }, - - { 0x0D, 0x85 }, - { 0x0E, 0xC0 }, - { 0x0F, 0x74 }, - { 0x10, 0x16 }, - { 0x11, 0x83 }, - { 0x12, 0x60 }, - { 0x13, 0x04 }, - { 0x14, 0x00 }, - { 0x15, 0xC7 }, - { 0x16, 0x00 }, - - { 0x78, 0xC2 }, - { 0x79, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * XWaveFileCreateMediaObject -// ****************************************************************** -// Generic OOVPA as of 3911 and newer -OOVPA_NO_XREF(XWaveFileCreateMediaObject, 3911, 14) - - { 0x00, 0x55 }, - { 0x07, 0x5C }, - - { 0x53, 0x8B }, - { 0x54, 0x4D }, - { 0x55, 0x10 }, - { 0x56, 0x89 }, - { 0x57, 0x01 }, - { 0x58, 0x8D }, - { 0x59, 0x45 }, - { 0x5A, 0xFC }, - { 0x5B, 0x50 }, - { 0x5C, 0xE8 }, - - { 0x65, 0xC2 }, - { 0x66, 0x0C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl deleted file mode 100644 index cb22053b4..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ /dev/null @@ -1,113 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.3936.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CSensaura3d::GetFullHRTFFilterPair -// ****************************************************************** -OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3936, 9, - - XREF_CSensaura3d_GetFullHRTFFilterPair, - XRefZero) - - { 0x05, 0x0C }, - { 0x0E, 0xD9 }, - { 0x20, 0xEB }, - { 0x28, 0xD9 }, - { 0x30, 0x6A }, - { 0xAA, 0xEB }, - { 0xAB, 0x17 }, - { 0xAC, 0xD8 }, - { 0xAD, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Flush, 3936, 15, - - XREF_CMcpxStream_Flush, - XRefZero) - - { 0x08, 0xF6 }, - { 0x12, 0xF6 }, - - { 0x22, 0x33 }, - { 0x24, 0x33 }, - - { 0x2F, 0x83 }, - { 0x30, 0xFF }, - { 0x31, 0x03 }, - - { 0x4D, 0xE8 }, - - //CMcpxStream_Flush+0x54 : e__,0x80004004 (unique value) - { 0x55, 0x04 }, - { 0x56, 0x40 }, - { 0x57, 0x00 }, - { 0x58, 0x80 }, - - { 0x5F, 0xE8 }, - - { 0xA1, 0xC9 }, - { 0xA2, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CSensaura3d_GetLiteHRTFFilterPair -// ****************************************************************** -OOVPA_XREF(CSensaura3d_GetLiteHRTFFilterPair, 3936, 10, - - XREF_CSensaura3d_GetLiteHRTFFilterPair, - XRefZero) - - //CSensaura3d_GetLiteHRTFFilterPair+0x00 : push ebp - { 0x00, 0x55 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x14 : push ecx - { 0x15, 0x51 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x22 : push 3 - { 0x1F, 0x6A }, - { 0x20, 0x03 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x22 : idiv eax, ecx - { 0x22, 0xF7 }, - { 0x23, 0xF9 }, - - //CSensaura3d_GetLiteHRTFFilterPair+0x24 : cmp dword ptr [ebp+10h], 0 - { 0x36, 0x83 }, - { 0x37, 0x7D }, - { 0x38, 0x10 }, - { 0x39, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl deleted file mode 100644 index d8c4e9967..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ /dev/null @@ -1,4234 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4039.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 RadWolfie -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * DirectSoundCreate -// ****************************************************************** -OOVPA_NO_XREF(DirectSoundCreate, 4039, 9) - - // DirectSoundCreate+0x0B : mov esi, eax - { 0x0B, 0x8B }, - { 0x0C, 0xF0 }, - - // DirectSoundCreate+0x11 : call [addr] - { 0x11, 0xE8 }, - - // DirectSoundCreate+0x1A : jl +0x13 - { 0x1A, 0x7C }, - { 0x1B, 0x13 }, - - // DirectSoundCreate+0x26 : sbb ecx, ecx - { 0x26, 0x1B }, - { 0x27, 0xC9 }, - - // DirectSoundCreate+0x43 : retn 0x0C - { 0x43, 0xC2 }, - { 0x44, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundCreateBuffer -// ****************************************************************** -OOVPA_XREF(DirectSoundCreateBuffer, 4039, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // DirectSoundCreateBuffer+0x2B : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY(0x2C, XREF_CDirectSound_CreateSoundBuffer), - - // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, - { 0x05, 0x65 }, - { 0x06, 0xFC }, - - // DirectSoundCreateBuffer+0x08 : push esi; push edi - { 0x08, 0x56 }, - { 0x09, 0x57 }, - - // DirectSoundCreateBuffer+0x32 : lea eax, [ebp-0x04] - { 0x32, 0x8D }, - { 0x33, 0x45 }, - { 0x34, 0xFC }, - - // DirectSoundCreateBuffer+0x4F : retn 0x08 - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CreateSoundBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4039, 15, - - XREF_CDirectSound_CreateSoundBuffer, - XRefZero) - - // CDirectSound_CreateSoundBuffer+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_CreateSoundBuffer+0x25 : mov eax, 0x80004005 - { 0x25, 0xB8 }, - { 0x26, 0x05 }, - { 0x27, 0x40 }, - { 0x29, 0x80 }, - - // CDirectSound_CreateSoundBuffer+0x2E : push 0x24 - { 0x2E, 0x6A }, - { 0x2F, 0x24 }, - - // CDirectSound_CreateSoundBuffer+0x4C : add esi, 0x7FF8FFF2 - { 0x4C, 0x81 }, - { 0x4D, 0xE6 }, - { 0x4E, 0xF2 }, - { 0x4F, 0xFF }, - { 0x50, 0xF8 }, - { 0x51, 0x7F }, - - // CDirectSound_CreateSoundBuffer+0x9C : retn 0x10 - { 0x9C, 0xC2 }, - { 0x9D, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_DoWork -// ****************************************************************** -OOVPA_XREF(CDirectSound_DoWork, 4039, 13, - - XREF_CDirectSound_DoWork, - XRefZero) - - // CDirectSound_DoWork+0x0D : mov esi, eax - { 0x0D, 0x8B }, - { 0x0E, 0xF0 }, - - // CDirectSound_DoWork+0x0F : jnz +0x0C - { 0x0F, 0x75 }, - { 0x10, 0x0C }, - - // CDirectSound_DoWork+0x11 : mov eax, [esp+4+arg_0] - { 0x11, 0x8B }, - { 0x12, 0x44 }, - { 0x13, 0x24 }, - { 0x14, 0x08 }, - - // CDirectSound_DoWork+0x15 : mov ecx, [eax+0Ch] - { 0x15, 0x8B }, - { 0x16, 0x48 }, - { 0x17, 0x0C }, - - // CDirectSound_DoWork+0x24 : retn 0x04 - { 0x2D, 0xC2 }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetLoopRegion -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4039, 17, - - XREF_CDirectSoundBuffer_SetLoopRegion, - XRefZero) - - // CDirectSoundBuffer_SetLoopRegion+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetLoopRegion+0x23 : mov eax, 0x80004005 - { 0x23, 0xB8 }, // Was 4134 Offset -0x01h - { 0x24, 0x05 }, - { 0x25, 0x40 }, - { 0x26, 0x00 }, - { 0x27, 0x80 }, - - // CDirectSoundBuffer_SetLoopRegion+0x3C : lea ebx, [esi+ecx] - { 0x3C, 0x8D }, - { 0x3D, 0x1C }, - { 0x3E, 0x0E }, - - // CDirectSoundBuffer_SetLoopRegion+0x3F : cmp ebx, [eax+148h] - { 0x3F, 0x3B }, // Was 4134 Offset 0x40 cmp ebx, [eax+0C4h] - { 0x40, 0x98 }, - - // CDirectSoundBuffer_SetLoopRegion+0x5D : mov [eax+150h], ecx - { 0x61, 0x00 }, - { 0x62, 0x00 }, - - // CDirectSoundBuffer_SetLoopRegion+0x63 : mov ecx, [edx+20h] - { 0x63, 0x8B }, - { 0x64, 0x4A }, - { 0x65, 0x20 }, - - // CDirectSoundBuffer_SetLoopRegion+0x66 : call CMcpxBuffer_SetLoopRegion - { 0x66, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDistanceFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactor, 4039, 17, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) - - // CDirectSound_SetDistanceFactor+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSound_SetDistanceFactor+0x32 : mov [eax+48h], edx - { 0x32, 0x89 }, - { 0x33, 0x50 }, - { 0x34, 0x48 }, // Value is CDirectSound_SetDistanceFactor +0x00h - - // CDirectSound_SetDistanceFactor+0x35 : mov eax, [ecx+8] - { 0x35, 0x8B }, - { 0x36, 0x41 }, - { 0x37, 0x08 }, - - // CDirectSound_SetDistanceFactor+0x38 : or dword ptr [eax+84h], 60h - { 0x38, 0x83 }, - { 0x39, 0x88 }, - { 0x3A, 0x84 }, // 4039 0x84 vs 4134 0xA4 - { 0x3E, 0x60 }, - - // CDirectSound_SetDistanceFactor+0x4E : jz +0x0B - { 0x4E, 0x74 }, - { 0x4F, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetRolloffFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactor, 4039, 17, - - XREF_CDirectSound_SetRolloffFactor, - XRefZero) - - // CDirectSound_SetRolloffFactor+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSound_SetRolloffFactor+0x33 : mov [eax+4Ch], edx - { 0x32, 0x89 }, - { 0x33, 0x50 }, - { 0x34, 0x4C }, // Value is CDirectSound_SetDistanceFactor +0x04h - - // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] - { 0x35, 0x8B }, - { 0x36, 0x41 }, - { 0x37, 0x08 }, - - // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x84], 0x04 - { 0x38, 0x83 }, - { 0x39, 0x88 }, - { 0x3A, 0x84 }, // 4039 0x84 vs 4134 0xA4 - { 0x3E, 0x04 }, - - // CDirectSound_SetRolloffFactor+0x4E : jz +0x0B - { 0x4E, 0x74 }, - { 0x4F, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDopplerFactor, 4039, 14, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) - - // CDirectSound_SetDopplerFactor+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSound_SetDopplerFactor+0x32 : mov [eax+0x50], edx - { 0x32, 0x89 }, - { 0x33, 0x50 }, - { 0x34, 0x50 }, // Value is CDirectSound_SetDistanceFactor+ 0x08h - - // CDirectSound_SetDopplerFactor+0x38 : or dword ptr[eax+0x84], 0x40 - { 0x38, 0x83 }, - { 0x39, 0x88 }, - { 0x3A, 0x84 }, // 4039 0x84 vs 4134 0xA4 - { 0x3E, 0x40 }, - - // CDirectSound_SetDopplerFactor+0x4E : jz +0x0B - { 0x4E, 0x74 }, - { 0x4F, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_SetVolume -// ****************************************************************** -// Verified with Agent Under Fire title. -OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4039, 13, - - XREF_CMcpxVoiceClient_SetVolume, - XRefZero) - - // CMcpxVoiceClient_SetVolume+0x15 : test byte ptr [esi+90h], 1 - { 0x15, 0xF6 }, - { 0x16, 0x86 }, - { 0x17, 0x90 }, - { 0x18, 0x00 }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x01 }, - - // CMcpxVoiceClient_SetVolume+0x1C : jz +0x75 - { 0x1C, 0x74 }, - { 0x1D, 0x75 }, - - // CMcpxVoiceClient_SetVolume+0x73 : mov edx, [ebp+eax*4-0x14] - { 0x73, 0x8B }, // Was 4134 Offset -0x07h - { 0x74, 0x54 }, - { 0x75, 0x85 }, - { 0x76, 0xEC }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetVolume -// ****************************************************************** -// Verified with Agent Under Fire. -OOVPA_XREF(CDirectSoundVoice_SetVolume, 4039, 1+12, - - XREF_CDirectSoundVoice_SetVolume, - XRefOne) - - // CDirectSoundVoice_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ), - - // CDirectSoundVoice_SetVolume+0x04 : mov eax, [ecx+10h] - { 0x04, 0x8B }, - { 0x05, 0x41 }, - { 0x06, 0x10 }, - - // CDirectSoundVoice_SetVolume+0x07 : mov edx, [esp+arg_4] - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x08 }, - - // CDirectSoundVoice_SetVolume+0x0B : sub edx, [eax+28h] - { 0x0B, 0x2B }, - { 0x0C, 0x50 }, - { 0x0D, 0x28 }, // 4039 0x28 vs 4134 0x20 - - // CDirectSoundVoice_SetVolume+0x19 : retn 8 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetVolume -// ****************************************************************** -// Verified with Agent Under Fire. -OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4039, 1+9, - - XREF_CDirectSoundBuffer_SetVolume, - XRefOne) - - // CDirectSoundBuffer_SetVolume+0x31 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetVolume ), // Was 4134 Offset -0x01h - - // CDirectSoundBuffer_SetVolume+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetVolume+0x25 : jmp +0x22 - { 0x25, 0xEB }, - { 0x26, 0x22 }, - - // CDirectSoundBuffer_SetVolume+0x2C : push [esp+0x10] - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetVolume+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer::SetVolume -// ****************************************************************** -// Verified with Agent Under Fire. -// Side note: It is compatible down to XDK 3911. Except 3911 is calling to CDirectSoundVoice_SetVolume directly. -OOVPA_XREF(IDirectSoundBuffer_SetVolume, 4039, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetVolume ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVolume, 4039, 1+8, - - XREF_CDirectSoundStream_SetVolume, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetVolume ), // Was 4134 Offset -0x01h - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x34, 0xE8 }, - { 0x3F, 0x68 }, - { 0x4A, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4039, 12, - - XREF_CDirectSoundVoice_SetHeadroom, - XRefZero) - - { 0x00, 0x8B }, - { 0x08, 0x48 }, - { 0x0F, 0x2B }, - - { 0x13, 0x24 }, // 4039 0x24 vs 4134 0x1C - { 0x14, 0x89 }, - { 0x15, 0x70 }, - { 0x16, 0x28 }, // 4039 0x28 vs 4134 0x20 - { 0x17, 0x8B }, - { 0x18, 0x4A }, - { 0x19, 0x0C }, - { 0x1A, 0xE8 }, - - { 0x21, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4039, 1+7, - - XREF_CDirectSoundBuffer_SetHeadroom, - XRefOne) - - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetHeadroom ), // Was 4134 Offset -0x01h - - { 0x00, 0x56 }, - { 0x11, 0x85 }, - { 0x1B, 0x15 }, - { 0x25, 0xEB }, - { 0x2F, 0x10 }, - { 0x39, 0x74 }, - { 0x46, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetBufferData -// ****************************************************************** -// Verified with Agent Under Fire. -OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4039, 16, - - XREF_CDirectSoundBuffer_SetBufferData, - XRefZero) - - // CDirectSoundBuffer_SetBufferData+0x3D : mov eax, 0x80004005 - { 0x3D, 0xB8 }, // Was 4134 Offset -0x03h - { 0x3E, 0x05 }, - { 0x3F, 0x40 }, - { 0x40, 0x00 }, - { 0x41, 0x80 }, - - // CDirectSoundBuffer_SetBufferData+0x48 : mov eax, [esi+1Ch] - { 0x48, 0x8B }, - { 0x49, 0x46 }, - { 0x4A, 0x1C }, - - // CDirectSoundBuffer_SetBufferData+0x4B : cmp ebx, [eax+13Ch] - { 0x4B, 0x3B }, - { 0x4C, 0x98 }, - { 0x4D, 0x3C }, - { 0x4E, 0x01 }, - { 0x4F, 0x00 }, - { 0x50, 0x00 }, - - // CDirectSoundBuffer_SetBufferData+0xA8 : retn 0Ch - { 0xA8, 0xC2 }, - { 0xA9, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetPitch -// ****************************************************************** -// Verified with Agent Under Fire. -// Same as 4134 -// TOOD: CDirectSoundVoice_SetPitch need to be strengthen by using XREF to CMcpxVoiceClient_SetPitch function. -OOVPA_XREF(CDirectSoundVoice_SetPitch, 4039, 11, - - XREF_CDirectSoundVoice_SetPitch, - XRefZero) - - { 0x02, 0x24 }, - - { 0x06, 0x10 }, - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x08 }, - { 0x0B, 0x89 }, - { 0x0C, 0x51 }, - //{ 0x0D, 0x18 }, // 4039 0x20 vs 4134 0x18 - - { 0x0E, 0x8B }, - { 0x16, 0xC2 }, - { 0x17, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetPitch -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4039, 1+12, - - XREF_CDirectSoundBuffer_SetPitch, - XRefOne) - - // CDirectSoundBuffer_SetPitch+0x31 : call [CDirectSoundVoice::SetPitch] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetPitch ), // Was 4134 Offset -0x01h - - // CDirectSoundBuffer_SetPitch+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetPitch+0x28 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetPitch+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetPitch+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetPitch -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetPitch, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetPitch+0x15 : call [CDirectSoundBuffer_SetPitch] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetPitch ), - - // IDirectSoundBuffer_SetPitch+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetPitch+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetPitch+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetFrequency -// ****************************************************************** -// Verified with Agent Under Fire. -OOVPA_XREF(CDirectSoundVoice_SetFrequency, 4039, 11, - - XREF_CDirectSoundVoice_SetFrequency, - XRefZero) - - // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] - { 0x0D, 0x8B }, - { 0x0E, 0x46 }, - { 0x0F, 0x10 }, - - // CDirectSoundVoice_SetFrequency+0x10 : mov eax, [eax+0x18] - { 0x10, 0x8B }, - { 0x11, 0x40 }, - { 0x12, 0x18 }, // 4039 0x18 vs 4134 0x10 - - // CDirectSoundVoice_SetFrequency+0x14 : call [abs]; push eax; push esi - { 0x14, 0xE8 }, - { 0x19, 0x50 }, - { 0x1A, 0x56 }, - - // CDirectSoundVoice_SetFrequency+0x22 : retn 0x08 - { 0x21, 0xC2 }, - { 0x22, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetFrequency -// ****************************************************************** -// Verified with Agent Under Fire. -OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4039, 1+12, - - XREF_CDirectSoundBuffer_SetFrequency, - XRefOne) - - // CDirectSoundBuffer_SetFrequency+0x31 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetFrequency ), // Was 4134 Offset -0x01h - - // CDirectSoundBuffer_SetFrequency+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetFrequency+0x28 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetFrequency+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetFrequency+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetFrequency -// ****************************************************************** -// Verified with Agent Under Fire. -OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSound::SetFrequency] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFrequency), - - // IDirectSoundBuffer_SetFrequency+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetFrequency0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetFrequency+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, - { 0x10, 0xC9 }, - - // IDirectSoundBuffer_SetFrequency+0x11 : and ecx, eax - { 0x11, 0x23 }, - { 0x12, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Stop -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Stop, 4039, 12, - - XREF_CDirectSoundBuffer_Stop, - XRefZero) - - // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] - //XREF_ENTRY( 0x30, XREF_CMcpxBuffer_Stop), //TODO: is this CMcpxBuffer::Stop or something else? - - // CDirectSoundBuffer_Stop+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_Stop+0x2B : mov ecx,[eax+20] - { 0x2B, 0x8B }, - { 0x2C, 0x48 }, - { 0x2D, 0x20 }, - - // CDirectSoundBuffer_Stop+0x38 : jz +0x0B - { 0x38, 0x74 }, - { 0x39, 0x0B }, - - // CDirectSoundBuffer_Stop+0x49 : retn 0x04 - { 0x49, 0xC2 }, - { 0x4A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CommitDeferredSettings -// ****************************************************************** -// Verified with Agent Under Fire. -OOVPA_XREF(CDirectSound_CommitDeferredSettings, 4039, 14, - - XREF_CDirectSound_CommitDeferredSettings, - XRefZero) - - // CDirectSound_CommitDeferredSettings+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_CommitDeferredSettings+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, // Was 4134 Offset -0x03h - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - - // CDirectSound_CommitDeferredSettings+0x52 : and dword ptr [eax+84h], 0 - { 0x52, 0x83 }, - { 0x53, 0xA0 }, - { 0x54, 0x84 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x00 }, - - // CDirectSound_CommitDeferredSettings+0x78 : leave - { 0x6F, 0xC9 }, -OOVPA_END; - -// ****************************************************************** -// * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 4039, 13, - - XREF_CMcpxBuffer_Play, - XRefZero) - - // CMcpxBuffer_Play+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxBuffer_Play+0x0E : cmp eax, ebx - { 0x14, 0x3B }, - { 0x15, 0xC3 }, - - // CMcpxBuffer_Play+0x25 : test byte ptr [eax+9], 20h - { 0x25, 0xF6 }, - { 0x26, 0x40 }, - { 0x27, 0x09 }, - { 0x28, 0x20 }, - - // CMcpxBuffer_Play+0x29 : jz +0x0C - { 0x29, 0x74 }, - { 0x2A, 0x0C }, - - // CMcpxBuffer_Play+0x3F : test [ebp+arg_0], 2 - { 0x3F, 0xF6 }, - { 0x40, 0x45 }, - { 0x41, 0x08 }, - { 0x42, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * public: long __thiscall DirectSound::CMcpxBuffer::Play(__int64,unsigned long) -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play_Ex, 4039, 1+8, - - XREF_CMcpxBuffer_Play_Ex, - XRefOne) - - // CMcpxBuffer_Play_Ex+0x2B : call [CMcpxBuffer::Play] - XREF_ENTRY( 0x2B, XREF_CMcpxBuffer_Play ), - - // CMcpxBuffer_Play_Ex+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxBuffer_Play_Ex+0x11 : push [ebp+arg_8] - { 0x11, 0xFF }, - { 0x12, 0x75 }, - { 0x13, 0x10 }, - - // CMcpxBuffer_Play_Ex+0x23 : jnz +0x0C - { 0x23, 0x75 }, - { 0x24, 0x0C }, - - // CMcpxBuffer_Play_Ex+0x36 : push esi - { 0x36, 0xC2 }, - { 0x37, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::Play -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Play, 4039, 13, - - XREF_CDirectSoundBuffer_Play, - XRefZero) - - //CDirectSoundBuffer_Play+0x00 : push esi - { 0x00, 0x56 }, - - //CDirectSoundBuffer_Play+0x20 : mov eax, 80004005h - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - //CDirectSoundBuffer_Play+0x2F : mov ecx, dword ptr [esp+18h] - { 0x2F , 0xFF }, - { 0x30 , 0x74 }, - { 0x31 , 0x24 }, - { 0x32 , 0x18 }, - - //CDirectSoundBuffer_Play+0x4D : ret 10h - { 0x4D , 0xC2 }, - { 0x4E , 0x10 }, - { 0x4F , 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::PlayEx -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_PlayEx, 4039, 1+7, - - XREF_CDirectSoundBuffer_PlayEx, - XRefOne) - - XREF_ENTRY( 0x3C, XREF_CMcpxBuffer_Play_Ex), - - { 0x00, 0x56 }, - { 0x15, 0x68 }, - { 0x20, 0xB8 }, - { 0x2D, 0x20 }, - { 0x39, 0x24 }, - { 0x45, 0x0B }, - { 0x51, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 4039, 17, - - XREF_CMcpxBuffer_GetCurrentPosition, - XRefZero) - - // CMcpxBuffer_GetCurrentPosition+0x16 : mov eax, [esi+0x00000090] - { 0x16, 0x8B }, - { 0x17, 0x86 }, - { 0x18, 0x90 }, - { 0x19, 0x00 }, - //{ 0x1A, 0x00 }, - //{ 0x1B, 0x00 }, - - // CMcpxBuffer_GetCurrentPosition+0x21 : jnz +0x00000088 - { 0x21, 0x0F }, - { 0x22, 0x85 }, - { 0x23, 0x88 }, - { 0x24, 0x00 }, - //{ 0x25, 0x00 }, - //{ 0x26, 0x00 }, - - // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x00000140] - { 0xA5, 0xF7 }, - { 0xA6, 0xB1 }, - { 0xA7, 0x40 }, - { 0xA8, 0x01 }, - { 0xA9, 0x00 }, - { 0xAA, 0x00 }, - - // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 - { 0xDB, 0xC2 }, - { 0xDC, 0x08 }, - { 0xDD, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_GetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 4039, 1+10, - - XREF_CDirectSoundBuffer_GetCurrentPosition, - XRefOne) - - // CDirectSoundBuffer_GetCurrentPosition+0x38 : call [CMcpxBuffer::GetCurrentPosition] - XREF_ENTRY( 0x38, XREF_CMcpxBuffer_GetCurrentPosition), - // CDirectSoundBuffer_GetCurrentPosition+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_GetCurrentPosition+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_GetCurrentPosition+0x40 : jz +0x0B - { 0x40, 0x74 }, - { 0x41, 0x0B }, - - // CDirectSoundBuffer_GetCurrentPosition+0x51 : retn 0x08 - { 0x51, 0xC2 }, - { 0x52, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetStatus, 4039, 13, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) - - // CMcpxBuffer_GetStatus+0x14 : mov ecx, [ebp+0x08] - { 0x14, 0x8B }, - { 0x15, 0x4D }, - { 0x16, 0x08 }, - - // CMcpxBuffer_GetStatus+0x1A : xor edx, edx - { 0x1A, 0x33 }, - { 0x1B, 0xD2 }, - - // CMcpxBuffer_GetStatus+0x22 : inc edx - { 0x22, 0x42 }, - - // CMcpxBuffer_GetStatus+0x1C : jz +0x17 - { 0x26, 0x74 }, - { 0x27, 0x15 }, - - // CMcpxBuffer_GetStatus+0x2F : mov [ecx], 5 - { 0x37, 0xC7 }, - { 0x38, 0x01 }, - { 0x39, 0x05 }, - - // CMcpxBuffer_GetStatus+0x48 : retn 0x04 - { 0x48, 0xC2 }, - { 0x49, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_GetStatus, 4039, 1+10, - - XREF_CDirectSoundBuffer_GetStatus, - XRefOne) - - // CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus] - XREF_ENTRY( 0x34, XREF_CMcpxBuffer_GetStatus), - - // CDirectSoundBuffer_GetStatus+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_GetStatus+0x2B : mov ecx, [eax+0x20] - { 0x2B, 0x8B }, - { 0x2C, 0x48 }, - { 0x2D, 0x20 }, - - // CDirectSoundBuffer_GetStatus+0x2F : push [esp+0x10] - { 0x2F, 0xFF }, - { 0x30, 0x74 }, - { 0x31, 0x24 }, - { 0x32, 0x10 }, - - // CDirectSoundBuffer_GetStatus+0x4D : retn 0x08 - { 0x4D, 0xC2 }, - { 0x4E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Lock -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Lock, 4039, 1+13, - - XREF_CDirectSoundBuffer_Lock, - XRefOne) - - XREF_ENTRY( 0x45, XREF_CDirectSoundBuffer_GetCurrentPosition ), - - // CDirectSoundBuffer_Lock+0x34 : test [ebp+0x24], 1 - { 0x34, 0xF6 }, - { 0x35, 0x45 }, - { 0x36, 0x24 }, - { 0x37, 0x01 }, - - // CDirectSoundBuffer_Lock+0x59 : mov eax, [eax+0x140] - { 0x59, 0x8B }, - { 0x5A, 0x80 }, - { 0x5B, 0x40 }, - { 0x5C, 0x01 }, - - // CDirectSoundBuffer_Lock+0x9F : jnb +0x11; mov esi, [esi+0x1C] - { 0x9F, 0x73 }, - { 0xA0, 0x11 }, - { 0xA1, 0x8B }, - { 0xA2, 0x76 }, - { 0xA3, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetPlayRegion -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4039, 13, - - XREF_CDirectSoundBuffer_SetPlayRegion, - XRefZero) - - { 0x00, 0x55 }, - { 0x18, 0x68 }, - { 0x23, 0xB8 }, - - { 0x37, 0x14 }, - { 0x38, 0x8B }, - { 0x39, 0x75 }, - { 0x3A, 0x0C }, - { 0x3B, 0x03 }, - { 0x3C, 0xF0 }, - { 0x3D, 0x3B }, - { 0x3E, 0xB1 }, - - { 0x7C, 0xC2 }, - { 0x7D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetPlayRegion -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetPlayRegion+0x19 : call [CDirectSoundBuffer_SetPlayRegion] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetPlayRegion ), - - // IDirectSoundBuffer_SetPlayRegion+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetPlayRegion+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xE4 }, - - // IDirectSoundBuffer_SetPlayRegion+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_SetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 4039, 9, - - XREF_CMcpxBuffer_SetCurrentPosition, - XRefZero) - - // CMcpxBuffer_SetCurrentPosition+0x11 : lea eax, [esi+90h] - { 0x11, 0x8D }, - { 0x12, 0x86 }, - { 0x13, 0x90 }, - - // CMcpxBuffer_SetCurrentPosition+0x43 : jb +0x10 - { 0x43, 0x72 }, - { 0x44, 0x10 }, - - // CMcpxBuffer_SetCurrentPosition+0x86 : mov eax, [esi+0E4h] - { 0x6A, 0x8B }, - { 0x6B, 0x86 }, - { 0x6C, 0xE4 }, - { 0x6D, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 4039, 1+10, - - XREF_CDirectSoundBuffer_SetCurrentPosition, - XRefOne) - - // CDirectSoundBuffer_SetCurrentPosition+0x34 : call [CMcpxBuffer::SetCurrentPosition] - XREF_ENTRY( 0x34, XREF_CMcpxBuffer_SetCurrentPosition), - - // CDirectSoundBuffer_SetCurrentPosition+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetCurrentPosition+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetCurrentPosition+0x3C : jz +0x0B - { 0x3C, 0x74 }, - { 0x3D, 0x0B }, - - // CDirectSoundBuffer_SetCurrentPosition+0x4D : retn 0x08 - { 0x4D, 0xC2 }, - { 0x4E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMcpxVoiceClient::SetFilter -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetFilter, 4039, 12, - - XREF_CMcpxVoiceClient_SetFilter, - XRefZero) - - { 0x08, 0xF8 }, - { 0x12, 0xE8 }, - - { 0x20, 0x00 }, - { 0x21, 0x74 }, - { 0x22, 0x13 }, - { 0x23, 0x6A }, - { 0x24, 0x06 }, - { 0x25, 0x59 }, - { 0x26, 0x8D }, - { 0x27, 0x7D }, - - { 0x47, 0x83 }, - { 0x4D, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetFilter -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetFilter, 4039, 1+6, - - XREF_CDirectSoundVoice_SetFilter, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_CMcpxVoiceClient_SetFilter ), - - { 0x01, 0x44 }, - { 0x04, 0xFF }, - { 0x07, 0x08 }, - { 0x0A, 0x0C }, - { 0x10, 0xC2 }, - { 0x11, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetFilter -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetFilter, 4039, 1+7, - - XREF_CDirectSoundBuffer_SetFilter, - XRefOne) - - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetFilter ), - - { 0x00, 0x56 }, - { 0x11, 0x85 }, - { 0x1B, 0x15 }, - { 0x25, 0xEB }, - { 0x2F, 0x10 }, - { 0x39, 0x74 }, - { 0x46, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetFilter -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetFilter, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetFilter+0x15 : call [CDirectSoundBuffer_SetFilter] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFilter), - - // IDirectSoundBuffer_SetFilter+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetFilter+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetFilter+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetFilter -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFilter, 4039, 1+8, - - XREF_CDirectSoundStream_SetFilter, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetFilter ), - - { 0x00, 0x56 }, //Prevent incorrect offset difference from 4134 and later revision. - - { 0x0B, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x34, 0xE8 }, - { 0x3F, 0x68 }, - { 0x4A, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetMixBins -// ****************************************************************** -// Generic OOVPA as of 4039 -OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 4039, 21, - - XREF_CMcpxVoiceClient_SetMixBins, - XRefZero) - - // CMcpxVoiceClient_SetMixBins+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxVoiceClient_SetMixBins+0x24 : test byte ptr [esi+90h], 1 - { 0x17, 0xF6 }, - { 0x18, 0x86 }, - { 0x19, 0x90 }, - { 0x1A, 0x00 }, - { 0x1B, 0x00 }, - { 0x1C, 0x00 }, - { 0x1D, 0x01 }, - - // CMcpxVoiceClient_SetMixBins+0x1E : jz - { 0x1E, 0x0F }, - { 0x1F, 0x84 }, - { 0x20, 0x98 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x23, 0x00 }, - - // CMcpxVoiceClient_SetMixBins+0x66 : mov ds:[0xFE8202F8], eax - { 0x66, 0xA3 }, - { 0x67, 0xF8 }, - { 0x68, 0x02 }, - { 0x69, 0x82 }, - { 0x6A, 0xFE }, - - // CMcpxVoiceClient_SetMixBins+0xC8 : leave; retn - { 0xC8, 0xC9 }, - { 0xC9, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMixBins -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(CDirectSoundVoice_SetMixBins, 4039, 1+16, - - XREF_CDirectSoundVoice_SetMixBins, - XRefOne) - - // CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins] - //XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBins ), - - // CDirectSoundVoice_SetMixBins+0x15 : call [CMcpxVoiceClient::SetMixBins] - XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetMixBins ), - - // CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8] - { 0x01, 0x8B }, - { 0x02, 0x74 }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - - // CDirectSoundVoice_SetMixBins+0x05 : push [esp+0x0C] - { 0x05, 0xFF }, - { 0x06, 0x74 }, - { 0x07, 0x24 }, - { 0x08, 0x0C }, - - // CDirectSoundVoice_SetMixBins+0x09 : mov ecx, [esi+0x10] - { 0x09, 0x8B }, - { 0x0A, 0x4E }, - { 0x0B, 0x10 }, - - // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x0C] - { 0x11, 0x8B }, - { 0x12, 0x4E }, - { 0x13, 0x0C }, - - // CDirectSoundVoice_SetMixBins+0x1A : retn 0x08 - { 0x1A, 0xC2 }, - { 0x1B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMixBins -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4039, 1+17, - - XREF_CDirectSoundBuffer_SetMixBins, - XRefOne) - - // CDirectSoundBuffer_SetMixBins+0x31 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetMixBins ), - - // CDirectSoundBuffer_SetMixBins+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMixBins+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetMixBins+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetMixBins+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetMixBins+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMixBins -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 4039, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBins ), - - // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetMixBins+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, - { 0x10, 0xC9 }, - - // IDirectSoundBuffer_SetMixBins+0x11 : and ecx, eax - { 0x11, 0x23 }, - { 0x12, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoiceSettings::SetMixBinVolumes -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4039, 10, - - XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, - XRefZero) - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 - { 0x09, 0x76 }, - { 0x0A, 0x16 }, - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x18 : mov [ecx+edi*4+0x50], eax - { 0x18, 0x89 }, - { 0x19, 0x44 }, - { 0x1A, 0xB9 }, - { 0x1B, 0x50 }, // 4039 0x50 vs 4134 0x30 - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x1E : jb +0xEC - { 0x1E, 0x72 }, - { 0x1F, 0xEC }, - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x22 : retn 0x04 - { 0x22, 0xC2 }, - { 0x23, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMixBinVolumes -// ****************************************************************** -// Generic OOVPA as of 4039 and newer. -OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4039, 2+13, - - XREF_CDirectSoundVoice_SetMixBinVolumes, - XRefTwo) - - // CDirectSoundVoice_SetMixBinVolumes+0x0D : call [CDirectSoundVoiceSettings::SetMixBinVolumes] - XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes ), - - // CDirectSoundVoice_SetMixBinVolumes+0x14 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ), - - // CDirectSoundVoice_SetMixBinVolumes+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundVoice_SetMixBinVolumes+0x05 : push [esp+0x0C] - { 0x05, 0xFF }, - { 0x06, 0x74 }, - { 0x07, 0x24 }, - { 0x08, 0x0C }, - - // CDirectSoundVoice_SetMixBinVolumes+0x09 : mov ecx, [esi+0x10] - { 0x09, 0x8B }, - { 0x0A, 0x4E }, - { 0x0B, 0x10 }, - - // CDirectSoundVoice_SetMixBinVolumes+0x11 : mov ecx, [esi+0x0C] - { 0x11, 0x8B }, - { 0x12, 0x4E }, - { 0x13, 0x0C }, - - // CDirectSoundVoice_SetMixBinVolumes+0x1A : retn 0x08 - { 0x1A, 0xC2 }, - { 0x1B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMixBinVolumes -// ****************************************************************** -//Generic OOVPA as of 4039 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4039, 1+17, - - XREF_CDirectSoundBuffer_SetMixBinVolumes, - XRefOne) - - // CDirectSoundBuffer_SetMixBinVolumes+0x31 : call [CDirectSoundVoice::SetMixBinVolumes] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetMixBinVolumes ), - - // CDirectSoundBuffer_SetMixBinVolumes+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x28 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMixBinVolumes_8 -// ****************************************************************** -//Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetMixBinVolumes_8+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBinVolumes ), - - // IDirectSoundBuffer_SetMixBinVolumes_8+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetMixBinVolumes_8+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetMixBinVolumes_8+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, - { 0x10, 0xC9 }, - - // IDirectSoundBuffer_SetMixBinVolumes_8+0x11 : and ecx, eax - { 0x11, 0x23 }, - { 0x12, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMixBinVolumes_8 -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4039, 1+11, - - XREF_CDirectSoundStream_SetMixBinVolumes_8, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetMixBinVolumes ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x0D, 0x8B }, - { 0x0E, 0xF0 }, - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CreateSoundStream -// ****************************************************************** -OOVPA_XREF(CDirectSound_CreateSoundStream, 4039, 15, - - XREF_CDirectSound_CreateSoundStream, - XRefZero) - - // CDirectSound_CreateSoundStream+0x25 : mov eax, 0x80004005 - { 0x25, 0xB8 }, - - // CDirectSound_CreateSoundStream+0x2A : jmp 0x62 - { 0x2A, 0xEB }, - { 0x2B, 0x62 }, - - // CDirectSound_CreateSoundStream+0x2C : push 0x1 - { 0x2C, 0x6A }, - { 0x2D, 0x01 }, - - // CDirectSound_CreateSoundStream+0x2E : push 0x28 - { 0x2E, 0x6A }, - { 0x2F, 0x28 }, - - // CDirectSound_CreateSoundStream+0x4A : add esi, 0x7FF8FFF2 - { 0x4C, 0x81 }, - { 0x4D, 0xE6 }, - { 0x4E, 0xF2 }, - { 0x4F, 0xFF }, - { 0x50, 0xF8 }, - { 0x51, 0x7F }, - - // CDirectSound_CreateSoundStream+0x91 : retn 0x10 - { 0x91, 0xC2 }, - { 0x92, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_StopEx -// ****************************************************************** -// Similar pattern of version 3911 -OOVPA_XREF(CDirectSoundBuffer_StopEx, 4039, 12, - - XREF_CDirectSoundBuffer_StopEx, - XRefZero) - - { 0x00, 0x55 }, - { 0x23, 0xB8 }, - - { 0x49, 0xEB }, - { 0x4A, 0x11 }, - { 0x4B, 0xFF }, - { 0x4C, 0x75 }, - { 0x4D, 0x10 }, - { 0x4E, 0x8B }, - { 0x4F, 0x45 }, - { 0x50, 0x08 }, - - { 0x72, 0xC2 }, - { 0x73, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetLFO -// ****************************************************************** -// Similar pattern of version 3911 -OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4039, 13, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) - - { 0x00, 0x55 }, - { 0x25, 0xEB }, - - { 0x57, 0x72 }, - { 0x58, 0xF3 }, - { 0x59, 0x33 }, - { 0x5A, 0xC0 }, - { 0x5B, 0x85 }, - { 0x5C, 0xC9 }, - { 0x5D, 0x76 }, - { 0x5E, 0x62 }, - { 0x5F, 0x8B }, - - { 0xCD, 0xC2 }, - { 0xCE, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetLFO -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetLFO, 4039, 1+6, - - XREF_CDirectSoundVoice_SetLFO, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_CMcpxVoiceClient_SetLFO ), - - { 0x01, 0x44 }, - { 0x04, 0xFF }, - { 0x07, 0x08 }, - { 0x0A, 0x0C }, - { 0x10, 0xC2 }, - { 0x11, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetLFO -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4039, 1+17, - - XREF_CDirectSoundBuffer_SetLFO, - XRefOne) - - // CDirectSoundBuffer_SetLFO+0x31 : call [CDirectSoundVoice_SetLFO] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetLFO), - - // CDirectSoundBuffer_SetLFO+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetLFO+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetLFO+0x28 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetLFO+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetLFO+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetLFO -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetLFO, 4039, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetLFO ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetLFO -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetLFO, 4039, 1+10, - - XREF_CDirectSoundStream_SetLFO, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetLFO ), - - { 0x00, 0x56 }, //Prevent incorrect offset difference from 4134 and later revision. - - { 0x0B, 0x00 }, - { 0x0E, 0xF0 }, - { 0x11, 0x85 }, - { 0x14, 0x0B }, - { 0x39, 0x85 }, - { 0x3C, 0xF8 }, - { 0x3F, 0x68 }, - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetEG -// ****************************************************************** -// Similar pattern of version 3911 -OOVPA_XREF(CMcpxVoiceClient_SetEG, 4039, 12, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) - - { 0x00, 0x55 }, - { 0x25, 0xEB }, - - { 0x3C, 0x84 }, - { 0x3D, 0x86 }, - { 0x3E, 0x00 }, - { 0x3F, 0x00 }, - { 0x40, 0x00 }, - { 0x41, 0x8B }, - { 0x42, 0x86 }, - { 0x43, 0xE4 }, - - { 0xD3, 0xC2 }, - { 0xD4, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetEG -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetEG, 4039, 1+6, - - XREF_CDirectSoundVoice_SetEG, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_CMcpxVoiceClient_SetEG ), - - { 0x01, 0x44 }, - { 0x04, 0xFF }, - { 0x07, 0x08 }, - { 0x0A, 0x0C }, - { 0x10, 0xC2 }, - { 0x11, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetEG -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetEG, 4039, 1+17, - - XREF_CDirectSoundBuffer_SetEG, - XRefOne) - - // CDirectSoundBuffer_SetEG+0x31 : call [CDirectSoundVoice_SetEG] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetEG), - - // CDirectSoundBuffer_SetEG+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetEG+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetEG+0x28 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetEG+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetEG+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetEG -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetEG, 4039, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetEG ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetEG -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetEG, 4039, 1+8, - - XREF_CDirectSoundStream_SetEG, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetEG ), - - { 0x00, 0x56 }, //Prevent incorrect offset difference from 4134 and later revision. - - { 0x0B, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x34, 0xE8 }, - { 0x3F, 0x68 }, - { 0x4A, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetOutputBuffer -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(CDirectSoundVoice_SetOutputBuffer, 4039, 13, - - XREF_CDirectSoundVoice_SetOutputBuffer, - XRefZero) - - { 0x00, 0x53 }, - - { 0x10, 0x24 }, - { 0x11, 0x10 }, - { 0x12, 0x23 }, - { 0x13, 0xF0 }, - { 0x14, 0x8B }, - { 0x15, 0x47 }, - { 0x16, 0x10 }, - { 0x17, 0x8B }, - { 0x18, 0x80 }, - - { 0x45, 0xE8 }, - { 0x51, 0xC2 }, - { 0x52, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4039, 1+17, - - XREF_CDirectSoundBuffer_SetOutputBuffer, - XRefOne) - - // CDirectSoundBuffer_SetOutputBuffer+0x30 : call [XREF_CDirectSoundVoice_SetOutputBuffer] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetOutputBuffer), - - // CDirectSoundBuffer_SetOutputBuffer+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x28 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetOutputBuffer+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4039, 15, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefZero) - - // CDirectSoundVoice_SetConeOutsideVolume+0x07 : mov edx, [esp+arg_4] - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x08 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x11 : mov [eax+104h], edx - { 0x0B, 0x89 }, - { 0x0C, 0x90 }, - { 0x0D, 0x04 }, - { 0x0E, 0x01 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - - { 0x11, 0x8B }, - { 0x14, 0x83 }, - { 0x1A, 0x10 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x2A : retn 0Ch - { 0x2A, 0xC2 }, - { 0x2B, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4039, 1+11, - - XREF_CDirectSoundBuffer_SetConeOutsideVolume, - XRefOne) - - // CDirectSoundBuffer_SetConeOutsideVolume+0x35 : call [CDirectSoundVoice::SetConeOutsideVolume] - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetConeOutsideVolume ), - - // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x21 : mov eax, 80004005h - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x30 : push [esp+0Ch+arg_0] - { 0x30, 0xFF }, - { 0x31, 0x74 }, - { 0x32, 0x24 }, - { 0x33, 0x14 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x4E : retn 0Ch - { 0x4E, 0xC2 }, - { 0x4F, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetConeOutsideVolume -// ****************************************************************** -// Generic OOVPA as of 4039 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 4039, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundBuffer_SetConeOutsideVolume] - XREF_ENTRY(0x19, XREF_CDirectSoundBuffer_SetConeOutsideVolume ), - - // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] - { 0x0A, 0xFF }, - { 0x0B, 0x74 }, - { 0x0C, 0x24 }, - { 0x0D, 0x0C }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax - { 0x15, 0x23 }, - { 0x16, 0xC8 }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch - { 0x1E, 0x0C }, - { 0x1F, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4039, 14, - - XREF_CDirectSoundVoice_SetMaxDistance, - XRefZero) - - // CDirectSoundVoice_SetMaxDistance+0x07 : mov edx, [esp+arg_4] - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x08 }, - - // CDirectSoundVoice_SetMaxDistance+0x0B : mov [eax+10h], edx - { 0x0B, 0x89 }, - { 0x0C, 0x90 }, - { 0x0D, 0x0C }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 - - // CDirectSoundVoice_SetMaxDistance+0x14 : or dword ptr [eax+138h], 4 - { 0x14, 0x83 }, - { 0x15, 0x88 }, - { 0x18, 0x00 }, - { 0x19, 0x00 }, - { 0x1A, 0x04 }, - - // CDirectSoundVoice_SetMaxDistance+0x2A : retn 0Ch - { 0x2A, 0xC2 }, - { 0x2B, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 4039, 1+10, - - XREF_CDirectSoundBuffer_SetMaxDistance, - XRefOne) - - // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice_SetMaxDistance] - XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetMaxDistance ), - - // CDirectSoundBuffer_SetMaxDistance+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetMaxDistance+0x31 : fstp [esp+0Ch+var_C] - { 0x31, 0xD9 }, - { 0x32, 0x1C }, - { 0x33, 0x24 }, - - // CDirectSoundBuffer_SetMaxDistance+0x52 : retn 0Ch - { 0x53, 0x0C }, - { 0x54, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4039, 14, - - XREF_CDirectSoundVoice_SetMinDistance, - XRefZero) - - // CDirectSoundVoice_SetMinDistance+0x07 : mov edx, [esp+arg_4] - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x08 }, - - // CDirectSoundVoice_SetMinDistance+0x0B : mov [eax+10h], edx - { 0x0B, 0x89 }, - { 0x0C, 0x90 }, - { 0x0D, 0x08 }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 - - // CDirectSoundVoice_SetMinDistance+0x14 : or dword ptr [eax+138h], 4 - { 0x14, 0x83 }, - { 0x15, 0x88 }, - { 0x18, 0x00 }, - { 0x19, 0x00 }, - { 0x1A, 0x04 }, - - // CDirectSoundVoice_SetMinDistance+0x2A : retn 0Ch - { 0x2A, 0xC2 }, - { 0x2B, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 4039, 1+10, - - XREF_CDirectSoundBuffer_SetMinDistance, - XRefOne) - - // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice_SetMinDistance] - XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetMinDistance ), - - // CDirectSoundBuffer_SetMinDistance+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetMinDistance+0x31 : fstp [esp+0Ch+var_C] - { 0x31, 0xD9 }, - { 0x32, 0x1C }, - { 0x33, 0x24 }, - - // CDirectSoundBuffer_SetMinDistance+0x52 : retn 0Ch - { 0x53, 0x0C }, - { 0x54, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMode -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMode, 4039, 12, - - XREF_CDirectSoundVoice_SetMode, - XRefZero) - - { 0x00, 0xF6 }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x0C }, - { 0x04, 0x01 }, - { 0x05, 0x8B }, - { 0x06, 0x44 }, - { 0x07, 0x24 }, - - { 0x16, 0x75 }, - { 0x19, 0xE8 }, - { 0x20, 0xC2 }, - { 0x21, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMode -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetMode, 4039, 1+11, - - XREF_CDirectSoundBuffer_SetMode, - XRefOne) - - // CDirectSoundBuffer_SetMode+0x35 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetMode ), - - // CDirectSoundBuffer_SetMode+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMode+0x21 : mov eax, 80004005h - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetMode+0x30 : push [esp+0Ch+arg_0] - { 0x30, 0xFF }, - { 0x31, 0x74 }, - { 0x32, 0x24 }, - { 0x33, 0x14 }, - - // CDirectSoundBuffer_SetMode+0x4E : retn 0Ch - { 0x4E, 0xC2 }, - { 0x4F, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetPosition, 4039, 12, - - XREF_CDirectSoundVoice_SetPosition, - XRefZero) - - { 0x05, 0x08 }, - { 0x1C, 0xDC }, - - { 0x31, 0x00 }, - { 0x32, 0x00 }, - { 0x33, 0xFF }, // SetPosition 0xFF vs SetConeOrientation 0x40 - { 0x34, 0xF6 }, - { 0x35, 0x45 }, - { 0x36, 0x18 }, - { 0x37, 0x01 }, - { 0x38, 0x5E }, - - { 0x44, 0xC2 }, - { 0x45, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4039, 1+9, - - XREF_CDirectSoundBuffer_SetPosition, - XRefOne) - - // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] - XREF_ENTRY( 0x49, XREF_CDirectSoundVoice_SetPosition ), - - // CDirectSoundBuffer_SetPosition+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetPosition+0x2A : fld [ebp+arg_C] - { 0x2A, 0xD9 }, - { 0x2B, 0x45 }, - { 0x2C, 0x14 }, - - // CDirectSoundBuffer_SetPosition+0x42 : fstp [esp+18h+var_18] - { 0x42, 0xD9 }, - { 0x43, 0x1C }, - { 0x44, 0x24 }, - - // CDirectSoundBuffer_SetPosition+0x63 : retn 14h - { 0x63, 0xC2 }, - { 0x64, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetMode -// ****************************************************************** -// Generic OOVPA as of 4039 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetMode, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetMode+0x18 : call [CDirectSoundBuffer::SetPosition] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetMode ), - - // IDirectSoundBuffer_SetMode+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xE4 }, - - // IDirectSoundBuffer_SetMode+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetVelocity, 4039, 12, - - XREF_CDirectSoundVoice_SetVelocity, - XRefZero) - - { 0x05, 0x08 }, - { 0x1C, 0xE8 }, - - { 0x31, 0x00 }, - { 0x32, 0x00 }, - { 0x33, 0x40 }, // SetPosition 0xFF vs SetVelocity 0x40 - { 0x34, 0xF6 }, - { 0x35, 0x45 }, - { 0x36, 0x18 }, - { 0x37, 0x01 }, - { 0x38, 0x5E }, - - { 0x44, 0xC2 }, - { 0x45, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 4039, 1+9, - - XREF_CDirectSoundBuffer_SetVelocity, - XRefOne) - - // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] - XREF_ENTRY( 0x49, XREF_CDirectSoundVoice_SetVelocity ), - - // CDirectSoundBuffer_SetVelocity+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetVelocity+0x2A : fld [ebp+arg_C] - { 0x2A, 0xD9 }, - { 0x2B, 0x45 }, - { 0x2C, 0x14 }, - - // CDirectSoundBuffer_SetVelocity+0x42 : fstp [esp+18h+var_18] - { 0x42, 0xD9 }, - { 0x43, 0x1C }, - { 0x44, 0x24 }, - - // CDirectSoundBuffer_SetVelocity+0x63 : retn 14h - { 0x63, 0xC2 }, - { 0x64, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 4039, 12, - - XREF_CDirectSoundVoice_SetConeOrientation, - XRefZero) - - { 0x05, 0x08 }, - { 0x1C, 0xFC }, - - { 0x31, 0x00 }, - { 0x32, 0x00 }, - { 0x33, 0x18 }, // SetPosition 0xFF vs SetConeOrientation 0x40 - { 0x34, 0xF6 }, - { 0x35, 0x45 }, - { 0x36, 0x18 }, - { 0x37, 0x01 }, - { 0x38, 0x5E }, - - { 0x44, 0xC2 }, - { 0x45, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4039, 1+9, - - XREF_CDirectSoundBuffer_SetConeOrientation, - XRefOne) - - // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] - XREF_ENTRY( 0x49, XREF_CDirectSoundVoice_SetConeOrientation ), - - // CDirectSoundBuffer_SetConeOrientation+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetConeOrientation+0x2A : fld [ebp+arg_C] - { 0x2A, 0xD9 }, - { 0x2B, 0x45 }, - { 0x2C, 0x14 }, - - // CDirectSoundBuffer_SetConeOrientation+0x42 : fstp [esp+18h+var_18] - { 0x42, 0xD9 }, - { 0x43, 0x1C }, - { 0x44, 0x24 }, - - // CDirectSoundBuffer_SetConeOrientation+0x63 : retn 14h - { 0x63, 0xC2 }, - { 0x64, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetOrientation, 4039, 13, - - XREF_CDirectSound_SetOrientation, - XRefZero) - - // CDirectSound_SetOrientation+0x00 : push ebp - { 0x00 , 0x55 }, - - { 0x30 , 0x8B }, - { 0x32 , 0x0C }, - { 0x39 , 0x8B }, - { 0x3B , 0x10 }, - { 0x42 , 0x8B }, - { 0x44 , 0x14 }, - { 0x4B , 0x8B }, - { 0x4D , 0x18 }, - { 0x54 , 0x8B }, - { 0x56 , 0x1C }, - { 0x5D , 0x8B }, - { 0x5F , 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_GetStatus -// ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_GetStatus, 4039, 14) - - { 0x00, 0x56 }, - - { 0x27, 0x8B }, - { 0x2A, 0x08 }, - - { 0x2B, 0x8B }, - { 0x2D, 0x24 }, - - { 0x33, 0x8B }, - { 0x36, 0x0C }, - - { 0x37, 0xF7 }, - { 0x39, 0x1B }, - { 0x3B, 0xF7 }, - - //CDirectSoundStream_GetStatus+0x20 : mov dword ptr [ecx], eax - { 0x3F, 0x89 }, - { 0x40, 0x01 }, - - { 0x51, 0xC2 }, - { 0x52, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_DownloadEffectsImage -// ****************************************************************** -OOVPA_XREF(CDirectSound_DownloadEffectsImage, 4039, 18, - - XREF_CDirectSound_DownloadEffectsImage, - XRefZero) - - // CDirectSound_DownloadEffectsImage+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_DownloadEffectsImage+0x2B : mov esi,dword ptr [ebp+8] - { 0x2B, 0x8B }, - { 0x2C, 0x75 }, - { 0x2D, 0x08 }, - - // CDirectSound_DownloadEffectsImage+0x2E : push dword ptr [ebp+14h] - { 0x2E, 0xFF }, - { 0x2F, 0x75 }, - { 0x30, 0x14 }, - - // CDirectSound_DownloadEffectsImage+0x31 : mov ecx,dword ptr [esi+8] - { 0x31, 0x8B }, - { 0x32, 0x4E }, - { 0x33, 0x08 }, - - // CDirectSound_DownloadEffectsImage+0x39 : push dword ptr [ebp+18h] - { 0x39, 0xFF }, - //{ 0x3A, 0x75 }, - { 0x3B, 0x18 }, - - // CDirectSound_DownloadEffectsImage+0x3F : push dword ptr [ebp+10h] - { 0x3F, 0xFF }, - //{ 0x40, 0x75 }, - { 0x41, 0x10 }, - - // CDirectSound_DownloadEffectsImage+0x42 : push dword ptr [ebp+0Ch] - { 0x42, 0xFF }, - //{ 0x43, 0x75 }, - { 0x44, 0x0C }, - - // CDirectSound_DownloadEffectsImage+0x60 : ret 14h - { 0x60, 0xC2 }, - { 0x61, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetHeadroom -// ****************************************************************** -//Generic OOVPA as of 4039 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundBuffer_SetHeadroom] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetHeadroom ), - - // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetHeadroom+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, - { 0x0B, 0xC0 }, - { 0x0C, 0xE4 }, - - // IDirectSoundBuffer_SetHeadroom+0x19 : retn 0x08 - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetPosition, 4039, 14, - - XREF_CDirectSound_SetPosition, - XRefZero) - - // CDirectSound_SetPosition+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_SetPosition+0x2A : mov ecx, [ebp+0x08] - { 0x2A, 0x8B }, - { 0x2B, 0x4D }, - { 0x2C, 0x08 }, - - // CDirectSound_SetPosition+0x3E : mov [edx+0x1C], edi - { 0x3E, 0x89 }, - { 0x3F, 0x7A }, - { 0x40, 0x1C }, - - // CDirectSound_SetPosition+0x4B : or word ptr [eax+0x84], 0x01FF - { 0x4B, 0x80 }, - { 0x4C, 0x88 }, - { 0x4D, 0x84 }, - { 0x4E, 0x00 }, - { 0x51, 0xFF }, - - // CDirectSound_SetPosition+0x72 : retn 0x14 - { 0x72, 0xC2 }, - { 0x73, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocity, 4039, 16, - - XREF_CDirectSound_SetVelocity, - XRefZero) - - // CDirectSound_SetVelocity+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_SetVelocity+0x23 : mov eax, 0x80004005 - { 0x23, 0xB8 }, - { 0x24, 0x05 }, - { 0x25, 0x40 }, - { 0x26, 0x00 }, - { 0x27, 0x80 }, - - // CDirectSound_SetVelocity+0x36 : mov [edx+0x24], edi - { 0x36, 0x89 }, - { 0x37, 0x7A }, - { 0x38, 0x24 }, - - // CDirectSound_SetVelocity+0x4B : or dword ptr [eax+0x084], 0x40 - { 0x4B, 0x83 }, - { 0x4C, 0x88 }, - { 0x4D, 0x84 }, - { 0x4F, 0x00 }, - { 0x51, 0x40 }, - - // CDirectSound_SetVelocity+0x72 : retn 0x14 - { 0x72, 0xC2 }, - { 0x73, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetI3DL2Listener -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4039, 16, - - XREF_CDirectSound_SetI3DL2Listener, - XRefZero) - // CDirectSound_SetI3DL2Listener+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_SetI3DL2Listener+0x35 : cmp dword ptr [eax+0C],-01 - { 0x35, 0x83 }, - //{ 0x36, 0x78 }, - { 0x37, 0x0C }, - { 0x38, 0xFF }, - - // CDirectSound_SetI3DL2Listener+0x3B : mov [ebp-04h],0x88780032 - { 0x3B, 0xC7 }, - { 0x3C, 0x45 }, - { 0x3D, 0xFC }, - { 0x3E, 0x32 }, - { 0x3F, 0x00 }, - { 0x40, 0x78 }, - { 0x41, 0x88 }, - - // CDirectSound_SetI3DL2Listener+0x45 : mov esi,[ebp+0Ch] - { 0x45, 0x8B }, - { 0x46, 0x75 }, - { 0x47, 0x0C }, - - // CDirectSound_SetI3DL2Listener+0x7F : retn 0x0C - { 0x7F, 0xC2 }, - { 0x80, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 4039, 12, - - XREF_CDirectSoundVoice_SetAllParameters, - XRefZero) - - // CDirectSoundVoice_SetAllParameters+0x00 : mov edx,[esp+04] - { 0x00, 0x8B }, - - // CDirectSoundVoice_SetAllParameters+0x0D : mov edi,[edx+10] - { 0x0D, 0x6A }, - { 0x0E, 0x10 }, - - // CDirectSoundVoice_SetAllParameters+0x16 : repe movsd - { 0x16, 0xF3 }, - { 0x17, 0xA5 }, - - // CDirectSoundVoice_SetAllParameters+0x18 : mov eax,[edx+10] - { 0x18, 0x8B }, - { 0x19, 0x42 }, - { 0x1A, 0x10 }, - - { 0x21, 0xFF }, - { 0x26, 0x01 }, - - // CDirectSoundVoice_SetAllParameters+0x33 : retn 0x0C - { 0x33, 0xC2 }, - { 0x34, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetAllParameters, 4039, 1+7, - - XREF_CDirectSoundBuffer_SetAllParameters, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetAllParameters ), - - // CDirectSoundBuffer_SetAllParameters+0x00 : push esi - { 0x00, 0x56 }, - - { 0x2A, 0x24 }, - { 0x2E, 0x24 }, - { 0x32, 0x24 }, - { 0x34, 0xE8 }, - - // CDirectSoundBuffer_SetAllParameters+0x4E : retn 0x0C - { 0x4E, 0xC2 }, - { 0x4F, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetAllParameters -// ****************************************************************** -//Generic OOVPA as of 4039 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetAllParameters, 4039, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetAllParameters ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetConeAngles -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 4039, 14, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) - - { 0x00, 0x8B }, - { 0x03, 0x04 }, - - { 0x04, 0x8B }, - { 0x06, 0x10 }, - - { 0x07, 0x8B }, - { 0x0A, 0x08 }, - - { 0x0B, 0x89 }, - { 0x0C, 0x91 }, - - { 0x18, 0x89 }, - { 0x19, 0x91 }, - - { 0x27, 0x10 }, - { 0x2C, 0x01 }, - - // CDirectSoundVoice_SetConeAngles+0x37 : retn 10h - { 0x37, 0xC2 }, - { 0x38, 0x10 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeAngles -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeAngles, 4039, 1+11, - - XREF_CDirectSoundBuffer_SetConeAngles, - XRefOne) - - // CDirectSoundBuffer_SetConeAngles+0x39 : call [CDirectSoundVoice::SetConeAngles] - XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetConeAngles ), - - // CDirectSoundBuffer_SetConeAngles+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetConeAngles+0x20 : mov eax, 80004005h - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetConeAngles+0x28 : push [esp+0Ch+arg_4] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x18 }, - - // CDirectSoundBuffer_SetConeAngles+0x52 : retn 10h - { 0x52, 0xC2 }, - { 0x53, 0x10 } -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetConeAngles -// ****************************************************************** -//Generic OOVPA as of 4039 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetConeAngles+0x1C : call [CDirectSoundBuffer::SetConeAngles] - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetConeAngles ), - - // IDirectSoundBuffer_SetConeAngles+0x04 : mov eax, [esp+4+arg_0] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSoundBuffer_SetConeAngles+0x12 : add eax, 0FFFFFFE4 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xE4 }, - - // IDirectSoundBuffer_SetConeAngles+0x21 : retn 10h - { 0x21, 0xC2 }, - { 0x22, 0x10 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVelocity, 4039, 1+10, - - XREF_CDirectSoundStream_SetVelocity, - XRefOne) - - XREF_ENTRY( 0x4D, XREF_CDirectSoundVoice_SetVelocity ), - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - { 0x16, 0x74 }, - { 0x23, 0xB8 }, - { 0x29, 0x3B }, - { 0x34, 0x83 }, - { 0x3F, 0x45 }, - { 0x62, 0x8B }, - - { 0x67, 0xC2 }, - { 0x68, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPosition, 4039, 1+10, - - XREF_CDirectSoundStream_SetPosition, - XRefOne) - - XREF_ENTRY( 0x4D, XREF_CDirectSoundVoice_SetPosition ), - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - { 0x16, 0x74 }, - { 0x23, 0xB8 }, - { 0x29, 0x3B }, - { 0x38, 0xEC }, - { 0x57, 0x68 }, - { 0x62, 0x8B }, - - { 0x67, 0xC2 }, - { 0x68, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMode -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMode, 4039, 1+10, - - XREF_CDirectSoundStream_SetMode, - XRefOne) - - XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetMode ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x38, 0xE8 }, - { 0x43, 0x68 }, - { 0x4E, 0x8B }, - - { 0x52, 0xC2 }, - { 0x53, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 4039, 1+10, - - XREF_CDirectSoundStream_SetMaxDistance, - XRefOne) - - XREF_ENTRY( 0x3D, XREF_CDirectSoundVoice_SetMaxDistance ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x3C, 0xE8 }, - { 0x47, 0x68 }, - { 0x52, 0x8B }, - - { 0x56, 0xC2 }, - { 0x57, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistance, 4039, 1+10, - - XREF_CDirectSoundStream_SetMinDistance, - XRefOne) - - XREF_ENTRY( 0x3D, XREF_CDirectSoundVoice_SetMinDistance ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x3C, 0xE8 }, - { 0x47, 0x68 }, - { 0x52, 0x8B }, - - { 0x56, 0xC2 }, - { 0x57, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 4039, 1+8, - - XREF_CDirectSoundStream_SetConeOutsideVolume, - XRefOne) - - XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetConeOutsideVolume ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x20, 0xB8 }, - { 0x23, 0x00 }, - { 0x38, 0xE8 }, - { 0x3D, 0x85 }, - { 0x4E, 0x8B }, - { 0x52, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 4039, 1+8, - - XREF_CDirectSoundStream_SetConeOrientation, - XRefOne) - - XREF_ENTRY( 0x4D, XREF_CDirectSoundVoice_SetConeOrientation ), - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - { 0x16, 0x74 }, - { 0x23, 0xB8 }, - { 0x29, 0x3B }, - { 0x38, 0xEC }, - { 0x43, 0x24 }, - { 0x4C, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeAngles -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeAngles, 4039, 1+8, - - XREF_CDirectSoundStream_SetConeAngles, - XRefOne) - - XREF_ENTRY( 0x3D, XREF_CDirectSoundVoice_SetConeAngles ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - - { 0x2F, 0x18 }, - { 0x32, 0x04 }, - { 0x36, 0x18 }, - - { 0x3C, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetAllParameters, 4039, 1+8, - - XREF_CDirectSoundStream_SetAllParameters, - XRefOne) - - XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetAllParameters ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x38, 0xE8 }, - { 0x43, 0x68 }, - { 0x4E, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 4039, 1+8, - - XREF_CDirectSoundStream_SetOutputBuffer, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetOutputBuffer ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x34, 0xE8 }, - { 0x3F, 0x68 }, - { 0x4A, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetFrequency -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFrequency, 4039, 1+11, - - XREF_CDirectSoundStream_SetFrequency, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetFrequency ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - // je XXXXXXXX + 0x0B - { 0x13, 0x74 }, - { 0x14, 0x0B }, - // jmp XXXXXXXX + 0x26 - { 0x25, 0xEB }, - { 0x26, 0x26 }, - - { 0x29, 0x24 }, - // je XXXXXXXX + 0x0B - { 0x3D, 0x74 }, - { 0x3E, 0x0B }, - - // ret 8 - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetFrequency -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetFrequency, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetFrequency+0x00 : jmp [CDirectSoundStream_SetFrequency] - XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetFrequency ), - - // IDirectSoundStream_SetFrequency+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetVolume -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetVolume, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetVolume+0x00 : jmp [CDirectSoundStream_SetVolume] - XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetVolume ), - - // IDirectSoundStream_SetVolume+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetPitch -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPitch, 4039, 1+11, - - XREF_CDirectSoundStream_SetPitch, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetPitch ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x34, 0xE8 }, - { 0x3F, 0x68 }, - { 0x4A, 0x8B }, - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, - { 0x50, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetPitch -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetPitch, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetPitch+0x00 : jmp [CDirectSoundStream_SetPitch] - XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetPitch ), - - // IDirectSoundStream_SetPitch+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetLFO -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetLFO, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetLFO+0x00 : jmp [CDirectSoundStream_SetLFO] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetLFO ), - - // IDirectSoundStream_SetLFO+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetEG -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetEG, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetEG+0x00 : jmp [CDirectSoundStream_SetEG] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetEG ), - - // IDirectSoundStream_SetEG+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetFilter -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetFilter, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetFilter+0x00 : jmp [CDirectSoundStream_SetFilter] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetFilter ), - - // IDirectSoundStream_SetFilter+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetMixBinVolumes -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetMixBinVolumes_8, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetMixBinVolumes+0x00 : jmp [CDirectSoundStream_SetMixBinVolumes] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMixBinVolumes_8 ), - - // IDirectSoundStream_SetMixBinVolumes+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Pause -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Pause, 4039, 12, - - XREF_CMcpxStream_Pause, - XRefZero) - - // CMcpxStream_Pause+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxStream_Pause+0x20 : or eax, 4 - { 0x20, 0x83 }, - { 0x21, 0xC8 }, - { 0x22, 0x04 }, - - // CMcpxStream_Pause+0x23 : jmp +0x0F - { 0x23, 0xEB }, - { 0x24, 0x0F }, - - // CMcpxStream_Pause+0x2B : mov eax,[esi+00000090] - { 0x2B, 0x8B }, - { 0x2C, 0x86 }, - { 0x2D, 0x90 }, - { 0x2E, 0x00 }, - - // CMcpxStream_Pause+0x48 : retn 0x04 - { 0x48, 0xC2 }, - { 0x49, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Pause -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Pause, 4039, 1+11, - - XREF_CDirectSoundStream_Pause, - XRefOne) - - // CDirectSoundStream_Pause+0x33 : call [CMcpxStream::Pause] - XREF_ENTRY( 0x34, XREF_CMcpxStream_Pause ), - - // CDirectSoundStream_Pause+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundStream_Pause+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundStream_Pause+0x2B : mov ecx, [eax+0x24] - { 0x2B, 0x8B }, - { 0x2C, 0x48 }, - { 0x2D, 0x24 }, - - // CDirectSoundStream_Pause+0x4D : retn 0x08 - { 0x4D, 0xC2 }, - { 0x4E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DSound_CRefCount_AddRef -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(DSound_CRefCount_AddRef, 4039, 12, - - XREF_DSound_CRefCount_AddRef, - XRefZero) - - // DSound_CRefCount_AddRef+0x00 : mov eax,dword ptr [esp+4] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // DSound_CRefCount_AddRef+0x04 : inc dword ptr [eax+4] - { 0x04, 0xFF }, - { 0x05, 0x40 }, - { 0x06, 0x04 }, - - // DSound_CRefCount_AddRef+0x07 : mov eax, dword ptr [eax+4] - { 0x07, 0x8B }, - { 0x08, 0x40 }, - { 0x09, 0x04 }, - - // DSound_CRefCount_AddRef+0x0A : retn 0x04 - { 0x0A, 0xC2 }, - { 0x0B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DSound_CRefCount_Release -// ****************************************************************** -OOVPA_XREF(DSound_CRefCount_Release, 4039, 10, - - XREF_DSound_CRefCount_Release, - XRefZero) - - { 0x00, 0x8B }, - - // DSound_CRefCount_Release+0x0B : dec eax - { 0x0B, 0x48 }, - - // DSound_CRefCount_Release+0x0E : mov dword ptr [ecx+4], eax - { 0x0E, 0x89 }, - { 0x0F, 0x41 }, - { 0x10, 0x04 }, - - // DSound_CRefCount_Release+0x1D : mov, dword ptr [ecx+4] - { 0x1D, 0x8B }, - { 0x1E, 0x41 }, - { 0x1F, 0x04 }, - - // DSound_CRefCount_Release+0x20 : retn 0x04 - { 0x20, 0xC2 }, - { 0x21, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::Release -// ****************************************************************** -// NOTE: Has identical function to DirectSound::CAc97MediaObject::Release -OOVPA_XREF(CDirectSoundStream_Release, 4039, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x31, XREF_DSound_CRefCount_Release ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - - { 0x2C, 0x83 }, - { 0x2D, 0xC0 }, - { 0x2E, 0x04 }, - - { 0x46, 0x8B }, - - { 0x4A, 0xC2 }, - { 0x4B, 0x04 }, - { 0x4C, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CFullHRTFSource::GetCenterVolume -// ****************************************************************** -OOVPA_XREF(CFullHRTFSource_GetCenterVolume, 4039, 9, - - XREF_CFullHRTFSource_GetCenterVolume, - XRefZero) - - { 0x00, 0x55 }, - - { 0x22, 0xD9 }, - { 0x63, 0xDF }, - - { 0xCB, 0xF0 }, - { 0xCC, 0xD8 }, - { 0xCD, 0xFF }, - { 0xCE, 0xFF }, - - { 0xD1, 0xC2 }, - { 0xD2, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CHRTFSource::SetFullHRTF5Channel -// ****************************************************************** -OOVPA_XREF(CHRTFSource_SetFullHRTF5Channel, 4039, 1+8, - - XREF_CHRTFSource_SetFullHRTF5Channel, - XRefOne) - - XREF_ENTRY( 0x38, XREF_CFullHRTFSource_GetCenterVolume ), - - { 0x00, 0xC7 }, - - { 0x14, 0xC7 }, - { 0x1E, 0xC7 }, - { 0x28, 0xC7 }, - { 0x32, 0xC7 }, - { 0x3C, 0xC7 }, - { 0x46, 0xC7 }, - { 0x50, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseFullHRTF -// ****************************************************************** -OOVPA_XREF(DirectSoundUseFullHRTF, 4039, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x09, XREF_CHRTFSource_SetFullHRTF5Channel ), - - { 0x06, 0x8B }, - { 0x07, 0xF0 }, - { 0x0D, 0x85 }, - { 0x0E, 0xF6 }, - { 0x11, 0x0B }, - { 0x17, 0xFF }, - { 0x1D, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * XAudioCalculatePitch -// ****************************************************************** -OOVPA_XREF(XAudioCalculatePitch, 4039, 11, - - XREF_XAudioCalculatePitch, - XRefZero) - - // XAudioCalculatePitch+0x10 : cmp eax, 0xBB80 - { 0x10, 0x3D }, - { 0x11, 0x80 }, - { 0x12, 0xBB }, - { 0x13, 0x00 }, - - // XAudioCalculatePitch+0x19 : jmp +0x21 - { 0x19, 0xEB }, - { 0x1A, 0x21 }, - - // XAudioCalculatePitch+0x3C : lea ecx, [ebp-04] - { 0x3C, 0x8D }, - { 0x3D, 0x4D }, - { 0x3E, 0xFC }, - - // XAudioCalculatePitch+0x48 : retn 0x04 - { 0x48, 0xC2 }, - { 0x49, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::EnableHeadphones -// ****************************************************************** -OOVPA_XREF(CDirectSound_EnableHeadphones, 4039, 16, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) - - { 0x00, 0x55 }, - - { 0x42, 0x0f }, - { 0x43, 0x95 }, - { 0x44, 0xC3 }, - - { 0x4F, 0x0D }, - { 0x50, 0x00 }, - { 0x51, 0x00 }, - { 0x52, 0x00 }, - { 0x53, 0x80 }, - - { 0x56, 0x25 }, - { 0x57, 0xFF }, - { 0x58, 0xFF }, - { 0x59, 0xFF }, - { 0x5A, 0x7F }, - - { 0x7F, 0xC2 }, - { 0x80, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Process -// ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_Process, 4039, 17) - - { 0x00, 0x57 }, - - { 0x28, 0x8B }, - { 0x2B, 0x0C }, - - { 0x2C, 0x8B }, - { 0x2E, 0x24 }, - - { 0x34, 0x85 }, - { 0x35, 0xC0 }, - - //CDirectSoundStream_Process+0x39 : mov eax, 88780032h - { 0x39, 0x32 }, - { 0x3A, 0x00 }, - { 0x3B, 0x78 }, - { 0x3C, 0x88 }, - - { 0x3F, 0xFF }, - { 0x42, 0x10 }, - - { 0x43, 0x8B }, - { 0x45, 0x24 }, - - { 0x60, 0xC2 }, - { 0x61, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Flush, 4039, 10, - - XREF_CMcpxStream_Flush, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x09, 0x33 }, - - { 0x32, 0x83 }, - { 0x33, 0xFF }, - { 0x34, 0x03 }, - - { 0x4A, 0xE8 }, - - { 0x58, 0xE8 }, - - { 0x98, 0xC9 }, - { 0x99, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Flush -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Flush, 4039, 1+8, - - XRefNoSaveIndex, - XRefOne) - - //CDirectSoundStream_Flush+0x2F : call [CMcpxStream_Flush] - XREF_ENTRY( 0x30, XREF_CMcpxStream_Flush ), - - { 0x00, 0x56 }, - - { 0x27, 0x8B }, - { 0x2A, 0x08 }, - - { 0x2B, 0x8B }, - { 0x2D, 0x24 }, - - { 0x2F, 0xE8 }, - - //CDirectSoundStream_Flush+0x49 : ret 4 - { 0x49, 0xC2 }, - { 0x4A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_AddRef -// ****************************************************************** -// NOTE: Has identical function to DirectSound::CAc97MediaObject::AddRef -OOVPA_XREF(CDirectSoundStream_AddRef, 4039, 11, - - XRefNoSaveIndex, - XRefZero) - - { 0x00, 0xE8 }, - - { 0x24, 0x8B }, - { 0x25, 0x4C }, - - { 0x28, 0xFF }, - { 0x29, 0x41 }, - { 0x2A, 0x08 }, - - { 0x2E, 0x8B }, - { 0x2F, 0x71 }, - { 0x30, 0x08 }, - - //CDirectSoundStream_AddRef+0x41 : ret 4 - { 0x41, 0xC2 }, - { 0x42, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_GetInfo -// ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_GetInfo, 4039, 17) - - //CDirectSoundStream_GetInfo+0x00 : push ebx - { 0x00, 0x53 }, - - //CDirectSoundStream_GetInfo+0x2D : mov edi, dword ptr [esp + 10h] - { 0x2D, 0x8B }, - { 0x2E, 0x7C }, - { 0x2F, 0x24 }, - { 0x30, 0x10 }, - - //CDirectSoundStream_GetInfo+0x37 : mov, dword ptr [edi + 24h] - { 0x37, 0x8B }, - { 0x38, 0x4F }, - { 0x39, 0x24 }, - - //CDirectSoundStream_GetInfo+0x42 : mov eax, dword ptr [edi + 20h] - { 0x42, 0x8B }, - { 0x43, 0x47 }, - { 0x44, 0x20 }, - - //CDirectSoundStream_GetInfo+0x48 : and dword ptr [esi + 8], 0 - { 0x48, 0x83 }, - { 0x49, 0x66 }, - { 0x4A, 0x08 }, - { 0x4B, 0x00 }, - - //CDirectSoundStream_GetInfo+0x63 : ret 8 - { 0x63, 0xC2 }, - { 0x64, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Discontinuity -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Discontinuity, 4039, 1+6, - - XREF_CMcpxStream_Discontinuity, - XRefOne) - - //CMcpxStream_Discontinuity+0x17 : call [CMcpxStream_Flush] - XREF_ENTRY ( 0x18, XREF_CMcpxStream_Flush ), - - { 0x00, 0x56 }, - - { 0x01, 0x8B }, - - { 0x15, 0x8B }, - - { 0x17, 0xE8 }, - - { 0x1E, 0x5E }, - - { 0x1F, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Discontinuity -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Discontinuity, 4039, 1+8, - - XRefNoSaveIndex, - XRefOne) - - //CDirectSoundStream_Discontinuity+0x2F : call [CMcpxStream_Discontinuity] - XREF_ENTRY( 0x30, XREF_CMcpxStream_Discontinuity ), - - { 0x00, 0x56 }, - - { 0x27, 0x8B }, - { 0x2A, 0x08 }, - - { 0x2B, 0x8B }, - { 0x2D, 0x24 }, - - { 0x2F, 0xE8 }, - - //CDirectSoundStream_Discontinuity+0x49 : ret 4 - { 0x49, 0xC2 }, - { 0x4A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetMixBins -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMixBins, 4039, 1+9, - - XREF_CDirectSoundStream_SetMixBins, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetMixBins ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x34, 0xE8 }, - { 0x3F, 0x68 }, - - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetMixBins -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetMixBins, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetMixBins+0x00 : jmp [CDirectSoundStream_SetMixBins] - XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetMixBins ), - - // IDirectSoundStream_SetMixBins+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 4039, 18, - - XREF_CDirectSoundVoice_SetI3DL2Source, - XRefZero) - - // CDirectSoundVoice_SetI3DL2Source+0x00 : mov edx, [esp+arg_0] - { 0x00, 0x8B }, - { 0x01, 0x54 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // CDirectSoundVoice_SetI3DL2Source+0x1B : or byte ptr [eax+138h], 80h - { 0x1B, 0x80 }, - { 0x1C, 0x88 }, - { 0x1D, 0x38 }, - { 0x1E, 0x01 }, - { 0x1F, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x80 }, - - // CDirectSoundVoice_SetI3DL2Source+0x22 : test [esp+8+arg_8], 1 - { 0x22, 0xF6 }, - { 0x23, 0x44 }, - { 0x24, 0x24 }, - { 0x25, 0x14 }, - { 0x26, 0x01 }, - - // CDirectSoundVoice_SetI3DL2Source+0x57 : retn 08h - { 0x57, 0xC2 }, - { 0x58, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4039, 1+11, - - XREF_CDirectSoundBuffer_SetI3DL2Source, - XRefOne) - - // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetI3DL2Source ), - - // CDirectSoundBuffer_SetI3DL2Source+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetI3DL2Source+0x21 : mov eax, 80004005h - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSoundBuffer_SetI3DL2Source+0x31 : push [esp+0Ch+arg_0] - { 0x30, 0xFF }, - { 0x31, 0x74 }, - { 0x32, 0x24 }, - { 0x33, 0x14 }, - - // CDirectSoundBuffer_SetI3DL2Source+0x4E : retn 0Ch - { 0x4E, 0xC2 }, - { 0x4F, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetI3DL2Source -// ****************************************************************** -// Generic OOVPA as of 4039 -OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 4039, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetI3DL2Source+0x18 : call [CDirectSoundBuffer::SetI3DL2Source] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetI3DL2Source ), - - // IDirectSoundBuffer_SetI3DL2Source+0x04 : push [esp+arg_8] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetI3DL2Source+0x0E : add eax, 0FFFFFFE4h - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xE4 }, - - // IDirectSoundBuffer_SetI3DL2Source+0x1D : retn 0Ch - { 0x1E, 0x0C }, - { 0x1F, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::GetCaps -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetCaps, 4039, 12, - - XREF_CDirectSound_GetCaps, - XRefZero) - - { 0x00, 0x53 }, - { 0x15, 0x68 }, - - { 0x36, 0x44 }, - { 0x37, 0x24 }, - { 0x38, 0x18 }, - { 0x39, 0x8B }, - { 0x3A, 0x48 }, - { 0x3B, 0x0C }, - { 0x3C, 0x56 }, - { 0x3D, 0xE8 }, - - { 0x6C, 0xC2 }, - { 0x6D, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundCreateStream -// ****************************************************************** -OOVPA_XREF(DirectSoundCreateStream, 4039, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // DirectSoundCreateStream+0x2B : call [CDirectSound::CreateSoundStream] - XREF_ENTRY( 0x2C, XREF_CDirectSound_CreateSoundStream ), - - // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, - { 0x05, 0x65 }, - { 0x06, 0xFC }, - - // DirectSoundCreateStream+0x08 : push esi; push edi - { 0x08, 0x56 }, - { 0x09, 0x57 }, - - // DirectSoundCreateStream+0x32 : lea eax,[ebp-04] - { 0x32, 0x8D }, - { 0x33, 0x45 }, - { 0x34, 0xFC }, - - // DirectSoundCreateStream+0x4F : retn 0x08 - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetHeadroom, 4039, 1+8, - - XREF_CDirectSoundStream_SetHeadroom, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetHeadroom ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x34, 0xE8 }, - { 0x3F, 0x68 }, - { 0x4A, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetHeadroom -// ****************************************************************** -// Generic OOVPA as of 4039 and newer -OOVPA_XREF(IDirectSoundStream_SetHeadroom, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetHeadroom+0x00 : jmp [CDirectSoundStream_SetHeadroom] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetHeadroom ), - - // IDirectSoundStream_SetHeadroom+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * IsValidFormat -// ****************************************************************** -OOVPA_NO_XREF(IsValidFormat, 4039, 11) - - // IsValidFormat+0x00 : mov ecx, [esp+4] - { 0x00, 0x8B }, - - // IsValidFormat+0x14 : jz +0x04 - { 0x14, 0x74 }, - { 0x15, 0x04 }, - - // IsValidFormat+0x16 : xor eax, eax - { 0x16, 0x33 }, - { 0x17, 0xC0 }, - - // IsValidFormat+0x18 : jmp +0x16 - { 0x18, 0xEB }, - { 0x19, 0x16 }, - - // IsValidFormat+0x1A : push ecx - { 0x1A, 0x51 }, - - // IsValidFormat+0x1B : Call [WaveFormat_IsValidExtensibleFormat] - { 0x1B, 0xE8 }, - - // IsValidFormat+0x30 : retn 4 - { 0x30, 0xC2 }, - { 0x31, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetNotificationPositions -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions, 4039, 12, - - XREF_CDirectSoundBuffer_SetNotificationPositions, - XRefZero) - - // CDirectSoundBuffer_SetNotificationPositions+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetNotificationPositions+0x09 : push [esp+8+arg_4] - { 0x09, 0xFF }, - { 0x0A, 0x74 }, - { 0x0B, 0x24 }, - { 0x0C, 0x10 }, - - // CDirectSoundBuffer_SetNotificationPositions+0x0D : mov ecx, [esi+1Ch] - { 0x0D, 0x8B }, - { 0x0E, 0x4E }, - { 0x0F, 0x1C }, - - // CDirectSoundBuffer_SetNotificationPositions+0x10 : Call [CDirectSoundBufferSettings_SetNotificationPositions] - { 0x10, 0xE8 }, - - // CDirectSoundBuffer_SetNotificationPositions+0x1C : Call [CMcpxBuffer_SetNotificationPositions] - { 0x1C, 0xE8 }, - - // CDirectSoundBuffer_SetNotificationPositions+0x22 : retn 0Ch - { 0x22, 0xC2 }, - { 0x23, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetFormat, 4039, 8, - - XREF_CDirectSoundVoice_SetFormat, - XRefZero) - - { 0x07, 0x4E }, - { 0x10, 0xE8 }, - { 0x19, 0xD8 }, - { 0x22, 0xFF }, - { 0x2B, 0x0C }, - { 0x34, 0xFF }, - { 0x3F, 0x8B }, - { 0x46, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4039, 1+12, - - XREF_CDirectSoundBuffer_SetFormat, - XRefOne) - - // CDirectSoundBuffer_SetFormat+0x31 : call [CDirectSoundVoice::SetFormat] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetFormat ), // Was 4134 Offset -0x01h - - // CDirectSoundBuffer_SetFormat+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetFormat+0x28 : push [esp+0x10]; push [esp+0x10] - { 0x28, 0xFF }, - { 0x29, 0x74 }, - { 0x2A, 0x24 }, - { 0x2B, 0x10 }, - { 0x2C, 0xFF }, - { 0x2D, 0x74 }, - { 0x2E, 0x24 }, - { 0x2F, 0x10 }, - - // CDirectSoundBuffer_SetFormat+0x48 : pop edi - { 0x48, 0x5F }, - - // CDirectSoundBuffer_SetFormat+0x4A : retn 0x08 - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetFormat -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetFormat, 4039, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFormat ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFormat, 4039, 1+11, - - XREF_CDirectSoundStream_SetFormat, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetFormat ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - // je XXXXXXXX + 0x0B - { 0x13, 0x74 }, - { 0x14, 0x0B }, - // jmp XXXXXXXX + 0x26 - { 0x25, 0xEB }, - { 0x26, 0x26 }, - - { 0x29, 0x24 }, - // je XXXXXXXX + 0x0B - { 0x3D, 0x74 }, - { 0x3E, 0x0B }, - - // ret 8 - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetFormat -// ****************************************************************** -// Generic OOVPA as of 4___ and newer -OOVPA_XREF(IDirectSoundStream_SetFormat, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetFormat+0x00 : jmp [CDirectSoundStream_SetFormat] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetFormat ), - - // IDirectSoundStream_SetFormat+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_CommitEffectData -// ****************************************************************** -OOVPA_XREF(CDirectSound_CommitEffectData, 4039, 16, - - XREF_CDirectSound_CommitEffectData, - XRefZero) - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - { 0x25, 0xEB }, - { 0x26, 0x24 }, - - { 0x27, 0x8B }, - { 0x28, 0x44 }, - - { 0x31, 0x6A }, - { 0x33, 0x6A }, - - { 0x35, 0xE8 }, - - { 0x4C, 0xC2 }, - { 0x4D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetEffectData -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetEffectData, 4039, 14, - - XREF_CDirectSound_GetEffectData, - XRefZero) - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - - { 0x23, 0xB8 }, - { 0x24, 0x05 }, - { 0x25, 0x40 }, - { 0x26, 0x00 }, - { 0x27, 0x80 }, - - { 0x28, 0xEB }, - { 0x29, 0x2F }, - - { 0x2A, 0x8B }, - { 0x2B, 0x45 }, - - { 0x40, 0xE8 }, - - { 0x5B, 0xC2 }, - { 0x5C, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetEffectData -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetEffectData, 4039, 14, - - XREF_CDirectSound_SetEffectData, - XRefZero) - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - - { 0x23, 0xB8 }, - { 0x24, 0x05 }, - { 0x25, 0x40 }, - { 0x26, 0x00 }, - { 0x27, 0x80 }, - - { 0x28, 0xEB }, - { 0x29, 0x32 }, - - { 0x2A, 0x8B }, - { 0x2B, 0x45 }, - - { 0x43, 0xE8 }, - - { 0x5E, 0xC2 }, - { 0x5F, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 4039, 1+8, - - XREF_CDirectSoundStream_SetI3DL2Source, - XRefOne) - - XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetI3DL2Source ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x13, 0x74 }, - { 0x20, 0xB8 }, - { 0x29, 0x24 }, - { 0x38, 0xE8 }, - { 0x43, 0x68 }, - { 0x4E, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetMixBinHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4039, 17, - - XREF_CDirectSound_SetMixBinHeadroom, - XRefZero) - - // CDirectSound_SetMixBinHeadroom+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_SetMixBinHeadroom+0x20 : mov eax, 0x80004005 - { 0x20, 0xB8 }, - { 0x21, 0x05 }, - { 0x22, 0x40 }, - { 0x23, 0x00 }, - { 0x24, 0x80 }, - - // CDirectSound_SetMixBinHeadroom+0x37 : mov [edx+ecx*4+88h], edi - { 0x37, 0x89 }, - { 0x38, 0xBC }, - { 0x39, 0x8A }, - { 0x3A, 0x88 }, - { 0x3B, 0x00 }, - { 0x3C, 0x00 }, - { 0x3D, 0x00 }, - - // CDirectSound_SetMixBinHeadroom+0x3E : push ecx - { 0x3E, 0x51 }, - - // CDirectSound_SetMixBinHeadroom+0x3F : mov ecx, [eax+0Ch] - { 0x3F, 0x8B }, - - // CDirectSound_SetMixBinHeadroom+0x5C : retn 0x0C - { 0x5C, 0xC2 }, - { 0x5D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetAllParameters, 4039, 15, - - XREF_CDirectSound_SetAllParameters, - XRefZero) - - // CDirectSound_SetAllParameters+0x00 : push ebx - { 0x00, 0x53 }, - - // CDirectSound_SetAllParameters+0x3F : or byte ptr [eax+84h], 0FFh - { 0x3F, 0x80 }, - { 0x40, 0x88 }, - { 0x41, 0x84 }, - { 0x42, 0x00 }, - { 0x43, 0x00 }, - { 0x44, 0x00 }, - { 0x45, 0xFF }, - - // CDirectSound_SetAllParameters+0x46 : test [esp+0Ch+arg_8], 1 - { 0x46, 0xF6 }, - { 0x47, 0x44 }, - { 0x48, 0x24 }, - { 0x49, 0x18 }, - { 0x4A, 0x01 }, - - // CDirectSound_SetAllParameters+0x67 : retn 0Ch - { 0x67, 0xC2 }, - { 0x68, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * WaveFormat::CreateXboxAdpcmFormat -// ****************************************************************** -OOVPA_XREF(WaveFormat_CreateXboxAdpcmFormat, 4039, 12, - - XREF_WaveFormat_CreateXboxAdpcmFormat, - XRefZero) - - { 0x07, 0x08 }, - { 0x10, 0xE9 }, - { 0x19, 0x8D }, - - { 0x27, 0x66 }, - { 0x28, 0xC7 }, - { 0x29, 0x40 }, - { 0x2A, 0x0E }, - { 0x2B, 0x04 }, - { 0x2C, 0x00 }, - { 0x2D, 0x66 }, - - { 0x34, 0x66 }, - { 0x3D, 0x12 }, -OOVPA_END; - -// ****************************************************************** -// * XAudioCreateAdpcmFormat -// ****************************************************************** -OOVPA_XREF(XAudioCreateAdpcmFormat, 4039, 1+1, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x01, XREF_WaveFormat_CreateXboxAdpcmFormat ), - - { 0x00, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl deleted file mode 100644 index 974f0312b..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ /dev/null @@ -1,3758 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4134.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * DirectSoundCreate -// ****************************************************************** -OOVPA_NO_XREF(DirectSoundCreate, 4134, 9) - - // DirectSoundCreate+0x0B : movzx esi, al - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0xF0 }, - - // DirectSoundCreate+0x12 : call [addr] - { 0x12, 0xE8 }, - - // DirectSoundCreate+0x1B : jl +0x13 - { 0x1B, 0x7C }, - { 0x1C, 0x13 }, - - // DirectSoundCreate+0x27 : sbb ecx, ecx - { 0x27, 0x1B }, - { 0x28, 0xC9 }, - - // DirectSoundCreate+0x43 : leave - { 0x43, 0xC9 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundDoWork -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -// TODO: DirectSoundDoWork 4134 has weak OV list, need to add more or at least use XREF support to be strengthen. -OOVPA_NO_XREF(DirectSoundDoWork, 4134, 11) - - { 0x00, 0x56 }, - - { 0x06, 0x0F }, - { 0x07, 0xB6 }, - { 0x08, 0xF0 }, - { 0x09, 0xA1 }, - - { 0x0E, 0x85 }, - { 0x10, 0x74 }, - { 0x18, 0x85 }, - { 0x1C, 0x0B }, - { 0x22, 0xFF }, - { 0x28, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CreateSoundBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4134, 14, - - XREF_CDirectSound_CreateSoundBuffer, - XRefZero) - - // CDirectSound_CreateSoundBuffer+0x23 : mov eax, 0x80004005 - { 0x23, 0xB8 }, - { 0x24, 0x05 }, - { 0x25, 0x40 }, - { 0x27, 0x80 }, - - // CDirectSound_CreateSoundBuffer+0x2A : push 0x24 - { 0x2A, 0x6A }, - { 0x2B, 0x24 }, - - // CDirectSound_CreateSoundBuffer+0x4A : add esi, 0x7FF8FFF2 - { 0x4A, 0x81 }, - { 0x4B, 0xE6 }, - { 0x4C, 0xF2 }, - { 0x4D, 0xFF }, - { 0x4E, 0xF8 }, - { 0x4F, 0x7F }, - - // CDirectSound_CreateSoundBuffer+0x99 : retn 0x10 - { 0x99, 0xC2 }, - { 0x9A, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetLoopRegion -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4134, 12, - - XREF_CDirectSoundBuffer_SetLoopRegion, - XRefZero) - - // CDirectSoundBuffer_SetLoopRegion+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetLoopRegion+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - - // CDirectSoundBuffer_SetLoopRegion+0x29 : jmp +0x55 - { 0x29, 0xEB }, - { 0x2A, 0x55 }, - - // CDirectSoundBuffer_SetLoopRegion+0x56 : sub ecx, esi - { 0x56, 0x2B }, - { 0x57, 0xCE }, - - // CDirectSoundBuffer_SetLoopRegion+0x82 : retn 0x0C - { 0x82, 0xC2 }, - { 0x83, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetI3DL2Listener -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4134, 11, - - XREF_CDirectSound_SetI3DL2Listener, - XRefZero) - - // CDirectSound_SetI3DL2Listener+0x3A : mov edi, 0x88780032 - { 0x3A, 0xBF }, - { 0x3B, 0x32 }, - { 0x3C, 0x00 }, - { 0x3D, 0x78 }, - { 0x3E, 0x88 }, - - // CDirectSound_SetI3DL2Listener+0xA2 : fstp dword ptr[edx+0x94] - { 0xA2, 0xD9 }, - { 0xA3, 0x9A }, - { 0xA4, 0x94 }, - - // CDirectSound_SetI3DL2Listener+0xA8 : fld dword ptr[ecx+0x24] - { 0xA8, 0xD9 }, - { 0xA9, 0x41 }, - { 0xAA, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetHeadroom -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4134, 14, - - XREF_CDirectSoundVoice_SetHeadroom, - XRefOne) - - // CDirectSoundVoice_SetHeadroom+0x1B : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x1B, XREF_CMcpxVoiceClient_SetVolume ), - - { 0x00, 0x8B }, - { 0x08, 0x48 }, - { 0x0F, 0x2B }, - { 0x13, 0x1C }, - - // CDirectSoundVoice_SetHeadroom+0x14 : mov dword ptr [eax+20h],esi - { 0x14, 0x89 }, - { 0x15, 0x70 }, - { 0x16, 0x20 }, - - // CDirectSoundVoice_SetHeadroom+0x14 : mov ecx,dword ptr [edx+0Ch] - { 0x17, 0x8B }, - { 0x18, 0x4A }, - { 0x19, 0x0C }, - - // CDirectSoundVoice_SetHeadroom+0x14 : call CMcpxVoiceClient::SetVolume - { 0x1A, 0xE8 }, - - // CDirectSoundVoice_SetHeadroom+0x14 :retn 8 - { 0x20, 0xC2 }, - { 0x21, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetHeadroom -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetHeadroom, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetHeadroom ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMixBins -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4134, 1+17, - - XREF_CDirectSoundBuffer_SetMixBins, - XRefOne) - - // CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBins ), - - // CDirectSoundBuffer_SetMixBins+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMixBins+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetMixBins+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x29, 0xFF }, - { 0x2A, 0x74 }, - { 0x2B, 0x24 }, - { 0x2C, 0x10 }, - { 0x2D, 0xFF }, - { 0x2E, 0x74 }, - { 0x2F, 0x24 }, - { 0x30, 0x10 }, - - // CDirectSoundBuffer_SetMixBins+0x49 : pop edi - { 0x49, 0x5F }, - - // CDirectSoundBuffer_SetMixBins+0x4B : retn 0x08 - { 0x4B, 0xC2 }, - { 0x4C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetPosition, 4134, 14, - - XREF_CDirectSound_SetPosition, - XRefZero) - - // CDirectSound_SetPosition+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] - { 0x2B, 0x8B }, - { 0x2C, 0x4D }, - { 0x2D, 0x08 }, - - // CDirectSound_SetPosition+0x3F : mov [edx+0x3C], edi - { 0x3F, 0x89 }, - { 0x40, 0x7A }, - { 0x41, 0x3C }, - - // CDirectSound_SetPosition+0x4C : or word ptr [eax+0xA4], 0x01FF - { 0x4C, 0x80 }, - { 0x4D, 0x88 }, - { 0x4E, 0xA4 }, - { 0x4F, 0x00 }, - { 0x52, 0xFF }, - - // CDirectSound_SetPosition+0x73 : retn 0x14 - { 0x73, 0xC2 }, - { 0x74, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_CreateSoundBuffer -// ****************************************************************** -OOVPA_XREF(IDirectSound_CreateSoundBuffer, 4134, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundBuffer ), - - // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+8] - { 0x04, 0x8B }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, - - // IDirectSound_CreateSoundBuffer+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xF8 }, - - // IDirectSound_CreateSoundBuffer+0x17 : sbb ecx, ecx - { 0x17, 0x1B }, - { 0x18, 0xC9 }, - - // IDirectSound_CreateSoundBuffer+0x21 : retn 0x10 - { 0x21, 0xC2 }, - { 0x22, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetFrequency -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetFrequency, 4134, 11, - - XREF_CDirectSoundVoice_SetFrequency, - XRefZero) - - // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] - { 0x0D, 0x8B }, - { 0x0E, 0x46 }, - { 0x0F, 0x10 }, - - // CDirectSoundVoice_SetFrequency+0x10 : mov eax, [eax+0x10] - { 0x10, 0x8B }, - { 0x11, 0x40 }, - { 0x12, 0x10 }, - - // CDirectSoundVoice_SetFrequency+0x14 : call [abs]; push eax; push esi - { 0x14, 0xE8 }, - { 0x19, 0x50 }, - { 0x1A, 0x56 }, - - // CDirectSoundVoice_SetFrequency+0x22 : retn 0x08 - { 0x21, 0xC2 }, - { 0x22, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetFrequency -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4134, 1+17, - - XREF_CDirectSoundBuffer_SetFrequency, - XRefOne) - - // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFrequency ), - - // CDirectSoundBuffer_SetFrequency+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetFrequency+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetFrequency+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x29, 0xFF }, - { 0x2A, 0x74 }, - { 0x2B, 0x24 }, - { 0x2C, 0x10 }, - { 0x2D, 0xFF }, - { 0x2E, 0x74 }, - { 0x2F, 0x24 }, - { 0x30, 0x10 }, - - // CDirectSoundBuffer_SetFrequency+0x49 : pop edi - { 0x49, 0x5F }, - - // CDirectSoundBuffer_SetFrequency+0x4B : retn 0x08 - { 0x4B, 0xC2 }, - { 0x4C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_SetVolume -// ****************************************************************** -// Generic OOVPA as of 4134 and newer. -OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4134, 13, - - XREF_CMcpxVoiceClient_SetVolume, - XRefZero) - - // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] - { 0x2A, 0x8D }, - { 0x2B, 0x04 }, - { 0x2C, 0x49 }, - - // CMcpxVoiceClient_SetVolume+0x45 : movzx edx, word ptr [ecx] - { 0x45, 0x0F }, - { 0x46, 0xB7 }, - { 0x47, 0x11 }, - - // CMcpxVoiceClient_SetVolume+0x6C : mov edx, [ebp+eax*4-0x14] - { 0x6C, 0x8B }, - { 0x6D, 0x54 }, - { 0x6E, 0x85 }, - { 0x6F, 0xEC }, - - // CMcpxVoiceClient_SetVolume+0x84 : inc eax; inc ecx, inc ecx - { 0x84, 0x40 }, - { 0x85, 0x41 }, - { 0x86, 0x41 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetVolume -// ****************************************************************** -// Generic OOVPA as of 4134 and newer. -OOVPA_XREF(CDirectSoundVoice_SetVolume, 4134, 1+10, - - XREF_CDirectSoundVoice_SetVolume, - XRefOne) - - // CDirectSoundVoice_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ), - - // CDirectSoundVoice_SetVolume+0x00 : mov ecx, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // CDirectSoundVoice_SetVolume+0x0B : sub edx, [eax+0x20] - { 0x0B, 0x2B }, - { 0x0C, 0x50 }, - { 0x0D, 0x20 }, - - // CDirectSoundVoice_SetVolume+0x11 : mov ecx, [ecx+0x0C] - { 0x11, 0x8B }, - { 0x12, 0x49 }, - { 0x13, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVolume, 4134, 1+8, - - XREF_CDirectSoundStream_SetVolume, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetVolume ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Lock -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_Lock, 4134, 1+12, - - XREF_CDirectSoundBuffer_Lock, - XRefOne) - - XREF_ENTRY( 0x48, XREF_CDirectSoundBuffer_GetCurrentPosition ), - - { 0x00, 0x55 }, - - // CDirectSoundBuffer_Lock+0x37 : test [ebp+0x24], 1 - { 0x37, 0xF6 }, - { 0x38, 0x45 }, - { 0x39, 0x24 }, - { 0x3A, 0x01 }, - - // CDirectSoundBuffer_Lock+0x5C : test byte ptr [ebp+24h],2 - { 0x53, 0xF6 }, - { 0x54, 0x45 }, - { 0x55, 0x24 }, - { 0x56, 0x02 }, - - // CDirectSoundBuffer_Lock+0x81 : sub ecx,dword ptr [ebp+0Ch] - { 0x81, 0x2B }, - { 0x82, 0x4D }, - { 0x83, 0x0C }, - - // Major changes occur at 0x84 and later -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_SetBufferData -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_SetBufferData, 4134, 9, - - XREF_CMcpxBuffer_SetBufferData, - XRefZero) - - // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx - { 0x1E, 0x3B }, - { 0x1F, 0xC3 }, - - // CMcpxBuffer_SetBufferData+0x20 : jz +0x0C - { 0x20, 0x74 }, - { 0x21, 0x0C }, - - // CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xB8], ecx - { 0x45, 0x89 }, - { 0x46, 0x8E }, - { 0x47, 0xB8 }, - - // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 - { 0x89, 0xC2 }, - { 0x8A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetBufferData -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4134, 19, - - XREF_CDirectSoundBuffer_SetBufferData, - XRefZero) - - // CDirectSoundBuffer_SetBufferData+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetBufferData+0x0F : cmp dword ptr [ebp+10h],edi - { 0x0F, 0x39 }, - { 0x10, 0x7D }, - { 0x11, 0x10 }, - - // CDirectSoundBuffer_SetBufferData+0x12 : mov dword ptr [ebp+0Ch],edi - { 0x12, 0x89 }, - { 0x13, 0x7D }, - { 0x14, 0x0C }, - - // CDirectSoundBuffer_SetBufferData+0x4B : mov eax,dword ptr [esi+1Ch] - { 0x4B, 0x8B }, - { 0x4C, 0x46 }, - { 0x4D, 0x1C }, - - // CDirectSoundBuffer_SetBufferData+0x64 : mov ecx,dword ptr [esi+20h] - { 0x64, 0x8B }, - { 0x65, 0x4E }, - { 0x66, 0x20 }, - - // CDirectSoundBuffer_SetBufferData+0x8A : mov ecx,dword ptr [esi+20h] - { 0x8A, 0x8B }, - { 0x8B, 0x4E }, - { 0x8C, 0x20 }, - - // CDirectSoundBuffer_SetBufferData+0xAB : retn 0x0C - { 0xAB, 0xC2 }, - { 0xAC, 0x0C }, - { 0xAD, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetStatus, 4134, 11, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) - - // CMcpxBuffer_GetStatus+0x0A : mov esi, ecx - { 0x0A, 0x8B }, - { 0x0B, 0xF1 }, - - // CMcpxBuffer_GetStatus+0x20 : jz +0x18 - { 0x20, 0x74 }, - { 0x21, 0x18 }, - - // CMcpxBuffer_GetStatus+0x22 : test word ptr [esi+0x12], 0x8002 - { 0x22, 0x66 }, - { 0x23, 0xF7 }, - { 0x24, 0x46 }, - { 0x25, 0x12 }, - - // CMcpxBuffer_GetStatus+0x2C : test word ptr [esi+0x12], 0x200 - { 0x2C, 0x66 }, - { 0x2D, 0xF7 }, - { 0x2E, 0x46 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_GetStatus, 4134, 1+10, - - XREF_CDirectSoundBuffer_GetStatus, - XRefOne) - - // CDirectSoundBuffer_GetStatus+0x35 : call [CMcpxBuffer::GetStatus] - XREF_ENTRY(0x35, XREF_CMcpxBuffer_GetStatus), - - // CDirectSoundBuffer_GetStatus+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_GetStatus+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_GetStatus+0x3D : jz +0x0B - { 0x3D, 0x74 }, - { 0x3E, 0x0B }, - - // CDirectSoundBuffer_GetStatus+0x4E : retn 0x08 - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_SetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 4134, 9, - - XREF_CMcpxBuffer_SetCurrentPosition, - XRefZero) - - // CMcpxBuffer_SetCurrentPosition+0x11 : mov al, [esi+12] - { 0x11, 0x8A }, - { 0x12, 0x46 }, - { 0x13, 0x12 }, - - // CMcpxBuffer_SetCurrentPosition+0x5F : jb +0x10 - { 0x5F, 0x72 }, - { 0x60, 0x10 }, - - // CMcpxBuffer_SetCurrentPosition+0x86 : movzx eax, byte ptr [esi+0x64] - { 0x86, 0x0F }, - { 0x87, 0xB6 }, - { 0x88, 0x46 }, - { 0x89, 0x64 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 4134, 1+10, - - XREF_CDirectSoundBuffer_SetCurrentPosition, - XRefOne) - - // CDirectSoundBuffer_SetCurrentPosition+0x35 : call [CMcpxBuffer::SetCurrentPosition] - XREF_ENTRY( 0x35, XREF_CMcpxBuffer_SetCurrentPosition), - - // CDirectSoundBuffer_SetCurrentPosition+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetCurrentPosition+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetCurrentPosition+0x3D : jz +0x0B - { 0x3D, 0x74 }, - { 0x3E, 0x0B }, - - // CDirectSoundBuffer_SetCurrentPosition+0x3D : retn 0x08 - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetCurrentPosition -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 4134, 14, - - XREF_CMcpxBuffer_GetCurrentPosition, - XRefZero) - - // CMcpxBuffer_GetCurrentPosition+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxBuffer_GetCurrentPosition+0x0E : lea ecx, [ebp-0x08] - { 0x0E, 0x8D }, - { 0x0F, 0x4D }, - { 0x10, 0xF8 }, - - { 0x25, 0xE8 }, - - // CMcpxBuffer_GetCurrentPosition+0x31 : jz +0x02 - { 0x31, 0x74 }, - { 0x32, 0x02 }, - - { 0x44, 0xE8 }, - - // CMcpxBuffer_GetCurrentPosition+0x5C : test word ptr [esi+12h],200h - { 0x5C, 0x66 }, - { 0x5D, 0xF7 }, - { 0x5E, 0x46 }, - { 0x5F, 0x12 }, - { 0x60, 0x00 }, - { 0x61, 0x02 }, - - // Offset 0x62 and later has changes. - - // CMcpxBuffer_GetCurrentPosition+0xA0 : div dword ptr [ecx+0xBC] - //{ 0xA0, 0xF7 }, - //{ 0xA1, 0xB1 }, - //{ 0xA2, 0xBC }, - - // CMcpxBuffer_GetCurrentPosition+0xD6 : retn 0x08 - //{ 0xD6, 0xC2 }, - //{ 0xD7, 0x08 }, - //{ 0xD8, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_GetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 4134, 1+10, - - XREF_CDirectSoundBuffer_GetCurrentPosition, - XRefOne) - - // CDirectSoundBuffer_GetCurrentPosition+0x39 : call [CMcpxBuffer::GetCurrentPosition] - XREF_ENTRY( 0x39, XREF_CMcpxBuffer_GetCurrentPosition), - - // CDirectSoundBuffer_GetCurrentPosition+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_GetCurrentPosition+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_GetCurrentPosition+0x41 : jz +0x0B - { 0x41, 0x74 }, - { 0x42, 0x0B }, - - // CDirectSoundBuffer_GetCurrentPosition+0x52 : retn 0x08 - { 0x52, 0xC2 }, - { 0x53, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDistanceFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactor, 4134, 17, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) - - // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - { 0x35, 0x68 }, - - // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, - { 0x37, 0x41 }, - { 0x38, 0x08 }, - - // CDirectSound_SetDistanceFactor+0x39 : or dword ptr[eax+0xA4], 0x60 - { 0x39, 0x83 }, - { 0x3A, 0x88 }, - { 0x3B, 0xA4 }, - { 0x3F, 0x60 }, - - // CDirectSound_SetDistanceFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, - { 0x50, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetRolloffFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactor, 4134, 17, - - XREF_CDirectSound_SetRolloffFactor, - XRefZero) - - // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetRolloffFactor+0x33 : mov [eax+6Ch], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - { 0x35, 0x6C }, - - // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, - { 0x37, 0x41 }, - { 0x38, 0x08 }, - - // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0xA4], 0x04 - { 0x39, 0x83 }, - { 0x3A, 0x88 }, - { 0x3B, 0xA4 }, - { 0x3F, 0x04 }, - - // CDirectSound_SetRolloffFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, - { 0x50, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDopplerFactor, 4134, 14, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) - - // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - { 0x35, 0x70 }, - - // CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0xA4], 0x40 - { 0x39, 0x83 }, - { 0x3A, 0x88 }, - { 0x3B, 0xA4 }, - { 0x3F, 0x40 }, - - // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, - { 0x50, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CommitDeferredSettings -// ****************************************************************** -OOVPA_XREF(CDirectSound_CommitDeferredSettings, 4134, 11, - - XREF_CDirectSound_CommitDeferredSettings, - XRefZero) - - // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al - { 0x10, 0x0F }, - { 0x11, 0xB6 }, - { 0x12, 0xC0 }, - - // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 - { 0x27, 0xB8 }, - { 0x28, 0x05 }, - { 0x29, 0x40 }, - { 0x2B, 0x80 }, - - // CDirectSound_CommitDeferredSettings+0x5C : and [eax+0xA4], esi - { 0x5C, 0x21 }, - { 0x5D, 0xB0 }, - { 0x5E, 0xA4 }, - - // CDirectSound_CommitDeferredSettings+0x78 : leave - { 0x78, 0xC9 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4134, 12, - - XREF_CDirectSoundVoice_SetMaxDistance, - XRefZero) - - // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetMaxDistance+0x11 : mov [eax+38h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x38 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x70 }, - - // CDirectSoundVoice_SetMaxDistance+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMaxDistance -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 4134, 1+10, - - XREF_CDirectSoundBuffer_SetMaxDistance, - XRefOne) - - // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMaxDistance ), - - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetMaxDistance+0x32 : fstp [esp+0Ch+var_C] - { 0x32, 0xD9 }, - { 0x33, 0x1C }, - { 0x34, 0x24 }, - - // CDirectSoundBuffer_SetMaxDistance+0x53 : retn 0Ch - { 0x54, 0x0C }, - { 0x55, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 4134, 1+10, - - XREF_CDirectSoundStream_SetMaxDistance, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMaxDistance ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x3D, 0xE8 }, - { 0x48, 0x68 }, - { 0x53, 0x8B }, - - { 0x57, 0xC2 }, - { 0x58, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4134, 12, - - XREF_CDirectSoundVoice_SetMinDistance, - XRefZero) - - // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetMinDistance+0x11 : mov [eax+34h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x34 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x70 }, - - // CDirectSoundVoice_SetMinDistance+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMinDistance -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 4134, 1+10, - - XREF_CDirectSoundBuffer_SetMinDistance, - XRefOne) - - // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMinDistance ), - - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetMinDistance+0x32 : fstp [esp+0Ch+var_C] - { 0x32, 0xD9 }, - { 0x33, 0x1C }, - { 0x34, 0x24 }, - - // CDirectSoundBuffer_SetMinDistance+0x53 : retn 0Ch - { 0x54, 0x0C }, - { 0x55, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistance, 4134, 1+10, - - XREF_CDirectSoundStream_SetMinDistance, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMinDistance ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x3D, 0xE8 }, - { 0x48, 0x68 }, - { 0x53, 0x8B }, - - { 0x57, 0xC2 }, - { 0x58, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetRolloffFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 4134, 12, - - XREF_CDirectSoundVoice_SetRolloffFactor, - XRefZero) - - // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetRolloffFactor+0x11 : mov [eax+44h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x44 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x70 }, - - // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetRolloffFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetRolloffFactor, 4134, 1+10, - - XREF_CDirectSoundBuffer_SetRolloffFactor, - XRefOne) - - // CDirectSoundBuffer_SetRolloffFactor+0x39 : call [CDirectSoundVoice::SetRolloffFactor] - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetRolloffFactor ), - - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetRolloffFactor+0x21 : mov eax, 80004005h - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetRolloffFactor+0x32 : fstp [esp+0Ch+var_C] - { 0x32, 0xD9 }, - { 0x33, 0x1C }, - { 0x34, 0x24 }, - - // CDirectSoundBuffer_SetRolloffFactor+0x53 : retn 0Ch - { 0x54, 0x0C }, - { 0x55, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetRolloffFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(IDirectSoundBuffer_SetRolloffFactor, 4134, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetRolloffFactor+0x1C : call [CDirectSoundBuffer::SetRolloffFactor] - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetRolloffFactor ), - - // IDirectSoundBuffer_SetRolloffFactor+0x00 : push dword ptr [esp+0Ch] - { 0x02, 0x24 }, - - // IDirectSoundBuffer_SetRolloffFactor+0x04 : fld [esp+4+arg_4] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetRolloffFactor+0x12 : add eax, 0FFFFFFE4 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xE4 }, - - // IDirectSoundBuffer_SetRolloffFactor+0x21 : retn 0Ch - { 0x22, 0x0C }, - { 0x23, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetRolloffFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundStream_SetRolloffFactor, 4134, 1+8, - - XREF_CDirectSoundStream_SetRolloffFactor, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetRolloffFactor ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x3D, 0xE8 }, - { 0x48, 0x68 }, - { 0x53, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetDistanceFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4134, 12, - - XREF_CDirectSoundVoice_SetDistanceFactor, - XRefZero) - - // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDistanceFactor+0x11 : mov [eax+40h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x40 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x70 }, - - // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetDistanceFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetDistanceFactor, 4134, 1+10, - - XREF_CDirectSoundBuffer_SetDistanceFactor, - XRefOne) - - // CDirectSoundBuffer_SetDistanceFactor+0x39 : call [CDirectSoundVoice::SetDistanceFactor] - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetDistanceFactor ), - - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetDistanceFactor+0x21 : mov eax, 80004005h - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetDistanceFactor+0x32 : fstp [esp+0Ch+var_C] - { 0x32, 0xD9 }, - { 0x33, 0x1C }, - { 0x34, 0x24 }, - - // CDirectSoundBuffer_SetDistanceFactor+0x53 : retn 0Ch - { 0x54, 0x0C }, - { 0x55, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetDistanceFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(IDirectSoundBuffer_SetDistanceFactor, 4134, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetDistanceFactor+0x1C : call [CDirectSoundBuffer::SetDistanceFactor] - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetDistanceFactor ), - - // IDirectSoundBuffer_SetDistanceFactor+0x04 : fld [esp+4+arg_4] - { 0x04, 0xD9 }, - { 0x05, 0x44 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSoundBuffer_SetDistanceFactor+0x12 : add eax, 0FFFFFFE4 - { 0x12, 0x83 }, - { 0x13, 0xC0 }, - { 0x14, 0xE4 }, - - // IDirectSoundBuffer_SetSetDistanceFactor+0x21 : retn 0Ch - { 0x22, 0x0C }, - { 0x23, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetConeAngles -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 4134, 12, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) - - { 0x00, 0x8B }, - - { 0x10, 0x08 }, - { 0x11, 0x89 }, - { 0x12, 0x51 }, - { 0x13, 0x1C }, // SetConeAngles 0x1C vs SetRolloffCurve 0x70 - { 0x14, 0x8B }, - { 0x15, 0x48 }, - { 0x16, 0x10 }, - { 0x17, 0x8B }, - { 0x18, 0x89 }, - - { 0x23, 0x20 }, // SetConeAngles 0x20 vs SetRolloffCurve 0x74 - { 0x30, 0x10 }, // SetConeAngles 0x10 vs SetRolloffCurve 0x04 -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeAngles -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeAngles, 4134, 1+11, - - XREF_CDirectSoundBuffer_SetConeAngles, - XRefOne) - - // CDirectSoundBuffer_SetConeAngles+0x39 : call [CDirectSoundVoice::SetConeAngles] - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetConeAngles ), - - // CDirectSoundBuffer_SetConeAngles+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetConeAngles+0x21 : mov eax, 80004005h - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetConeAngles+0x31 : push [esp+0Ch+arg_4] - { 0x31, 0xFF }, - { 0x32, 0x74 }, - { 0x33, 0x24 }, - { 0x34, 0x18 }, - - // CDirectSoundBuffer_SetConeAngles+0x53 : retn 10h - { 0x54, 0x10 }, - { 0x55, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetConeOrientation -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 4134, 12, - - XREF_CDirectSoundVoice_SetConeOrientation, - XRefZero) - - // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] - { 0x0F, 0x8B }, - { 0x10, 0x55 }, - { 0x11, 0x0C }, - - // CDirectSoundVoice_SetConeOrientation+0x12 : mov [ecx+24h], edx - { 0x12, 0x89 }, - { 0x13, 0x51 }, - { 0x14, 0x24 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetConeOrientation+0x21 : mov [ecx+28h], edx - { 0x21, 0x89 }, - { 0x22, 0x51 }, - { 0x23, 0x28 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetConeOrientation+0x30 : mov [ecx+2Ch], edx - { 0x30, 0x89 }, - { 0x31, 0x51 }, - { 0x32, 0x2C }, // SetConeOrientation vs SetPosition vs SetVelocity -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4134, 1+9, - - XREF_CDirectSoundBuffer_SetConeOrientation, - XRefOne) - - // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] - XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetConeOrientation ), - - // CDirectSoundBuffer_SetConeOrientation+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetConeOrientation+0x2B : fld [ebp+arg_C] - { 0x2B, 0xD9 }, - { 0x2C, 0x45 }, - { 0x2D, 0x14 }, - - // CDirectSoundBuffer_SetConeOrientation+0x43 : fstp [esp+18h+var_18] - { 0x43, 0xD9 }, - { 0x44, 0x1C }, - { 0x45, 0x24 }, - - // CDirectSoundBuffer_SetConeOrientation+0x64 : retn 14h - { 0x65, 0x14 }, - { 0x66, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 4134, 1+8, - - XREF_CDirectSoundStream_SetConeOrientation, - XRefOne) - - XREF_ENTRY( 0x4E, XREF_CDirectSoundVoice_SetConeOrientation ), - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - { 0x17, 0x74 }, - { 0x24, 0xB8 }, - { 0x2A, 0x3B }, - { 0x39, 0xEC }, - { 0x44, 0x24 }, - { 0x4D, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4134, 12, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefZero) - - // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x11 : mov [eax+30h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x30 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x70 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4134, 1+11, - - XREF_CDirectSoundBuffer_SetConeOutsideVolume, - XRefOne) - - // CDirectSoundBuffer_SetConeOutsideVolume+0x35 : call [CDirectSoundVoice::SetConeOutsideVolume] - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetConeOutsideVolume ), - - // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x21 : mov eax, 80004005h - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x31 : push [esp+0Ch+arg_0] - { 0x31, 0xFF }, - { 0x32, 0x74 }, - { 0x33, 0x24 }, - { 0x34, 0x14 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x4F : retn 0Ch - { 0x50, 0x0C }, - { 0x51, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 4134, 1+8, - - XREF_CDirectSoundStream_SetConeOutsideVolume, - XRefOne) - - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetConeOutsideVolume ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x21, 0xB8 }, - { 0x24, 0x00 }, - { 0x39, 0xE8 }, - { 0x3E, 0x85 }, - { 0x4F, 0x8B }, - { 0x53, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetPosition -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundVoice_SetPosition, 4134, 12, - - XREF_CDirectSoundVoice_SetPosition, - XRefZero) - - // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] - { 0x0F, 0x8B }, - { 0x10, 0x55 }, - { 0x11, 0x0C }, - - // CDirectSoundVoice_SetPosition+0x12 : mov [ecx+04h], edx - { 0x12, 0x89 }, - { 0x13, 0x51 }, - { 0x14, 0x04 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetPosition+0x21 : mov [ecx+08h], edx - { 0x21, 0x89 }, - { 0x22, 0x51 }, - { 0x23, 0x08 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetPosition+0x30 : mov [ecx+0Ch], edx - { 0x30, 0x89 }, - { 0x31, 0x51 }, - { 0x32, 0x0C }, // SetConeOrientation vs SetPosition vs SetVelocity -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetPosition -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4134, 1+9, - - XREF_CDirectSoundBuffer_SetPosition, - XRefOne) - - // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] - XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetPosition ), - - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetPosition+0x2B : fld [ebp+arg_C] - { 0x2B, 0xD9 }, - { 0x2C, 0x45 }, - { 0x2D, 0x14 }, - - // CDirectSoundBuffer_SetPosition+0x43 : fstp [esp+18h+var_18] - { 0x43, 0xD9 }, - { 0x44, 0x1C }, - { 0x45, 0x24 }, - - // CDirectSoundBuffer_SetPosition+0x64 : retn 14h - { 0x65, 0x14 }, - { 0x66, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPosition, 4134, 1+10, - - XREF_CDirectSoundStream_SetPosition, - XRefOne) - - XREF_ENTRY( 0x4E, XREF_CDirectSoundVoice_SetPosition ), - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - { 0x17, 0x74 }, - { 0x24, 0xB8 }, - { 0x2A, 0x3B }, - { 0x39, 0xEC }, - { 0x58, 0x68 }, - { 0x63, 0x8B }, - - { 0x68, 0xC2 }, - { 0x69, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetVelocity -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundVoice_SetVelocity, 4134, 12, - - XREF_CDirectSoundVoice_SetVelocity, - XRefZero) - - // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] - { 0x0F, 0x8B }, - { 0x10, 0x55 }, - { 0x11, 0x0C }, - - // CDirectSoundVoice_SetVelocity+0x12 : mov [ecx+10h], edx - { 0x12, 0x89 }, - { 0x13, 0x51 }, - { 0x14, 0x10 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetVelocity+0x21 : mov [ecx+14h], edx - { 0x21, 0x89 }, - { 0x22, 0x51 }, - { 0x23, 0x14 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetVelocity+0x30 : mov [ecx+18h], edx - { 0x30, 0x89 }, - { 0x31, 0x51 }, - { 0x32, 0x18 }, // SetConeOrientation vs SetPosition vs SetVelocity -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetVelocity -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 4134, 1+9, - - XREF_CDirectSoundBuffer_SetVelocity, - XRefOne) - - // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] - XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetVelocity ), - - { 0x00, 0x55 }, - - // CDirectSoundBuffer_SetVelocity+0x2B : fld [ebp+arg_C] - { 0x2B, 0xD9 }, - { 0x2C, 0x45 }, - { 0x2D, 0x14 }, - - // CDirectSoundBuffer_SetVelocity+0x43 : fstp [esp+18h+var_18] - { 0x43, 0xD9 }, - { 0x44, 0x1C }, - { 0x45, 0x24 }, - - // CDirectSoundBuffer_SetVelocity+0x64 : retn 14h - { 0x65, 0x14 }, - { 0x66, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVelocity, 4134, 1+10, - - XREF_CDirectSoundStream_SetVelocity, - XRefOne) - - XREF_ENTRY( 0x4E, XREF_CDirectSoundVoice_SetVelocity ), - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - { 0x17, 0x74 }, - { 0x24, 0xB8 }, - { 0x2A, 0x3B }, - { 0x35, 0x83 }, - { 0x40, 0x45 }, - { 0x63, 0x8B }, - - { 0x68, 0xC2 }, - { 0x69, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4134, 12, - - XREF_CDirectSoundVoice_SetDopplerFactor, - XRefZero) - - // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDopplerFactor+0x12 : mov [eax+48h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x48 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x70 }, - - // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetDopplerFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetDopplerFactor, 4134, 1+9, - - XREF_CDirectSoundBuffer_SetDopplerFactor, - XRefOne) - - // CDirectSoundBuffer_SetDopplerFactor+0x39 : call [CDirectSoundVoice::SetDopplerFactor] - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetDopplerFactor), - - // CDirectSoundBuffer_SetDopplerFactor+0x2D : push [esp+4+arg_8] - { 0x2D, 0xFF }, - { 0x2E, 0x74 }, - { 0x2F, 0x24 }, - { 0x30, 0x14 }, - - // CDirectSoundBuffer_SetDopplerFactor+0x32 : fstp [esp+0Ch+var_C] - { 0x32, 0xD9 }, - { 0x33, 0x1C }, - { 0x34, 0x24 }, - - // CDirectSoundBuffer_SetDopplerFactor+0x53 : retn 0Ch - { 0x54, 0x0C }, - { 0x55, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetDopplerFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(IDirectSoundBuffer_SetDopplerFactor, 4134, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetDopplerFactor+0x1C : call [CDirectSoundBuffer::SetDopplerFactor] - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetDopplerFactor ), - - // IDirectSoundBuffer_SetDopplerFactor+0x08 : mov eax, [esp+4+arg_0] - { 0x08, 0x8B }, - { 0x09, 0x44 }, - { 0x0A, 0x24 }, - { 0x0B, 0x08 }, - - // IDirectSoundBuffer_SetDopplerFactor+0x19 : and ecx, eax - { 0x19, 0x23 }, - { 0x1A, 0xC8 }, - - // IDirectSoundBuffer_SetDopplerFactor+0x21 : retn 0Ch - { 0x22, 0x0C }, - { 0x23, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 4134, 10, - - XREF_CDirectSoundVoice_SetI3DL2Source, - XRefZero) - - // CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx] - { 0x12, 0x8B }, - { 0x13, 0x31 }, - - // CDirectSoundVoice_SetI3DL2Source+0x14 : mov [edx+4Ch], esi - { 0x14, 0x89 }, - { 0x15, 0x72 }, - { 0x16, 0x4C }, - - // CDirectSoundVoice_SetI3DL2Source+0x44 : fld dword ptr [ecx+10h] (not advise to use) - { 0x44, 0xD9 }, - { 0x45, 0x41 }, - { 0x46, 0x10 }, - - // CDirectSoundVoice_SetI3DL2Source+0xAC : retn 0Ch - { 0xAD, 0x0C }, - { 0xAE, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetI3DL2Source -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4134, 1+11, - - XREF_CDirectSoundBuffer_SetI3DL2Source, - XRefOne) - - // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetI3DL2Source ), - - // CDirectSoundBuffer_SetI3DL2Source+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetI3DL2Source+0x21 : mov eax, 80004005h - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetI3DL2Source+0x31 : push [esp+0Ch+arg_0] - { 0x31, 0xFF }, - { 0x32, 0x74 }, - { 0x33, 0x24 }, - { 0x34, 0x14 }, - - // CDirectSoundBuffer_SetI3DL2Source+0x4F : retn 0Ch - { 0x50, 0x0C }, - { 0x51, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetI3DL2Source -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 4134, 1+8, - - XREF_CDirectSoundStream_SetI3DL2Source, - XRefOne) - - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetI3DL2Source ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x39, 0xE8 }, - { 0x44, 0x68 }, - { 0x4F, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetAllParameters -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 4134, 14, - - XREF_CDirectSoundVoice_SetAllParameters, - XRefZero) - - { 0x00, 0x8B }, - { 0x04, 0x8B }, - - { 0x63, 0x8B }, - { 0x66, 0x8B }, - - { 0x83, 0x24 }, - { 0x84, 0x8B }, - { 0x85, 0x50 }, - { 0x86, 0x10 }, - { 0x87, 0x8B }, - { 0x88, 0x92 }, - { 0x89, 0xB4 }, - { 0x8A, 0x00 }, - { 0x8B, 0x00 }, - { 0x8C, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetAllParameters, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetAllParameters, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetAllParameters ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x74 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetAllParameters -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetAllParameters, 4134, 1+8, - - XREF_CDirectSoundStream_SetAllParameters, - XRefOne) - - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetAllParameters ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x39, 0xE8 }, - { 0x44, 0x68 }, - { 0x4F, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetMode -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMode, 4134, 14, - - XREF_CDirectSoundVoice_SetMode, - XRefZero) - - { 0x00, 0xF6 }, - - { 0x03, 0x0C }, - { 0x07, 0x24 }, - { 0x08, 0x04 }, - { 0x0B, 0x10 }, - { 0x0D, 0x89 }, - { 0x0E, 0xB4 }, - { 0x12, 0x8B }, - { 0x17, 0x51 }, - { 0x18, 0x3C }, - { 0x1C, 0xE8 }, - { 0x21, 0x33 }, - - { 0x23, 0xC2 }, - { 0x24, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetMode -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMode, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetMode, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMode ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x74 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMode -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMode, 4134, 1+10, - - XREF_CDirectSoundStream_SetMode, - XRefOne) - - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMode ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x39, 0xE8 }, - { 0x44, 0x68 }, - { 0x4F, 0x8B }, - - { 0x53, 0xC2 }, - { 0x54, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMcpxVoiceClient::SetFilter -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CMcpxVoiceClient_SetFilter, 4134, 12, - - XREF_CMcpxVoiceClient_SetFilter, - XRefZero) - - { 0x00, 0x55 }, - - { 0x23, 0x6A }, - { 0x24, 0x06 }, - - { 0x47, 0x83 }, - { 0x48, 0xE0 }, - { 0x49, 0x03 }, - - { 0x50, 0xC1 }, - { 0x51, 0xE8 }, - { 0x52, 0x12 }, - - { 0x53, 0x83 }, - { 0x54, 0xE0 }, - { 0x55, 0x07 }, - - //NOTE: Before offset 0x65, there has been no changes throughout all revisions. -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetFilter -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetFilter, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetFilter, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFilter ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocity, 4134, 16, - - XREF_CDirectSound_SetVelocity, - XRefZero) - - // CDirectSound_SetVelocity+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - - // CDirectSound_SetVelocity+0x37 : mov [edx+0x44], edi - { 0x37, 0x89 }, - { 0x38, 0x7A }, - { 0x39, 0x44 }, - - // CDirectSound_SetVelocity+0x4C : or dword ptr [eax+0x0A4], 0x40 - { 0x4C, 0x83 }, - { 0x4D, 0x88 }, - { 0x4E, 0xA4 }, - { 0x4F, 0x00 }, - { 0x52, 0x40 }, - - // CDirectSound_SetVelocity+0x73 : retn 0x14 - { 0x73, 0xC2 }, - { 0x74, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetPitch -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetPitch, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetPitch ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetPitch -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPitch, 4134, 1+11, - - XREF_CDirectSoundStream_SetPitch, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetPitch ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, - { 0x51, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4134, 1+11, - - XREF_CDirectSoundBuffer_SetVolume, - XRefOne) - - // CDirectSoundBuffer_SetVolume+0x32 : call [CDirectSoundVoice::SetVolume] - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetVolume ), - - // CDirectSoundBuffer_SetVolume+0x0D : movzx esi, al - { 0x0D, 0x0F }, - { 0x0E, 0xB6 }, - { 0x0F, 0xF0 }, - - // CDirectSoundBuffer_SetVolume+0x26 : jmp +0x22 - { 0x26, 0xEB }, - { 0x27, 0x22 }, - - // CDirectSoundBuffer_SetVolume+0x2D : push [esp+0x10] - { 0x2D, 0xFF }, - { 0x2E, 0x74 }, - { 0x2F, 0x24 }, - { 0x30, 0x10 }, - - // CDirectSoundBuffer_SetVolume+0x4B : retn 0x08 - { 0x4B, 0xC2 }, - { 0x4C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CreateSoundStream -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_CreateSoundStream, 4134, 14, - - XREF_CDirectSound_CreateSoundStream, - XRefZero) - - // CDirectSound_CreateSoundStream+0x23 : mov eax, 0x80004005 - { 0x23, 0xB8 }, - { 0x24, 0x05 }, - { 0x25, 0x40 }, - { 0x27, 0x80 }, - - // CDirectSound_CreateSoundStream+0x2A : push 0x28 - { 0x2A, 0x6A }, - { 0x2B, 0x28 }, - - // CDirectSound_CreateSoundStream+0x4A : add esi, 0x7FF8FFF2 - { 0x4A, 0x81 }, - { 0x4B, 0xE6 }, - { 0x4C, 0xF2 }, - { 0x4D, 0xFF }, - { 0x4E, 0xF8 }, - { 0x4F, 0x7F }, - - // CDirectSound_CreateSoundStream+0x8E : retn 0x10 - { 0x8E, 0xC2 }, - { 0x8F, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundCreateStream -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(DirectSoundCreateStream, 4134, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // DirectSoundCreateStream+0x2F : call [CDirectSound::CreateSoundStream] - XREF_ENTRY( 0x2F, XREF_CDirectSound_CreateSoundStream ), - - // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, - { 0x05, 0x65 }, - { 0x06, 0xFC }, - - // DirectSoundCreateStream+0x08 : push ebx; push esi; push edi - { 0x08, 0x53 }, - { 0x09, 0x56 }, - { 0x0A, 0x57 }, - - // DirectSoundCreateStream+0x3C : call dword ptr [eax+8] - { 0x3C, 0xFF }, - { 0x3D, 0x50 }, - { 0x3E, 0x08 }, - - // DirectSoundCreateStream+0x54 : retn 0x08 - { 0x54, 0xC2 }, - { 0x55, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoiceSettings::SetMixBinVolumes -// ****************************************************************** -// Generic OOVPA as of 4134 and newer. -OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, 10, - - XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, - XRefZero) - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 - { 0x09, 0x76 }, - { 0x0A, 0x16 }, - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x18 : mov [ecx+edi*4+0x30], eax - { 0x18, 0x89 }, - { 0x19, 0x44 }, - { 0x1A, 0xB9 }, - { 0x1B, 0x30 }, - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x1E : jb +0xEC - { 0x1E, 0x72 }, - { 0x1F, 0xEC }, - - // CDirectSoundVoiceSettings_SetMixBinVolumes+0x22 : retn 0x04 - { 0x22, 0xC2 }, - { 0x23, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetMixBinVolumes -// ****************************************************************** -//Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4134, 1+17, - - XREF_CDirectSoundBuffer_SetMixBinVolumes, - XRefOne) - - // CDirectSoundBuffer_SetMixBinVolumes+0x32 : call [CDirectSoundVoice::SetMixBinVolumes] - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBinVolumes ), - - // CDirectSoundBuffer_SetMixBinVolumes+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x29, 0xFF }, - { 0x2A, 0x74 }, - { 0x2B, 0x24 }, - { 0x2C, 0x10 }, - { 0x2D, 0xFF }, - { 0x2E, 0x74 }, - { 0x2F, 0x24 }, - { 0x30, 0x10 }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x49 : pop edi - { 0x49, 0x5F }, - - // CDirectSoundBuffer_SetMixBinVolumes+0x4B : retn 0x08 - { 0x4B, 0xC2 }, - { 0x4C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetEffectData -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_SetEffectData, 4134, 14, // Also for 5849 - - XREF_CDirectSound_SetEffectData, - XRefZero) - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - - { 0x24, 0xB8 }, - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - - { 0x29, 0xEB }, - { 0x2A, 0x32 }, - - { 0x2B, 0x8B }, - { 0x2C, 0x45 }, - - { 0x44, 0xE8 }, - - { 0x5F, 0xC2 }, - { 0x60, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_Stop -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Stop, 4134, 9, - - XREF_CMcpxBuffer_Stop, - XRefZero) - - // CMcpxBuffer_Stop+0x0B : cmp al, 3 - { 0x0B, 0x3C }, - { 0x0C, 0x03 }, - - // CMcpxBuffer_Stop+0x1A : jne +0x59 - { 0x1A, 0x75 }, - { 0x1B, 0x59 }, - - // CMcpxBuffer_Stop+0x1C : test [esp+0Ch], 2 - { 0x1C, 0xF6 }, - { 0x1D, 0x44 }, - { 0x1E, 0x24 }, - { 0x1F, 0x0C }, - { 0x20, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer::Stop2 -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Stop_Ex, 4134, 1+8, - - XREF_CMcpxBuffer_Stop_Ex, - XRefOne) - - // CMcpxBuffer_Stop_Ex+0x2B : call [CMcpxBuffer::Stop] - XREF_ENTRY( 0x2B, XREF_CMcpxBuffer_Stop ), - - // CMcpxBuffer_Stop_Ex+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxBuffer_Stop_Ex+0x11 : push [ebp+arg_8] - { 0x11, 0xFF }, - { 0x12, 0x75 }, - { 0x13, 0x10 }, - - // CMcpxBuffer_Stop_Ex+0x23 : jnz +0x0C - { 0x23, 0x75 }, - { 0x24, 0x0C }, - - // CMcpxBuffer_Stop_Ex+0x36 : push esi - { 0x36, 0xC2 }, - { 0x37, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Stop -// ****************************************************************** -//Generic OOVPA as of 4134 and newer. -OOVPA_XREF(CDirectSoundBuffer_Stop, 4134, 1+12, - - XREF_CDirectSoundBuffer_Stop, - XRefOne) - - // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] - XREF_ENTRY( 0x33, XREF_CMcpxBuffer_Stop), - - // CDirectSoundBuffer_Stop+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_Stop+0x2C : mov ecx,[eax+20] - { 0x2C, 0x8B }, - { 0x2D, 0x48 }, - { 0x2E, 0x20 }, - - // CDirectSoundBuffer_Stop+0x3B : jz +0x0B - { 0x3B, 0x74 }, - { 0x3C, 0x0B }, - - // CDirectSoundBuffer_Stop+0x4C : retn 0x04 - { 0x4C, 0xC2 }, - { 0x4D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetEG -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetEG, 4134, 1+8, - - XREF_CDirectSoundStream_SetEG, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetEG ), - - { 0x00, 0x56 }, //Prevent incorrect offset difference from 4039 revision. - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetFilter -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFilter, 4134, 1+8, - - XREF_CDirectSoundStream_SetFilter, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFilter ), - - { 0x00, 0x56 }, //Prevent incorrect offset difference from 4039 revision. - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetLFO -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetLFO, 4134, 1+10, - - XREF_CDirectSoundStream_SetLFO, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetLFO ), - - { 0x00, 0x56 }, //Prevent incorrect offset difference from 4039 revision. - - { 0x0C, 0x00 }, - { 0x0F, 0xF0 }, - { 0x12, 0x85 }, - { 0x15, 0x0B }, - { 0x3A, 0x85 }, - { 0x3D, 0xF8 }, - { 0x40, 0x68 }, - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetOrientation -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetOrientation, 4134, 13, - - XREF_CDirectSound_SetOrientation, - XRefZero) - - // CDirectSound_SetOrientation+0x00 : push ebp - { 0x00 , 0x55 }, - - { 0x31 , 0x8B }, - { 0x33 , 0x0C }, - { 0x3A , 0x8B }, - { 0x3C , 0x10 }, - { 0x43 , 0x8B }, - { 0x45 , 0x14 }, - { 0x4C , 0x8B }, - { 0x4E , 0x18 }, - { 0x55 , 0x8B }, - { 0x57 , 0x1C }, - { 0x5E , 0x8B }, - { 0x60 , 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_DownloadEffectsImage -// ****************************************************************** -OOVPA_XREF(CDirectSound_DownloadEffectsImage, 4134, 18, - - XREF_CDirectSound_DownloadEffectsImage, - XRefZero) - - // CDirectSound_DownloadEffectsImage+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_DownloadEffectsImage+0x2C : mov esi,dword ptr [ebp+8] - { 0x2C, 0x8B }, - { 0x2D, 0x75 }, - { 0x2E, 0x08 }, - - // CDirectSound_DownloadEffectsImage+0x2F : push dword ptr [ebp+14h] - { 0x2F, 0xFF }, - { 0x30, 0x75 }, - { 0x31, 0x14 }, - - // CDirectSound_DownloadEffectsImage+0x32 : mov ecx,dword ptr [esi+8] - { 0x32, 0x8B }, - { 0x33, 0x4E }, - { 0x34, 0x08 }, - - // CDirectSound_DownloadEffectsImage+0x3A : push dword ptr [ebp+18h] - { 0x3A, 0xFF }, - //{ 0x3B, 0x75 }, - { 0x3C, 0x18 }, - - // CDirectSound_DownloadEffectsImage+0x40 : push dword ptr [ebp+10h] - { 0x40, 0xFF }, - //{ 0x41, 0x75 }, - { 0x42, 0x10 }, - - // CDirectSound_DownloadEffectsImage+0x43 : push dword ptr [ebp+0Ch] - { 0x43, 0xFF }, - //{ 0x44, 0x75 }, - { 0x45, 0x0C }, - - // CDirectSound_DownloadEffectsImage+0x61 : ret 14h - { 0x61, 0xC2 }, - { 0x62, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::Release -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Release, 4134, 1+11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x32, XREF_DSound_CRefCount_Release ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - - { 0x2D, 0x83 }, - { 0x2E, 0xC0 }, - { 0x2F, 0x04 }, - - { 0x47, 0x8B }, - - { 0x4B, 0xC2 }, - { 0x4C, 0x04 }, - { 0x4D, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CFullHRTFSource::GetCenterVolume -// ****************************************************************** -OOVPA_XREF(CFullHRTFSource_GetCenterVolume, 4134, 9, - - XREF_CFullHRTFSource_GetCenterVolume, - XRefZero) - - { 0x00, 0x55 }, - - { 0x22, 0xD9 }, - { 0x62, 0xDF }, - - { 0xB6, 0xF0 }, - { 0xB7, 0xD8 }, - { 0xB8, 0xFF }, - { 0xB9, 0xFF }, - - { 0xBC, 0xC2 }, - { 0xBD, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseFullHRTF -// ****************************************************************** -// Generic OOVPA as of 4134 plus 5344 and newer. -OOVPA_XREF(DirectSoundUseFullHRTF, 4134, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0A, XREF_CHRTFSource_SetFullHRTF5Channel ), - - { 0x06, 0x0F }, - { 0x07, 0xB6 }, - { 0x0E, 0x85 }, - { 0x0F, 0xF6 }, - { 0x12, 0x0B }, - { 0x18, 0xFF }, - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetMixBins -// ****************************************************************** -// Generic OOVPA as of 4134 and newer. -OOVPA_XREF(CDirectSoundStream_SetMixBins, 4134, 1+9, - - XREF_CDirectSoundStream_SetMixBins, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBins ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Pause -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Pause, 4134, 11, - - XREF_CMcpxStream_Pause, - XRefZero) - - // CMcpxStream_Pause+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxStream_Pause+0x1E : or eax, 4 - { 0x1E, 0x83 }, - { 0x1F, 0xC8 }, - { 0x20, 0x04 }, - - // CMcpxStream_Pause+0x21 : jmp +0x0D - { 0x21, 0xEB }, - { 0x22, 0x0D }, - - // CMcpxStream_Pause+0x2D : and eax,-05 - { 0x2D, 0x83 }, - { 0x2E, 0xE0 }, - { 0x2F, 0xFB }, - - // CMcpxStream_Pause+0x44 : retn 0x04 - { 0x44, 0xC2 }, - { 0x45, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Pause -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundStream_Pause, 4134, 1+11, - - XREF_CDirectSoundStream_Pause, - XRefOne) - - // CDirectSoundStream_Pause+0x34 : call [CMcpxStream::Pause] - XREF_ENTRY( 0x35, XREF_CMcpxStream_Pause ), - - // CDirectSoundStream_Pause+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundStream_Pause+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundStream_Pause+0x2C : mov ecx, [eax+0x24] - { 0x2C, 0x8B }, - { 0x2D, 0x48 }, - { 0x2E, 0x24 }, - - // CDirectSoundStream_Pause+0x4E : retn 0x08 - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetLFO -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4134, 10, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) - - // CMcpxVoiceClient_SetLFO+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxVoiceClient_SetLFO+0x38 : jz +0x71 - { 0x38, 0x74 }, - { 0x39, 0x71 }, - - // CMcpxVoiceClient_SetLFO+0x3A : movzx ecx, byte ptr [esi+64h] - { 0x3A, 0x0F }, - { 0x3B, 0xB6 }, - { 0x3C, 0x4E }, - { 0x3D, 0x64 }, - - // CMcpxVoiceClient_SetLFO+0x59 : movzx ecx, word ptr [eax] - { 0x59, 0x0F }, - { 0x5A, 0xB7 }, - { 0x5B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetEG -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetEG, 4134, 12, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) - - { 0x00, 0x55 }, - { 0x25, 0xEB }, - - { 0x38, 0x74 }, - { 0x39, 0x7B }, - - { 0x3E, 0x8D }, - { 0x3F, 0x0C }, - { 0x40, 0xC0 }, - - { 0xAE, 0x41 }, - { 0xAF, 0x40 }, - { 0xB0, 0x40 }, - - { 0xC1, 0xC2 }, - { 0xC2, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetEG -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetEG, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetEG, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetEG ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetLFO -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetLFO, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetLFO ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetAllParameters -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 15, - - XREF_CDirectSound_SetAllParameters, - XRefZero) - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x0D, 0x0F }, - { 0x0E, 0xB6 }, - { 0x0F, 0xF0 }, - { 0x10, 0x74 }, - { 0x11, 0x19 }, - { 0x12, 0x85 }, - { 0x13, 0xF6 }, - { 0x14, 0x74 }, - { 0x15, 0x0B }, - { 0x16, 0x68 }, - - { 0x21, 0xB8 }, - { 0x32, 0x8B }, - //{ 0x33, 0x44 }, // 4134 0x44 VS 5558 0x4C - { 0x34, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_GetInfo -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_NO_XREF(CDirectSoundStream_GetInfo, 4134, 17) - - //CDirectSoundStream_GetInfo+0x00 : push ebx - { 0x00, 0x53 }, - - //CDirectSoundStream_GetInfo+0x2E : mov edi, dword ptr [esp + 10h] - { 0x2E, 0x8B }, - { 0x2F, 0x7C }, - { 0x30, 0x24 }, - { 0x31, 0x10 }, - - //CDirectSoundStream_GetInfo+0x38 : mov, dword ptr [edi + 24h] - { 0x38, 0x8B }, - { 0x39, 0x4F }, - { 0x3A, 0x24 }, - - //CDirectSoundStream_GetInfo+0x43 : mov eax, dword ptr [edi + 20h] - { 0x43, 0x8B }, - { 0x44, 0x47 }, - { 0x45, 0x20 }, - - //CDirectSoundStream_GetInfo+0x49 : and dword ptr [esi + 8], 0 - { 0x49, 0x83 }, - { 0x4A, 0x66 }, - { 0x4B, 0x08 }, - { 0x4C, 0x00 }, - - //CDirectSoundStream_GetInfo+0x64 : ret 8 - { 0x64, 0xC2 }, - { 0x65, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Flush, 4134, 18, - - XREF_CMcpxStream_Flush, - XRefZero) - - // CMcpxStream_Flush+0x00 : push ebp; mov ebp, esp; sub esp, 10h - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - - // Offset is unique for this asm code. - // CMcpxStream_Flush+0x0A : movzx eax,byte ptr fs:[24h] - { 0x0A, 0x64 }, - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0x05 }, - { 0x0E, 0x24 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - - // Offset is not match for revision 5455. - // CMcpxStream_Flush+0x7F : lea eax, [???+XXXh] - { 0x7F, 0x8D }, - { 0x83, 0x00 }, - { 0x84, 0x00 }, - - // CMcpxStream_Flush+0x85 : push eax - { 0x85, 0x50 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Flush -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Flush, 4134, 1+8, - - XRefNoSaveIndex, - XRefOne) - - //CDirectSoundStream_Flush+0x30 : call [CMcpxStream_Flush] - XREF_ENTRY( 0x31, XREF_CMcpxStream_Flush ), - - { 0x00, 0x56 }, - - { 0x28, 0x8B }, - { 0x2B, 0x08 }, - - { 0x2C, 0x8B }, - { 0x2E, 0x24 }, - - { 0x30, 0xE8 }, - - //CDirectSoundStream_Flush+0x4A : ret 4 - { 0x4A, 0xC2 }, - { 0x4B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -OOVPA_XREF(CMcpxStream_GetStatus, 4134, 14, - - XREF_CMcpxStream_GetStatus, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - // Added 2 OVs to enable support 4242 titles and later (if any has occurred). - { 0x2F, 0x03 }, - { 0x32, 0x03 }, - - // Just a note, this asm code is unique - { 0x3D, 0x80 }, - { 0x3E, 0x48 }, - { 0x3F, 0x02 }, - { 0x40, 0x02 }, - - { 0x4B, 0x81 }, - { 0x4C, 0xC9 }, - { 0x4D, 0x00 }, - { 0x4E, 0x00 }, - { 0x4F, 0x04 }, - { 0x50, 0x00 }, - - // Removed due to 4242 has a return asm code at offset 0x75. - //{ 0x65, 0xC2 }, - //{ 0x66, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_GetStatus -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundStream_GetStatus, 4134, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // CDirectSoundStream_GetStatus+0x34 : call [CMcpxStream::GetStatus] - XREF_ENTRY( 0x35, XREF_CMcpxStream_GetStatus ), - - // CDirectSoundStream_GetStatus+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundStream_GetStatus+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundStream_GetStatus+0x2C : mov ecx, [eax+0x24] - { 0x2C, 0x8B }, - { 0x2D, 0x48 }, - { 0x2E, 0x24 }, - - // CDirectSoundStream_GetStatus+0x4E : retn 0x08 - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Process -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_NO_XREF(CDirectSoundStream_Process, 4134, 15) - - { 0x00, 0x55 }, - - { 0x2D, 0x8B }, - { 0x2F, 0x08 }, - - { 0x30, 0x8B }, - { 0x32, 0x24 }, - - //CDirectSoundStream_Process+0x49 : mov eax, 88780032h - { 0x4A, 0x32 }, - { 0x4B, 0x00 }, - { 0x4C, 0x78 }, - { 0x4D, 0x88 }, - - { 0x52, 0xFF }, - { 0x54, 0x0C }, - - { 0x55, 0x8B }, - { 0x57, 0x24 }, - - { 0x74, 0xC2 }, - { 0x75, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Discontinuity -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Discontinuity, 4134, 1+6, - - XREF_CMcpxStream_Discontinuity, - XRefOne) - - //CMcpxStream_Discontinuity+0x1C : call [CMcpxStream_Flush] - XREF_ENTRY ( 0x1D, XREF_CMcpxStream_Flush ), - - { 0x00, 0x56 }, - - { 0x01, 0x8B }, - - { 0x1A, 0x8B }, - - { 0x1C, 0xE8 }, - - { 0x23, 0x5E }, - - { 0x24, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_Discontinuity -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundStream_Discontinuity, 4134, 1+8, - - XRefNoSaveIndex, - XRefOne) - - //CDirectSoundStream_Discontinuity+0x30 : call [CMcpxStream_Discontinuity] - XREF_ENTRY( 0x31, XREF_CMcpxStream_Discontinuity ), - - { 0x00, 0x56 }, - - { 0x28, 0x8B }, - { 0x2B, 0x08 }, - - { 0x2C, 0x8B }, - { 0x2E, 0x24 }, - - { 0x30, 0xE8 }, - - //CDirectSoundStream_Discontinuity+0x4A : ret 4 - { 0x4A, 0xC2 }, - { 0x4B, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMemoryManager::PoolAlloc -// ****************************************************************** -OOVPA_NO_XREF(DSound_CMemoryManager_PoolAlloc, 4134, 11) - - { 0x00, 0x56 }, - - { 0x22, 0x83 }, - { 0x23, 0x7C }, - { 0x24, 0x24 }, - { 0x25, 0x10 }, - { 0x26, 0x00 }, - - { 0x35, 0xF3 }, - { 0x36, 0xAB }, - - { 0x42, 0xC2 }, - { 0x43, 0x0C }, - { 0x44, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_AddRef -// ****************************************************************** -// NOTE: Has identical function to DirectSound::CAc97MediaObject::AddRef -OOVPA_XREF(CDirectSoundStream_AddRef, 4134, 11, - - XRefNoSaveIndex, - XRefZero) - - { 0x00, 0xE8 }, - - { 0x27, 0x8B }, - { 0x28, 0x44 }, - - { 0x2B, 0xFF }, - { 0x2C, 0x40 }, - { 0x2D, 0x08 }, - - { 0x31, 0x8B }, - { 0x32, 0x70 }, - { 0x33, 0x08 }, - - //CDirectSoundStream_AddRef+0x44 : ret 4 - { 0x44, 0xC2 }, - { 0x45, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::GetCaps -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetCaps, 4134, 12, - - XREF_CDirectSound_GetCaps, - XRefZero) - - { 0x00, 0x57 }, - { 0x16, 0x68 }, - - { 0x37, 0x44 }, - { 0x38, 0x24 }, - { 0x39, 0x18 }, - { 0x3A, 0x8B }, - { 0x3B, 0x48 }, - { 0x3C, 0x0C }, - { 0x3D, 0x56 }, - { 0x3E, 0xE8 }, - - { 0x6D, 0xC2 }, - { 0x6E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4134, 1+17, - - XREF_CDirectSoundBuffer_SetOutputBuffer, - XRefOne) - - // CDirectSoundBuffer_SetOutputBuffer+0x31 : call [XREF_CDirectSoundVoice_SetOutputBuffer] - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetOutputBuffer), - - // CDirectSoundBuffer_SetOutputBuffer+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x29, 0xFF }, - { 0x2A, 0x74 }, - { 0x2B, 0x24 }, - { 0x2C, 0x10 }, - { 0x2D, 0xFF }, - { 0x2E, 0x74 }, - { 0x2F, 0x24 }, - { 0x30, 0x10 }, - - // CDirectSoundBuffer_SetOutputBuffer+0x49 : pop edi - { 0x49, 0x5F }, - - // CDirectSoundBuffer_SetOutputBuffer+0x4B : retn 0x08 - { 0x4B, 0xC2 }, - { 0x4C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetMixBinHeadroom -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4134, 18, - - XREF_CDirectSound_SetMixBinHeadroom, - XRefZero) - - // CDirectSound_SetMixBinHeadroom+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_SetMixBinHeadroom+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetMixBinHeadroom+0x34 : mov bl, [esp+0x14] - { 0x34, 0x8A }, - { 0x35, 0x5C }, - { 0x36, 0x24 }, - { 0x37, 0x14 }, - - // CDirectSound_SetMixBinHeadroom+0x39 : mov [edx+ecx+0x__], bl - { 0x39, 0x88 }, - { 0x3A, 0x5C }, - { 0x3B, 0x0A }, - //{ 0x3C, 0x14 }, was changed to 0x10 for 5455 and later - - // CDirectSound_SetMixBinHeadroom+0x3E : mov ecx, dword ptr [eax+0x0C] - { 0x3E, 0x8B }, - { 0x3F, 0x48 }, - { 0x40, 0x0C }, - - // CDirectSound_SetMixBinHeadroom+0x5C : retn 0x0C - { 0x5C, 0xC2 }, - { 0x5D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream::SetFrequency -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFrequency, 4134, 1+11, - - XREF_CDirectSoundStream_SetFrequency, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFrequency ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - // je XXXXXXXX + 0x0B - { 0x14, 0x74 }, - { 0x15, 0x0B }, - // jmp XXXXXXXX + 0x26 - { 0x26, 0xEB }, - { 0x27, 0x26 }, - - { 0x2A, 0x24 }, - // je XXXXXXXX + 0x0B - { 0x3E, 0x74 }, - { 0x3F, 0x0B }, - - // ret 8 - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 4134, 1+8, - - XREF_CDirectSoundStream_SetOutputBuffer, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetOutputBuffer ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetConeAngles -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeAngles, 4134, 1+8, - - XREF_CDirectSoundStream_SetConeAngles, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetConeAngles ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - - { 0x30, 0x18 }, - { 0x33, 0x04 }, - { 0x37, 0x18 }, - - { 0x3D, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetHeadroom, 4134, 1+8, - - XREF_CDirectSoundStream_SetHeadroom, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetHeadroom ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 4134, 13, - - XREF_CMcpxBuffer_Play, - XRefZero) - - // CMcpxBuffer_Play+0x00 : push ebx - { 0x00, 0x53 }, - - // CMcpxBuffer_Play+0x0E : cmp ebx, edi - { 0x0E, 0x3B }, - { 0x0F, 0xDF }, - - // CMcpxBuffer_Play+0x18 : test byte ptr [eax+09],0x20 - { 0x18, 0xF6 }, - { 0x19, 0x40 }, - { 0x1A, 0x09 }, - { 0x1B, 0x20 }, - - // CMcpxBuffer_Play+0x1C : jz +0x09 - { 0x1C, 0x74 }, - { 0x1D, 0x09 }, - - // CMcpxBuffer_Play+0x30 : test byte ptr [esi+0x12], 2 - { 0x30, 0xF6 }, - { 0x31, 0x46 }, - { 0x32, 0x12 }, - { 0x33, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_Play -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 1+10, - - XREF_CDirectSoundBuffer_Play, - XRefOne) - - // CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play] - XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Play ), - - // CDirectSoundBuffer_Play+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSoundBuffer_Play+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_Play+0x3D : jz +0x0B - { 0x3D, 0x74 }, - { 0x3E, 0x0B }, - - // CDirectSoundBuffer_Play+0x4E : retn 0x10 - { 0x4E, 0xC2 }, - { 0x4F, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetEffectData -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_GetEffectData, 4134, 14, - - XREF_CDirectSound_GetEffectData, - XRefZero) - - { 0x00, 0x55 }, - { 0x0F, 0x00 }, - - { 0x24, 0xB8 }, - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - - { 0x29, 0xEB }, - { 0x2A, 0x2F }, - - { 0x2B, 0x8B }, - { 0x2C, 0x45 }, - - { 0x41, 0xE8 }, - - { 0x5C, 0xC2 }, - { 0x5D, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_CommitEffectData -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_CommitEffectData, 4134, 16, - - XREF_CDirectSound_CommitEffectData, - XRefZero) - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - { 0x26, 0xEB }, - { 0x27, 0x24 }, - - { 0x28, 0x8B }, - { 0x29, 0x44 }, - - { 0x32, 0x6A }, - { 0x34, 0x6A }, - - { 0x36, 0xE8 }, - - { 0x4D, 0xC2 }, - { 0x4E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetDistanceFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundStream_SetDistanceFactor, 4134, 1+8, - - XREF_CDirectSoundStream_SetDistanceFactor, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetDistanceFactor ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x3D, 0xE8 }, - { 0x48, 0x68 }, - { 0x53, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetDistanceFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(IDirectSoundStream_SetDistanceFactor, 4134, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetDistanceFactor), - - { 0x00, 0xFF }, - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x09, 0xD9 }, - { 0x0C, 0xFF }, - { 0x0E, 0x24 }, - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetRolloffFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(IDirectSoundStream_SetRolloffFactor, 4134, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetRolloffFactor), - - { 0x00, 0xFF }, - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x09, 0xD9 }, - { 0x0C, 0xFF }, - { 0x0E, 0x24 }, - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetDopplerFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundStream_SetDopplerFactor, 4134, 1+8, - - XREF_CDirectSoundStream_SetDopplerFactor, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetDopplerFactor), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x3D, 0xE8 }, - { 0x48, 0x68 }, - { 0x53, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetDopplerFactor -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_XREF(IDirectSoundStream_SetDopplerFactor, 4134, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetDopplerFactor), - - { 0x00, 0xFF }, - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x09, 0xD9 }, - { 0x0C, 0xFF }, - { 0x0E, 0x24 }, - { 0x15, 0xC2 }, - { 0x16, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_SetMixBinVolumes_8 -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4134, 1+11, - - XREF_CDirectSoundStream_SetMixBinVolumes_8, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBinVolumes ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x0E, 0xB6 }, - { 0x0F, 0xF0 }, - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetPlayRegion -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4134, 10, - - XREF_CDirectSoundBuffer_SetPlayRegion, - XRefZero) - - // CDirectSoundBuffer_SetPlayRegion+0x10 : movzx edi, al - { 0x10, 0x0F }, - { 0x11, 0xB6 }, - { 0x12, 0xF8 }, - - // CDirectSoundBuffer_SetPlayRegion+0x17 : jz +0x0B - { 0x17, 0x74 }, - { 0x18, 0x0B }, - - // CDirectSoundBuffer_SetPlayRegion+0x46 : mov esi, 0x88780032 - { 0x46, 0xBE }, - { 0x47, 0x32 }, - { 0x48, 0x00 }, - { 0x49, 0x78 }, - { 0x4A, 0x88 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::EnableHeadphones -// ****************************************************************** -OOVPA_XREF(CDirectSound_EnableHeadphones, 4134, 12, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) - - { 0x00, 0x55 }, - { 0x29, 0xB8 }, - - { 0x4C, 0x83 }, - { 0x4D, 0x7D }, - { 0x4E, 0x0C }, - { 0x4F, 0x00 }, - { 0x50, 0x74 }, - { 0x51, 0x07 }, - { 0x52, 0x0D }, - { 0x53, 0x00 }, - - { 0x63, 0x0C }, - { 0x64, 0xE8 }, - //{ 0x82, 0xC2 }, 4242 Different length - //{ 0x83, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4134, 1+8, - - XREF_CDirectSoundBuffer_SetFormat, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFormat ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFormat, 4134, 1+8, - - XREF_CDirectSoundStream_SetFormat, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::PlayEx -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_PlayEx, 4134, 1+8, - - XREF_CDirectSoundBuffer_PlayEx, - XRefOne) - - XREF_ENTRY( 0x3D, XREF_CMcpxBuffer_Play_Ex), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x16, 0x68 }, - { 0x22, 0x05 }, - { 0x2E, 0x20 }, - { 0x3A, 0x24 }, - { 0x46, 0x0B }, - { 0x52, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::StopEx -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_StopEx, 4134, 1+8, - - XREF_CDirectSoundBuffer_StopEx, - XRefOne) - - XREF_ENTRY( 0x3D, XREF_CMcpxBuffer_Stop_Ex ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x16, 0x68 }, - { 0x22, 0x05 }, - { 0x2E, 0x20 }, - { 0x3A, 0x24 }, - { 0x46, 0x0B }, - { 0x52, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundCreateBuffer -// ****************************************************************** -OOVPA_XREF(DirectSoundCreateBuffer, 4134, 1+11, - - XRefNoSaveIndex, - XRefOne) - - // DirectSoundCreateBuffer+0x2F : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x2F, XREF_CDirectSound_CreateSoundBuffer ), - - // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, - { 0x05, 0x65 }, - { 0x06, 0xFC }, - - // DirectSoundCreateBuffer+0x08 : push ebx; push esi; push edi - { 0x08, 0x53 }, - { 0x09, 0x56 }, - { 0x0A, 0x57 }, - - // DirectSoundCreateBuffer+0x3C : call dword ptr [eax+8] - { 0x3C, 0xFF }, - { 0x3D, 0x50 }, - { 0x3E, 0x08 }, - - // DirectSoundCreateBuffer+0x54 : retn 0x08 - { 0x54, 0xC2 }, - { 0x55, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::FlushEx -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_FlushEx, 4134, 14, - - XREF_CDirectSoundStream_FlushEx, - XRefZero) - - { 0x00, 0x55 }, - { 0x18, 0x0B }, - { 0x24, 0xB8 }, - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - { 0x29, 0xEB }, - { 0x2A, 0x36 }, - { 0x2B, 0x83 }, - { 0x2C, 0x7D }, - { 0x3F, 0x75 }, - { 0x4D, 0x85 }, - { 0x59, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_FlushEx -// ****************************************************************** -OOVPA_XREF(IDirectSoundStream_FlushEx, 4134, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundStream_FlushEx ), - - { 0x01, 0x74 }, - { 0x04, 0xFF }, - { 0x07, 0x10 }, - { 0x0A, 0x24 }, - { 0x0D, 0x74 }, - { 0x10, 0xE8 }, - { 0x15, 0xC2 }, - { 0x16, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * XAudioDownloadEffectsImage -// ****************************************************************** -// Generic OOVPA as of 4134 and newer -OOVPA_NO_XREF(XAudioDownloadEffectsImage, 4134, 12) - - { 0x00, 0x55 }, - - { 0x0B, 0x33 }, - { 0x0C, 0xFF }, - { 0x0D, 0x89 }, - { 0x0E, 0x5D }, - { 0x0F, 0xFC }, - { 0x10, 0x33 }, - { 0x11, 0xF6 }, - { 0x12, 0xE8 }, - - { 0x41, 0x83 }, - { 0x53, 0xE8 }, - { 0x6A, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetMixBins -// ****************************************************************** -// Generic OOVPA as of 4134? and newer -OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 4134, 14, - - XREF_CMcpxVoiceClient_SetMixBins, - XRefZero) - - // CMcpxVoiceClient_SetMixBins+0x00 : push ebp - { 0x00, 0x55 }, - - // CMcpxVoiceClient_SetMixBins+0x24 : lea eax, [ebp-4] - { 0x24, 0x8D }, - { 0x25, 0x45 }, - { 0x26, 0xFC }, - - // CMcpxVoiceClient_SetMixBins+0x2F : lea eax, [esi-0x30] - { 0x2F, 0x8D }, - { 0x30, 0x45 }, - { 0x31, 0xD0 }, - - // CMcpxVoiceClient_SetMixBins+0x5A : mov ds:[0xFE8202F8], eax - { 0x5E, 0xA3 }, - { 0x5F, 0xF8 }, - { 0x60, 0x02 }, - { 0x61, 0x82 }, - { 0x62, 0xFE }, - - // CMcpxVoiceClient_SetMixBins+0xBF : leave; retn - { 0xBF, 0xC9 }, - { 0xC0, 0xC3 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl deleted file mode 100644 index 005f72fc9..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl +++ /dev/null @@ -1,298 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4242.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 RadWolfie -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CMcpxVoiceClient::SetLFO -// ****************************************************************** -// Generic OOVPA as of 4242 and newer -OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4242, 12, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) - - { 0x00, 0x55 }, - { 0x14, 0x8B }, - - { 0x18, 0x08 }, - { 0x19, 0x85 }, - { 0x1A, 0xC9 }, - { 0x1B, 0x75 }, - { 0x1C, 0x4A }, - { 0x1D, 0x39 }, - { 0x1E, 0x48 }, - { 0x1F, 0x04 }, - - { 0x50, 0x31 }, - { 0x51, 0x4E }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetEG -// ****************************************************************** -// Generic OOVPA as of 4242 and newer -OOVPA_XREF(CMcpxVoiceClient_SetEG, 4242, 14, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x16, 0x8B }, - { 0x17, 0x45 }, - { 0x18, 0x08 }, - { 0x19, 0x8B }, - { 0x1A, 0x08 }, - { 0x1B, 0x85 }, - { 0x1C, 0xC9 }, - { 0x1D, 0x75 }, - { 0x1E, 0x75 }, - { 0x1F, 0x8B }, - - { 0x50, 0x56 }, - { 0x51, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_Stop -// ****************************************************************** -//Generic OOVPA as of 4242 and newer. -OOVPA_XREF(CMcpxBuffer_Stop, 4242, 9, - - XREF_CMcpxBuffer_Stop, - XRefZero) - - // CMcpxBuffer_Stop+0x0E : cmp al, 3 - { 0x0E, 0x3C }, - { 0x0F, 0x03 }, - - // CMcpxBuffer_Stop+0x17 : jne +0x2A - { 0x17, 0x74 }, - { 0x18, 0x2A }, - - // CMcpxBuffer_Stop+0x19 : test [esp+10h], 2 - { 0x19, 0xF6 }, - { 0x1A, 0x44 }, - { 0x1B, 0x24 }, - { 0x1C, 0x10 }, - { 0x1D, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetNotificationPositions -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions, 4242, 11, - - XREF_CDirectSoundBuffer_SetNotificationPositions, - XRefZero) - - // CDirectSoundBuffer_SetNotificationPositions+0x00 : push ebx - { 0x00, 0x53 }, - - { 0x0C, 0x00 }, - { 0x1B, 0xFF }, - { 0x25, 0x80 }, - - { 0x2C, 0x0C }, - { 0x2D, 0x8B }, - { 0x2E, 0x4E }, - { 0x2F, 0x1C }, - - { 0x30, 0x57 }, - - { 0x47, 0xE8 }, - { 0x5D, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetSpeakerConfig -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetSpeakerConfig, 4242, 12, - - XREF_CDirectSound_GetSpeakerConfig, - XRefZero) - - { 0x00, 0xE8 }, - { 0x20, 0xB8 }, - - { 0x27, 0x8B }, - { 0x28, 0x4C }, - { 0x29, 0x24 }, - { 0x2A, 0x04 }, - { 0x2B, 0x8B }, - { 0x2C, 0x49 }, - { 0x2D, 0x08 }, - { 0x2E, 0x8B }, - - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CFullHrtfSource_GetHrtfFilterPair -// ****************************************************************** -OOVPA_XREF(CFullHrtfSource_GetHrtfFilterPair, 4242, 15, - - XREF_CFullHrtfSource_GetHrtfFilterPair, - XRefZero) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - { 0x02, 0x74 }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - { 0x05, 0xD9 }, - { 0x06, 0x46 }, - { 0x07, 0x14 }, - { 0x08, 0x51 }, - { 0x09, 0xD8 }, - { 0x0A, 0x1D }, - - { 0x1A, 0x05 }, - { 0x1F, 0xEB }, - - { 0x58, 0xD8 }, - { 0x59, 0x05 }, -OOVPA_END; - -// ****************************************************************** -// * CHrtfSource_SetAlgorithm_FullHrtf -// ****************************************************************** -OOVPA_XREF(CHrtfSource_SetAlgorithm_FullHrtf, 4242, 1+8, - - XREF_CHrtfSource_SetAlgorithm_FullHrtf, - XRefOne) - - XREF_ENTRY( 0x17, XREF_CFullHrtfSource_GetHrtfFilterPair ), - - { 0x00, 0x83 }, - { 0x01, 0x25 }, - { 0x06, 0x00 }, - { 0x07, 0xC7 }, - { 0x08, 0x05 }, - { 0x11, 0xC7 }, - { 0x12, 0x05 }, - { 0x1B, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseFullHRTF -// ****************************************************************** -OOVPA_XREF(DirectSoundUseFullHRTF, 4242, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY(0x13, XREF_CHrtfSource_SetAlgorithm_FullHrtf ), - - { 0x00, 0x56 }, - { 0x01, 0xE8 }, - { 0x06, 0x83 }, - { 0x07, 0x3D }, - { 0x0C, 0x02 }, - { 0x1A, 0x74 }, - { 0x1B, 0x0B }, - { 0x1C, 0x68 }, -OOVPA_END; - -// ****************************************************************** -// * CLightHrtfSource_GetHrtfFilterPair -// ****************************************************************** -OOVPA_XREF(CLightHrtfSource_GetHrtfFilterPair, 4242, 16, - - XREF_CLightHrtfSource_GetHrtfFilterPair, - XRefZero) - - { 0x00, 0x56 }, - { 0x01, 0x8B }, - { 0x02, 0x74 }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - { 0x05, 0xD9 }, - { 0x06, 0x46 }, - { 0x07, 0x10 }, - { 0x08, 0x51 }, - { 0x09, 0xD9 }, - { 0x0A, 0xE1 }, - { 0x0B, 0xD8 }, - { 0x0C, 0x05 }, - - { 0x19, 0x99 }, - { 0x1A, 0x6A }, - - { 0x8B, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * CHrtfSource_SetAlgorithm_LightHrtf -// ****************************************************************** -OOVPA_XREF(CHrtfSource_SetAlgorithm_LightHrtf, 4242, 1+11, - - XREF_CHrtfSource_SetAlgorithm_LightHrtf, - XRefOne) - - XREF_ENTRY(0x1A, XREF_CLightHrtfSource_GetHrtfFilterPair ), - - { 0x00, 0xC7 }, - { 0x01, 0x05 }, - { 0x06, 0x01 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0A, 0xC7 }, - { 0x0B, 0x05 }, - { 0x14, 0xC7 }, - { 0x15, 0x05 }, - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseLightHRTF -// ****************************************************************** -OOVPA_XREF(DirectSoundUseLightHRTF, 4242, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY(0x13, XREF_CHrtfSource_SetAlgorithm_LightHrtf ), - - { 0x00, 0x56 }, - { 0x01, 0xE8 }, - { 0x06, 0x83 }, - { 0x07, 0x3D }, - { 0x0C, 0x02 }, - { 0x1A, 0x74 }, - { 0x1B, 0x0B }, - { 0x1C, 0x68 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl deleted file mode 100644 index cdfd093ed..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ /dev/null @@ -1,625 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4361.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * DirectSoundGetSampleTime -// ****************************************************************** -OOVPA_NO_XREF(DirectSoundGetSampleTime, 4361, 8) - - // DirectSoundGetSampleTime+0x00 : xor eax, eax - { 0x00, 0x33 }, - { 0x01, 0xC0 }, - - // DirectSoundGetSampleTime+0x0A : mov eax, ds:0FE80200Ch - { 0x0A, 0xA1 }, - { 0x0B, 0x0C }, - { 0x0C, 0x20 }, - { 0x0D, 0x80 }, - { 0x0E, 0xFE }, - - // DirectSoundGetSampleTime+0x0F : retn - { 0x0F, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMcpxStream::Pause2 -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_XREF(CMcpxStream_Pause_Ex, 4361, 1+8, - - XREF_CMcpxStream_Pause_Ex, - XRefOne) - - XREF_ENTRY( 0x2B, XREF_CMcpxStream_Pause ), - - { 0x00, 0x55 }, - - { 0x0D, 0x8B }, - - { 0x1C, 0x6A }, - { 0x1D, 0x05 }, - - { 0x23, 0x75 }, - - { 0x2A, 0xE8 }, - - { 0x36, 0xC2 }, - { 0x37, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::PauseEx -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_XREF(CDirectSoundStream_PauseEx, 4361, 1+10, - - XREF_CDirectSoundStream_PauseEx, - XRefOne) - - XREF_ENTRY( 0x3D, XREF_CMcpxStream_Pause_Ex ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x41, 0x85 }, - { 0x4C, 0xFF }, - { 0x53, 0xC7 }, - - { 0x56, 0xC2 }, - { 0x57, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_PauseEx -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_XREF(IDirectSoundStream_PauseEx, 4361, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSoundStream_PauseEx ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x24 }, - { 0x0E, 0x24 }, - { 0x10, 0xE8 }, - { 0x15, 0xC2 }, - { 0x16, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 4361, 11, - - XREF_CMcpxBuffer_Play, - XRefZero) - - // CMcpxBuffer_Play+0x0E : cmp ebx, edi - { 0x0E, 0x3B }, - { 0x0F, 0xDF }, - - // CMcpxBuffer_Play+0x1C : jz +0x09 - { 0x1C, 0x74 }, - { 0x1D, 0x09 }, - - // CMcpxBuffer_Play+0x30 : test byte ptr [esi+0x12], 2 - { 0x30, 0xF6 }, - { 0x31, 0x46 }, - { 0x32, 0x12 }, - { 0x33, 0x02 }, - - // CMcpxBuffer_Play+0x71 : call dword ptr [eax+0x18] - { 0x71, 0xFF }, - { 0x72, 0x50 }, - { 0x73, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4361, 12, - - XREF_CDirectSoundVoice_SetMaxDistance, - XRefZero) - - // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetMaxDistance+0x11 : mov [eax+38h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x38 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetMaxDistance+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4361, 12, - - XREF_CDirectSoundVoice_SetMinDistance, - XRefZero) - - // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetMinDistance+0x11 : mov [eax+34h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x34 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetMinDistance+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetRolloffFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 4361, 12, - - XREF_CDirectSoundVoice_SetRolloffFactor, - XRefZero) - - // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetRolloffFactor+0x11 : mov [eax+44h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x44 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4361, 12, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefZero) - - // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x11 : mov [eax+30h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x30 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Flush, 4361, 10, - - XREF_CMcpxStream_Flush, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x12, 0x33 }, - - { 0x3D, 0x83 }, - { 0x3E, 0xFE }, - { 0x3F, 0x06 }, //4242 only has 0x05 - - { 0x56, 0xE8 }, - - { 0x67, 0xE8 }, - - // Might not be a requirement? Aka comment this out might will enable support detection later XDK revisions. - { 0xD1, 0xC9 }, - { 0xD2, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetDistanceFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4361, 12, - - XREF_CDirectSoundVoice_SetDistanceFactor, - XRefZero) - - // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDistanceFactor+0x11 : mov [eax+40h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x40 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4361, 12, - - XREF_CDirectSoundVoice_SetDopplerFactor, - XRefZero) - - // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDopplerFactor+0x12 : mov [eax+48h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x48 }, - - { 0x14, 0x8B }, - { 0x1D, 0x83 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -//TODO: Need further verification for 4361 titles, 4432 is last known lowest build match. -//Test case for 4361: Burnout (found a match yet is called twice for every time joystick is moved. Is this normal?) -// ****************************************************************** -// * DirectSound::GetCaps -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetCaps, 4361, 13, - - XREF_CDirectSound_GetCaps, - XRefZero) - - { 0x00, 0xE8 }, - { 0x0D, 0xB6 }, - - { 0x2D, 0x8B }, - { 0x2E, 0x44 }, - { 0x2F, 0x24 }, - { 0x30, 0x08 }, - { 0x31, 0x89 }, - { 0x32, 0x10 }, - { 0x33, 0x8B }, - { 0x34, 0x15 }, - - { 0x52, 0x03 }, - { 0x69, 0xC2 }, - { 0x6A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetRolloffCurve -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_XREF(CDirectSoundVoice_SetRolloffCurve, 4361, 12, - - XREF_CDirectSoundVoice_SetRolloffCurve, - XRefZero) - - { 0x00, 0x8B }, - - { 0x10, 0x08 }, - { 0x11, 0x89 }, - { 0x12, 0x51 }, - { 0x13, 0x70 }, // SetConeAngles 0x1C vs SetRolloffCurve 0x70 - { 0x14, 0x8B }, - { 0x15, 0x48 }, - { 0x16, 0x10 }, - { 0x17, 0x8B }, - { 0x18, 0x89 }, - - { 0x23, 0x74 }, // SetConeAngles 0x20 vs SetRolloffCurve 0x74 - { 0x30, 0x04 }, // SetConeAngles 0x10 vs SetRolloffCurve 0x04 -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetRolloffCurve -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetRolloffCurve, 4361, 1+7, - - XREF_CDirectSoundBuffer_SetRolloffCurve, - XRefOne) - - XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetRolloffCurve ), - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x74 }, - { 0x35, 0xFF }, - { 0x40, 0x8B }, - { 0x4F, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetRolloffCurve -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetRolloffCurve, 4361, 1+7, - - XREF_CDirectSoundStream_SetRolloffCurve, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetRolloffCurve ), - - { 0x0C, 0x00 }, - { 0x16, 0x68 }, - { 0x22, 0x05 }, - { 0x2E, 0x74 }, - { 0x3A, 0x24 }, - { 0x46, 0x74 }, - { 0x53, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetRolloffCurve -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetRolloffCurve, 4361, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetRolloffCurve ), - - { 0x03, 0x10 }, - { 0x08, 0xFF }, - { 0x0D, 0xC8 }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_SetRolloffCurve -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_XREF(IDirectSoundStream_SetRolloffCurve, 4361, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_SetRolloffCurve+0x00 : jmp [CDirectSoundStream_SetRolloffCurve] - XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetRolloffCurve ), - - // IDirectSoundStream_SetRolloffCurve+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSound::GetOutputLevels -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetOutputLevels, 4361, 12, - - XREF_CDirectSound_GetOutputLevels, - XRefZero) - - { 0x00, 0x56 }, - { 0x07, 0x10 }, - - { 0x18, 0x5F }, - { 0x19, 0x5E }, - { 0x1A, 0x74 }, - { 0x1B, 0x25 }, - { 0x1C, 0x89 }, - { 0x1D, 0x02 }, - { 0x1E, 0xA3 }, - { 0x1F, 0xB0 }, - - { 0x43, 0xC2 }, - { 0x44, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_GetOutputLevels -// ****************************************************************** -OOVPA_XREF(IDirectSound_GetOutputLevels, 4361, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSound_GetOutputLevels ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XFileCreateMediaObject -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_XREF(XFileCreateMediaObject, 4361, 10, - - XRefNoSaveIndex, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x03, 0x56 }, - - { 0x34, 0x18 }, - { 0x37, 0x14 }, - { 0x3A, 0x10 }, - { 0x3D, 0x0C }, - { 0x40, 0x08 }, - - { 0x67, 0xC2 }, - { 0x68, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * XFileCreateMediaObjectEx -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_NO_XREF(XFileCreateMediaObjectEx, 4361, 12) - - { 0x00, 0x56 }, - { 0x1F, 0x1B }, - - { 0x2D, 0x78 }, - { 0x2E, 0x1C }, - { 0x2F, 0xFF }, - { 0x30, 0x74 }, - { 0x31, 0x24 }, - { 0x32, 0x0C }, - { 0x33, 0x57 }, - { 0x34, 0xE8 }, - - { 0x59, 0xC2 }, - { 0x5A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XWaveFileCreateMediaObject -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_NO_XREF(XWaveFileCreateMediaObject, 4361, 12) - - { 0x00, 0x56 }, - { 0x1C, 0xF7 }, - - { 0x3C, 0xF6 }, - { 0x3D, 0x7C }, - { 0x3E, 0x23 }, - { 0x3F, 0x83 }, - { 0x40, 0x7C }, - { 0x41, 0x24 }, - { 0x42, 0x10 }, - { 0x43, 0x00 }, - - { 0x70, 0xC2 }, - { 0x71, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XWaveFileCreateMediaObjectEx -// ****************************************************************** -// Generic OOVPA as of 4361 and newer -OOVPA_XREF(XWaveFileCreateMediaObjectEx, 4361, 12, - - XRefNoSaveIndex, - XRefZero) - - { 0x0D, 0x0B }, - { 0x1C, 0xF7 }, - - { 0x40, 0xEB }, - { 0x41, 0x0A }, - { 0x42, 0xFF }, - { 0x43, 0x74 }, - { 0x44, 0x24 }, - { 0x45, 0x10 }, - { 0x46, 0x57 }, - { 0x47, 0xE8 }, - - { 0x6C, 0xC2 }, - { 0x6D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMemoryManager::PoolAlloc -// ****************************************************************** -OOVPA_NO_XREF(DSound_CMemoryManager_PoolAlloc, 4361, 11) - - { 0x00, 0x56 }, - { 0x24, 0x83 }, - { 0x25, 0x7C }, - { 0x26, 0x24 }, - { 0x27, 0x10 }, - { 0x28, 0x00 }, - { 0x37, 0xF3 }, - { 0x38, 0xAB }, - { 0x44, 0xC2 }, - { 0x45, 0x0C }, - { 0x46, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl deleted file mode 100644 index e482327e1..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ /dev/null @@ -1,54 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4432.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XFileCreateMediaObjectAsync -// ****************************************************************** -OOVPA_NO_XREF(XFileCreateMediaObjectAsync, 4432, 12) - - { 0x00, 0x56 }, - { 0x1F, 0x1B }, - - { 0x2B, 0x07 }, - { 0x2C, 0x80 }, - { 0x2D, 0x78 }, - { 0x2E, 0x20 }, - { 0x2F, 0xFF }, - { 0x30, 0x74 }, - { 0x31, 0x24 }, - { 0x32, 0x10 }, - - { 0x5D, 0xC2 }, - { 0x5E, 0x0C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4531.inl deleted file mode 100644 index 1d14597c4..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4531.inl +++ /dev/null @@ -1,59 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4531.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CMcpxStream_Discontinuity -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Discontinuity, 4531, 9, - - XREF_CMcpxStream_Discontinuity, - XRefZero) - - // CMcpxStream_Discontinuity+0x00 : push esi; push edi - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - // CMcpxStream_Discontinuity+0x12 : mov dx,0x800 - { 0x12, 0x66 }, - { 0x13, 0xBA }, - { 0x14, 0x00 }, - { 0x15, 0x08 }, - - // CMcpxStream_Discontinuity+0x23 : call Stop@CMcpxStream@DirectSound@@QAEJ_JK@Z - { 0x23, 0xE8 }, - - // CMcpxStream_Discontinuity+0x2D : pop esi; ret - { 0x2D, 0x5E }, - { 0x2E, 0xC3 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl deleted file mode 100644 index b55928751..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ /dev/null @@ -1,316 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4627.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CDirectSound::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocity, 4627, 15, - - XREF_CDirectSound_SetVelocity, - XRefZero) - - // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - - // CDirectSound_SetVelocity+0x37 : mov [edx+0x44], edi - { 0x37, 0x89 }, - { 0x38, 0x7A }, - { 0x39, 0x44 }, - - // CDirectSound_SetVelocity+0x4C : or byte ptr [eax+0x0x00A4], 0x80 - { 0x4C, 0x80 }, - { 0x4D, 0x88 }, - { 0x4E, 0xA4 }, - { 0x4F, 0x00 }, - { 0x52, 0x80 }, - - // CDirectSound_SetVelocity+0x73 : retn 0x14 - { 0x73, 0xC2 }, - { 0x74, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetAllParametersA -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetAllParametersA, 4627, 10, - - XREF_CDirectSound_SetAllParameters, - XRefZero) - - { 0x16, 0x68 }, - { 0x17, 0xE8 }, - { 0x18, 0xF7 }, - { 0x19, 0x2D }, - - { 0x2F, 0xD9 }, - { 0x30, 0x41 }, - { 0x31, 0x04 }, - - { 0x87, 0x8B }, - { 0x88, 0x50 }, - { 0x89, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetPosition, 4627, 11, - - XREF_CDirectSound_SetPosition, - XRefZero) - - // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] - { 0x2B, 0x8B }, - { 0x2C, 0x4D }, - { 0x2D, 0x08 }, - - // CDirectSound_SetPosition+0x3F : mov [edx+0x3C], edi - { 0x3F, 0x89 }, - { 0x40, 0x7A }, - { 0x41, 0x3C }, - - // CDirectSound_SetPosition+0x4C : or word ptr [eax+0xA4], 0x01FF - { 0x4C, 0x66 }, - { 0x4D, 0x81 }, - { 0x4E, 0x88 }, - { 0x4F, 0xA4 }, - { 0x53, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetSpeakerConfig -// ****************************************************************** -OOVPA_XREF(CDirectSound_GetSpeakerConfig, 4627, 14, - - XREF_CDirectSound_GetSpeakerConfig, - XRefZero) - - { 0x00, 0xE8 }, - - { 0x0B, 0x00 }, - { 0x14, 0x0B }, - { 0x20, 0xB8 }, - { 0x2A, 0x04 }, - - { 0x35, 0x81 }, - //{ 0x36, 0xE1 }, (This value has changed, commented out to expand support for later revisions.) - { 0x37, 0xFF }, - { 0x38, 0xFF }, - { 0x39, 0xFF }, - { 0x3A, 0x7F }, - - { 0x40, 0x0B }, - { 0x4C, 0x33 }, - - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_Play_Ex -// ****************************************************************** -#define CMcpxBuffer_Play_Ex_4627 CMcpxBuffer_Play_Ex_4361 - -// ****************************************************************** -// * CDirectSound::SetDistanceFactorA -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactor, 4627, 17, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) - - // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - { 0x35, 0x68 }, - - // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, - { 0x37, 0x41 }, - { 0x38, 0x08 }, - - // CDirectSound_SetDistanceFactor+0x39 : or byte ptr[eax+0xA4], 0xE0 - { 0x39, 0x80 }, - { 0x3A, 0x88 }, - { 0x3B, 0xA4 }, - { 0x3F, 0xE0 }, - - // CDirectSound_SetDistanceFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, - { 0x50, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetDopplerFactor, 4627, 14, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) - - // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - { 0x35, 0x70 }, - - // CDirectSound_SetDopplerFactor+0x39 : or byte ptr[eax+0xA4], 0x80 - { 0x39, 0x80 }, - { 0x3A, 0x88 }, - { 0x3B, 0xA4 }, - { 0x3F, 0x80 }, - - // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, - { 0x50, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetFormat -// ****************************************************************** -// Generic OOVPA as of 4721 and newer -OOVPA_XREF(CDirectSoundVoice_SetFormat, 4721, 12, - - XREF_CDirectSoundVoice_SetFormat, - XRefZero) - - { 0x00, 0x56 }, - - { 0x06, 0x4E }, - { 0x0E, 0xE8 }, - { 0x18, 0x4E }, - { 0x25, 0xFF }, - { 0x2E, 0x0C }, - { 0x2F, 0xE8 }, // call CMcpxVoiceClient::SetMixBins - { 0x34, 0x85 }, - { 0x38, 0x8B }, - { 0x3B, 0xE8 }, // call CMcpxVoiceClient::SetPitch - { 0x41, 0xC2 }, - { 0x42, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMemoryManager::MemAlloc -// ****************************************************************** -// * FOR DEBUGGING USE ONLY! -// ****************************************************************** -OOVPA_NO_XREF(CMemoryManager_MemAlloc, 4627, 10) - - // DirectSound::CMemoryManager::PoolAlloc + 0x1B: cmp [esp+4+0xC], 0 - { 0x1B, 0x83 }, - { 0x1C, 0x7C }, - { 0x1D, 0x24 }, - { 0x1E, 0x10 }, - { 0x1F, 0x00 }, - // DirectSound::CMemoryManager::PoolAlloc + 0x33: and ecx, 3 - { 0x33, 0x83 }, - { 0x34, 0xE1 }, - { 0x35, 0x03 }, - // DirectSound::CMemoryManager::PoolAlloc + 0x65: retn 0xC - { 0x65, 0xC2 }, - { 0x66, 0x0C } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetDistanceFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4627, 12, - - XREF_CDirectSoundVoice_SetDistanceFactor, - XRefZero) - - // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDistanceFactor+0x11 : mov [eax+40h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x40 }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4627, 12, - - XREF_CDirectSoundVoice_SetDopplerFactor, - XRefZero) - - // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDopplerFactor+0x12 : mov [eax+48h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x48 }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x78 }, - - // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4721.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4721.inl deleted file mode 100644 index c8ee85a92..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4721.inl +++ /dev/null @@ -1,275 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4721.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CMcpxStream_GetStatus -// ****************************************************************** -OOVPA_XREF(CMcpxStream_GetStatus, 4721, 14, - - XREF_CMcpxStream_GetStatus, - XRefZero) - - { 0x00, 0x0F }, - - { 0x09, 0x00 }, - { 0x0A, 0x33 }, - { 0x0B, 0xC9 }, - { 0x0C, 0x39 }, - { 0x0D, 0x00 }, - { 0x0E, 0x8B }, - { 0x0F, 0x44 }, - { 0x10, 0x24 }, - { 0x11, 0x04 }, - { 0x12, 0x0F }, - { 0x13, 0x95 }, - - { 0x1C, 0x80 }, - { 0x41, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetStatus, 4721, 17, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) - - { 0x00, 0x0F }, - { 0x01, 0xB7 }, - { 0x02, 0x41 }, - { 0x03, 0x12 }, - { 0x04, 0x8B }, - { 0x05, 0xC8 }, - { 0x06, 0x83 }, - { 0x07, 0xE1 }, - { 0x08, 0x03 }, - { 0x09, 0x80 }, - { 0x0A, 0xF9 }, - { 0x0B, 0x03 }, - { 0x0C, 0x75 }, - - { 0x25, 0xEB }, - { 0x26, 0x14 }, - - { 0x3D, 0xC2 }, - { 0x3E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_Pause -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Pause, 4721, 12, - - XREF_CMcpxBuffer_Pause, - XRefZero) - - { 0x00, 0x55 }, - { 0x14, 0x8A }, - - { 0x20, 0x01 }, - { 0x21, 0x75 }, - { 0x22, 0x04 }, - { 0x23, 0x6A }, - { 0x24, 0x04 }, - { 0x25, 0xEB }, - { 0x26, 0x08 }, - { 0x27, 0x83 }, - - { 0x42, 0xC2 }, - { 0x43, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::PauseEx -// ****************************************************************** -// Generic OOVPA as of 4721 and newer -OOVPA_XREF(CDirectSoundBuffer_PauseEx, 4721, 1+10, - - XREF_CDirectSoundBuffer_PauseEx, - XRefOne) - - XREF_ENTRY( 0x3D, XREF_CMcpxBuffer_Pause_Ex ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x41, 0x85 }, - { 0x4C, 0xFF }, - { 0x53, 0xC7 }, - - { 0x56, 0xC2 }, - { 0x57, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_PauseEx -// ****************************************************************** -// Generic OOVPA as of 4721 and newer -OOVPA_XREF(IDirectSoundBuffer_PauseEx, 4721, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_PauseEx ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x12, 0x83 }, - { 0x16, 0xD9 }, - { 0x1A, 0xC8 }, - { 0x21, 0xC2 }, - { 0x22, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMcpxBuffer::Pause -// ****************************************************************** -// Generic OOVPA as of 4721 and newer -OOVPA_XREF(CMcpxBuffer_Pause_Ex, 4721, 1+8, - - XREF_CMcpxBuffer_Pause_Ex, - XRefOne) - - XREF_ENTRY( 0x2B, XREF_CMcpxBuffer_Pause ), - - { 0x00, 0x55 }, - - { 0x0D, 0x8B }, - - { 0x1C, 0x6A }, - { 0x1D, 0x05 }, - - { 0x23, 0x75 }, - - { 0x2A, 0xE8 }, - - { 0x36, 0xC2 }, - { 0x37, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::Pause -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Pause, 4721, 1+10, - - XREF_CDirectSoundBuffer_Pause, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Pause ), - - { 0x00, 0x56 }, - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x39, 0x85 }, - { 0x44, 0xFF }, - { 0x4B, 0xC7 }, - { 0x4E, 0xC2 }, - { 0x4F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_Pause -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_Pause, 4721, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_Pause ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetAllParametersA -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetAllParametersA, 4721, 10, - - XREF_CDirectSound_SetAllParameters, - XRefZero) - - { 0x16, 0x68 }, - { 0x17, 0xD8 }, - { 0x18, 0x81 }, - { 0x19, 0x15 }, - - { 0x2F, 0xD9 }, - { 0x30, 0x41 }, - { 0x31, 0x04 }, - - { 0x87, 0x8B }, - { 0x88, 0x50 }, - { 0x89, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_Play -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 4721, 11, - - XREF_CMcpxBuffer_Play, - XRefZero) - - // CMcpxBuffer_Play+0x00 : push ebx - { 0x00, 0x53 }, - - // CMcpxBuffer_Play+0x2E : test byte ptr [eax+9], 20h - { 0x2E, 0xF6 }, - { 0x2F, 0x40 }, - { 0x30, 0x09 }, - { 0x31, 0x20 }, - - // CMcpxBuffer_Play+0x44 : test byte ptr [esi+12h], 2h - { 0x44, 0xF6 }, - { 0x45, 0x46 }, - { 0x46, 0x12 }, - { 0x47, 0x02 }, - - // CMcpxBuffer_Play+0x52 : xor eax, eax - { 0x52, 0x33 }, - { 0x53, 0xC0 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4831.inl deleted file mode 100644 index aa8dda603..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4831.inl +++ /dev/null @@ -1,232 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4831.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// CMcpxAPU::SynchPlayback -// ****************************************************************** -// Generic OOVPA as of 4831 and newer -OOVPA_XREF(CMcpxAPU_SynchPlayback, 4831, 9, - - XREF_CMcpxAPU_SynchPlayback, - XRefZero) - { 0x00, 0x55 }, - - //{ 0x0C, 0x74 }, // vs 5344 0x3C - { 0x1A, 0x1A }, - { 0x25, 0x53 }, - { 0x37, 0xF2 }, - //{ 0x58, 0xBC }, // vs 5344 0x84 - - { 0x7F, 0x47 }, - { 0x80, 0x04 }, - - { 0x84, 0x43 }, - - { 0x9E, 0x64 }, - { 0xFF, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SynchPlayback -// ****************************************************************** -OOVPA_XREF(CDirectSound_SynchPlayback, 4831, 1+9, - - XREF_CDirectSound_SynchPlayback, - XRefOne) - - XREF_ENTRY( 0x08, XREF_CMcpxAPU_SynchPlayback ), - - // CDirectSound_SynchPlayback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // CDirectSound_SynchPlayback+0x04 : mov ecx, [eax+0x0C] - { 0x04, 0x8B }, - { 0x05, 0x48 }, - { 0x06, 0x0C }, - - // CDirectSound_SynchPlayback+0x0C : retn 0x04 - { 0x0C, 0xC2 }, - { 0x0D, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound::SynchPlayback -// ****************************************************************** -// Generic OOVPA as of 4831 and newer -OOVPA_XREF(IDirectSound_SynchPlayback, 4831, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x11, XREF_CDirectSound_SynchPlayback ), - - // IDirectSound_SynchPlayback+0x06 : add eax, 0xFFFFFFF8 - { 0x06, 0x83 }, - { 0x07, 0xC0 }, - { 0x08, 0xF8 }, - - // IDirectSound_SynchPlayback+0x0B : sbb ecx, ecx - { 0x0B, 0x1B }, - { 0x0C, 0xC9 }, - - // IDirectSound_SynchPlayback+0x15 : retn 0x04 - { 0x15, 0xC2 }, - { 0x16, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetStatus -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetStatus, 4831, 13, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) - - { 0x00, 0x0F }, - - { 0x16, 0x6A }, - { 0x17, 0x00 }, - { 0x18, 0x5A }, - - { 0x1C, 0x42 }, - { 0x1D, 0xF6 }, - { 0x1E, 0xC4 }, - { 0x1F, 0x02 }, - - { 0x29, 0xB9 }, - { 0x2A, 0x01 }, - { 0x2B, 0x80 }, - - { 0x3F, 0xC2 }, - { 0x40, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) -// ****************************************************************** -// Generic OOVPA as of 4831 and newer -OOVPA_XREF(CMcpxBuffer_Play, 4831, 11, - - XREF_CMcpxBuffer_Play, - XRefZero) - - // CMcpxBuffer_Play+0x00 : push ebx - { 0x00, 0x53 }, - - // CMcpxBuffer_Play+0x32 : test byte ptr [esi+12h], 42h - { 0x32, 0xF6 }, - { 0x33, 0x46 }, - { 0x34, 0x12 }, - { 0x35, 0x42 }, - - // CMcpxBuffer_Play+0x4D : test byte ptr [eax+9], 20h - { 0x4D, 0xF6 }, - { 0x4E, 0x40 }, - { 0x4F, 0x09 }, - { 0x50, 0x20 }, - - // CMcpxBuffer_Play+0x71 : xor eax, eax - { 0x71, 0x33 }, - { 0x72, 0xC0 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Pause -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Pause, 4831, 11, - - XREF_CMcpxStream_Pause, - XRefZero) - - // CMcpxStream_Pause+0x17 : and ax, 0xFFDF - { 0x17, 0x66 }, - { 0x18, 0x25 }, - { 0x19, 0xDF }, - - // CMcpxStream_Pause+0x32 : jmp +0x56 - { 0x32, 0xEB }, - { 0x33, 0x56 }, - - // CMcpxStream_Pause+0x39 : movzx eax, word ptr [esi+0x12] - { 0x39, 0x0F }, - { 0x3A, 0xB7 }, - { 0x3B, 0x46 }, - { 0x3C, 0x12 }, - - // CMcpxStream_Pause+0x8B : retn 0x04 - { 0x8B, 0xC2 }, - { 0x8C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetAllParametersA -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetAllParametersA, 4831, 10, - - XREF_CDirectSound_SetAllParameters, - XRefZero) - - { 0x16, 0x68 }, - { 0x17, 0x08 }, - { 0x18, 0x6E }, - { 0x19, 0x18 }, - - { 0x2F, 0xD9 }, - { 0x30, 0x41 }, - { 0x31, 0x04 }, - - { 0x87, 0x8B }, - { 0x88, 0x50 }, - { 0x89, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CMcpxBuffer::Pause -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Pause, 4831, 7, - - XREF_CMcpxBuffer_Pause, - XRefZero) - - { 0x0D, 0x4D }, - { 0x1C, 0x44 }, - { 0x2B, 0x8B }, - { 0x3A, 0x75 }, - { 0x49, 0x7D }, - { 0x58, 0xEB }, - { 0x67, 0xE8 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl deleted file mode 100644 index efd9defa1..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ /dev/null @@ -1,219 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.5028.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CDirectSoundStream_Flush -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(CDirectSoundStream_Flush, 5028, 1+8, - - XRefNoSaveIndex, - XRefOne) - - //CDirectSoundStream_Flush+0x31 : call [CMcpxStream_Flush] - XREF_ENTRY( 0x32, XREF_CMcpxStream_Flush ), - - { 0x00, 0x56 }, - - { 0x28, 0x8B }, - { 0x2B, 0x08 }, - - { 0x2C, 0x8B }, - { 0x2E, 0x24 }, - - { 0x31, 0xE8 }, - - //CDirectSoundStream_Flush+0x48 : ret 4 - { 0x48, 0xC2 }, - { 0x49, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_FlushEx -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(CDirectSoundStream_FlushEx, 5028, 16, - - XREF_CDirectSoundStream_FlushEx, - XRefZero) - - { 0x00, 0x55 }, - - { 0x24, 0xB8 }, - { 0x25, 0x05 }, - { 0x26, 0x40 }, - { 0x27, 0x00 }, - { 0x28, 0x80 }, - - { 0x29, 0xEB }, - { 0x2A, 0x3A }, - { 0x2B, 0x83 }, - { 0x2C, 0x7D }, - - { 0x36, 0x74 }, - { 0x37, 0x12 }, - - { 0x3E, 0xFF }, - { 0x40, 0x0C }, - - { 0x67, 0xC2 }, - { 0x68, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient_GetVoiceProperties -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(CMcpxVoiceClient_GetVoiceProperties, 5028, 14, - - XREF_CMcpxVoiceClient_GetVoiceProperties, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x03, 0x83 }, - { 0x06, 0x83 }, - { 0x0A, 0xF6 }, - - // CMcpxVoiceClient_GetVoiceProperties+0xB5 : shr esi,6 - { 0xB5, 0xC1 }, - { 0xB6, 0xEE }, - { 0xB7, 0x06 }, - - // CMcpxVoiceClient_GetVoiceProperties+0x102 : mov dword ptr [edi],0FFFFD8F0h - { 0x102, 0xC7 }, - { 0x103, 0x07 }, - { 0x104, 0xF0 }, - { 0x105, 0xD8 }, - { 0x106, 0xFF }, - { 0x107, 0xFF }, - - // After offset 0x11C, lots of changes has occurred. -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_GetVoiceProperties -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(CDirectSoundVoice_GetVoiceProperties, 5028, 1+7, - - XREF_CDirectSoundVoice_GetVoiceProperties, - XRefOne) - - XREF_ENTRY( 0x0C, XREF_CMcpxVoiceClient_GetVoiceProperties), - - { 0x00, 0x8B }, - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x08, 0x8B }, - { 0x0B, 0xE8 }, - { 0x10, 0xC2 }, - { 0x11, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer_GetVoiceProperties -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(CDirectSoundBuffer_GetVoiceProperties, 5028, 1+7, - - XREF_CDirectSoundBuffer_GetVoiceProperties, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_GetVoiceProperties ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x2C, 0x10 }, - { 0x30, 0x10 }, - { 0x31, 0xE8 }, - { 0x4B, 0xC2 }, - { 0x4C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_GetVoiceProperties -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(IDirectSoundBuffer_GetVoiceProperties, 5028, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_GetVoiceProperties), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundStream_GetVoiceProperties -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(CDirectSoundStream_GetVoiceProperties, 5028, 1+7, - - XREF_CDirectSoundStream_GetVoiceProperties, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_GetVoiceProperties ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x2B, 0x08 }, - { 0x30, 0x10 }, - { 0x35, 0xE8 }, - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_GetVoiceProperties -// ****************************************************************** -// Generic OOVPA as of 5028 and newer -OOVPA_XREF(IDirectSoundStream_GetVoiceProperties, 5028, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_GetVoiceProperties+0x00 : jmp [CDirectSoundStream_GetVoiceProperties] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_GetVoiceProperties), - - // IDirectSoundStream_GetVoiceProperties+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl deleted file mode 100644 index da0a60f6c..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ /dev/null @@ -1,52 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.5233.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * DirectSound::CDirectSound::EnableHeadphones -// ****************************************************************** -// TODO: Need to re-evaluate. Possible false detection. -OOVPA_XREF(CDirectSound_EnableHeadphones, 5233, 9, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) - { 0x00, 0x55 }, - { 0x16, 0x45 }, - { 0x1D, 0x0B }, - { 0x2A, 0x05 }, - { 0x46, 0x95 }, - { 0x56, 0x80 }, - { 0x5D, 0x7F }, - { 0x74, 0xA4 }, - { 0x99, 0x08 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl deleted file mode 100644 index 2f264ca89..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ /dev/null @@ -1,1283 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.5344.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 5344, 12, - - XREF_CDirectSoundVoice_SetMinDistance, - XRefZero) - - // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetMinDistance+0x11 : mov [eax+38h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x38 }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x02 }, - - // CDirectSoundVoice_SetMinDistance+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetDistanceFactor -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, 12, - - XREF_CDirectSoundVoice_SetDistanceFactor, - XRefZero) - - // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDistanceFactor+0x11 : mov [eax+44h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x44 }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x02 }, - - // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetDistanceFactor -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetDistanceFactor, 5344, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetDistanceFactor ), - - { 0x03, 0x0C }, - { 0x08, 0x8B }, - { 0x0D, 0x8B }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetDopplerFactor -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, 12, - - XREF_CDirectSoundVoice_SetDopplerFactor, - XRefZero) - - // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetDopplerFactor+0x12 : mov [eax+4Ch], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x4C }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x03 }, - - // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetMaxDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 5344, 12, - - XREF_CDirectSoundVoice_SetMaxDistance, - XRefZero) - - // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetMaxDistance+0x11 : mov [eax+3Ch], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x3C }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x02 }, - - // CDirectSoundVoice_SetMaxDistance+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// CDirectSoundVoice::SetMode -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 14, - - XREF_CDirectSoundVoice_SetMode, - XRefZero) - - { 0x00, 0x8B }, - - { 0x09, 0xB4 }, - { 0x10, 0x08 }, - - { 0x13, 0x40 }, - - { 0x14, 0x8B }, - { 0x15, 0x41 }, - - { 0x18, 0x80 }, - { 0x19, 0xB4 }, - - { 0x1D, 0x80 }, - { 0x1F, 0x02 }, - { 0x20, 0x40 }, - - { 0x2E, 0x33 }, - - { 0x30, 0xC2 }, - { 0x31, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_SetPosition -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetPosition, 5344, 14, - - XREF_CDirectSound_SetPosition, - XRefZero) - - // CDirectSound_SetPosition+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] - { 0x2B, 0x8B }, - { 0x2C, 0x4D }, - { 0x2D, 0x08 }, - - // CDirectSound_SetPosition+0x2E : lea eax, [ecx+0x08] - { 0x2E, 0x8D }, - { 0x2F, 0x41 }, - { 0x30, 0x08 }, - - // CDirectSound_SetPosition+0x37 : mov [edx+0x__], edi - { 0x37, 0x89 }, - { 0x38, 0x7A }, - //{ 0x39, 0x3C }, vs 5455 0x38 - - // CDirectSound_SetPosition+0x4C : or dword ptr [eax+34h], 1 - { 0x4C, 0x83 }, - { 0x4D, 0x48 }, - //{ 0x4E, 0x34 }, vs 5455 0x30 - { 0x4F, 0x01 }, - - // CDirectSound_SetPosition+0x70 : retn 0x14 - { 0x70, 0xC2 }, - { 0x71, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocity, 5344, 14, - - XREF_CDirectSound_SetVelocity, - XRefZero) - - // CDirectSound_SetVelocity+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_SetVelocity+0x2B : mov ecx, [ebp+0x08] - { 0x2B, 0x8B }, - { 0x2C, 0x4D }, - { 0x2D, 0x08 }, - - // CDirectSound_SetVelocity+0x2E : lea eax, [ecx+0x08] - { 0x2E, 0x8D }, - { 0x2F, 0x41 }, - { 0x30, 0x08 }, - - // CDirectSound_SetVelocity+0x37 : mov [edx+0x__], edi - { 0x37, 0x89 }, - { 0x38, 0x7A }, - //{ 0x39, 0x48 }, vs 5455 0x44 - - // CDirectSound_SetVelocity+0x4C : or dword ptr [eax+0x__], 2 - { 0x4C, 0x83 }, - { 0x4D, 0x48 }, - //{ 0x4E, 0x34 }, vs 5455 0x30 - { 0x4F, 0x02 }, - - // CDirectSound_SetVelocity+0x70 : retn 0x14 - { 0x70, 0xC2 }, - { 0x71, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetPosition -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetPosition, 5344, 12, - - XREF_CDirectSoundVoice_SetPosition, - XRefZero) - - // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] - { 0x0F, 0x8B }, - { 0x10, 0x55 }, - { 0x11, 0x0C }, - - // CDirectSoundVoice_SetPosition+0x12 : mov [ecx+04h], edx - { 0x12, 0x89 }, - { 0x13, 0x51 }, - { 0x14, 0x08 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetPosition+0x21 : mov [ecx+08h], edx - { 0x21, 0x89 }, - { 0x22, 0x51 }, - { 0x23, 0x0C }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetPosition+0x30 : mov [ecx+0Ch], edx - { 0x30, 0x89 }, - { 0x31, 0x51 }, - { 0x32, 0x10 }, // SetConeOrientation vs SetPosition vs SetVelocity -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetVelocity -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5344, 12, - - XREF_CDirectSoundVoice_SetVelocity, - XRefZero) - - // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] - { 0x0F, 0x8B }, - { 0x10, 0x55 }, - { 0x11, 0x0C }, - - // CDirectSoundVoice_SetVelocity+0x12 : mov [ecx+14h], edx - { 0x12, 0x89 }, - { 0x13, 0x51 }, - { 0x14, 0x14 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetVelocity+0x21 : mov [ecx+18h], edx - { 0x21, 0x89 }, - { 0x22, 0x51 }, - { 0x23, 0x18 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetVelocity+0x30 : mov [ecx+1Ch], edx - { 0x30, 0x89 }, - { 0x31, 0x51 }, - { 0x32, 0x1C }, // SetConeOrientation vs SetPosition vs SetVelocity -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SynchPlayback -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSound_SynchPlayback, 5344, 1+9, - - XREF_CDirectSound_SynchPlayback, - XRefOne) - - XREF_ENTRY( 0x31, XREF_CMcpxAPU_SynchPlayback ), - - { 0x00, 0x56 }, - - { 0x07, 0x3D }, - { 0x0C, 0x00 }, - { 0x16, 0x68 }, - { 0x2D, 0x48 }, - { 0x2E, 0x0C }, - { 0x2F, 0x57 }, - { 0x36, 0xF6 }, - { 0x3B, 0x68 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CommitDeferredSettings -// ****************************************************************** -OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5344, 11, - - XREF_CDirectSound_CommitDeferredSettings, - XRefZero) - - // CDirectSound_CommitDeferredSettings+0x11 : movzx eax, al - { 0x11, 0x0F }, - { 0x12, 0xB6 }, - { 0x13, 0xC0 }, - - // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 - { 0x28, 0xB8 }, - { 0x29, 0x05 }, - { 0x2A, 0x40 }, - { 0x2C, 0x80 }, - - // CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x34], edi - { 0x6E, 0x89 }, - { 0x6F, 0x78 }, - { 0x70, 0x34 }, - - // CDirectSound_CommitDeferredSettings+0x97 : leave - { 0x97, 0xC9 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSound::EnableHeadphones -// ****************************************************************** -OOVPA_XREF(CDirectSound_EnableHeadphones, 5344, 9, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) - - { 0x04, 0x51 }, - { 0x05, 0x83 }, - { 0x06, 0x65 }, - { 0x07, 0xFC }, - { 0x08, 0x00 }, - { 0x09, 0xE8 }, - { 0x2D, 0x05 }, - { 0x3D, 0x08 }, - { 0x4D, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 12, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefZero) - - // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x11 : mov [eax+34h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x34 }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x02 }, - - // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch - { 0x31, 0x0C }, - { 0x32, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetRolloffFactor -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, 13, - - XREF_CDirectSoundVoice_SetRolloffFactor, - XRefZero) - - // CDirectSoundVoice_SetRolloffFactor+0x00 : mov ecx,dword ptr [esp+4] - { 0x00, 0x8B }, - - // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] - { 0x0D, 0x8B }, - { 0x0E, 0x54 }, - { 0x0F, 0x24 }, - { 0x10, 0x08 }, - - // CDirectSoundVoice_SetRolloffFactor+0x11 : mov [eax+48h], edx - { 0x11, 0x89 }, - { 0x12, 0x50 }, - { 0x13, 0x48 }, - - { 0x14, 0x8B }, - { 0x1D, 0x80 }, - { 0x1F, 0x03 }, - - // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch - { 0x30, 0xC2 }, - { 0x31, 0x0C } -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetRolloffCurve -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetRolloffCurve, 5344, 12, - - XREF_CDirectSoundVoice_SetRolloffCurve, - XRefZero) - - { 0x00, 0x8B }, - - { 0x10, 0x08 }, - { 0x11, 0x89 }, - { 0x12, 0x51 }, - { 0x13, 0x50 }, // SetConeAngles 0x20 vs SetRolloffCurve 0x50 - { 0x14, 0x8B }, - { 0x15, 0x48 }, - { 0x16, 0x10 }, - { 0x17, 0x8B }, - { 0x18, 0x89 }, - - { 0x23, 0x54 }, // SetConeAngles 0x24 vs SetRolloffCurve 0x54 - { 0x30, 0x01 }, // SetConeAngles 0x04 vs SetRolloffCurve 0x01 -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetConeAngles -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 5344, 12, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) - - { 0x00, 0x8B }, - - { 0x10, 0x08 }, - { 0x11, 0x89 }, - { 0x12, 0x51 }, - { 0x13, 0x20 }, // SetConeAngles 0x20 vs SetRolloffCurve 0x50 - { 0x14, 0x8B }, - { 0x15, 0x48 }, - { 0x16, 0x10 }, - { 0x17, 0x8B }, - { 0x18, 0x89 }, - - { 0x23, 0x24 }, // SetConeAngles 0x24 vs SetRolloffCurve 0x54 - { 0x30, 0x04 }, // SetConeAngles 0x04 vs SetRolloffCurve 0x01 -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice_SetConeOrientation -// ****************************************************************** -// Generic OOVPA as of 5344 and newer -OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 5344, 12, - - XREF_CDirectSoundVoice_SetConeOrientation, - XRefZero) - - // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] - { 0x0F, 0x8B }, - { 0x10, 0x55 }, - { 0x11, 0x0C }, - - // CDirectSoundVoice_SetConeOrientation+0x12 : mov [ecx+28h], edx - { 0x12, 0x89 }, - { 0x13, 0x51 }, - { 0x14, 0x28 }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetConeOrientation+0x21 : mov [ecx+2Ch], edx - { 0x21, 0x89 }, - { 0x22, 0x51 }, - { 0x23, 0x2C }, // SetConeOrientation vs SetPosition vs SetVelocity - - // CDirectSoundVoice_SetConeOrientation+0x30 : mov [ecx+30h], edx - { 0x30, 0x89 }, - { 0x31, 0x51 }, - { 0x32, 0x30 }, // SetConeOrientation vs SetPosition vs SetVelocity -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -// Might not be ideal, however I had not see any changes from these -// Offsets. -OOVPA_XREF(CMcpxStream_Flush, 5344, 14, - - XREF_CMcpxStream_Flush, - XRefZero) - - // CMcpxStream_Flush+0x00 : push ebp; mov ebp, esp; sub esp, 10h - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - - // Offset is unique for this asm code. - // CMcpxStream_Flush+0x0A : movzx eax,byte ptr fs:[24h] - { 0x0A, 0x64 }, - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0x05 }, - { 0x0E, 0x24 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetI3DL2Source -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 5344, 15, - - XREF_CDirectSoundVoice_SetI3DL2Source, - XRefZero) - - // CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx] - { 0x12, 0x8B }, - { 0x13, 0x31 }, - - // CDirectSoundVoice_SetI3DL2Source+0x14 : mov [edx+80h], esi - { 0x14, 0x89 }, - { 0x15, 0xB2 }, - { 0x16, 0x80 }, - - // CDirectSoundVoice_SetI3DL2Source+0xB3 : or byte ptr [ecx+7Eh],7Fh - { 0xB3, 0x80 }, - { 0xB4, 0x49 }, - //{ 0xB5, 0x7E }, //0x7E is known for 5344 and later, not sure about earlier. - { 0xB6, 0x7F }, - - // CDirectSoundVoice_SetI3DL2Source+0x50 : test byte ptr [esp+10h],1 - { 0xB7, 0xF6 }, - { 0xB8, 0x44 }, - { 0xB9, 0x24 }, - { 0xBA, 0x10 }, - { 0xBB, 0x01 }, - - // CDirectSoundVoice_SetI3DL2Source+0xC7 : retn 0Ch - { 0xC7, 0xC2 }, - { 0xC8, 0x0C } -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDistanceFactor -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound_SetDistanceFactor, 5344, 14, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) - - // CDirectSound_SetDistanceFactor+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetDistanceFactor+0x33 : mov [eax+0x__], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - //{ 0x35, 0x74 }, vs 5455 0x70 - - // CDirectSound_SetDistanceFactor+0x39 : or dword ptr[eax+0x__], 0x08 - { 0x39, 0x83 }, - { 0x3A, 0x48 }, - //{ 0x3B, 0x34 }, vs 5455 0x30 - { 0x3C, 0x08 }, - - { 0x3F, 0x24 }, - - // CDirectSound_SetDistanceFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, - { 0x4D, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetDopplerFactor -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound_SetDopplerFactor, 5344, 14, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) - - // CDirectSound_SetDopplerFactor+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x__], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - //{ 0x35, 0x74 }, vs 5455 0x70 - - // CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0x__], 0x20 - { 0x39, 0x83 }, - { 0x3A, 0x48 }, - //{ 0x3B, 0x34 }, vs 5455 0x30 - { 0x3C, 0x20 }, - - { 0x3F, 0x24 }, - - // CDirectSound_SetDopplerFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, - { 0x4D, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound::SetRolloffFactor -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 14, - - XREF_CDirectSound_SetRolloffFactor, - XRefZero) - - // CDirectSound_SetRolloffFactor+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetRolloffFactor+0x33 : mov [eax+0x__], edx - { 0x33, 0x89 }, - { 0x34, 0x50 }, - //{ 0x35, 0x74 }, vs 5455 0x70 - - // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x__], 0x10 - { 0x39, 0x83 }, - { 0x3A, 0x48 }, - //{ 0x3B, 0x34 }, vs 5455 0x30 - { 0x3C, 0x10 }, - - { 0x3F, 0x24 }, - - // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, - { 0x4D, 0x0B }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSound::SetI3DL2Listener -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5344, 20, - - XREF_CDirectSound_SetI3DL2Listener, - XRefZero) - - // CDirectSound_SetI3DL2Listener+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_SetI3DL2Listener+0x3A : mov edi,88780032h (unchanged since 3911) - { 0x3A, 0xBF }, - //{ 0x3B, 0x32 }, - //{ 0x3C, 0x00 }, - //{ 0x3D, 0x78 }, - { 0x3E, 0x88 }, - - // CDirectSound_SetI3DL2Listener+0x51 : mov ebx,dword ptr [ecx+4] - { 0x51, 0x8B }, - { 0x52, 0x59 }, - { 0x53, 0x04 }, - - // CDirectSound_SetI3DL2Listener+0x54 : mov edx,dword ptr [eax+8] - { 0x54, 0x8B }, - { 0x55, 0x50 }, - { 0x56, 0x08 }, - - // CDirectSound_SetI3DL2Listener+0x99 : mov ebx,dword ptr [ecx+1Ch] - { 0x99, 0x8B }, - { 0x9A, 0x59 }, - { 0x9B, 0x1C }, - - // CDirectSound_SetI3DL2Listener+0xD8 : or word ptr [ecx+__h],0FFFh - { 0xD8, 0x66 }, - { 0xD9, 0x81 }, - { 0xDA, 0x89 }, - //{ 0xDB, 0x84 }, vs 5455 0x80 - { 0xDC, 0x00 }, - //{ 0xDD, 0x00 }, - //{ 0xDE, 0x00 }, - { 0xDF, 0xFF }, - { 0xE0, 0x0F }, - - // CDirectSound_SetI3DL2Listener+0x102 : retn 0x0C - { 0x102, 0xC2 }, - { 0x103, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CFullHRTFSource::GetCenterVolume -// ****************************************************************** -OOVPA_XREF(CFullHRTFSource_GetCenterVolume, 5344, 7, - - XREF_CFullHRTFSource_GetCenterVolume, - XRefZero) - - { 0x13, 0xD9 }, - { 0x29, 0xDF }, - { 0x3D, 0x2D }, - { 0x54, 0xC1 }, - { 0x67, 0x4D }, - { 0x7E, 0xD9 }, - { 0x91, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CHRTFSource::SetFullHRTF5Channel -// ****************************************************************** -// Generic OOVPA as of 5344 and newer. -OOVPA_XREF(CHRTFSource_SetFullHRTF5Channel, 5344, 1+16, - - XREF_CHRTFSource_SetFullHRTF5Channel, - XRefOne) - - XREF_ENTRY( 0x4C, XREF_CFullHRTFSource_GetCenterVolume ), - - { 0x00, 0xC7 }, - { 0x0A, 0xC7 }, - { 0x14, 0xC7 }, - { 0x1E, 0xC7 }, - { 0x28, 0xC7 }, - { 0x32, 0xC7 }, - { 0x3C, 0xC7 }, - { 0x46, 0xC7 }, - { 0x50, 0xC7 }, - { 0x5A, 0xC7 }, - { 0x64, 0xC7 }, - - { 0x6A, 0x03 }, - { 0x6B, 0x00 }, - { 0x6C, 0x00 }, - { 0x6D, 0x00 }, - - { 0x6E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CHRTFSource::SetLightHRTF5Channel -// ****************************************************************** -// Generic OOVPA as of 5344 and newer. -OOVPA_XREF(CHRTFSource_SetLightHRTF5Channel, 5344, 16, - - XREF_CHRTFSource_SetLightHRTF5Channel, - XRefZero) - - { 0x00, 0xC7 }, - { 0x0A, 0xC7 }, - { 0x14, 0xC7 }, - { 0x1E, 0xC7 }, - { 0x28, 0xC7 }, - { 0x32, 0xC7 }, - { 0x3C, 0xC7 }, - { 0x46, 0xC7 }, - { 0x50, 0xC7 }, - { 0x5A, 0xC7 }, - { 0x64, 0xC7 }, - - { 0x6A, 0x04 }, - { 0x6B, 0x00 }, - { 0x6C, 0x00 }, - { 0x6D, 0x00 }, - - { 0x6E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CHRTFSource::SetFullHRTF4Channel -// ****************************************************************** -// Generic OOVPA as of 5344 and newer. -OOVPA_XREF(CHRTFSource_SetFullHRTF4Channel, 5344, 16, - - XREF_CHRTFSource_SetFullHRTF4Channel, - XRefZero) - - { 0x00, 0xC7 }, - { 0x0A, 0xC7 }, - { 0x14, 0xC7 }, - { 0x1E, 0xC7 }, - { 0x28, 0xC7 }, - { 0x32, 0xC7 }, - { 0x3C, 0xC7 }, - { 0x46, 0xC7 }, - { 0x50, 0xC7 }, - { 0x5A, 0xC7 }, - { 0x64, 0xC7 }, - - { 0x6A, 0x01 }, - { 0x6B, 0x00 }, - { 0x6C, 0x00 }, - { 0x6D, 0x00 }, - - { 0x6E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CHRTFSource::SetLightHRTF4Channel -// ****************************************************************** -// Generic OOVPA as of 5344 and newer. -OOVPA_XREF(CHRTFSource_SetLightHRTF4Channel, 5344, 16, - - XREF_CHRTFSource_SetLightHRTF4Channel, - XRefZero) - - { 0x00, 0xC7 }, - { 0x0A, 0xC7 }, - { 0x14, 0xC7 }, - { 0x1E, 0xC7 }, - { 0x28, 0xC7 }, - { 0x32, 0xC7 }, - { 0x3C, 0xC7 }, - { 0x46, 0xC7 }, - { 0x50, 0xC7 }, - { 0x5A, 0xC7 }, - { 0x64, 0xC7 }, - - { 0x6A, 0x02 }, - { 0x6B, 0x00 }, - { 0x6C, 0x00 }, - { 0x6D, 0x00 }, - - { 0x6E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseLightHRTF -// ****************************************************************** -// Generic OOVPA as of 5344 and newer. -OOVPA_XREF(DirectSoundUseLightHRTF, 5344, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0A, XREF_CHRTFSource_SetLightHRTF5Channel ), - - { 0x06, 0x0F }, - { 0x07, 0xB6 }, - { 0x0E, 0x85 }, - { 0x0F, 0xF6 }, - { 0x12, 0x0B }, - { 0x18, 0xFF }, - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseFullHRTF4Channel -// ****************************************************************** -// Generic OOVPA as of 5344 and newer. -OOVPA_XREF(DirectSoundUseFullHRTF4Channel, 5344, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0A, XREF_CHRTFSource_SetFullHRTF4Channel ), - - { 0x06, 0x0F }, - { 0x07, 0xB6 }, - { 0x0E, 0x85 }, - { 0x0F, 0xF6 }, - { 0x12, 0x0B }, - { 0x18, 0xFF }, - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSoundUseLightHRTF4Channel -// ****************************************************************** -// Generic OOVPA as of 5344 and newer. -OOVPA_XREF(DirectSoundUseLightHRTF4Channel, 5344, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0A, XREF_CHRTFSource_SetLightHRTF4Channel ), - - { 0x06, 0x0F }, - { 0x07, 0xB6 }, - { 0x0E, 0x85 }, - { 0x0F, 0xF6 }, - { 0x12, 0x0B }, - { 0x18, 0xFF }, - { 0x1E, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound3DCalculator_GetVoiceData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound3DCalculator_GetVoiceData, 5344, 14, - - XREF_CDirectSound3DCalculator_GetVoiceData, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x03, 0x83 }, - - // CDirectSound3DCalculator_GetVoiceData+0x2D : test eax,15200010h - { 0x2D, 0xA9 }, - { 0x2E, 0x10 }, - { 0x2F, 0x00 }, - { 0x30, 0x20 }, - { 0x31, 0x15 }, - - // CDirectSound3DCalculator_GetVoiceData+0x8C : test word ptr [ebp+0Ah],4014h - { 0x8C, 0x66 }, - { 0x8D, 0xF7 }, - { 0x8E, 0x45 }, - { 0x8F, 0x0A }, - { 0x90, 0x14 }, - { 0x91, 0x40 }, - - // After offset 0x131, major changes has occur. -OOVPA_END; - -// ****************************************************************** -// * IDirectSound3DCalculator_GetVoiceData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(IDirectSound3DCalculator_GetVoiceData, 5344, 1+3, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound3DCalculator_GetVoiceData+0x04 : jmp [CDirectSound3DCalculator_GetVoiceData] - XREF_ENTRY(0x05, XREF_CDirectSound3DCalculator_GetVoiceData), - - // IDirectSound3DCalculator_GetVoiceData+0x00 : push ebp - { 0x00, 0x55 }, - - // IDirectSound3DCalculator_GetVoiceData+0x03 : pop ebp - { 0x03, 0x5D }, - - // IDirectSound3DCalculator_GetVoiceData+0x04 : jmp 0x........ - { 0x04, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound3DCalculator_GetPanData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound3DCalculator_GetPanData, 5344, 15, - - XREF_CDirectSound3DCalculator_GetPanData, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x03, 0x83 }, - - // CDirectSound3DCalculator_GetPanData+0x52 : or dword ptr [esi],4 - { 0x52, 0x83 }, - { 0x53, 0x0E }, - { 0x54, 0x04 }, - - // CDirectSound3DCalculator_GetPanData+0x65 : push eax; push ecx; push ecx - { 0x65, 0x50 }, - { 0x66, 0x51 }, - { 0x67, 0x51 }, - - // CDirectSound3DCalculator_GetPanData+0x87 : or dword ptr [esi],8 - { 0x87, 0x83 }, - { 0x88, 0x0E }, - { 0x89, 0x08 }, - - // CDirectSound3DCalculator_GetPanData+0x8D : mov dword ptr [esi+18h],ecx - { 0x8D, 0x89 }, - { 0x8E, 0x4E }, - { 0x8F, 0x18 }, - - // After offset 0x93, major changes has occur. -OOVPA_END; - -// ****************************************************************** -// * IDirectSound3DCalculator_GetPanData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(IDirectSound3DCalculator_GetPanData, 5344, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound3DCalculator_GetPanData+0x19 : call [CDirectSound3DCalculator_GetVoiceData] - XREF_ENTRY(0x1A, XREF_CDirectSound3DCalculator_GetPanData), - - { 0x00, 0xFF }, - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x24 }, - - { 0x19, 0xE8 }, - - // IDirectSound3DCalculator_GetPanData+0x1E : retn 0x10 - { 0x1E, 0xC2 }, - { 0x1F, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound3DCalculator_GetMixBinVolumes -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound3DCalculator_GetMixBinVolumes, 5344, 14, - - XREF_CDirectSound3DCalculator_GetMixBinVolumes, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x03, 0x8B }, - - // CDirectSound3DCalculator_GetMixBinVolumes+0x0F : mov eax,0FFFFD8F0h - { 0x0F, 0xB8 }, - { 0x10, 0xF0 }, - { 0x11, 0xD8 }, - { 0x12, 0xFF }, - { 0x13, 0xFF }, - - { 0x92, 0x04 }, - { 0x9B, 0x02 }, - { 0xA0, 0x05 }, - { 0xA5, 0x07 }, - { 0xAA, 0x09 }, - { 0xAF, 0x0A }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound3DCalculator_GetMixBinVolumes -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(IDirectSound3DCalculator_GetMixBinVolumes, 5344, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound3DCalculator_GetMixBinVolumes+0x00 : jmp [CDirectSound3DCalculator_GetMixBinVolumes] - XREF_ENTRY(0x01, XREF_CDirectSound3DCalculator_GetMixBinVolumes), - - // IDirectSound3DCalculator_GetMixBinVolumes+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound3DCalculator_Calculate3D -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound3DCalculator_Calculate3D, 5344, 15, - - XREF_CDirectSound3DCalculator_Calculate3D, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8D }, - { 0x05, 0x81 }, - - // CDirectSound3DCalculator_Calculate3D+0x3A : test cl,40h - { 0x3A, 0xF6 }, - { 0x3B, 0xC1 }, - { 0x3C, 0x40 }, - - // CDirectSound3DCalculator_Calculate3D+0xA3 : test dword ptr [ebp+6Ch],410001h - { 0xA3, 0xF7 }, - { 0xA4, 0x45 }, - { 0xA5, 0x6C }, - { 0xA6, 0x01 }, - { 0xA7, 0x00 }, - { 0xA8, 0x41 }, - { 0xA9, 0x00 }, - - { 0xD4, 0x6A }, - { 0xD5, 0x03 }, - - // After offset 0xEE, major changes has occur. -OOVPA_END; - -// ****************************************************************** -// * IDirectSound3DCalculator_Calculate3D -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(IDirectSound3DCalculator_Calculate3D, 5344, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound3DCalculator_Calculate3D+0x00 : jmp [CDirectSound3DCalculator_Calculate3D] - XREF_ENTRY(0x01, XREF_CDirectSound3DCalculator_Calculate3D), - - // IDirectSound3DCalculator_Calculate3D+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * XAudioSetEffectData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(XAudioSetEffectData, 5344, 2+3, - - XRefNoSaveIndex, - XRefTwo) - - // XAudioSetEffectData+0x79 : call [CDirectSound_GetEffectData] - XREF_ENTRY(0x07A, XREF_CDirectSound_GetEffectData), - - // XAudioSetEffectData+0xC1 : call [CDirectSound_SetEffectData] - XREF_ENTRY(0x0C2, XREF_CDirectSound_SetEffectData), - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x03, 0x81 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_MapBufferData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound_MapBufferData, 5344, 10, - - XREF_CDirectSound_MapBufferData, - XRefZero) - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - - { 0x2B, 0x08 }, - { 0x2E, 0x0C }, - - { 0x34, 0x83 }, - { 0x35, 0xC1 }, - { 0x36, 0x60 }, - - { 0x47, 0x18 }, - - { 0x66, 0xC2 }, - { 0x67, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_MapBufferData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(IDirectSound_MapBufferData, 5344, 1+6, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_MapBufferData+0x1C : call [CDirectSound_MapBufferData] - XREF_ENTRY(0x01D, XREF_CDirectSound_MapBufferData), - - { 0x00, 0xFF }, - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x14, 0xF8 }, - { 0x21, 0xC2 }, - { 0x22, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_UnmapBufferData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(CDirectSound_UnmapBufferData, 5344, 10, - - XREF_CDirectSound_UnmapBufferData, - XRefZero) - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - - { 0x2B, 0x08 }, - { 0x2E, 0x0C }, - { 0x32, 0x0C }, - - { 0x33, 0x83 }, - { 0x34, 0xC1 }, - { 0x35, 0x60 }, - - { 0x4D, 0xC2 }, - { 0x4E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSound_UnmapBufferData -// ****************************************************************** -// Generic OOVPA as of ____? and newer -OOVPA_XREF(IDirectSound_UnmapBufferData, 5344, 1+6, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound_UmapBufferData+0x14 : call [CDirectSound_UnmapBufferData] - XREF_ENTRY(0x015, XREF_CDirectSound_UnmapBufferData), - - { 0x00, 0x8B }, - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0C, 0xF8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * Rollback support signature(s) -// ****************************************************************** -#define DirectSoundUseFullHRTF_5344 DirectSoundUseFullHRTF_4134 // In theory... TBD. diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5455.inl deleted file mode 100644 index bfdeeec78..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5455.inl +++ /dev/null @@ -1,425 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.5455.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 RadWolfie -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CDirectSound::CommitDeferredSettings -// ****************************************************************** -// Generic OOVPA as of 5455 and newer -OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5455, 18, - - XREF_CDirectSound_CommitDeferredSettings, - XRefZero) - - // CDirectSound_CommitDeferredSettings+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al - { 0x10, 0x0F }, - { 0x11, 0xB6 }, - { 0x12, 0xC0 }, - - // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 - { 0x27, 0xB8 }, - { 0x28, 0x05 }, - { 0x29, 0x40 }, - { 0x2B, 0x80 }, - - // CDirectSound_CommitDeferredSettings+0x3C : mov eax, dword ptr [esi+8] - { 0x3C, 0x8B }, - { 0x3D, 0x46 }, - { 0x3E, 0x08 }, - - // CDirectSound_CommitDeferredSettings+0x52 : lea ebx, [esi+10h] - { 0x52, 0x8D }, - { 0x53, 0x5E }, - { 0x54, 0x10 }, - - // CDirectSound_CommitDeferredSettings+0x68 : lea ebx, [esi+10h] - { 0x68, 0x8B }, - { 0x69, 0x46 }, - { 0x6A, 0x08 }, - - // CDirectSound_CommitDeferredSettings+0x96 : leave - { 0x96, 0xC9 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSound::EnableHeadphones -// ****************************************************************** -// Generic OOVPA as of 5455 and newer -OOVPA_XREF(CDirectSound_EnableHeadphones, 5455, 17, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) - - // CDirectSound_EnableHeadphones+0x00 : push ebp - { 0x00, 0x55 }, - - // CDirectSound_EnableHeadphones+0x16 : movzx eax, al - { 0x16, 0x0F }, - { 0x17, 0xB6 }, - { 0x18, 0xC0 }, - - // CDirectSound_EnableHeadphones+0x3E : shr e__, 0x1F - { 0x3E, 0xC1 }, - //{ 0x3F, 0xE8 }, // 5344 0xEA vs 5455 0xE8 - { 0x40, 0x1F }, - - // CDirectSound_EnableHeadphones+0x53 : mov edi, 0x80000000 - { 0x53, 0xBF }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x80 }, - - // CDirectSound_EnableHeadphones+0xC4 : cmp dword ptr [ebp+0x0C],0 - { 0xC4, 0x83 }, - { 0xC5, 0x7D }, - { 0xC6, 0x0C }, - { 0xC7, 0x00 }, - - // CDirectSound_EnableHeadphones+0x117 : leave - //{ 0x117, 0xC9 }, - { 0x118, 0xC2 }, - { 0x119, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DSound_CRefCount_Release -// ****************************************************************** -// Generic OOVPA as of 5455 and newer -OOVPA_XREF(DSound_CRefCount_Release, 5455, 10, - - XREF_DSound_CRefCount_Release, - XRefZero) - - { 0x00, 0x8B }, - - // DSound_CRefCount_Release+0x0B : dec eax - { 0x0B, 0x48 }, - - // DSound_CRefCount_Release+0x0E : mov dword ptr [ecx+4], eax - { 0x0C, 0x89 }, - { 0x0D, 0x41 }, - { 0x0E, 0x04 }, - - // DSound_CRefCount_Release+0x1D : mov, dword ptr [ecx+4] - { 0x1B, 0x8B }, - { 0x1C, 0x41 }, - { 0x1D, 0x04 }, - - // DSound_CRefCount_Release+0x20 : retn 0x04 - { 0x1E, 0xC2 }, - { 0x1F, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Discontinuity -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Discontinuity, 5455, 9, - - XREF_CMcpxStream_Discontinuity, - XRefZero) - - // CMcpxStream_Discontinuity+0x00 : push esi; push edi - { 0x00, 0x56 }, - { 0x01, 0x57 }, - - // CMcpxStream_Discontinuity+0x12 : mov dx,0x800 - { 0x12, 0x66 }, - { 0x13, 0xBA }, - { 0x14, 0x00 }, - { 0x15, 0x08 }, - - // CMcpxStream_Discontinuity+0x23 : call Stop@CMcpxStream@DirectSound@@QAEJK@Z - { 0x21, 0xE8 }, - - // CMcpxStream_Discontinuity+0x2D : pop esi; ret - { 0x2B, 0x5E }, - { 0x2C, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSound::SetI3DL2Listener -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5455, 20, - - XREF_CDirectSound_SetI3DL2Listener, - XRefZero) - - // CDirectSound_SetI3DL2Listener+0x00 : push esi - { 0x00, 0x56 }, - - // CDirectSound_SetI3DL2Listener+0x3A : mov edi,88780032h (unchanged since 3911) - { 0x3A, 0xBF }, - //{ 0x3B, 0x32 }, - //{ 0x3C, 0x00 }, - //{ 0x3D, 0x78 }, - { 0x3E, 0x88 }, - - // CDirectSound_SetI3DL2Listener+0x54 : mov ebx,dword ptr [ecx+4] - { 0x54, 0x8B }, - { 0x55, 0x59 }, - { 0x56, 0x04 }, - - // CDirectSound_SetI3DL2Listener+0x57 : mov edx,dword ptr [eax+8] - { 0x57, 0x8B }, - { 0x58, 0x50 }, - { 0x59, 0x08 }, - - // CDirectSound_SetI3DL2Listener+0x9C : mov ebx,dword ptr [ecx+1Ch] - { 0x9C, 0x8B }, - { 0x9D, 0x59 }, - { 0x9E, 0x1C }, - - // CDirectSound_SetI3DL2Listener+0xDB : or word ptr [ecx+__h],0FFFh - { 0xDB, 0x66 }, - { 0xDC, 0x81 }, - { 0xDD, 0x89 }, - //{ 0xDE, 0x80 }, vs 5344 0x84 - { 0xDF, 0x00 }, - //{ 0xE0, 0x00 }, - //{ 0xE1, 0x00 }, - { 0xE2, 0xFF }, - { 0xE3, 0x0F }, - - // CDirectSound_SetI3DL2Listener+0x105 : retn 0x0C - { 0x105, 0xC2 }, - { 0x106, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::CommitDeferredSettings -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_CommitDeferredSettings, 5455, 6, - - XREF_CDirectSoundVoice_CommitDeferredSettings, - XRefZero) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - { 0x07, 0xE8 }, - { 0x0C, 0x33 }, - { 0x0D, 0xC0 }, - { 0x10, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_SetBufferData -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_SetBufferData, 5455, 9, - - XREF_CMcpxBuffer_SetBufferData, - XRefZero) - - // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx - { 0x1E, 0x3B }, - { 0x1F, 0xC3 }, - - // CMcpxBuffer_SetBufferData+0x20 : jz +0x0C - { 0x20, 0x74 }, - { 0x21, 0x0C }, - - // CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xBC], ecx - { 0x45, 0x89 }, - { 0x46, 0x8E }, - { 0x47, 0xBC }, - - // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 - { 0x89, 0xC2 }, - { 0x8A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSound_GetSpeakerConfig -// ****************************************************************** -// Generic OOVPA as of 5455 and newer -OOVPA_XREF(CDirectSound_GetSpeakerConfig, 5455, 14, - - XREF_CDirectSound_GetSpeakerConfig, - XRefZero) - - { 0x00, 0xE8 }, - - { 0x0B, 0x00 }, - { 0x14, 0x0B }, - { 0x20, 0xB8 }, - { 0x30, 0x08 }, - - { 0x31, 0x81 }, - //{ 0x32, 0xE1 }, (This value has changed, commented out for generic support.) - { 0x33, 0xFF }, - { 0x34, 0xFF }, - { 0x35, 0xFF }, - { 0x36, 0x7F }, - - { 0x3C, 0x0B }, - - { 0x48, 0x33 }, - - { 0x4A, 0xC2 }, - { 0x4B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxStream_Flush -// ****************************************************************** -// Might not be ideal, however I had not see any changes from these -// Offsets. -OOVPA_XREF(CMcpxStream_Flush, 5455, 16, - - XREF_CMcpxStream_Flush, - XRefZero) - - // CMcpxStream_Flush+0x00 : push ebp; mov ebp, esp; sub esp, 10h - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - - // Offset is unique for this asm code. - // CMcpxStream_Flush+0x0A : movzx eax,byte ptr fs:[24h] - { 0x0A, 0x64 }, - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0x05 }, - { 0x0E, 0x24 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, - { 0x11, 0x00 }, - - // CMcpxStream_Flush+0x2F : mov - { 0x2F, 0x8B }, - - // CMcpxStream_Flush+0x6A : Call [CIrql_Lower] - { 0x6A, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::Set3DVoiceData -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_Set3DVoiceData, 5455, 9, - - XREF_CDirectSoundVoice_Set3DVoiceData, - XRefZero) - - { 0x00, 0x8B }, - { 0x04, 0x8B }, - - { 0x28, 0x01 }, - { 0x3C, 0x02 }, - { 0x50, 0x04 }, - { 0x73, 0x08 }, - { 0x96, 0x10 }, - { 0xB9, 0x20 }, - { 0xCD, 0x40 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::Set3DVoiceData -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Set3DVoiceData, 5455, 1+8, - - XREF_CDirectSoundBuffer_Set3DVoiceData, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_Set3DVoiceData ), - - { 0x00, 0x56 }, - { 0x11, 0x16 }, - { 0x16, 0x68 }, - { 0x36, 0x85 }, - { 0x3A, 0x74 }, - { 0x3C, 0x68 }, - { 0x4B, 0xC2 }, - { 0x4C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer::Set3DVoiceData -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_Set3DVoiceData, 5455, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_Set3DVoiceData ), - - { 0x06, 0x24 }, - { 0x08, 0x8B }, - { 0x0C, 0xE4 }, - { 0x0E, 0xD9 }, - { 0x11, 0x23 }, - { 0x14, 0xE8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::Set3DVoiceData -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Set3DVoiceData, 5455, 1+8, - - XREF_CDirectSoundStream_Set3DVoiceData, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_Set3DVoiceData ), - - { 0x00, 0x56 }, - { 0x11, 0x16 }, - { 0x16, 0x68 }, - { 0x35, 0xE8 }, - { 0x3E, 0x74 }, - { 0x40, 0x68 }, - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_Set3DVoiceData -// ****************************************************************** -// Generic OOVPA as of 5455 and newer (note: is not introduced in 5344) -OOVPA_XREF(IDirectSoundStream_Set3DVoiceData, 5455, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_Set3DVoiceData+0x00 : jmp [CDirectSoundStream_Set3DVoiceData] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_Set3DVoiceData), - - // IDirectSoundStream_Set3DVoiceData+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl deleted file mode 100644 index 8aeae3257..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ /dev/null @@ -1,227 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.5558.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * IDirectSound_SetMixBinHeadroom -// ****************************************************************** -OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 5558, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSound_SetMixBinHeadroom ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetMinDistance -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistance, 5558, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMinDistance ), - - { 0x0C, 0x00 }, - { 0x16, 0x68 }, - { 0x22, 0x05 }, - { 0x2E, 0x24 }, - { 0x3A, 0x1C }, - { 0x46, 0x74 }, - { 0x53, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer8::SetAllParameters -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer8_SetAllParameters, 5558, 1+8, - - XREF_CDirectSoundVoice_SetAllParameters, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetAllParameters ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundVoice::SetVelocity -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5558, 7, - - XREF_CDirectSoundVoice_SetVelocity, - XRefZero) - - { 0x09, 0x8B }, - { 0x14, 0x14 }, - { 0x1F, 0x55 }, - { 0x2A, 0x00 }, - { 0x35, 0x10 }, - { 0x40, 0xF6 }, - { 0x4C, 0x33 }, -OOVPA_END; - -/*// ****************************************************************** -// * CMcpxStream::Pause -// ****************************************************************** -OOVPA_XREF(CMcpxStream_Pause, 5558, 7, - - XREF_CMcpxStream_Pause, - XRefZero) - - { 0x10, 0x07 }, - { 0x23, 0x0F }, - { 0x34, 0x83 }, - { 0x46, 0xF8 }, - { 0x58, 0x03 }, - { 0x6A, 0xBB }, - { 0x7C, 0x00 }, - } -};*/ - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::Use3DVoiceData -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_Use3DVoiceData, 5558, 9, - - XREF_CDirectSoundVoice_Use3DVoiceData, - XRefZero) - - { 0x04, 0x00 }, - { 0x07, 0x24 }, - { 0x0B, 0x10 }, - { 0x0F, 0x48 }, - { 0x12, 0xEB }, - { 0x16, 0x0B }, - { 0x18, 0x33 }, - { 0x1A, 0xC2 }, - { 0x1B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::Use3DVoiceData -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Use3DVoiceData, 5558, 1+8, - - XREF_CDirectSoundBuffer_Use3DVoiceData, - XRefOne) - - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_Use3DVoiceData ), - - { 0x0C, 0x0F }, - { 0x10, 0x16 }, - { 0x15, 0x68 }, - { 0x36, 0xC9 }, - { 0x39, 0x74 }, - { 0x3B, 0x68 }, - { 0x49, 0xC2 }, - { 0x4A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer::Use3DVoiceData -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_Use3DVoiceData, 5558, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_Use3DVoiceData ), - - { 0x06, 0x24 }, - { 0x08, 0x8B }, - { 0x0C, 0xE4 }, - { 0x0E, 0xD9 }, - { 0x11, 0x23 }, - { 0x14, 0xE8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::Use3DVoiceData -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Use3DVoiceData, 5558, 1+8, - - XREF_CDirectSoundStream_Use3DVoiceData, - XRefOne) - - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_Use3DVoiceData ), - - { 0x0C, 0x0F }, - { 0x10, 0x16 }, - { 0x15, 0x68 }, - { 0x3A, 0xC9 }, - { 0x3D, 0x74 }, - { 0x3F, 0x68 }, - { 0x4D, 0xC2 }, - { 0x4E, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundStream_Use3DVoiceData -// ****************************************************************** -// Generic OOVPA as of ____? and newer (note: is not introduced in 5344) -OOVPA_XREF(IDirectSoundStream_Use3DVoiceData, 5558, 1+1, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundStream_Use3DVoiceData+0x00 : jmp [CDirectSoundStream_Use3DVoiceData] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_Use3DVoiceData), - - // IDirectSoundStream_Use3DVoiceData+0x00 : jmp 0x........ - { 0x00, 0xE9 }, -OOVPA_END; - -// ****************************************************************** -// * Rollback support signature(s) -// ****************************************************************** -#define CMcpxStream_Flush_5558 CMcpxStream_Flush_4134 diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl deleted file mode 100644 index ff768c05f..000000000 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ /dev/null @@ -1,527 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->DSound.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 RadWolfie -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full library version -// [LibV] Title Name | Verify | Comments -//------------------------------------------------------------------- -// * [3925] Cel Damage | 100% | Contain full library. -// * [3936] Silent Hill 2 | 100% | Contain full library. -// * [4039] Nightcaster | 100% | Only has 90% of the library compiled with xbe build. -// * [4039] Azurik PAL | 100% | Contain full library. -// * [4134] RaceX (Demo) | -% | Only has a few library. -// * [4134] Blood Omen 2 | 80% | Does not have full library. -// * [4134] JSRF | 1% | Does not have Stream class. DS and Buffer might be full. -// * [4134] Double-S.T.E.A.L | 100% | Contain full library. -// * [4242] NFL Blitz 2002 | 100% | Contain full library. -// * [4361] Flight Academy | 100% | Only has 50%-ish of the library compiled with xbe build. -// * [4432] RedCard 2003 | 100% | Contain full library. -// * [4627] MLB SlugFest 2003 | 100% | Contain full library. -// * [4721] Terminator Dawn of Fate | 100% | Contain full library. -// * [4831] Whacked! | 100% | Contain full library. -// * [4928] Drihoo | 100% | Contain full library. -// * [5028] Shikigami no Shiro Evolution | 100% | Contain full library. -// * [5120] N.U.D.E.@ | 100% | Contain full library. -// * [5233] Evil Dead | 100% | Contain full library. -// * [5344] Gladius OXM Demo Disc 20 | 100% | Contain full library. -// * [5455] GR: Island Thunder | 100% | Only has 50%-ish of the library compiled with xbe build. -// * [5455] Dinosaur Hunting | 100% | Contain full library. -// * [5558] Dino Crisis 3 | 100% | Contain full library. -// * [5659] Midway Arcade Treasures Paperboy | 100% | Contain full library. -// * [5788] Digimon Battle Chronicle | 100% | Contain full library. -// * [5849] Nickelodeon Tak 2 | 100% | Contain full library. - - -// TODO: Known DSound OOVPA issue list -// * 3911 to 5933: Cannot make OOVPAs -// * IDirectSound_SetCooperativeLevel (Xbox doesn't use it, can't make OOVPA for it) -// * IDirectSound_Compact (Xbox doesn't use it, can't make OOVPA for it) -// * IDirectSoundBuffer_Restore (Xbox doesn't use it, can't make OOVPA for it) -// * IDirectSoundBuffer_Unlock (Xbox doesn't use it, however can make OOVPA; NOTE: OOVPA is registered for it) -// * IDirectSoundStream_AddRef (Using IUnknown_AddRef) -// * IDirectSoundStream_Release (Using IUnknown_Release) -// * 3911 to ????: These functions does not exist until newer XDK revision -// * IDirectSound_GetOutputLevels (Lowest found was 4361) -// * IDirectSound_SynchPlayback (Lowest found was 4831) -// * IDirectSoundBuffer_GetVoiceProperties (Lowest found was 5028) -// * IDirectSoundBuffer_SetFormat (Lowest found was 4039) -// * IDirectSoundBuffer_SetDistanceFactor (Lowest found was 4134) -// * IDirectSoundBuffer_SetDopplerFactor (Lowest found was 4134) -// * IDirectSoundBuffer_SetRolloffFactor (Lowest found was 4134) -// * IDirectSoundBuffer_SetRolloffCurve (Lowest found was 4361) -// * IDirectSoundBuffer_Pause (Lowest found was 4721) -// * IDirectSoundBuffer_PauseEx (Lowest found was 4721) -// * IDirectSoundBuffer_SetPlayRegion (Introduce in 4039, last known earliest revision) -// * IDirectSoundStream_FlushEx (Lowest found was 4134) -// * IDirectSoundStream_GetVoiceProperties (Lowest found was 5028) -// * IDirectSoundStream_PauseEx (Lowest found was 4361) -// * IDirectSoundStream_SetDistanceFactor (Lowest found was 4134) -// * IDirectSoundStream_SetDopplerFactor (Lowest found was 4134) -// * IDirectSoundStream_SetFormat (Lowest found was 4039) -// * IDirectSoundStream_SetRolloffCurve (Lowest found was 4361) -// * IDirectSoundStream_SetRolloffFactor (Lowest found was 4134) -// * DirectSoundDumpMemoryUsage (Lowest found was 4361) -// * DirectSoundGetSampleTime (Need verify between 4039 to 4361) -// * DirectSoundOverrideSpeakerConfig (Lowest found was 4361) -// * XAudioDownloadEffectsImage (Lowest found was 4134) -// * XGetAudioFlags (Lowest found was 3911, XAudioGetSpeakerConfig introduced later as alias, is part of Xapi section) -// * XAudioSetEffectData (Lowest found was 5344) -// * DirectSoundUseFullHRTF4Channel (Lowest found was 5344) -// * DirectSoundUseLightHRTF4Channel (Lowest found was 5344) -// * 3911 to 3936: Following separater functions has exact asm codes as whole function are... -// * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume -// * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch -// * IDirectSoundStream_SetLFO & CDirectSoundStream_SetLFO -// * IDirectSoundStream_SetEG & CDirectSoundStream_SetEG -// * IDirectSoundStream_SetFilter & CDirectSoundStream_SetFilter -// * IDirectSoundStream_SetHeadroom & CDirectSoundStream_SetHeadroom -// * IDirectSoundStream_SetFrequency & CDirectSoundStream_SetFrequency -// * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins -// * Need to include func export support for IDirectSoundStream_Setxxxxx from above. -// * 3911 - Not part of API, yet is a non-member function : (might be useful) -// * GetFormatSize -// * CopyFormat -// * CompareFormats -// * CalculateXboxAdpcmAlignment -// * IsValidPcmFormat -// * IsValidXboxAdpcmFormat -// * CopyFormatAlloc -// * List of functions might need to be register: -// * IDirectSoundBuffer_QueryInterface -// * IDirectSoundBuffer_QueryInterfaceC -// * List of internal functions are not register: -// * CDirectSoundBuffer_Release (Is unique, however need multiple OOVPAs to register all revisions) -// * Using XREF_DSound_CRefCount_Release -// * CDirectSound_Release (Is unique, however need multiple OOVPAs to register all revisions) -// * Using XREF_DSound_CRefCount_Release -// * 4039 verification needed: -// * DirectSoundUseLightHRTF -// * CDirectSoundStream_SetRolloffCurve (IDirectSoundStream_SetRolloffCurve is a jmp) -// * CDirectSoundStream_SetRolloffFactor -// * 4134 verification needed: (Verifying with Double-S.T.E.A.L title is done, need different title to find the remaining...) -// * DirectSoundUseLightHRTF -// * XAudioCreateAdpcmFormat -// * CDirectSound_SetAllParameters and CDirectSound_SetAllParametersA currently separated -// * Need to review what's the difference and why is it necessary to be separated. -// * It also have various revisions, we should be able to narrow it down to remove duplicates. -// * 4039 CDirectSoundVoice_SetPitch need to be strengthen by using XREF to CMcpxVoiceClient_SetPitch function. -// * List of OOVPAs may could be lower to include support older titles. -// * CDirectSoundVoice_SetI3DL2Source (5344) -// * CDirectSound_SetDopplerFactor (5344) -// * CDirectSound_SetRolloffFactor (5344) -// * CDirectSound_SetDistanceFactor (5344) -// * CDirectSound_SetI3DL2Listener (5344) -// * CMcpxBuffer_Pause_Ex (4721) -// * IDirectSoundBuffer_PauseEx (4721) -// * CDirectSoundBuffer_PauseEx (4721) -// * Missing OOVPAs -// * DirectSoundUseLightHRTF (4039 - 4134) -// * DirectSoundUseFullHRTF4Channel (4242 - 5233) -// * DirectSoundUseLightHRTF4Channel (4242 - 5233) -// * XAudioCreateAdpcmFormat (4039 - 4134) -// * XFileCreateMediaObject (4039 - 4242) -// * XWaveFileCreateMediaObject (4039 - 4242) - - -#ifndef DSOUND_OOVPA_INL -#define DSOUND_OOVPA_INL - -#include "../OOVPA.h" - -#include "DSound.1.0.3911.inl" -#include "DSound.1.0.3936.inl" -#include "DSound.1.0.4039.inl" -#include "DSound.1.0.4134.inl" -#include "DSound.1.0.4242.inl" -#include "DSound.1.0.4361.inl" -#include "DSound.1.0.4432.inl" -#include "DSound.1.0.4531.inl" -#include "DSound.1.0.4627.inl" -#include "DSound.1.0.4721.inl" -#include "DSound.1.0.4831.inl" -#include "DSound.1.0.5028.inl" -#include "DSound.1.0.5233.inl" -#include "DSound.1.0.5344.inl" -#include "DSound.1.0.5455.inl" -#include "DSound.1.0.5558.inl" - - -// ****************************************************************** -// * DSOUND_OOVPA -// ****************************************************************** -OOVPATable DSound_OOVPAV2[] = { - - REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3911, 4039), - REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dPosition, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dRolloffFactor, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dVelocity, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_SetI3DL2Listener, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_SetMixBinHeadroom, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 4831), - REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721, 4831), - REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4721, 4831), // NOTE: ?Pause@CMcpxBuffer@DirectSound@@QAEJK@Z - REGISTER_OOVPAS(CMcpxBuffer_Pause_Ex, XREF, 4721), // NOTE: ?Pause@CMcpxBuffer@DirectSound@@QAEJ_JK@Z - REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4039, 4134, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z - REGISTER_OOVPAS(CMcpxBuffer_Play_Ex, XREF, 4039), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z - REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5455), - REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z - REGISTER_OOVPAS(CMcpxBuffer_Stop_Ex, XREF, 4134), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z - REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039, 4134, 4531, 5455), - REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039, 4134, 5455), - REGISTER_OOVPAS(CMcpxStream_GetStatus, XREF, 4134, 4721), - REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, 4831), - REGISTER_OOVPAS(CMcpxStream_Pause_Ex, XREF, 4361), - REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), - REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_GetVoiceProperties, XREF, 5028), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOrientation, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMaxDistance, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMinDistance, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 3911, 4039, 4134, 4242), - REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4134, 4242), - REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(DSound_CRefCount_AddRef, XREF, 3911, 4039), - REGISTER_OOVPAS(DSound_CRefCount_Release, XREF, 3911, 4039, 5455), - REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5455), - REGISTER_OOVPAS(CDirectSoundVoice_GetVoiceProperties, XREF, 5028), - REGISTER_OOVPAS(CDirectSoundVoice_Set3DVoiceData, XREF, 5455), - REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3911, 4039, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4039, 4721), - REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3911, 4039, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3911, 4039, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344), // s+ (from 4134's comment) - REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSound3DCalculator_Calculate3D, XREF, 5344), - REGISTER_OOVPAS(CDirectSound3DCalculator_GetMixBinVolumes, XREF, 5344), - REGISTER_OOVPAS(CDirectSound3DCalculator_GetPanData, XREF, 5344), - REGISTER_OOVPAS(CDirectSound3DCalculator_GetVoiceData, XREF, 5344), - REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_GetVoiceProperties, PATCH, 5028), - REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4721), - REGISTER_OOVPAS(CDirectSoundBuffer_PauseEx, XREF, 4721), - REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_Set3DVoiceData, XREF, 5455), - REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3911, 4039, 4242), // Uncommenting these fixes dashboard 4920 (from 4627 comment) - REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4361), - REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundStream_AddRef, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911, 4039, 4134, 5028), - REGISTER_OOVPAS(CDirectSoundStream_FlushEx, PATCH, 4134, 5028), - REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_GetVoiceProperties, PATCH, 5028), - REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_PauseEx, PATCH, 4361), - REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_Set3DVoiceData, PATCH, 5455), - REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetDistanceFactor, PATCH, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetDopplerFactor, PATCH, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. - REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039, 4134), //Then it has changed in XDK 4039 and higher. - REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, PATCH, 4361), - REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, PATCH, 5558), - REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5455), - REGISTER_OOVPAS(CDirectSound_CommitEffectData, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4039, 4134, 5344, 5455), - REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4039, 4134, 4361), - REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4361), - REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4242, 4627, 5455), - REGISTER_OOVPAS(CDirectSound_GetTime, XREF, 3911), - REGISTER_OOVPAS(CDirectSound_MapBufferData, XREF, 5344), - REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3911, 4039, 4134), //TODO: Need to improvise after 4134 - REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), //TODO: Need to improvise after 4134 then move in CDirectSound_SetAllParameters - REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3911, 4039, 4134, 4627, 5344), - REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344), - REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4039, 4134, 5344, 5455), - REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344), - REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3911, 4039, 4134, 4627, 5344), - REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 4831, 5344), - REGISTER_OOVPAS(CDirectSound_UnmapBufferData, XREF, 5344), - REGISTER_OOVPAS(IDirectSound3DCalculator_Calculate3D, UNPATCHED, 5344), // jmp only - REGISTER_OOVPAS(IDirectSound3DCalculator_GetMixBinVolumes, UNPATCHED, 5344), // jmp only - REGISTER_OOVPAS(IDirectSound3DCalculator_GetPanData, PATCH, 5344), - REGISTER_OOVPAS(IDirectSound3DCalculator_GetVoiceData, PATCH, 5344), - REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_GetVoiceProperties, PATCH, 5028), - REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4721), - REGISTER_OOVPAS(IDirectSoundBuffer_PauseEx, PATCH, 4721), - REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911), - //REGISTER_OOVPAS(IDirectSoundBuffer_Restore, PATCH, 3911), // Xbox does not use it plus can't create OOVPA for it. - REGISTER_OOVPAS(IDirectSoundBuffer_Set3DVoiceData, PATCH, 5455), // undocument - REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134), - REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134), - REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. - REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4361), - REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), // undocument - REGISTER_OOVPAS(IDirectSoundStream_GetVoiceProperties, UNPATCHED, 5028), // jmp only - REGISTER_OOVPAS(IDirectSoundStream_FlushEx, UNPATCHED, 4134), - REGISTER_OOVPAS(IDirectSoundStream_Pause, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_PauseEx, UNPATCHED, 4361), - REGISTER_OOVPAS(IDirectSoundStream_Set3DVoiceData, UNPATCHED, 5455), // jmp only - REGISTER_OOVPAS(IDirectSoundStream_SetAllParameters, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetConeAngles, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetConeOutsideVolume, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetDistanceFactor, UNPATCHED, 4134), - REGISTER_OOVPAS(IDirectSoundStream_SetDopplerFactor, UNPATCHED, 4134), - REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetFormat, UNPATCHED, 4039), - REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetI3DL2Source, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_12, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, see more note for CDirectSoundStream_SetMixBinVolumes_12 - REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_8, UNPATCHED, 4039), //NOTE: 4039 and newer only perform a jmp. - REGISTER_OOVPAS(IDirectSoundStream_SetMode, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetOutputBuffer, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetPitch, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetPosition, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetRolloffCurve, UNPATCHED, 4361), - REGISTER_OOVPAS(IDirectSoundStream_SetRolloffFactor, UNPATCHED, 4134), - REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetVolume, PATCH, 3911, 4039), //NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_Use3DVoiceData, UNPATCHED, 5558), // jmp only - REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_CommitEffectData, PATCH, 3911), - //REGISTER_OOVPAS(IDirectSound_Compact, PATCH, 3911), // Xbox does not use it plus can't create OOVPA for it. - REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3911 /*3936, 4134, 4361*/), - REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3911 /*5558*/), - REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_GetEffectData, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4361), - REGISTER_OOVPAS(IDirectSound_GetSpeakerConfig, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_GetTime, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSound_MapBufferData, PATCH, 5344), // undocument - REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3911), - //REGISTER_OOVPAS(IDirectSound_SetCooperativeLevel, PATCH, 3911), // Xbox does not use it plus can't create OOVPA for it. - REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 4831), - REGISTER_OOVPAS(IDirectSound_UnmapBufferData, PATCH, 5344), // undocument - - REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 4039, 4134, 5344), - REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 4039, 5344 /*5558*/), // 5558 is currently not in used since OOVPA 5344 is generic. - REGISTER_OOVPAS(CHRTFSource_SetLightHRTF5Channel, XREF, 5344), - REGISTER_OOVPAS(CHRTFSource_SetFullHRTF4Channel, XREF, 5344), - REGISTER_OOVPAS(CHRTFSource_SetLightHRTF4Channel, XREF, 5344), - REGISTER_OOVPAS(CFullHrtfSource_GetHrtfFilterPair, XREF, 4242), - REGISTER_OOVPAS(CLightHrtfSource_GetHrtfFilterPair, XREF, 4242), - REGISTER_OOVPAS(CHrtfSource_SetAlgorithm_FullHrtf, XREF, 4242), - REGISTER_OOVPAS(CHrtfSource_SetAlgorithm_LightHrtf, XREF, 4242), - - REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134), - REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), - REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 4134, 4242, 5344), - REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911, 4242, 5344), - REGISTER_OOVPAS(DirectSoundUseFullHRTF4Channel, PATCH, 5344), // undocument - REGISTER_OOVPAS(DirectSoundUseLightHRTF4Channel, PATCH, 5344), // undocument - - REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 4039), - REGISTER_OOVPAS(XAudioDownloadEffectsImage, PATCH, 4134), - REGISTER_OOVPAS(XAudioSetEffectData, PATCH, 5344), - REGISTER_OOVPAS(IsValidFormat, UNPATCHED, 3911, 4039), - REGISTER_OOVPAS(XAudioCreatePcmFormat, UNPATCHED, 3911), - REGISTER_OOVPAS(XAudioCreateAdpcmFormat, PATCH, 3911, 4039), - REGISTER_OOVPAS(XFileCreateMediaObject, PATCH, 3911, 4361), - REGISTER_OOVPAS(XFileCreateMediaObjectAsync, PATCH, 4432), - REGISTER_OOVPAS(XFileCreateMediaObjectEx, PATCH, 4361), - REGISTER_OOVPAS(XWaveFileCreateMediaObject, PATCH, 3911, 4361), - REGISTER_OOVPAS(XWaveFileCreateMediaObjectEx, PATCH, 4361), - - REGISTER_OOVPAS(DSound_CMemoryManager_PoolAlloc, XREF, 4134, 4361), // For reference purpose only, does not have XREF value. -}; - -// ****************************************************************** -// * DSound_OOVPA_COUNT -// ****************************************************************** -const uint32 DSound_OOVPA_COUNT = OOVPA_TABLE_COUNT(DSound_OOVPAV2); - -#endif diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl deleted file mode 100644 index f326738a4..000000000 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl +++ /dev/null @@ -1,217 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XG.1.0.3911.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XGIsSwizzledFormat -// ****************************************************************** -OOVPA_NO_XREF(XGIsSwizzledFormat, 3911, 7) - - { 0x07, 0x7F }, - { 0x10, 0x7C }, - { 0x19, 0x0B }, - { 0x22, 0xF8 }, - { 0x2B, 0x83 }, - { 0x34, 0x0A }, - { 0x3D, 0x7F }, -OOVPA_END; - -// ****************************************************************** -// * XGSwizzleRect -// ****************************************************************** -OOVPA_NO_XREF(XGSwizzleRect, 3911, 8) - - { 0x1E, 0x03 }, - { 0x3E, 0x89 }, - { 0x5E, 0x83 }, - { 0x7E, 0x6C }, - { 0x9E, 0xFF }, - { 0xBE, 0xFF }, - { 0xDE, 0x89 }, - { 0xFE, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * XGSwizzleBox -// ****************************************************************** -OOVPA_NO_XREF(XGSwizzleBox, 3911, 8) - - { 0x1E, 0x75 }, - { 0x3E, 0x4D }, - { 0x5E, 0x48 }, - { 0x7E, 0x04 }, - { 0x9E, 0xD8 }, - { 0xC0, 0x83 }, - { 0xDE, 0xAF }, - { 0xFE, 0x45 }, -OOVPA_END; - -// ****************************************************************** -// * XGUnswizzleRect -// ****************************************************************** -OOVPA_NO_XREF(XGUnswizzleRect, 3911, 8) - - { 0x1E, 0x03 }, - { 0x3E, 0x00 }, - { 0x5E, 0xD2 }, - { 0x7E, 0x75 }, - { 0x9E, 0x70 }, - { 0xC1, 0xE9 }, - { 0xDE, 0x89 }, - { 0xFE, 0x60 }, -OOVPA_END; - -// ****************************************************************** -// * XGWriteSurfaceOrTextureToXPR -// ****************************************************************** -OOVPA_NO_XREF(XGWriteSurfaceOrTextureToXPR, 3911, 12) - - { 0x0C, 0x08 }, - { 0x1E, 0x3D }, - - { 0x21, 0x05 }, - { 0x22, 0x00 }, - { 0x23, 0x74 }, - { 0x24, 0x0A }, - { 0x25, 0xB8 }, - { 0x26, 0x05 }, - { 0x27, 0x40 }, - { 0x28, 0x00 }, - - { 0x2E, 0x00 }, - { 0x47, 0x03 }, - -/* - { 0x1E, 0x3D }, - { 0x3E, 0xE0 }, - { 0x5E, 0x75 }, - { 0x7E, 0x33 }, - { 0x9E, 0xC2 }, - { 0xAE, 0x4D }, - { 0xBE, 0xF0 },*/ -OOVPA_END; - -// ****************************************************************** -// * XGSetTextureHeader -// ****************************************************************** -OOVPA_NO_XREF(XGSetTextureHeader, 3911, 7) - - { 0x04, 0x75 }, - { 0x0A, 0x00 }, - { 0x10, 0xFF }, - { 0x16, 0xFF }, - { 0x1C, 0x75 }, - { 0x26, 0x5D }, - { 0x28, 0x24 }, -OOVPA_END; - -// ****************************************************************** -// * XGUnswizzleBox -// ****************************************************************** -OOVPA_NO_XREF(XGUnswizzleBox, 3911, 8) - - { 0x1E, 0x26 }, - { 0x3E, 0x55 }, - { 0x5E, 0x58 }, - { 0x7E, 0x89 }, - { 0xA0, 0xFF }, - { 0xBE, 0x2C }, - { 0xDE, 0x24 }, - { 0xFE, 0x20 }, -OOVPA_END; - -// ****************************************************************** -// * XGCompressRect -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(XGCompressRect, 3911, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8D }, - - { 0x14, 0x83 }, - { 0x15, 0x7D }, - { 0x16, 0x6C }, - { 0x17, 0x00 }, - { 0x18, 0x56 }, - { 0x19, 0x57 }, - { 0x1A, 0xC7 }, - { 0x1B, 0x45 }, - - { 0xC0, 0x7E }, - { 0xC1, 0x01 }, -OOVPA_END; - -// ****************************************************************** -// * XGSetIndexBufferHeader -// ****************************************************************** -OOVPA_NO_XREF(XGSetIndexBufferHeader, 3911, 13) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - - { 0x06, 0x24 }, - { 0x07, 0x18 }, - { 0x08, 0xC7 }, - { 0x09, 0x00 }, - { 0x0A, 0x01 }, - { 0x0B, 0x00 }, - { 0x0C, 0x01 }, - { 0x0D, 0x00 }, - - { 0x10, 0x04 }, - { 0x11, 0xC2 }, - { 0x12, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * XGSetVertexBufferHeader -// ****************************************************************** -OOVPA_NO_XREF(XGSetVertexBufferHeader, 3911, 13) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - - { 0x07, 0x18 }, - { 0x08, 0xC7 }, - { 0x09, 0x00 }, - { 0x0A, 0x01 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x00 }, - { 0x0E, 0x89 }, - - { 0x10, 0x04 }, - { 0x11, 0xC2 }, - { 0x12, 0x18 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl deleted file mode 100644 index d2dcb8570..000000000 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl +++ /dev/null @@ -1,81 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XG.1.0.4134.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XGSetVertexBufferHeader -// ****************************************************************** -//Generic OOVPA as of 4134 and newer. -OOVPA_NO_XREF(XGSetVertexBufferHeader, 4134, 15) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - { 0x07, 0x18 }, - { 0x0A, 0x08 }, - - { 0x0C, 0xC7 }, - { 0x0D, 0x00 }, - { 0x0E, 0x01 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, // XGSetVertexBufferHeader 0x00 vs XGSetIndexBufferHeader 0x01 - { 0x11, 0x00 }, - { 0x12, 0x89 }, - { 0x13, 0x48 }, - { 0x14, 0x04 }, - { 0x15, 0xC2 }, - { 0x16, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * XGSetIndexBufferHeader -// ****************************************************************** -//Generic OOVPA as of 4134 and newer. -OOVPA_NO_XREF(XGSetIndexBufferHeader, 4134, 15) - - { 0x01, 0x44 }, - { 0x04, 0x8B }, - { 0x07, 0x18 }, - { 0x0A, 0x08 }, - - { 0x0C, 0xC7 }, - { 0x0D, 0x00 }, - { 0x0E, 0x01 }, - { 0x0F, 0x00 }, - { 0x10, 0x01 }, // XGSetVertexBufferHeader 0x00 vs XGSetIndexBufferHeader 0x01 - { 0x11, 0x00 }, - { 0x12, 0x89 }, - { 0x13, 0x48 }, - { 0x14, 0x04 }, - { 0x15, 0xC2 }, - { 0x16, 0x18 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl deleted file mode 100644 index f203dfa1e..000000000 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl +++ /dev/null @@ -1,48 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XG.1.0.4361.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XFONT_OpenBitmapFontFromMemory -// ****************************************************************** -OOVPA_NO_XREF(XFONT_OpenBitmapFontFromMemory, 4361, 8) - - { 0x0B, 0x75 }, - { 0x1A, 0x8B }, - { 0x28, 0x8B }, - { 0x32, 0x08 }, - { 0x3F, 0x8B }, - { 0x4C, 0x8B }, - { 0x59, 0x45 }, - { 0x66, 0x0C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl deleted file mode 100644 index b7c58fdb3..000000000 --- a/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl +++ /dev/null @@ -1,107 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XG.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not write to the Free Software Foundation Inc., -// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full library -// [LibV] Title Name | Verify | Comments -//------------------------------------------------------------------- -// * [3911] Cel Damage | 100% | Contain full library. -// * [4034] Dark Summit | 100% | have 3/10 library. -// * [4039] New Legends | 100% | have 6/10 library. -// * [4134] Double-S.T.E.A.L | 100% | have 9/10 library. -// * [4242] Legends of Wrestling | 100% | have 4/10 library. -// * [4361] Umezawa Yukari no Igo Seminar | 100% | have 6/11 library. -// * [4432] Sega Soccer Slam | 100% | have 9/11 library. -// * [4531] NHL HITZ 2003 | 100% | have 9/11 library. -// * [4627] Rayman Arena | 100% | have 6/11 library. -// * [4721] Terminator - Dawn of Fate | 100% | have 10/11 library. -// * [4831] Whacked | 100% | have 9/11 library. -// * [4928] Drihoo | 100% | have 8/11 library. -// * [5028] Shikigami no Shiro Evolution | 100% | have 5/11 library. -// * [5120] N.U.D.E.@ | 100% | have 8/11 library. -// * [5233] Rayman 3 | 100% | have 8/11 library. -// * [5344] Starsky & Hutch | 100% | have 8/11 library. -// * [5455] Dinosaur Hunting | 100% | have 10/11 library. -// * [5558] XIII | 100% | have 9/11 library. -// * [5659] LMA Manager 2004 | 100% | have 9/11 library. -// * [5788] All-Star Baseball 2005 | 100% | have 9/11 library. -// * [5849] Nickelodeon Tak 2 | 100% | have 9/11 library. - -// TODO: Known Xgraphics OOVPA issue list -// * 3911 XGCompressRect is XREF in v1 database, any reason for this? -// * Verification needed: Function Name ( Revision ) -// * XFONT_OpenBitmapFontFromMemory (4432, 4531, 4831, 5120) -// * XGCompressRect (4034, 4242, 4721, 5028, 5120) -// * XGIsSwizzledFormat (4034) -// * XGSetIndexBufferHeader (4034) -// * XGSetTextureHeader (4034) -// * XGSetVertexBufferHeader (4034) -// * XGSwizzleBox (4242) -// * XGUnswizzleBox (4034, 4134, 4242) -// * XGWriteSurfaceOrTextureToXPR (4034, 4242, 5028) -// NOTE: Known Xgraphics OOVPA not included in initial revision. -// * XFONT_OpenBitmapFontFromMemory (4361) - -#ifndef XGRAPHC_OOVPA_INL -#define XGRAPHC_OOVPA_INL - -#include "../OOVPA.h" - -#include "XG.1.0.3911.inl" -#include "XG.1.0.4134.inl" -#include "XG.1.0.4361.inl" - -// ****************************************************************** -// * XGRAPHC_OOVPA -// ****************************************************************** -OOVPATable XGRAPHC_OOVPAV2[] = { - - REGISTER_OOVPAS(XFONT_OpenBitmapFontFromMemory, XREF, 4361), - REGISTER_OOVPAS(XGCompressRect, UNPATCHED, 3911), // TODO: Do we need to patch this? - REGISTER_OOVPAS(XGIsSwizzledFormat, PATCH, 3911), - REGISTER_OOVPAS(XGSetIndexBufferHeader, XREF, 3911, 4134), - REGISTER_OOVPAS(XGSetTextureHeader, UNPATCHED, 3911), - REGISTER_OOVPAS(XGSetVertexBufferHeader, XREF, 3911, 4134), - REGISTER_OOVPAS(XGSwizzleBox, PATCH, 3911), - REGISTER_OOVPAS(XGSwizzleRect, UNPATCHED, 3911), - REGISTER_OOVPAS(XGUnswizzleBox, UNPATCHED, 3911), - REGISTER_OOVPAS(XGUnswizzleRect, UNPATCHED, 3911), - REGISTER_OOVPAS(XGWriteSurfaceOrTextureToXPR, PATCH, 3911), -}; - -// ****************************************************************** -// * XGRAPHC_OOVPA_COUNT -// ****************************************************************** -const uint32 XGRAPHC_OOVPA_COUNT = OOVPA_TABLE_COUNT(XGRAPHC_OOVPAV2); - -#endif diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl deleted file mode 100644 index 8cc0a071f..000000000 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl +++ /dev/null @@ -1,302 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XNet.1.0.3911.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XNetStartup -// ****************************************************************** -OOVPA_XREF(XNetStartup, 3911, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // XNetStartup+0x07 : call [XnInit] - XREF_ENTRY( 0x07, XREF_XnInit ), - - // XNetStartup+0x00 : push 0 - { 0x00, 0x6A }, - { 0x01, 0x00 }, - - // XNetStartup+0x02 : push [esp+0x08] - { 0x02, 0xFF }, - { 0x03, 0x74 }, - { 0x04, 0x24 }, - { 0x05, 0x08 }, - - // XNetStartup+0x0B : retn 0x04 - { 0x0B, 0xC2 }, - { 0x0C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * WSAStartup -// ****************************************************************** -OOVPA_XREF(WSAStartup, 3911, 1+10, - - XRefNoSaveIndex, - XRefOne) - - // WSAStartup+0x07 : call [XnInit] - XREF_ENTRY( 0x07, XREF_XnInit ), - - // WSAStartup+0x01 : push 1; xor ebx, ebx - { 0x01, 0x6A }, - { 0x02, 0x01 }, - { 0x03, 0x33 }, - { 0x04, 0xDB }, - - // WSAStartup+0x1B : mov word ptr [ecx+2], 0x0202 - { 0x1B, 0x66 }, - { 0x1C, 0xC7 }, - { 0x1D, 0x41 }, - { 0x1E, 0x02 }, - { 0x1F, 0x02 }, - { 0x20, 0x02 }, -OOVPA_END; - -// ****************************************************************** -// * XnInit -// ****************************************************************** -// For only XNETS library, XNET library is different OOVPA. -OOVPA_XREF(XnInit, 3911, 11, - - XREF_XnInit, - XRefZero) - - // XnInit+0x31 : push 0x3554454E - { 0x31, 0x68 }, - { 0x32, 0x4E }, - { 0x33, 0x45 }, - { 0x34, 0x54 }, - { 0x35, 0x35 }, - - // XnInit+0xA4 : inc dword ptr [eax+0x2B4] - { 0xA4, 0xFF }, - { 0xA5, 0x80 }, - { 0xA6, 0xB4 }, - { 0xA7, 0x02 }, - - // XnInit+0xBD : retn 0x08 - { 0xBD, 0xC2 }, - { 0xBE, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XNetGetEthernetLinkStatus -// ****************************************************************** -OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 3911, 14) - - { 0x00, 0x56 }, - { 0x01, 0x33 }, - { 0x02, 0xF6 }, - { 0x03, 0xB8 }, - { 0x04, 0x00 }, - { 0x05, 0x00 }, - { 0x06, 0x00 }, - { 0x07, 0x00 }, - { 0x08, 0xB9 }, - - { 0x0D, 0xBA }, - { 0x1A, 0xE8 }, - - { 0x27, 0x75 }, - { 0x2C, 0x15 }, - - { 0x3F, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::socket -// ****************************************************************** -OOVPA_NO_XREF(socket, 3911, 9) - - // socket+0x10 : push 0x276D - { 0x10, 0x68 }, - { 0x11, 0x6D }, - { 0x12, 0x27 }, - - // socket+0x52 : cmp eax, 0x11 - { 0x52, 0x83 }, - { 0x53, 0xF8 }, - { 0x54, 0x11 }, - - // socket+0xD9 : mov [esi+4], ecx - { 0xD9, 0x89 }, - { 0xDA, 0x4E }, - { 0xDB, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::bind -// ****************************************************************** -OOVPA_NO_XREF(bind, 3911, 10) - - // bind+0x11 : push 0x276D - { 0x11, 0x68 }, - { 0x12, 0x6D }, - { 0x13, 0x27 }, - - // bind+0x4C : mov [eax], cx - { 0x4C, 0x66 }, - { 0x4D, 0x89 }, - { 0x4E, 0x08 }, - - // bind+0x5B : xor eax, eax - { 0x5B, 0x33 }, - { 0x5C, 0xC0 }, - - // bind+0x80 : retn 0x0C - { 0x80, 0xC2 }, - { 0x81, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::listen -// ****************************************************************** -OOVPA_NO_XREF(listen, 3911, 10) - - // listen+0x00 : push edi - { 0x00, 0x57 }, - - // listen+0x10 : push 0x276D - { 0x10, 0x68 }, - { 0x11, 0x6D }, - { 0x12, 0x27 }, - - // listen+0x42 : test al, 0x10 - { 0x42, 0xA8 }, - { 0x43, 0x10 }, - - // listen+0x51 : mov ecx, edi - { 0x51, 0x8B }, - { 0x52, 0xCF }, - - // listen+0x7F : retn 0x08 - { 0x7F, 0xC2 }, - { 0x80, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::ioctlsocket -// ****************************************************************** -OOVPA_NO_XREF(ioctlsocket, 3911, 11) - - // ioctlsocket+0x00 : push ebp - { 0x00, 0x55 }, - - // ioctlsocket+0x12 : push 0x276D - { 0x12, 0x68 }, - { 0x13, 0x6D }, - { 0x14, 0x27 }, - - // ioctlsocket+0x61 : lea edx, [esi+0x24] - { 0x61, 0x8D }, - { 0x62, 0x56 }, - { 0x63, 0x24 }, - - // ioctlsocket+0x80 : mov cl, al - { 0x80, 0x8A }, - { 0x81, 0xC8 }, - - // ioctlsocket+0xC5 : retn 0x0C - { 0xC5, 0xC2 }, - { 0xC6, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::send -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(send, 3911, 14) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x20 }, - { 0x06, 0x57 }, - { 0x07, 0x8B }, - { 0x08, 0xF9 }, - { 0x09, 0x85 }, - { 0x0A, 0xFF }, - { 0x0B, 0x74 }, - - { 0x12, 0x00 }, - { 0x1A, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::connect -// ****************************************************************** -OOVPA_NO_XREF(connect, 3911, 14) // Up to 5028 - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x53 }, - { 0x04, 0x56 }, - { 0x05, 0x8B }, - { 0x06, 0xD9 }, - { 0x07, 0x33 }, - { 0x08, 0xF6 }, - { 0x09, 0x3B }, - { 0x0A, 0xDE }, - { 0x0B, 0x74 }, - - { 0x12, 0x00 }, - { 0x19, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::recv -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(recv, 3911, 14) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x1C }, - { 0x06, 0x57 }, - { 0x07, 0x8B }, - { 0x08, 0xF9 }, - { 0x09, 0x85 }, - { 0x0A, 0xFF }, - { 0x0B, 0x74 }, - - { 0x12, 0x00 }, - { 0x1A, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl deleted file mode 100644 index 4cd079425..000000000 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl +++ /dev/null @@ -1,116 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XNet.1.0.4361.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XnInit -// ****************************************************************** -//Generic OOVPA as of 4361 and newer. -OOVPA_XREF(XnInit, 4361, 15, - - XREF_XnInit, - XRefZero) - - { 0x00, 0x55 }, - { 0x0F, 0xB9 }, - - { 0x14, 0xBA }, - { 0x15, 0x01 }, - { 0x16, 0x00 }, - { 0x17, 0x00 }, - { 0x18, 0x00 }, - { 0x19, 0x0F }, - { 0x1A, 0xB1 }, - { 0x1B, 0x11 }, - { 0x1C, 0x33 }, - //{ 0x1D, 0xF6 }, - { 0x1E, 0x3B }, - //{ 0x1F, 0xC6 }, - - { 0x23, 0xE8 }, - { 0x28, 0xEB }, - { 0x3F, 0x54 }, -OOVPA_END; - -// ****************************************************************** -// * WSAStartup -// ****************************************************************** -OOVPA_XREF(WSAStartup, 4361, 1+8, - - XRefNoSaveIndex, - XRefOne) - - // WSAStartup+0x0F : call [XnInit] - XREF_ENTRY( 0x14, XREF_XnInit ), - - // WSAStartup+0x00 : push [esp+0x08] - { 0x00, 0xFF }, - { 0x01, 0x74 }, - { 0x02, 0x24 }, - { 0x03, 0x08 }, - - // WSAStartup+0x04 : push [esp+0x08] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XNetStartup -// ****************************************************************** -OOVPA_XREF(XNetStartup, 4361, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // XNetStartup+0x0F : call [XnInit] - XREF_ENTRY( 0x10, XREF_XnInit ), - - // XNetStartup+0x00 : xor eax, eax - { 0x00, 0x33 }, - { 0x01, 0xC0 }, - - // XNetStartup+0x02 : push eax - { 0x02, 0x50 }, - - // XNetStartup+0x03 : push eax - { 0x03, 0x50 }, - - // XNetStartup+0x04 : push eax - { 0x04, 0x50 }, - - // XNetStartup+0x14 : retn 0x04 - { 0x14, 0xC2 }, - { 0x15, 0x04 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl deleted file mode 100644 index 6dda8ff10..000000000 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl +++ /dev/null @@ -1,276 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XNet.1.0.4627.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXnSock::socket -// ****************************************************************** -OOVPA_NO_XREF(socket, 4627, 14) // Up to 5344 - - { 0x00, 0x51 }, - { 0x01, 0x85 }, - { 0x02, 0xC9 }, - { 0x03, 0x89 }, - { 0x04, 0x4C }, - { 0x05, 0x24 }, - { 0x06, 0x00 }, - { 0x07, 0x74 }, - { 0x08, 0x0A }, - { 0x09, 0x66 }, - { 0x0A, 0x83 }, - { 0x0B, 0xB9 }, - - { 0x1E, 0xC8 }, - { 0x1F, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::connect -// ****************************************************************** -OOVPA_NO_XREF(connect, 4627, 24) - - // connect+0x00 : push ebp - { 0x00, 0x55 }, - - // connect+0x0B : je short +09 - { 0x0B, 0x74 }, - { 0x0C, 0x09 }, - - // connect+0x16 : PUSH 276D - { 0x16, 0x68 }, - { 0x17, 0x6D }, - { 0x18, 0x27 }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - - // connect+0x42 : TEST DL,40 - { 0x42, 0xF6 }, - { 0x43, 0xC2 }, - { 0x44, 0x40 }, - - // connect+0x68 : PUSH DWORD PTR SS:[EBP+8] - { 0x68, 0xFF }, - { 0x69, 0x75 }, - { 0x6A, 0x08 }, - - // connect+0x8F : MOV ESI,80072733 - { 0x8F, 0xBE }, - { 0x90, 0x33 }, - { 0x91, 0x27 }, - { 0x92, 0x07 }, - { 0x93, 0x80 }, - - // connect+0xCD : PUSH -1 - { 0xCD, 0x6A }, - { 0xCE, 0xFF }, - - // connect+0xE6 : retn 0C - { 0xE6, 0xC2 }, - { 0xE7, 0x0C }, - { 0xE8, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::send -// ****************************************************************** -OOVPA_NO_XREF(send, 4627, 24) - - // send+0x00 : push ebp - { 0x00, 0x55 }, - - // send+0x17 : push 0x276D - { 0x17, 0x68 }, - { 0x18, 0x6D }, - { 0x19, 0x27 }, - - // send+0x24 : jmp - { 0x24, 0xEB }, - { 0x25, 0x6A }, - - // send+0x51 : LEA EAX,DWORD PTR SS:[EBP-20] - { 0x51, 0x8D }, - { 0x52, 0x45 }, - { 0x53, 0xE0 }, - - // send+0x6C : JL SHORT +04 - { 0x6C, 0x7C }, - { 0x6D, 0x04 }, - - // send+0x7B : MOV DWORD PTR DS:[ESI+8],2B434F53 - { 0x7B, 0xC7 }, - { 0x7C, 0x46 }, - { 0x7D, 0x08 }, - { 0x7E, 0x53 }, - { 0x7F, 0x4F }, - { 0x80, 0x43 }, - { 0x81, 0x2B }, - - // send+0x8C : MOV EAX,DWORD PTR SS:[EBP-10] - { 0x8C, 0x8B }, - { 0x8D, 0x45 }, - { 0x8E, 0xF0 }, - - // send+0x92 : retn 10h - { 0x92, 0xC2 }, - { 0x93, 0x10 }, - { 0x94, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::recv -// ****************************************************************** -OOVPA_NO_XREF(recv, 4627, 24) - - // recv+0x00 : push ebp - { 0x00, 0x55 }, - - // recv+0x17 : push 0x276D - { 0x17, 0x68 }, - { 0x18, 0x6D }, - { 0x19, 0x27 }, - - // recv+0x24 : jmp - { 0x24, 0xEB }, - { 0x25, 0x66 }, - - // recv+0x51 : MOV DWORD PTR SS:[EBP-14],EAX - { 0x51, 0x89 }, - { 0x52, 0x45 }, - { 0x53, 0xEC }, - - // recv+0x68 : JL SHORT +04 - { 0x68, 0x7C }, - { 0x69, 0x04 }, - - // recv+0x77 : MOV DWORD PTR DS:[ESI+8],2B434F53 - { 0x77, 0xC7 }, - { 0x78, 0x46 }, - { 0x79, 0x08 }, - { 0x7A, 0x53 }, - { 0x7B, 0x4F }, - { 0x7C, 0x43 }, - { 0x7D, 0x2B }, - - // recv+0x88 : MOV EAX,DWORD PTR SS:[EBP+8] - { 0x88, 0x8B }, - { 0x89, 0x45 }, - { 0x8A, 0x08 }, - - // recv+0x8E : retn 10h - { 0x8E, 0xC2 }, - { 0x8F, 0x10 }, - { 0x90, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::ioctlsocket -// ****************************************************************** -//Generic OOVPA as of 4627 and newer. -OOVPA_NO_XREF(ioctlsocket, 4627, 13) - - { 0x00, 0x55 }, - { 0x0C, 0x99 }, - { 0x1D, 0x83 }, - - { 0x30, 0x3B }, - { 0x31, 0xF3 }, - { 0x32, 0x75 }, - { 0x33, 0x08 }, - { 0x34, 0x83 }, - { 0x35, 0xC8 }, - { 0x36, 0xFF }, - { 0x37, 0xE9 }, - { 0x38, 0x87 }, - - { 0x57, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::bind -// ****************************************************************** -//Generic OOVPA as of 4627 and newer. -OOVPA_NO_XREF(bind, 4627, 12) - - { 0x00, 0x56 }, - { 0x1D, 0xE8 }, - - { 0x30, 0x27 }, - { 0x31, 0x00 }, - { 0x32, 0x00 }, - { 0x33, 0xEB }, - { 0x34, 0x32 }, - { 0x35, 0x8B }, - { 0x36, 0x4C }, - { 0x37, 0x24 }, - { 0x38, 0x10 }, - - { 0x53, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * CXnSock::listen -// ****************************************************************** -//Generic OOVPA as of 4627 and newer. -OOVPA_NO_XREF(listen, 4627, 13) - - { 0x00, 0x57 }, - { 0x09, 0xBF }, - { 0x1B, 0x83 }, - - { 0x30, 0x83 }, - { 0x31, 0xC8 }, - { 0x32, 0xFF }, - { 0x33, 0xEB }, - { 0x34, 0x49 }, - { 0x35, 0x8B }, - { 0x36, 0x46 }, - { 0x37, 0x0C }, - { 0x38, 0xA8 }, - - { 0x55, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * XNetGetEthernetLinkStatus -// ****************************************************************** -OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4627, 8) - - { 0x08, 0x33 }, - { 0x10, 0x8A }, - { 0x19, 0x00 }, - { 0x22, 0x56 }, - { 0x2B, 0xFF }, - { 0x34, 0xF0 }, - { 0x3D, 0x24 }, - { 0x46, 0x5B }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl deleted file mode 100644 index 67defac95..000000000 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl +++ /dev/null @@ -1,55 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XNet.1.0.5120.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXnSock::connect -// ****************************************************************** -//Generic OOVPA as of 5120 and newer. -OOVPA_NO_XREF(connect, 5120, 12) - - { 0x00, 0x55 }, - { 0x19, 0xE8 }, - - { 0x30, 0xF0 }, - { 0x31, 0x85 }, - { 0x32, 0xF6 }, - { 0x33, 0x75 }, - { 0x34, 0x08 }, - { 0x35, 0x83 }, - { 0x36, 0xC8 }, - { 0x37, 0xFF }, - { 0x38, 0xE9 }, - - { 0x61, 0xE8 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl deleted file mode 100644 index d976858c2..000000000 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl +++ /dev/null @@ -1,52 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XNet.1.0.5455.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXnSock::socket -// ****************************************************************** -//Generic OOVPA as of 5455 and newer. -OOVPA_NO_XREF(socket, 5455, 10) - - { 0x00, 0x51 }, - { 0x0A, 0xB9 }, - - { 0xB8, 0x83 }, - { 0xB9, 0xC8 }, - { 0xBA, 0xFF }, - { 0xBB, 0xEB }, - { 0xBC, 0x73 }, - { 0xBD, 0x53 }, - { 0xBE, 0xFF }, - { 0xBF, 0x15 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl deleted file mode 100644 index b17e263f0..000000000 --- a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl +++ /dev/null @@ -1,86 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XNet.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not write to the Free Software Foundation Inc., -// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full library version -// [LibV] Title Name | Verify | Comments -//------------------------------------------------------------------- -// * [3911] Halo | 100% | Contain full library. -// * [4039] Tony Hawk's Pro Skater 3 | 100% | have 10/11 library. -// * [4361] MotoGP | 100% | Contain full library. -// * [4721] TimeSplitters 2 | 100% | have 8/11 library. -// * [5344] Stake | 100% | have 10/11 XNETN library. - -// TODO: Known XNET OOVPA issue list -// * XnInit 3911 is for only XNETS library. XNET library is different one. -// * Verification needed: Function Name ( Revision ) -// * connect (4721) -// * listen (4039, 4721) -// * send (4721) -// * XNetGetEthernetLinkStatus (5344) - -#ifndef XNET_OOVPA_INL -#define XNET_OOVPA_INL - -#include "../OOVPA.h" - -#include "XNet.1.0.3911.inl" -#include "XNet.1.0.4361.inl" -#include "XNet.1.0.4627.inl" -#include "XNet.1.0.5120.inl" -#include "XNet.1.0.5455.inl" - -// ****************************************************************** -// * XNET_OOVPA -// ****************************************************************** -OOVPATable XNET_OOVPAV2[] = { - - REGISTER_OOVPAS(XnInit, XREF, 3911, 4361), // 3911 is only XNETS library, XNET library is different OOVPA. - REGISTER_OOVPAS(WSAStartup, PATCH, 3911, 4361), - REGISTER_OOVPAS(XNetStartup, PATCH, 3911, 4361), - REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911, 4627), - REGISTER_OOVPAS(bind, PATCH, 3911, 4627), - REGISTER_OOVPAS(connect, PATCH, 3911, 5120), - REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), - REGISTER_OOVPAS(listen, PATCH, 3911, 4627), - REGISTER_OOVPAS(recv, PATCH, 3911), - REGISTER_OOVPAS(send, PATCH, 3911), - REGISTER_OOVPAS(socket, PATCH, 3911, 4627, 5455), -}; - -// ****************************************************************** -// * XNET_OOVPA_COUNT -// ****************************************************************** -const uint32 XNET_OOVPA_COUNT = OOVPA_TABLE_COUNT(XNET_OOVPAV2); - -#endif diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl deleted file mode 100644 index 14eb64e36..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl +++ /dev/null @@ -1,73 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.4361.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXo::XOnlineLogon -// ****************************************************************** -OOVPA_XREF(CXo_XOnlineLogon, 4361, 12, - - XREF_CXo_XOnlineLogon, - XRefZero) - - { 0x02, 0xEC }, - - { 0x0D, 0xFC }, - { 0x0E, 0x75 }, - { 0x0F, 0x07 }, - { 0x10, 0xB8 }, - { 0x11, 0x05 }, - { 0x12, 0x00 }, - { 0x13, 0x15 }, - { 0x14, 0x80 }, - { 0x15, 0xEB }, - - { 0x24, 0xA8 }, - { 0x32, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * XOnlineLogon -// ****************************************************************** -OOVPA_XREF(XOnlineLogon, 4361, 1+4, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x0B, XREF_CXo_XOnlineLogon ), - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x0A, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl deleted file mode 100644 index cb0480448..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl +++ /dev/null @@ -1,81 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.4627.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XoUpdateLaunchNewImageInternal -// ****************************************************************** -OOVPA_XREF(XoUpdateLaunchNewImageInternal, 4627, 11, - - XREF_XoUpdateLaunchNewImageInternal, - XRefZero) - - { 0x00, 0x55 }, - { 0x03, 0x81 }, - - { 0x58, 0xEB }, - { 0x59, 0x04 }, - { 0x5A, 0x83 }, - { 0x5B, 0x63 }, - { 0x5C, 0x10 }, - { 0x5D, 0x00 }, - { 0x5E, 0xF6 }, - { 0x5F, 0x45 }, - - { 0x65, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * CXo::XOnlineLogon -// ****************************************************************** -OOVPA_XREF(CXo_XOnlineLogon, 4627, 13, - - XREF_CXo_XOnlineLogon, - XRefZero) - - { 0x02, 0xEC }, - - { 0x17, 0x04 }, - { 0x1E, 0xE8 }, - - { 0x3B, 0x8B }, - { 0x3C, 0x4D }, - { 0x3D, 0xFC }, - { 0x3E, 0x68 }, - { 0x3F, 0x58 }, - { 0x40, 0x4F }, - { 0x41, 0x4E }, - { 0x42, 0x73 }, - { 0x43, 0x68 }, - { 0x44, 0x68 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl deleted file mode 100644 index 0f7555933..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl +++ /dev/null @@ -1,60 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.4831.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXo::XOnlineLogon -// ****************************************************************** -OOVPA_XREF(CXo_XOnlineLogon, 4831, 15, - - XREF_CXo_XOnlineLogon, - XRefZero) - - { 0x02, 0xEC }, - - { 0x15, 0x00 }, - { 0x1C, 0xE8 }, - - { 0x21, 0xA8 }, - { 0x22, 0x01 }, - { 0x23, 0x75 }, - { 0x24, 0x0C }, - { 0x25, 0xC7 }, - { 0x26, 0x45 }, - { 0x27, 0xF8 }, - { 0x28, 0x00 }, - { 0x29, 0x10 }, - { 0x2A, 0x15 }, - { 0x2B, 0x80 }, - { 0x2C, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl deleted file mode 100644 index 4e267b710..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl +++ /dev/null @@ -1,60 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.5028.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXo::XOnlineLogon -// ****************************************************************** -OOVPA_XREF(CXo_XOnlineLogon, 5028, 15, - - XREF_CXo_XOnlineLogon, - XRefZero) - - { 0x02, 0xEC }, - - { 0x15, 0x00 }, - { 0x1C, 0xE8 }, - - { 0x21, 0xA8 }, - { 0x22, 0x01 }, - { 0x23, 0x75 }, - { 0x24, 0x0C }, - { 0x25, 0xC7 }, - { 0x26, 0x45 }, - { 0x27, 0xF8 }, - { 0x28, 0x00 }, - { 0x29, 0x10 }, - { 0x2A, 0x15 }, - { 0x2B, 0x80 }, - { 0x2C, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl deleted file mode 100644 index f385dcd4c..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl +++ /dev/null @@ -1,58 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.5455.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXo::XOnlineLogon -// ****************************************************************** -OOVPA_XREF(CXo_XOnlineLogon, 5455, 14, - - XREF_CXo_XOnlineLogon, - XRefZero) - - { 0x02, 0xEC }, - { 0x15, 0xE9 }, - - { 0x23, 0xA8 }, - { 0x24, 0x01 }, - { 0x25, 0x75 }, - { 0x26, 0x0C }, - { 0x27, 0xC7 }, - { 0x28, 0x45 }, - { 0x29, 0x10 }, - { 0x2A, 0x00 }, - { 0x2B, 0x10 }, - { 0x2C, 0x15 }, - { 0x2D, 0x80 }, - { 0x2E, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl deleted file mode 100644 index 49c62c1a0..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl +++ /dev/null @@ -1,60 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.5558.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXo::XOnlineLogon -// ****************************************************************** -OOVPA_XREF(CXo_XOnlineLogon, 5558, 14, - - XREF_CXo_XOnlineLogon, - XRefZero) - - { 0x02, 0xEC }, - - { 0x15, 0xE9 }, - { 0x1C, 0xF0 }, - - { 0x27, 0xA8 }, - { 0x28, 0x01 }, - { 0x29, 0x75 }, - { 0x2A, 0x0C }, - { 0x2B, 0xC7 }, - { 0x2C, 0x45 }, -// { 0x2D, 0x10 }, - { 0x2E, 0x00 }, - { 0x2F, 0x10 }, - { 0x30, 0x15 }, - { 0x31, 0x80 }, - { 0x32, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl deleted file mode 100644 index 0116f580c..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl +++ /dev/null @@ -1,56 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.5659.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XoUpdateLaunchNewImageInternal -// ****************************************************************** -OOVPA_XREF(XoUpdateLaunchNewImageInternal, 5659, 11, - - XREF_XoUpdateLaunchNewImageInternal, - XRefZero) - - { 0x00, 0x55 }, - { 0x03, 0x81 }, - - { 0x6C, 0xEB }, - { 0x6D, 0x04 }, - { 0x6E, 0x83 }, - { 0x6F, 0x63 }, - { 0x70, 0x10 }, - { 0x71, 0x00 }, - { 0x72, 0xF6 }, - { 0x73, 0x45 }, - - { 0x79, 0xE8 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl deleted file mode 100644 index 675c223cd..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl +++ /dev/null @@ -1,60 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.5788.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XoUpdateLaunchNewImageInternal -// ****************************************************************** -OOVPA_XREF(XoUpdateLaunchNewImageInternal, 5788, 16, - - XREF_XoUpdateLaunchNewImageInternal, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x81 }, - { 0x04, 0xEC }, - { 0x05, 0xF0 }, - { 0x06, 0x02 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x53 }, - { 0x0A, 0x56 }, - { 0x0B, 0x8B }, - { 0x0C, 0x75 }, - { 0x0D, 0x08 }, - - { 0x6E, 0xEB }, - { 0x88, 0x3D }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl deleted file mode 100644 index 6f7400539..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl +++ /dev/null @@ -1,60 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XOnline.1.0.5849.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CXo::XOnlineLogon -// ****************************************************************** -OOVPA_XREF(CXo_XOnlineLogon, 5849, 15, - - XREF_CXo_XOnlineLogon, - XRefZero) - - { 0x02, 0xEC }, - - { 0x10, 0xFC }, - { 0x18, 0xE9 }, - - { 0x37, 0xA8 }, - { 0x38, 0x01 }, - { 0x39, 0x75 }, - { 0x3A, 0x0C }, - { 0x3B, 0xC7 }, - { 0x3C, 0x45 }, - { 0x3D, 0x0C }, - { 0x3E, 0x00 }, - { 0x3F, 0x10 }, - { 0x40, 0x15 }, - { 0x41, 0x80 }, - { 0x42, 0xE9 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl deleted file mode 100644 index cee1a7b04..000000000 --- a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl +++ /dev/null @@ -1,100 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XOnline.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not write to the Free Software Foundation Inc., -// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full library version -// [LibV] Title Name | Verify | Comments -//------------------------------------------------------------------- -// * [4831] NBA2K3 | 100% | Contain full library. -// * [4928] Unreal Championship | 100% | Contain full library. -// * [5028] Capcom vs. SNK 2 EO | 100% | Contain full library. -// * [5120] Muzzle Flash | 100% | have 11/14 library. -// * [5233] MotoGP 2 | 100% | have 11/14 library. -// * [5344] Burnout 2 | 100% | have 11/14 library. -// * [5455] Ghost Recon Island Thunder | 100% | Contain full library. -// * [5558] XIII | 100% | Contain full library. -// * [5659] Plus Plum 2 | 100% | Contain full library. -// * [5788] All-Star Baseball '05 | 100% | Contain full library. -// * [5849] Kingdom Under Fire: The Crusaders | 100% | Contain full library. - -// TODO: Known XOnlines OOVPA issue list -// * Following OOVPA revision are not verified -// * listen (5120, 5233) -// * recv (5120, 5233) -// * send (5120, 5233) - -#ifndef XONLINES_OOVPA_INL -#define XONLINES_OOVPA_INL - -#include "../OOVPA.h" - -#include "XOnline.1.0.4361.inl" -#include "XOnline.1.0.4627.inl" -#include "XOnline.1.0.4831.inl" -#include "XOnline.1.0.5028.inl" -#include "XOnline.1.0.5455.inl" -#include "XOnline.1.0.5558.inl" -#include "XOnline.1.0.5659.inl" -#include "XOnline.1.0.5788.inl" -#include "XOnline.1.0.5849.inl" - -// ****************************************************************** -// * XONLINES_OOVPA -// ****************************************************************** -OOVPATable XONLINES_OOVPAV2[] = { - - // XOnline section - REGISTER_OOVPAS(CXo_XOnlineLogon, XREF, 4361, 4627, 4831, 5455, 5558, 5849), - REGISTER_OOVPAS(XOnlineLogon, PATCH, 4361), - REGISTER_OOVPAS(XoUpdateLaunchNewImageInternal, XREF, 4627, 5659, 5788), - - // XNet section - REGISTER_OOVPAS(XnInit, XREF, 4361), - REGISTER_OOVPAS(WSAStartup, PATCH, 4361), - REGISTER_OOVPAS(XNetStartup, PATCH, 4361), - REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911, 4627), //NOTE: Found in .text section, confirmed it is correct. - REGISTER_OOVPAS(bind, PATCH, 3911, 4627), - REGISTER_OOVPAS(connect, PATCH, 3911, 5120), - REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), - REGISTER_OOVPAS(listen, PATCH, 3911, 4627), - REGISTER_OOVPAS(recv, PATCH, 3911), - REGISTER_OOVPAS(send, PATCH, 3911), - REGISTER_OOVPAS(socket, PATCH, 3911, 4627, 5455), -}; - -// ****************************************************************** -// * XONLINES_OOVPA_COUNT -// ****************************************************************** -const uint32 XONLINES_OOVPA_COUNT = OOVPA_TABLE_COUNT(XONLINES_OOVPAV2); - -#endif diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl deleted file mode 100644 index 88eeac7c6..000000000 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl +++ /dev/null @@ -1,417 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XactEng.1.0.4627.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XACTEngineCreate -// ****************************************************************** -OOVPA_NO_XREF(XACTEngineCreate, 4627, 11) - - // XACTEngineCreate+0x0C : movzx ebx, al - { 0x0C, 0x0F }, - { 0x0D, 0xB6 }, - { 0x0E, 0xD8 }, - - // XACTEngineCreate+0x30 : push edi - { 0x30, 0x57 }, - - // XACTEngineCreate+0x31 : push 0x108 - { 0x31, 0x68 }, - { 0x32, 0x08 }, - { 0x33, 0x01 }, - { 0x34, 0x00 }, - { 0x35, 0x00 }, - - // XACTEngineCreate+0x9A : retn 0x8 - { 0x9A, 0xC2 }, - { 0x9B, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::RegisterWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 4627, 7, - - XREF_XACT_CEngine_RegisterWaveBank, - XRefZero) - - { 0x11, 0x33 }, - { 0x24, 0xC6 }, - { 0x37, 0xE7 }, - { 0x4A, 0x75 }, - { 0x5D, 0x83 }, - { 0x70, 0x33 }, - { 0x84, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_RegisterWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_RegisterWaveBank, 4627, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_XACT_CEngine_RegisterWaveBank ), - - { 0x03, 0x10 }, - { 0x08, 0xFF }, - { 0x0D, 0xC8 }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * XACTEngineDoWork -// ****************************************************************** -OOVPA_NO_XREF(XACTEngineDoWork, 4627, 7) - - { 0x07, 0x8B }, - { 0x0D, 0x85 }, - { 0x13, 0x0C }, - { 0x1A, 0xCE }, - { 0x21, 0xFF }, - { 0x29, 0xFF }, - { 0x2F, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::RegisterStreamedWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4627, 8, - - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XRefZero) - - { 0x10, 0x01 }, - { 0x23, 0x3B }, - { 0x34, 0x1B }, - { 0x46, 0x0C }, - { 0x58, 0x46 }, - { 0x6A, 0x41 }, - { 0x7C, 0x68 }, - { 0x8E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_RegisterStreamedWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4627, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_XACT_CEngine_RegisterStreamedWaveBank ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::CreateSoundBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4627, 8, - - XREF_XACT_CEngine_CreateSoundBank, - XRefZero) - - { 0x0E, 0xA0 }, - { 0x1E, 0x8B }, - { 0x2E, 0xE6 }, - { 0x3E, 0x18 }, - { 0x4E, 0x7C }, - { 0x5E, 0xC7 }, - { 0x72, 0xFF }, - { 0x7E, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_CreateSoundBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_CreateSoundBank, 4627, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1D, XREF_XACT_CEngine_CreateSoundBank ), - - { 0x03, 0x10 }, - { 0x08, 0xFF }, - { 0x0D, 0xC8 }, - { 0x12, 0x83 }, - { 0x17, 0x1B }, - { 0x1C, 0xE8 }, - { 0x21, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::DownloadEffectsImage -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_DownloadEffectsImage, 4627, 7, - - XREF_XACT_CEngine_DownloadEffectsImage, - XRefZero) - { 0x0B, 0x8B }, - { 0x12, 0xFF }, - { 0x1C, 0x46 }, - { 0x27, 0x85 }, - { 0x30, 0x89 }, - { 0x3A, 0x68 }, - { 0x45, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_DownloadEffectsImage -// ****************************************************************** -OOVPA_XREF(IXACTEngine_DownloadEffectsImage, 4627, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1F, XREF_XACT_CEngine_DownloadEffectsImage ), - - { 0x03, 0xFF }, - { 0x08, 0x08 }, - { 0x0D, 0xC8 }, - { 0x12, 0xC0 }, - { 0x17, 0xF7 }, - { 0x1C, 0xC8 }, - { 0x23, 0x5D }, - { 0x26, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::CreateSoundSource -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_CreateSoundSource, 4627, 8, - - XREF_XACT_CEngine_CreateSoundSource, - XRefZero) - { 0x0A, 0x0F }, - { 0x14, 0x8B }, - { 0x1F, 0x50 }, - { 0x2A, 0x85 }, - { 0x35, 0x08 }, - { 0x40, 0x08 }, - { 0x4B, 0x15 }, - { 0x56, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_CreateSoundSource -// ****************************************************************** -OOVPA_XREF(IXACTEngine_CreateSoundSource, 4627, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_XACT_CEngine_CreateSoundSource ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CSoundBank::GetSoundCueIndexFromFriendlyName -// ****************************************************************** -OOVPA_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4627, 7, - - XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, - XRefZero) - { 0x12, 0x8B }, - { 0x22, 0x46 }, - { 0x34, 0x68 }, - { 0x46, 0x0C }, - { 0x58, 0x39 }, - { 0x6A, 0x45 }, - { 0x7E, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * IXACTSoundBank_GetSoundCueIndexFromFriendlyName -// ****************************************************************** -OOVPA_XREF(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4627, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IXACTSoundBank_Play -// ****************************************************************** -OOVPA_NO_XREF(IXACTSoundBank_Play, 4627, 8) - - { 0x03, 0xFF }, - { 0x08, 0x08 }, - { 0x0D, 0xC8 }, - { 0x12, 0xC0 }, - { 0x17, 0xF7 }, - { 0x1C, 0xC8 }, - { 0x23, 0x5D }, - { 0x26, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::RegisterNotification -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterNotification, 4627, 7, - - XREF_XACT_CEngine_RegisterNotification, - XRefZero) - { 0x07, 0x8B }, - { 0x0C, 0x01 }, - { 0x13, 0xF0 }, - { 0x1A, 0xF6 }, - { 0x24, 0xFF }, - { 0x2A, 0x8B }, - { 0x2F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_RegisterNotification -// ****************************************************************** -OOVPA_XREF(IXACTEngine_RegisterNotification, 4627, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_XACT_CEngine_RegisterNotification ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::GetNotification -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_GetNotification, 4627, 8, - - XREF_XACT_CEngine_GetNotification, - XRefZero) - - { 0x11, 0x8D }, - { 0x24, 0x5A }, - { 0x37, 0xC0 }, - { 0x4A, 0x8B }, - { 0x5D, 0x04 }, - { 0x74, 0x8B }, - { 0x83, 0x40 }, - { 0x96, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_GetNotification -// ****************************************************************** -OOVPA_XREF(IXACTEngine_GetNotification, 4627, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_XACT_CEngine_GetNotification ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::UnRegisterWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 4627, 8, - - XREF_XACT_CEngine_UnRegisterWaveBank, - XRefZero) - - { 0x07, 0x8B }, - { 0x10, 0x58 }, - { 0x19, 0x8B }, - { 0x22, 0x89 }, - { 0x2C, 0x8B }, - { 0x34, 0x5F }, - { 0x3D, 0xFF }, - { 0x46, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_UnRegisterWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_UnRegisterWaveBank, 4627, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_XACT_CEngine_UnRegisterWaveBank ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl deleted file mode 100644 index e3ec44b69..000000000 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl +++ /dev/null @@ -1,319 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XactEng.1.0.4928.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XACTEngineCreate -// ****************************************************************** -OOVPA_NO_XREF(XACTEngineCreate, 4928, 11) - - // XACTEngineCreate+0x09 : movzx ebx, al - { 0x09, 0x0F }, - { 0x0A, 0xB6 }, - { 0x0B, 0xD8 }, - - // XACTEngineCreate+0x2B : push edi - { 0x2B, 0x57 }, - - // XACTEngineCreate+0x2C : push 0x120 - { 0x2C, 0x68 }, - { 0x2D, 0x20 }, - { 0x2E, 0x01 }, - { 0x2F, 0x00 }, - { 0x30, 0x00 }, - - // XACTEngineCreate+0x9E : retn 0x8 - { 0x9E, 0xC2 }, - { 0x9F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::RegisterStreamedWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4928, 11, - - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XRefZero) - - { 0x04, 0x10 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 - { 0x22, 0x8B }, - - { 0x37, 0x2E }, //RegisterStreamedWaveBank 0x2E vs RegisterWaveBank 0x32 - { 0x38, 0xFF }, - { 0x39, 0x74 }, - { 0x3A, 0x24 }, - { 0x3B, 0x14 }, - { 0x3C, 0x8B }, - { 0x3D, 0xCE }, - { 0x3E, 0xE8 }, - - { 0x64, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_RegisterStreamedWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4928, 1+9, - - XRefNoSaveIndex, - XRefOne) - - // IXACTEngine_RegisterStreamedWaveBank+0x22 : call XACT::CEngine::RegisterStreamedWaveBank - XREF_ENTRY( 0x23, XREF_XACT_CEngine_RegisterStreamedWaveBank ), - - // IXACTEngine_RegisterStreamedWaveBank+0x0B : movzx esi, al - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0xF0 }, - // IXACTEngine_RegisterStreamedWaveBank+0x0E : mov eax, [esp+0x0C+4] - { 0x0E, 0x8B }, - { 0x0F, 0x44 }, - { 0x10, 0x24 }, - { 0x11, 0x10 }, - // IXACTEngine_RegisterStreamedWaveBank+0x3C : retn 0x0C - { 0x3C, 0xC2 }, - { 0x3D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::CreateSoundBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4928, 11, - - XREF_XACT_CEngine_CreateSoundBank, - XRefZero) - - { 0x0E, 0x85 }, - { 0x1F, 0x8B }, - { 0x42, 0x8B }, - - { 0x50, 0xC1 }, - { 0x51, 0x4C }, - { 0x52, 0x89 }, - { 0x53, 0x08 }, - { 0x54, 0x8B }, - { 0x55, 0x49 }, - { 0x56, 0x04 }, - { 0x57, 0x89 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_CreateSoundBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_CreateSoundBank, 4928, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x27, XREF_XACT_CEngine_CreateSoundBank ), - - // IXACTEngine_CreateSoundBank+0x07 : push [ebp+8+0x10] - { 0x07, 0xFF }, - { 0x08, 0x74 }, - { 0x09, 0x24 }, - { 0x0A, 0x18 }, - // IXACTEngine_CreateSoundBank+0x0B : movzx esi, al - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0xF0 }, - // IXACTEngine_CreateSoundBank+0x40 : retn 0x10 - { 0x40, 0xC2 }, - { 0x41, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::UnRegisterWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 4928, 8, - - XREF_XACT_CEngine_UnRegisterWaveBank, - XRefZero) - - // XACT_CEngine_UnRegisterWaveBank+0x06 : lea eax, [ecx+0x58] - { 0x06, 0x8D }, - { 0x07, 0x41 }, - { 0x08, 0x58 }, - // XACT_CEngine_UnRegisterWaveBank+0x28 : lea edi, [ebx+0x4C] - { 0x28, 0x8D }, - { 0x29, 0x7B }, - { 0x2A, 0x4C }, - // XACT_CEngine_UnRegisterWaveBank+0xBF : retn 0x8 - { 0xBF, 0xC2 }, - { 0xC0, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_UnRegisterWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_UnRegisterWaveBank, 4928, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // IXACTEngine_UnRegisterWaveBank+0x1E : call XACT::CEngine::UnRegisterWaveBank - XREF_ENTRY( 0x1F, XREF_XACT_CEngine_UnRegisterWaveBank ), - - { 0x07, 0xFF }, - { 0x0E, 0x8B }, - { 0x16, 0xF8 }, - { 0x1E, 0xE8 }, - { 0x26, 0xF8 }, - { 0x2E, 0xFF }, - { 0x36, 0x5F }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::CreateSoundSource -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_CreateSoundSource, 4928, 11, - - XREF_XACT_CEngine_CreateSoundSource, - XRefZero) - - { 0x0A, 0x8B }, - { 0x15, 0xE8 }, - - { 0x2C, 0x05 }, - { 0x2D, 0x8B }, - { 0x2E, 0x4D }, - { 0x2F, 0x10 }, - { 0x30, 0x89 }, - { 0x31, 0x31 }, - { 0x32, 0x5E }, - { 0x33, 0x5D }, - { 0x34, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_CreateSoundSource -// ****************************************************************** -OOVPA_XREF(IXACTEngine_CreateSoundSource, 4928, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x23, XREF_XACT_CEngine_CreateSoundSource ), - - { 0x02, 0xE8 }, - { 0x09, 0x24 }, - { 0x12, 0xFF }, - { 0x18, 0x83 }, - { 0x1C, 0xD9 }, - { 0x20, 0xC8 }, - { 0x3C, 0xC2 }, - { 0x3D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_GetNotification -// ****************************************************************** -OOVPA_XREF(IXACTEngine_GetNotification, 4928, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x23, XREF_XACT_CEngine_GetNotification ), - - { 0x02, 0xE8 }, - { 0x09, 0x24 }, - { 0x12, 0xFF }, - { 0x18, 0x83 }, - { 0x1C, 0xD9 }, - { 0x20, 0xC8 }, - { 0x3C, 0xC2 }, - { 0x3D, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CSoundBank::GetSoundCueIndexFromFriendlyName -// ****************************************************************** -OOVPA_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, 13, - - XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, - XRefZero) - - { 0x03, 0x51 }, - { 0x1F, 0x80 }, - - { 0x30, 0x8D }, - { 0x31, 0x3C }, - { 0x32, 0xC1 }, - { 0x33, 0x85 }, - { 0x34, 0xFF }, - { 0x35, 0x74 }, - { 0x36, 0x4D }, - { 0x37, 0x53 }, - { 0x38, 0x8B }, - - { 0x4A, 0x03 }, - { 0x5F, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTSoundBank_GetSoundCueIndexFromFriendlyName -// ****************************************************************** -OOVPA_XREF(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, 1+8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x17, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName ), - - { 0x02, 0xE8 }, - { 0x09, 0x24 }, - { 0x12, 0xFF }, - { 0x16, 0xE8 }, - { 0x1B, 0x85 }, - { 0x2C, 0x8B }, - { 0x30, 0xC2 }, - { 0x31, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_RegisterNotification -// ****************************************************************** -OOVPA_XREF(IXACTEngine_RegisterNotification, 4928, 1+7, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x1F, XREF_XACT_CEngine_RegisterNotification ), - - { 0x02, 0xE8 }, - { 0x09, 0x24 }, - { 0x14, 0x83 }, - { 0x18, 0xD9 }, - { 0x1C, 0xC8 }, - { 0x38, 0xC2 }, - { 0x39, 0x08 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl deleted file mode 100644 index fc39da512..000000000 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl +++ /dev/null @@ -1,129 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XactEng.1.0.5120.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ***************************************************************** -// * XACTEngineCreate -// ****************************************************************** -OOVPA_NO_XREF(XACTEngineCreate, 5120, 12) - - { 0x11, 0x85 }, - { 0x29, 0xEB }, - - { 0x5F, 0x24 }, - { 0x60, 0xFF }, - { 0x61, 0x74 }, - { 0x62, 0x24 }, - { 0x63, 0x10 }, - { 0x64, 0x8B }, - { 0x65, 0xCF }, - { 0x66, 0xE8 }, - - { 0xA2, 0xC2 }, - { 0xA3, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::UnRegisterWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 5120, 13, - - XREF_XACT_CEngine_UnRegisterWaveBank, - XRefZero) - - { 0x0E, 0x51 }, - { 0x1F, 0x00 }, - - { 0x25, 0x8B }, - { 0x26, 0x7C }, - { 0x27, 0x24 }, - { 0x28, 0x10 }, - { 0x29, 0x83 }, - { 0x2A, 0xC7 }, - { 0x2B, 0x4C }, - { 0x2C, 0x8B }, - { 0x2D, 0x37 }, - - { 0x45, 0xF6 }, - { 0x62, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::RegisterWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 5120, 12, - - XREF_XACT_CEngine_RegisterWaveBank, - XRefZero) - - { 0x04, 0x14 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 - { 0x17, 0x3B }, - - { 0x37, 0x32 }, - { 0x38, 0xFF }, - { 0x39, 0x74 }, - { 0x3A, 0x24 }, - { 0x3B, 0x18 }, - { 0x3C, 0x8B }, - { 0x3D, 0xCE }, - { 0x3E, 0xFF }, - - { 0x79, 0xC2 }, - { 0x7A, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_RegisterWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_RegisterWaveBank, 5120, 1+9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x27, XREF_XACT_CEngine_RegisterWaveBank ), - - // IXACTEngine_RegisterWaveBank+0x07 : push [ebp+8+0x10] - { 0x07, 0xFF }, - { 0x08, 0x74 }, - { 0x09, 0x24 }, - { 0x0A, 0x18 }, - - // IXACTEngine_RegisterWaveBank+0x0B : movzx esi, al - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0xF0 }, - - // IXACTEngine_RegisterWaveBank+0x40 : retn 0x10 - { 0x40, 0xC2 }, - { 0x41, 0x10 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl deleted file mode 100644 index dccd65d46..000000000 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl +++ /dev/null @@ -1,80 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XactEng.1.0.5233.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XACT::CEngine::RegisterStreamedWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 5233, 11, - - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XRefZero) - - { 0x04, 0x10 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 - { 0x25, 0x8B }, - - { 0x3A, 0x2E }, //RegisterStreamedWaveBank 0x2E vs RegisterWaveBank 0x32 - { 0x3B, 0xFF }, - { 0x3C, 0x74 }, - { 0x3D, 0x24 }, - { 0x3E, 0x14 }, - { 0x3F, 0x8B }, - { 0x40, 0xCE }, - { 0x41, 0xE8 }, - - { 0x67, 0xEB }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CEngine::RegisterWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 5233, 12, - - XREF_XACT_CEngine_RegisterWaveBank, - XRefZero) - - { 0x04, 0x14 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 - { 0x1A, 0x3B }, - - { 0x3A, 0x32 }, - { 0x3B, 0xFF }, - { 0x3C, 0x74 }, - { 0x3D, 0x24 }, - { 0x3E, 0x18 }, - { 0x3F, 0x8B }, - { 0x40, 0xCE }, - { 0x41, 0xFF }, - - { 0x7C, 0xC2 }, - { 0x7D, 0x10 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl deleted file mode 100644 index 1b3506e30..000000000 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl +++ /dev/null @@ -1,127 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XactEng.1.0.5344.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XACT::CEngine::DownloadEffectsImage -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_DownloadEffectsImage, 5344, 12, - - XREF_XACT_CEngine_DownloadEffectsImage, - XRefZero) - - { 0x02, 0xEC }, - - { 0x08, 0x46 }, - { 0x09, 0x10 }, - { 0x0A, 0x57 }, - { 0x0B, 0x8B }, - { 0x0C, 0x7D }, - { 0x0D, 0x18 }, - { 0x0E, 0x57 }, - { 0x0F, 0xFF }, - - { 0x1E, 0x85 }, - { 0x2A, 0xC2 }, - { 0x2B, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTEngine_DownloadEffectsImage -// ****************************************************************** -OOVPA_XREF(IXACTEngine_DownloadEffectsImage, 5344, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x29, XREF_XACT_CEngine_DownloadEffectsImage ), - - { 0x05, 0xE8 }, - - { 0x19, 0x8B }, - { 0x1A, 0xC8 }, - { 0x1B, 0xFF }, - { 0x1C, 0x75 }, - { 0x1D, 0x0C }, - { 0x1E, 0x83 }, - { 0x1F, 0xC0 }, - - { 0x43, 0xC2 }, - { 0x44, 0x14 }, -OOVPA_END; - -// ****************************************************************** -// * XACT::CSoundBank::Play -// ****************************************************************** -OOVPA_XREF(XACT_CSoundBank_Play, 5344, 12, - - XREF_XACT_CSoundBank_Play, - XRefZero) - - { 0x08, 0x57 }, - { 0x1F, 0x89 }, - - { 0x7B, 0x89 }, - { 0x7C, 0x45 }, - { 0x7D, 0xFC }, - { 0x7E, 0xEB }, - { 0x7F, 0x53 }, - { 0x80, 0x3B }, - { 0x81, 0xC7 }, - { 0x82, 0x74 }, - - { 0x9B, 0x68 }, - { 0xA5, 0x83 }, -OOVPA_END; - -// ****************************************************************** -// * IXACTSoundBank_PlayEx -// ****************************************************************** -OOVPA_XREF(IXACTSoundBank_PlayEx, 5344, 1+10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x17, XREF_XACT_CSoundBank_Play ), - - { 0x01, 0x57 }, - { 0x0E, 0xFF }, - { 0x0F, 0x74 }, - { 0x10, 0x24 }, - { 0x11, 0x14 }, - { 0x1B, 0x85 }, - { 0x1C, 0xF6 }, - { 0x1D, 0x8B }, - { 0x30, 0xC2 }, - { 0x31, 0x0C }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl deleted file mode 100644 index 3ec1aea71..000000000 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl +++ /dev/null @@ -1,57 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->XactEng.1.0.5558.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XACT::CSoundBank::Play -// ****************************************************************** -OOVPA_XREF(XACT_CSoundBank_Play, 5558, 12, - - XREF_XACT_CSoundBank_Play, - XRefZero) - - { 0x06, 0x8B }, - - { 0x10, 0x75 }, - { 0x11, 0x0C }, - { 0x12, 0x8B }, - { 0x13, 0x5E }, - { 0x14, 0x04 }, - { 0x15, 0x8B }, - { 0x16, 0x46 }, - { 0x17, 0x08 }, - - { 0x27, 0x85 }, - { 0x3B, 0xE9 }, - { 0x55, 0x35 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl deleted file mode 100644 index 0e0d55818..000000000 --- a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl +++ /dev/null @@ -1,112 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XactEng.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full library version -// [LibV] Title Name | Verify | Comments -//----------------------------------------------------------------------- -// * [4928] Lord of the Rings The Two Towers | 100% | have 16/21 library. -// * [5028] ??? | 0% | revision 5028 is obscure. -// * [5120] Super Bubble Pop | 100% | have 14/21 library. -// * [5233] Cyber Attack Team | 100% | have 16/21 library. -// * [5344] Syberia | 100% | have 20/23 library. -// * [5455] IndyCar Series | 100% | have 12/23 library. -// * [5558] Top Spin | 100% | have 20/24 library. -// * [5659] Ghoulies Demo | 100% | have 18/24 library. -// * [5788] Steel Battalion | 100% | have 20/24 library. -// * [5849] Forza Motorsport | 100% | have 20/24 library. - -// TODO: Known XactEng OOVPA issue list -// * 4627 and 5028 are not verified each OOVPA. (Last known revision found is 4928. revision 5028 is obscure) -// * Verification needed: Function Name ( Revision ) -// * XACT_CEngine_CreateSoundSource (5455) -// * XACT_CEngine_DownloadEffectsImage (4928, 5120, 5233, 5455) -// * XACT_CEngine_RegisterWaveBank (4928, 5455) -// * XACT_CSoundBank_GetSoundCueIndexFromFriendlyName (5455) -// * XACT_CSoundBank_Play (5455) -// * IXACTEngine_CreateSoundSource (5455) -// * IXACTEngine_DownloadEffectsImage (4928, 5120, 5233, 5455) -// * IXACTEngine_RegisterWaveBank (4928, 5455) -// * IXACTSoundBank_GetSoundCueIndexFromFriendlyName (5455) -// * IXACTSoundBank_PlayEx (5455) -// * IXACTSoundBank_Play (4928 to 5849) - -#ifndef XACTENG_OOVPA_INL -#define XACTENG_OOVPA_INL - -#include "../OOVPA.h" - -#include "XactEng.1.0.4627.inl" -#include "XactEng.1.0.4928.inl" -#include "XactEng.1.0.5120.inl" -#include "XactEng.1.0.5233.inl" -#include "XactEng.1.0.5344.inl" -#include "XactEng.1.0.5558.inl" - - -// ****************************************************************** -// * XACTENG_OOVPA -// ****************************************************************** -OOVPATable XACTENG_OOVPAV2[] = { - - REGISTER_OOVPAS(XACTEngineCreate, UNPATCHED, 4627, 4928, 5120), - REGISTER_OOVPAS(XACTEngineDoWork, UNPATCHED, 4627), - REGISTER_OOVPAS(XACT_CEngine_CreateSoundBank, XREF, 4627, 4928), - REGISTER_OOVPAS(XACT_CEngine_CreateSoundSource, XREF, 4627, 4928), - REGISTER_OOVPAS(XACT_CEngine_DownloadEffectsImage, XREF, 4627, 5344), - REGISTER_OOVPAS(XACT_CEngine_GetNotification, XREF, 4627), - REGISTER_OOVPAS(XACT_CEngine_RegisterNotification, XREF, 4627), - REGISTER_OOVPAS(XACT_CEngine_RegisterStreamedWaveBank, XREF, 4627, 4928, 5233), - REGISTER_OOVPAS(XACT_CEngine_RegisterWaveBank, XREF, 4627, 5120, 5233), - REGISTER_OOVPAS(XACT_CEngine_UnRegisterWaveBank, XREF, 4627, 4928, 5120), - REGISTER_OOVPAS(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, XREF, 4627, 4928), - REGISTER_OOVPAS(XACT_CSoundBank_Play, XREF, 5344, 5558), - REGISTER_OOVPAS(IXACTEngine_CreateSoundBank, UNPATCHED, 4627, 4928), - REGISTER_OOVPAS(IXACTEngine_CreateSoundSource, UNPATCHED, 4627, 4928), - REGISTER_OOVPAS(IXACTEngine_DownloadEffectsImage, UNPATCHED, 4627, 5344), - REGISTER_OOVPAS(IXACTEngine_GetNotification, UNPATCHED, 4627, 4928), - REGISTER_OOVPAS(IXACTEngine_RegisterNotification, UNPATCHED, 4627, 4928), - REGISTER_OOVPAS(IXACTEngine_RegisterStreamedWaveBank, UNPATCHED, 4627, 4928), - REGISTER_OOVPAS(IXACTEngine_RegisterWaveBank, UNPATCHED, 4627, 5120), - REGISTER_OOVPAS(IXACTEngine_UnRegisterWaveBank, UNPATCHED, 4627, 4928), - REGISTER_OOVPAS(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, UNPATCHED, 4627, 4928), - REGISTER_OOVPAS(IXACTSoundBank_Play, UNPATCHED, 4627), - REGISTER_OOVPAS(IXACTSoundBank_PlayEx, UNPATCHED, 5344), // Not Implemented yet. -}; - -// ****************************************************************** -// * XACTENG_OOVPA_COUNT -// ****************************************************************** -const uint32 XACTENG_OOVPA_COUNT = OOVPA_TABLE_COUNT(XACTENG_OOVPAV2); - -#endif diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl deleted file mode 100644 index 86bc2ae2a..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl +++ /dev/null @@ -1,1252 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.3911.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * GetExitCodeThread -// ****************************************************************** -OOVPA_NO_XREF(GetExitCodeThread, 3911, 11) - - // GetExitCodeThread+0x03 : lea eax, [ebp+0x08] - { 0x03, 0x8D }, - { 0x04, 0x45 }, - { 0x05, 0x08 }, - - // GetExitCodeThread+0x1A : mov ecx, dword ptr [ebp+0x08] - { 0x1A, 0x8B }, - { 0x1B, 0x4D }, - { 0x1C, 0x08 }, - - // GetExitCodeThread+0x2B : mov eax, 0x0103 - { 0x2B, 0xB8 }, - { 0x2C, 0x03 }, - { 0x2D, 0x01 }, - - // GetExitCodeThread+0x49 : retn 0x08 - { 0x49, 0xC2 }, - { 0x4A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XInitDevices -// ****************************************************************** -// * NOTE: We are actually intercepting USBD_Init, because -// * XInitDevices Simply redirects to that function -// ****************************************************************** -OOVPA_NO_XREF(XInitDevices, 3911, 10) - - // XInitDevices+0x03 : push 0xB4 - { 0x03, 0x68 }, - { 0x04, 0xB4 }, - - // XInitDevices+0x10 : jmp +0x13 - { 0x10, 0x74 }, - { 0x11, 0x13 }, - - // XInitDevices+0x5B : movzx eax, byte ptr [esi+0xA1] - { 0x5B, 0x0F }, - { 0x5C, 0xB6 }, - { 0x5D, 0x86 }, - { 0x5E, 0xA1 }, - - // XInitDevices+0x8B : retn 8 - { 0x8B, 0xC2 }, - { 0x8C, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * CreateMutex -// ****************************************************************** -OOVPA_NO_XREF(CreateMutex, 3911, 13) - - // CreateMutex+0x03 : sub esp, 0x14 - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - - // CreateMutex+0x32 : cmp eax, 0x40000000 - { 0x32, 0x3D }, - { 0x33, 0x00 }, - { 0x34, 0x00 }, - { 0x35, 0x00 }, - { 0x36, 0x40 }, - - // CreateMutex+0x39 : push 0xB7 - { 0x39, 0x68 }, - { 0x3A, 0xB7 }, - - // CreateMutex+0x47 : mov eax, [ebp+0x10] - { 0x47, 0x8B }, - { 0x48, 0x45 }, - { 0x49, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * CreateThread -// ****************************************************************** -OOVPA_NO_XREF(CreateThread, 3911, 21) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x8B }, - { 0x04, 0x45 }, - { 0x05, 0x0C }, - { 0x06, 0x85 }, - { 0x07, 0xC0 }, - { 0x08, 0x75 }, - { 0x09, 0x05 }, - { 0x0A, 0xA1 }, - { 0x0B, 0x30 }, - { 0x0C, 0x01 }, - { 0x0D, 0x01 }, - { 0x0E, 0x00 }, - { 0x0F, 0x8B }, - { 0x10, 0x4D }, - { 0x11, 0x18 }, - { 0x12, 0x68 }, - - { 0x32, 0x50 }, - { 0x33, 0x6A }, -OOVPA_END; - -// ****************************************************************** -// * SetThreadPriority -// ****************************************************************** -OOVPA_NO_XREF(SetThreadPriority, 3911, 10) - - // SetThreadPriority+0x0D : push [ebp+0x08] - { 0x0D, 0xFF }, - { 0x0E, 0x75 }, - { 0x0F, 0x08 }, - - // SetThreadPriority+0x18 : jl +0x2C - { 0x18, 0x7C }, - { 0x19, 0x2C }, - - // SetThreadPriority+0x22 : push 0x10 - { 0x22, 0x6A }, - { 0x23, 0x10 }, - - // SetThreadPriority+0x26 : cmp eax, 0xFFFFFFF1 - { 0x26, 0x83 }, - { 0x27, 0xF8 }, - { 0x28, 0xF1 }, -OOVPA_END; - -// ****************************************************************** -// * OutputDebugStringA -// ****************************************************************** -OOVPA_NO_XREF(OutputDebugStringA, 3911, 32) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x51 }, - { 0x04, 0x51 }, - { 0x05, 0x8B }, - { 0x06, 0x45 }, - { 0x07, 0x08 }, - { 0x08, 0x89 }, - { 0x09, 0x45 }, - { 0x0A, 0xFC }, - { 0x0B, 0x8D }, - { 0x0C, 0x48 }, - { 0x0D, 0x01 }, - { 0x0E, 0x8A }, - { 0x0F, 0x10 }, - { 0x10, 0x40 }, - { 0x11, 0x84 }, - { 0x12, 0xD2 }, - { 0x13, 0x75 }, - { 0x14, 0xF9 }, - { 0x15, 0x2B }, - { 0x16, 0xC1 }, - { 0x17, 0x66 }, - { 0x18, 0x89 }, - { 0x19, 0x45 }, - { 0x1A, 0xF8 }, - { 0x1B, 0x8B }, - { 0x1C, 0x45 }, - { 0x1D, 0xF8 }, - { 0x1E, 0x40 }, - { 0x1F, 0x66 }, -OOVPA_END; - -// ****************************************************************** -// * XapiInitProcess -// ****************************************************************** -OOVPA_NO_XREF(XapiInitProcess, 3911, 7) - - // XapiInitProcess+0x03 : sub esp, 30h - { 0x05, 0x30 }, - - // XapiInitProcess+0x0F : push 0x0C - { 0x0F, 0x6A }, - { 0x10, 0x0C }, - - // XapiInitProcess+0x17 : repe stosd - { 0x17, 0xF3 }, - { 0x18, 0xAB }, - - // XapiInitProcess+0x42 : jnz +0x0A - { 0x42, 0x75 }, - { 0x43, 0x0A }, -OOVPA_END; - -// ****************************************************************** -// * XapiBootDash -// ****************************************************************** -OOVPA_NO_XREF(XapiBootDash, 3911, 11) - - // XapiBootDash+0x03 : sub esp, 0x0C00 - { 0x03, 0x81 }, - { 0x04, 0xEC }, - { 0x06, 0x0C }, - - // XapiBootDash+0x09 : mov eax, ds:0x10118 - { 0x09, 0xA1 }, - { 0x0A, 0x18 }, - { 0x0B, 0x01 }, - { 0x0C, 0x01 }, - - // XapiBootDash+0x25 : repe stosd - { 0x25, 0xF3 }, - { 0x26, 0xAB }, - - // XapiBootDash+0x59 : retn 0x0C - { 0x59, 0xC2 }, - { 0x5A, 0x0C }, -OOVPA_END; - -// ****************************************************************** -// * XRegisterThreadNotifyRoutine -// ****************************************************************** -OOVPA_NO_XREF(XRegisterThreadNotifyRoutine, 3911, 11) - - // XRegisterThreadNotifyRoutine+0x0D : cmp [esp+0x0C], 0 - { 0x0D, 0x83 }, - { 0x0E, 0x7C }, - { 0x0F, 0x24 }, - { 0x10, 0x0C }, - - // XRegisterThreadNotifyRoutine+0x12 : jz +0x1C - { 0x12, 0x74 }, - { 0x13, 0x1C }, - - // XRegisterThreadNotifyRoutine+0x24 : mov [eax+4], ecx - { 0x24, 0x89 }, - { 0x25, 0x48 }, - { 0x26, 0x04 }, - - // XRegisterThreadNotifyRoutine+0x46 : retn 0x08 - { 0x46, 0xC2 }, - { 0x47, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * GetTimeZoneInformation -// ****************************************************************** -OOVPA_NO_XREF(GetTimeZoneInformation, 3911, 7) - - { 0x05, 0x28 }, - { 0x2E, 0x28 }, - { 0x4F, 0x59 }, - { 0x56, 0xAB }, - { 0x8C, 0xC0 }, - { 0xB9, 0x80 }, - { 0xF7, 0x99 }, -OOVPA_END; - -// not necessary? -// ****************************************************************** -// * XCalculateSignatureBegin -// ****************************************************************** -OOVPA_NO_XREF(XCalculateSignatureBegin, 3911, 10) - - // XCalculateSignatureBegin+0x01 : push 0x7C; push 0 - { 0x01, 0x6A }, - { 0x02, 0x7C }, - { 0x03, 0x6A }, - { 0x04, 0x00 }, - - // XCalculateSignatureBegin+0x10 : push 0x08 - { 0x10, 0x6A }, - { 0x11, 0x08 }, - - // XCalculateSignatureBegin+0x2E : push 0x10 - { 0x2E, 0x6A }, - { 0x2F, 0x10 }, - - // XCalculateSignatureBegin+0x3B : retn 0x04 - { 0x3B, 0xC2 }, - { 0x3C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * XGetDevices -// ****************************************************************** -OOVPA_NO_XREF(XGetDevices, 3911, 14) - - // XGetDevices+0x07 : mov edx, [esp+arg_0] - { 0x07, 0x8B }, - { 0x08, 0x54 }, - { 0x09, 0x24 }, - { 0x0A, 0x08 }, - - // XGetDevices+0x0D : and [edx+4], 0 - { 0x0D, 0x83 }, - { 0x0E, 0x62 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, - - // XGetDevices+0x11 : mov cl, al - { 0x11, 0x8A }, - { 0x12, 0xC8 }, - - // XGetDevices+0x16 : call KfLowerIrql - { 0x16, 0xFF }, - { 0x17, 0x15 }, - - // XGetDevices+0x1F : retn 4 - { 0x1F, 0xC2 }, - { 0x20, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * XGetDeviceChanges -// ****************************************************************** -OOVPA_NO_XREF(XGetDeviceChanges, 3911, 8) - - // XGetDeviceChanges+0x07 : xor eax, eax - { 0x07, 0x33 }, - { 0x08, 0xC0 }, - - // XGetDeviceChanges+0x33 : not edx - { 0x33, 0xF7 }, - { 0x34, 0xD2 }, - - // XGetDeviceChanges+0x42 : or edx, edi - { 0x42, 0x0B }, - { 0x43, 0xD7 }, - - // XGetDeviceChanges+0x51 : mov cl, al - { 0x51, 0x8A }, - { 0x52, 0xC8 }, -OOVPA_END; - -// ****************************************************************** -// * XInputOpen -// ****************************************************************** -OOVPA_NO_XREF(XInputOpen, 3911, 11) - - // XInputOpen+0x20 : jmp +0x0B - { 0x20, 0xEB }, - { 0x21, 0x0B }, - - // XInputOpen+0x29 : jnz +0x3D - { 0x29, 0x75 }, - { 0x2A, 0x3D }, - - // XInputOpen+0x4A : add edx, 0x10 - { 0x4A, 0x83 }, - { 0x4B, 0xC2 }, - { 0x4C, 0x10 }, - - // XInputOpen+0x66 : jmp +0x09 - { 0x66, 0xEB }, - { 0x67, 0x09 }, - - // XInputOpen+0x68 : push 0x57 - { 0x68, 0x6A }, - { 0x69, 0x57 }, -OOVPA_END; - -// ****************************************************************** -// * XID_fCloseDevice -// ****************************************************************** -OOVPA_XREF(XID_fCloseDevice, 3911, 16, - - XREF_XID_fCloseDevice, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xF1 }, - { 0x0A, 0xFF }, - { 0x0B, 0x15 }, - - { 0x3E, 0x8D }, - { 0x3F, 0x45 }, - - { 0x44, 0x8D }, - { 0x45, 0x45 }, -OOVPA_END; - -// ****************************************************************** -// * XInputClose -// ****************************************************************** -OOVPA_XREF(XInputClose, 3911, 1+7, - - XRefNoSaveIndex, - XRefOne) - - // XInputClose+0x05 : call [fCloseDevice] - XREF_ENTRY( 0x05, XREF_XID_fCloseDevice ), - - // XInputClose+0x00 : mov ecx, [esp+0x04] - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // XInputClose+0x04 : call [fCloseDevice] - { 0x04, 0xE8 }, - - // XInputClose+0x09 : retn 0x04 - { 0x09, 0xC2 }, - { 0x0A, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * XInputGetCapabilities -// ****************************************************************** -OOVPA_NO_XREF(XInputGetCapabilities, 3911, 13) - - { 0x00, 0x55 }, - { 0x0F, 0x15 }, - { 0x1E, 0x0F }, - { 0x1F, 0x84 }, - - { 0x36, 0x8B }, - { 0x37, 0xFA }, - { 0x38, 0xF3 }, - { 0x39, 0xAB }, - { 0x3A, 0xAA }, - { 0x3B, 0x8A }, - { 0x3C, 0x46 }, - { 0x3D, 0x0B }, - { 0x3E, 0x88 }, -OOVPA_END; - -// ****************************************************************** -// * XInputGetState -// ****************************************************************** -OOVPA_NO_XREF(XInputGetState, 3911, 13) - - // XInputGetState+0x0E : cmp byte ptr [edx+0x0A3], 1 - { 0x0E, 0x80 }, - { 0x0F, 0xBA }, - { 0x10, 0xA3 }, - { 0x14, 0x01 }, - - // XInputGetState+0x17 : push 0x57 - { 0x17, 0x6A }, - { 0x18, 0x57 }, - - // XInputGetState+0x1A : jmp +0x46 - { 0x1A, 0xEB }, - { 0x1B, 0x46 }, - - // XInputGetState+0x28 : mov ebx, 0x048F - { 0x28, 0xBB }, - { 0x29, 0x8F }, - { 0x2A, 0x04 }, - - // XInputGetState+0x6E : retn 8 - { 0x6E, 0xC2 }, - { 0x6F, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XInputSetState -// ****************************************************************** -OOVPA_NO_XREF(XInputSetState, 3911, 12) - - // XInputSetState+0x04 : lea eax, [ecx+0x0A3] - { 0x04, 0x8D }, - { 0x05, 0x81 }, - { 0x06, 0xA3 }, - - // XInputSetState+0x0F : push 0x57 - { 0x0F, 0x6A }, - { 0x10, 0x57 }, - - // XInputSetState+0x12 : jmp +0x21 - { 0x12, 0xEB }, - { 0x13, 0x21 }, - - // XInputSetState+0x2D : mov [edx+0x41], al - { 0x2D, 0x88 }, - { 0x2E, 0x42 }, - { 0x2F, 0x41 }, - - // XInputSetState+0x35 : retn 0x08 - { 0x35, 0xC2 }, - { 0x36, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * SetThreadPriorityBoost -// ****************************************************************** -OOVPA_NO_XREF(SetThreadPriorityBoost, 3911, 10) // generic version - - // SetThreadPriorityBoost+0x0D : push [ebp+0x08] - { 0x0D, 0xFF }, - { 0x0E, 0x75 }, - { 0x0F, 0x08 }, - - // SetThreadPriorityBoost+0x18 : jl +0x20 - { 0x18, 0x7C }, - { 0x19, 0x20 }, - - // SetThreadPriorityBoost+0x1F : setnz al - { 0x1F, 0x0F }, - { 0x20, 0x95 }, - { 0x21, 0xC0 }, - - // SetThreadPriorityBoost+0x2C : mov ecx, [ebp+0x08] - { 0x2C, 0x8B }, - { 0x2D, 0x4D }, -OOVPA_END; - -// ****************************************************************** -// * GetThreadPriority -// ****************************************************************** -OOVPA_NO_XREF(GetThreadPriority, 3911, 10) - - // GetThreadPriority+0x0D : push [ebp+0x08] - { 0x0D, 0xFF }, - { 0x0E, 0x75 }, - { 0x0F, 0x08 }, - - // GetThreadPriority+0x18 : jl +0x2B - { 0x18, 0x7C }, - { 0x19, 0x2B }, - - // GetThreadPriority+0x2F : cmp esi, 0xFFFFFFF0 - { 0x2F, 0x83 }, - { 0x30, 0xFE }, - { 0x31, 0xF0 }, - - // GetThreadPriority+0x37 : mov ecx, [ebp+0x08] - { 0x37, 0x8B }, - { 0x38, 0x4D }, -OOVPA_END; - -// ****************************************************************** -// * CreateFiber -// ****************************************************************** -OOVPA_NO_XREF(CreateFiber, 3911, 32) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x56 }, - { 0x05, 0x57 }, - { 0x06, 0x33 }, - { 0x07, 0xFF }, - { 0x08, 0x3B }, - { 0x09, 0xC7 }, - { 0x0A, 0x75 }, - { 0x0B, 0x05 }, - { 0x0C, 0xA1 }, - { 0x0D, 0x30 }, - { 0x0E, 0x01 }, - { 0x0F, 0x01 }, - { 0x10, 0x00 }, - { 0x11, 0xB9 }, - { 0x12, 0x00 }, - { 0x13, 0x30 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x3B }, - { 0x17, 0xC1 }, - { 0x18, 0x73 }, - { 0x19, 0x02 }, - { 0x1A, 0x8B }, - { 0x1B, 0xC1 }, - { 0x1C, 0x8D }, - { 0x1D, 0xB0 }, - { 0x1E, 0xFF }, - { 0x1F, 0x0F }, -OOVPA_END; - -// ****************************************************************** -// * DeleteFiber -// ****************************************************************** -OOVPA_NO_XREF(DeleteFiber, 3911, 15) - - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0xFF }, - { 0x05, 0x70 }, - { 0x06, 0x08 }, - { 0x07, 0xFF }, - { 0x08, 0x70 }, - { 0x09, 0x04 }, - { 0x0A, 0xFF }, - { 0x0B, 0x15 }, - - { 0x10, 0xC2 }, - { 0x11, 0x04 }, - { 0x12, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * SwitchToFiber -// ****************************************************************** -OOVPA_NO_XREF(SwitchToFiber, 3911, 28) - - { 0x00, 0x8B }, - { 0x01, 0x15 }, - - { 0x06, 0x64 }, - { 0x07, 0x8B }, - { 0x08, 0x0D }, - { 0x09, 0x04 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - { 0x0C, 0x00 }, - { 0x0D, 0x8B }, - { 0x0E, 0x44 }, - { 0x0F, 0x24 }, - { 0x10, 0x04 }, - { 0x11, 0x55 }, - { 0x12, 0x56 }, - { 0x13, 0x57 }, - { 0x14, 0x53 }, - { 0x15, 0x64 }, - { 0x16, 0xFF }, - { 0x17, 0x35 }, - { 0x18, 0x00 }, - { 0x19, 0x00 }, - { 0x1A, 0x00 }, - { 0x1B, 0x00 }, - { 0x1C, 0x8B }, - { 0x1D, 0x14 }, - { 0x1E, 0x91 }, - { 0x1F, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * ConvertThreadToFiber -// ****************************************************************** -OOVPA_NO_XREF(ConvertThreadToFiber, 3911, 20) - - { 0x00, 0xA1 }, - - { 0x05, 0x64 }, - { 0x06, 0x8B }, - { 0x07, 0x0D }, - - { 0x0C, 0x8B }, - { 0x0D, 0x14 }, - { 0x0E, 0x81 }, - { 0x0F, 0x8B }, - { 0x10, 0x44 }, - { 0x11, 0x24 }, - { 0x12, 0x04 }, - { 0x13, 0x8D }, - { 0x14, 0x8A }, - - { 0x19, 0x89 }, - { 0x1A, 0x01 }, - { 0x1B, 0x64 }, - { 0x1C, 0xA1 }, - { 0x1D, 0x28 }, - { 0x1E, 0x00 }, - { 0x1F, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * SignalObjectAndWait -// ****************************************************************** -OOVPA_NO_XREF(SignalObjectAndWait, 3911, 8) // generic version - - { 0x07, 0x75 }, - { 0x12, 0x8B }, - { 0x19, 0x01 }, - { 0x26, 0x85 }, - { 0x2B, 0x7D }, - { 0x34, 0x00 }, - { 0x3F, 0x83 }, - { 0x46, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * QueueUserAPC -// ****************************************************************** -OOVPA_NO_XREF(QueueUserAPC, 3911, 7) // generic version - - { 0x03, 0x74 }, - { 0x08, 0x24 }, - { 0x0F, 0xFF }, - { 0x12, 0x18 }, - { 0x19, 0x33 }, - { 0x1C, 0xC0 }, - { 0x21, 0xC1 }, -OOVPA_END; - -// ****************************************************************** -// * QueryPerformanceCounter -// ****************************************************************** -OOVPA_NO_XREF(QueryPerformanceCounter, 3911, 17) // generic version - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x0F }, - { 0x05, 0x31 }, - { 0x06, 0x89 }, - { 0x07, 0x01 }, - { 0x08, 0x89 }, - { 0x09, 0x51 }, - { 0x0A, 0x04 }, - { 0x0B, 0x33 }, - { 0x0C, 0xC0 }, - { 0x0D, 0x40 }, - { 0x0E, 0xC2 }, - { 0x0F, 0x04 }, - { 0x10, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * lstrcmpiW -// ****************************************************************** -OOVPA_NO_XREF(lstrcmpiW, 3911, 8) - - { 0x07, 0x56 }, - { 0x0F, 0x01 }, - { 0x10, 0xE8 }, - { 0x19, 0x39 }, - { 0x22, 0x0E }, - { 0x2D, 0x59 }, - { 0x34, 0xEB }, - { 0x3D, 0x03 }, -OOVPA_END; - -// ****************************************************************** -// * XMountAlternateTitleA -// ****************************************************************** -OOVPA_NO_XREF(XMountAlternateTitleA, 3911, 13) - - { 0x04, 0xEC }, - - { 0x0F, 0x18 }, - { 0x10, 0x01 }, - { 0x11, 0x01 }, - { 0x12, 0x00 }, - { 0x13, 0x53 }, - { 0x14, 0x8A }, - - { 0x30, 0x39 }, - { 0x31, 0x55 }, - { 0x32, 0x0C }, - { 0x33, 0x74 }, - { 0x34, 0x09 }, - - { 0x3D, 0xEC }, -OOVPA_END; - -// ****************************************************************** -// * XUnmountAlternateTitleA -// ****************************************************************** -OOVPA_NO_XREF(XUnmountAlternateTitleA, 3911, 7) - - { 0x0A, 0x65 }, - { 0x16, 0xFF }, - { 0x23, 0x83 }, - { 0x2E, 0x45 }, - { 0x3A, 0x50 }, - { 0x46, 0x0B }, - { 0x52, 0x50 }, -OOVPA_END; - -// ****************************************************************** -// * XMountMUA -// ****************************************************************** -OOVPA_NO_XREF(XMountMUA, 3911, 7) // generic version - - { 0x1E, 0x0C }, - { 0x3E, 0x66 }, - { 0x61, 0x85 }, - { 0x7E, 0x8D }, - { 0xA2, 0x0F }, - { 0xBE, 0x50 }, - { 0xDE, 0x74 }, -OOVPA_END; - -// ****************************************************************** -// * CloseHandle -// ****************************************************************** -OOVPA_NO_XREF(CloseHandle, 3911, 8) - - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x0A, 0x85 }, - { 0x0B, 0xC0 }, - { 0x0E, 0x33 }, - { 0x12, 0x08 }, - { 0x19, 0x33 }, - { 0x1A, 0xC0 }, -OOVPA_END; - -// Generic OOVPA as of 3911 and newer. -// ****************************************************************** -// * ExitThread -// ****************************************************************** -OOVPA_NO_XREF(ExitThread, 3911, 10) - - { 0x00, 0x6A }, - { 0x01, 0x00 }, - { 0x02, 0xE8 }, - { 0x07, 0xFF }, - { 0x08, 0x74 }, - { 0x09, 0x24 }, - { 0x0A, 0x04 }, - { 0x0B, 0xFF }, - { 0x0C, 0x15 }, - { 0x11, 0xCC }, -OOVPA_END; - -// ****************************************************************** -// * XLaunchNewImageA -// ****************************************************************** -OOVPA_NO_XREF(XLaunchNewImageA, 3911, 8) - - { 0x1E, 0x80 }, - { 0x3E, 0xC0 }, - { 0x5E, 0xFF }, - { 0x7E, 0xFC }, - { 0x9E, 0x08 }, - { 0xBE, 0x50 }, - { 0xDE, 0x05 }, - { 0xFE, 0x85 }, -OOVPA_END; - -// ****************************************************************** -// * XGetLaunchInfo -// ****************************************************************** -OOVPA_NO_XREF(XGetLaunchInfo, 3911, 7) - - { 0x0B, 0x8B }, - { 0x18, 0x15 }, - { 0x25, 0x8B }, - { 0x32, 0x30 }, - { 0x3F, 0x00 }, - { 0x4C, 0x83 }, - { 0x59, 0x5E }, -OOVPA_END; - -// ****************************************************************** -// * XGetSectionHandleA -// 558BEC83EC10538B1D........5657FF75088D45F050FFD38B351C0101008B3D -// ****************************************************************** -OOVPA_NO_XREF(XGetSectionHandleA, 3911, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - { 0x06, 0x53 }, - { 0x07, 0x8B }, - { 0x08, 0x1D }, - - { 0x0D, 0x56 }, - { 0x0E, 0x57 }, - { 0x0F, 0xFF } -OOVPA_END; - -// ****************************************************************** -// * XLoadSectionByHandle -// 568B74240856FF15........85C07D0A50E8........33C0EB038B46045EC204 -// ****************************************************************** -OOVPA_NO_XREF(XLoadSectionByHandle, 3911, 11) - - // XLoadSectionByHandle+0x01 : mov esi, [esp+4+arg_0] - { 0x01, 0x8B }, - { 0x02, 0x74 }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, - - // XLoadSectionByHandle+0x0C : test eax, eax - { 0x0C, 0x85 }, - { 0x0D, 0xC0 }, - - // XLoadSectionByHandle+0x1A : mov eax, [esi+4] - { 0x1A, 0x8B }, - { 0x1B, 0x46 }, - { 0x1C, 0x04 }, - - // XLoadSectionByHandle+0x1E : retn 4 - { 0x1E, 0xC2 }, - { 0x1F, 0x04 } -OOVPA_END; - -// ****************************************************************** -// * XFreeSectionByHandle -// FF742404FF15........85C07D0A50E8........33C0EB0333C040C20400.... -// ****************************************************************** -OOVPA_NO_XREF(XFreeSectionByHandle, 3911, 11) - - // XFreeSectionByHandle+0x00 : push esp - { 0x00, 0xFF }, - { 0x01, 0x74 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // XFreeSectionByHandle+0x0A : test eax, eax - { 0x0A, 0x85 }, - { 0x0B, 0xC0 }, - - // XFreeSectionByHandle+0x18 : xor eax, eax - { 0x18, 0x33 }, - { 0x19, 0xC0 }, - - // XFreeSectionByHandle+0x1A : inc eax - { 0x1A, 0x40 }, - - // XFreeSectionByHandle+0x1B : retn 4 - { 0x1B, 0xC2 }, - { 0x1C, 0x04 } -OOVPA_END; - -// ****************************************************************** -// * XAutoPowerDownResetTimer -// ****************************************************************** -// Assembly line at 0x00 and 0x09 are unique. It will prevent any false detection it might find in the future. -OOVPA_NO_XREF(XAutoPowerDownResetTimer, 3911, 12) - - //XAutoPowerDownResetTimer+0x00 : push 0FFFFFFCDh - { 0x00, 0x6A }, - { 0x01, 0xCD }, - - //XAutoPowerDownResetTimer+0x02 : pop ecx - { 0x02, 0x59 }, - - //XAutoPowerDownResetTimer+0x08 : push ecx - { 0x08, 0x51 }, - - //XAutoPowerDownResetTimer+0x09 : mov eax, 0B5659000h - { 0x09, 0xB8 }, - { 0x0A, 0x00 }, - { 0x0B, 0x90 }, - { 0x0C, 0x65 }, - { 0x0D, 0xB5 }, - - //XAutoPowerDownResetTimer+0x0E : push eax - { 0x0E, 0x50 }, - - { 0x14, 0xFF }, - - //XAutoPowerDownResetTimer+0x1A : ret - { 0x1A, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * XMountMURootA -// ****************************************************************** -OOVPA_NO_XREF(XMountMURootA, 3911, 7) // generic version - - { 0x1E, 0x0C }, - { 0x3E, 0x00 }, - { 0x61, 0x8B }, - { 0x7E, 0x00 }, - { 0x9E, 0x00 }, - { 0xBE, 0xFF }, - { 0xDE, 0xFF }, -OOVPA_END; - -// ****************************************************************** -// * XMountUtilityDrive -// ****************************************************************** -OOVPA_NO_XREF(XMountUtilityDrive, 3911, 26) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x81 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x01 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x53 }, - { 0x0A, 0x56 }, - { 0x0B, 0x57 }, - { 0x0C, 0x8D }, - { 0x0D, 0x45 }, - { 0x0E, 0xF4 }, - { 0x0F, 0x50 }, - { 0x10, 0x8D }, - { 0x11, 0x45 }, - { 0x12, 0xFC }, - { 0x13, 0x50 }, - { 0x14, 0xFF }, - { 0x15, 0x75 }, - { 0x16, 0x08 }, - { 0x17, 0xE8 }, - - { 0x56, 0x83 }, - { 0x57, 0xC4 }, -OOVPA_END; - -// ****************************************************************** -// * ReadFileEx@20 -// ****************************************************************** -OOVPA_NO_XREF(ReadFileEx, 3911, 8) - - { 0x09, 0x48 }, - { 0x14, 0x8D }, - { 0x1F, 0xFF }, - { 0x2A, 0xFF }, - { 0x2F, 0x00 }, - { 0x35, 0x00 }, - { 0x40, 0x50 }, - { 0x4B, 0xC0 }, -OOVPA_END; - -// ****************************************************************** -// * WriteFileEx -// ****************************************************************** -OOVPA_NO_XREF(WriteFileEx, 3911, 8) - - { 0x09, 0x48 }, - { 0x14, 0x8D }, - { 0x1F, 0xFF }, - { 0x2A, 0xFF }, - { 0x2F, 0xFC }, - { 0x35, 0x00 }, - { 0x40, 0x50 }, - { 0x4B, 0xC0 }, -OOVPA_END; - -// ****************************************************************** -// * XInputPoll -// ****************************************************************** -OOVPA_NO_XREF(XInputPoll, 3911, 14) - - { 0x00, 0x53 }, - { 0x01, 0x56 }, - { 0x02, 0x33 }, - { 0x03, 0xF6 }, - { 0x04, 0xFF }, - { 0x05, 0x15 }, - - { 0x18, 0x04 }, - { 0x19, 0x02 }, - { 0x1A, 0x75 }, - { 0x1B, 0x29 }, - { 0x1C, 0xF6 }, - { 0x1D, 0x80 }, - { 0x1E, 0xA2 }, - { 0x1F, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * timeSetEvent -// ****************************************************************** -OOVPA_NO_XREF(timeSetEvent, 3911, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x68 }, - - { 0x1B, 0xCB }, - { 0x1C, 0x75 }, - - { 0x2A, 0x45 }, - { 0x55, 0x53 }, -OOVPA_END; - -// ****************************************************************** -// * timeKillEvent -// ****************************************************************** -OOVPA_NO_XREF(timeKillEvent, 3911, 12) - - { 0x02, 0xBF }, - { 0x13, 0x0D }, - - { 0x18, 0x0F }, - { 0x19, 0xB7 }, - { 0x1A, 0xC2 }, - { 0x1B, 0x48 }, - { 0x1C, 0x85 }, - { 0x1D, 0xC9 }, - { 0x1E, 0x74 }, - { 0x1F, 0x3E }, - - { 0x4A, 0x6A }, - { 0x55, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * GetOverlappedResult -// ****************************************************************** -OOVPA_NO_XREF(GetOverlappedResult, 3911, 7) - - { 0x0B, 0x75 }, - { 0x18, 0xC0 }, - { 0x27, 0xEB }, - { 0x32, 0x00 }, - { 0x3F, 0xEB }, - { 0x4C, 0x89 }, - { 0x59, 0x56 }, -OOVPA_END; - -// ****************************************************************** -// * RaiseException -// ****************************************************************** -OOVPA_NO_XREF(RaiseException, 3911, 7) - - { 0x09, 0x83 }, - { 0x14, 0x8B }, - { 0x1F, 0xC7 }, - { 0x2A, 0x10 }, - { 0x35, 0x89 }, - { 0x40, 0x5F }, - { 0x4B, 0xFF }, -OOVPA_END; - -// Generic OOVPA as of 3911 and newer. -// ****************************************************************** -// * SwitchToThread -// ****************************************************************** -OOVPA_NO_XREF(SwitchToThread, 3911, 15) - - { 0x00, 0xFF }, - { 0x01, 0x15 }, - { 0x06, 0x33 }, - { 0x07, 0xC9 }, - { 0x08, 0x3D }, - { 0x09, 0x24 }, - { 0x0A, 0x00 }, - { 0x0B, 0x00 }, - { 0x0C, 0x40 }, - { 0x0D, 0x0F }, - { 0x0E, 0x95 }, - { 0x0F, 0xC1 }, - { 0x10, 0x8B }, - { 0x11, 0xC1 }, - { 0x12, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * XapiThreadStartup -// ****************************************************************** -// Generic OOVPA as of 3911 and newer. -OOVPA_NO_XREF(XapiThreadStartup, 3911, 17) - - { 0x00, 0x6A }, - { 0x01, 0x18 }, - { 0x02, 0x68 }, - { 0x07, 0xE8 }, - { 0x0C, 0x83 }, - { 0x0D, 0x65 }, - { 0x0E, 0xFC }, - { 0x0F, 0x00 }, - { 0x10, 0x64 }, - { 0x11, 0xA1 }, - { 0x12, 0x28 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x89 }, - { 0x17, 0x45 }, - // { 0x18, 0xE4 }, 3911 0xE4 vs 5558 0xE0 - - { 0x1F, 0x89 }, -OOVPA_END; - -// Generic OOVPA as of 3911 and newer. -// ****************************************************************** -// * MoveFileA -// ****************************************************************** -OOVPA_NO_XREF(MoveFileA, 3911, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x2C }, - { 0x06, 0x56 }, - { 0x07, 0x8B }, - { 0x08, 0x35 }, - - { 0x1F, 0x8D }, - { 0x93, 0xC2 }, - { 0x94, 0x08 }, -OOVPA_END; - -// Generic OOVPA as of 3911 and newer. -// ****************************************************************** -// * XapiFiberStartup -// ****************************************************************** -OOVPA_NO_XREF(XapiFiberStartup, 3911, 14) - - { 0x00, 0x6A }, - { 0x01, 0x08 }, - - { 0x25, 0xFF }, - { 0x26, 0x30 }, - { 0x27, 0xFF }, - { 0x28, 0x55 }, - { 0x29, 0x08 }, - { 0x2A, 0xEB }, - { 0x2B, 0x0C }, - { 0x2C, 0xFF }, - { 0x2D, 0x75 }, - { 0x2E, 0xEC }, - { 0x2F, 0xE8 }, - - { 0x44, 0xCC }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl deleted file mode 100644 index ffac98334..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl +++ /dev/null @@ -1,54 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.3950.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XapiInitProcess -// ****************************************************************** -OOVPA_NO_XREF(XapiInitProcess, 3950, 7) - - // XapiInitProcess+0x03 : sub esp, 30h - { 0x05, 0x30 }, - - // XapiInitProcess+0x0F : push 0x0C - { 0x10, 0x6A }, - { 0x11, 0x0C }, - - // XapiInitProcess+0x17 : repe stosd - { 0x18, 0xF3 }, - { 0x19, 0xAB }, - - // XapiInitProcess+0x42 : jnz +0x0A - { 0x43, 0x75 }, - { 0x44, 0x0A }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl deleted file mode 100644 index edf7a7b61..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl +++ /dev/null @@ -1,58 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.4039.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Generic OOVPA as of 4039 and newer. -// ****************************************************************** -// * XCalculateSignatureBegin -// ****************************************************************** -OOVPA_NO_XREF(XCalculateSignatureBegin, 4039, 16) - - { 0x00, 0xA1 }, - { 0x01, 0x18 }, - { 0x02, 0x01 }, - { 0x03, 0x01 }, - { 0x04, 0x00 }, - { 0x05, 0xFF }, - { 0x06, 0x70 }, - { 0x07, 0x08 }, - { 0x08, 0xFF }, - { 0x09, 0x74 }, - { 0x0A, 0x24 }, - { 0x0B, 0x08 }, - { 0x0C, 0xE8 }, - - { 0x11, 0xC2 }, - { 0x12, 0x04 }, - { 0x13, 0x00 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl deleted file mode 100644 index 19204e49c..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl +++ /dev/null @@ -1,103 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.4134.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XMountUtilityDrive -// ****************************************************************** -OOVPA_NO_XREF(XMountUtilityDrive, 4134, 10) - - // XMountUtilityDrive+0x03 : sub esp, 0x0114 - { 0x03, 0x81 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x01 }, - - // XMountUtilityDrive+0x45 : push 0x0104 - { 0x45, 0x68 }, - { 0x46, 0x04 }, - { 0x47, 0x01 }, - - // XMountUtilityDrive+0xAA : lea eax, [ebp-0x10] - { 0xAA, 0x8D }, - { 0xAB, 0x45 }, - { 0xAC, 0xF0 }, -OOVPA_END; - -// ****************************************************************** -// * XSetProcessQuantumLength -// ****************************************************************** -OOVPA_NO_XREF(XSetProcessQuantumLength, 4134, 7) - - { 0x01, 0xA1 }, - { 0x04, 0x00 }, - { 0x07, 0x4C }, - { 0x0A, 0x8B }, - { 0x0D, 0x8D }, - { 0x10, 0x89 }, - { 0x13, 0xC2 }, -OOVPA_END; - -// ****************************************************************** -// * GetTypeInformation -// ****************************************************************** -OOVPA_XREF(GetTypeInformation, 4134, 24, - - XREF_XAPI_GetTypeInformation, - XRefZero) - - { 0x00, 0xB8 }, - { 0x05, 0x56 }, - { 0x06, 0x8B }, - { 0x07, 0xD0 }, - { 0x08, 0xBE }, - { 0x0D, 0x3B }, - { 0x0E, 0xD6 }, - { 0x0F, 0x73 }, - { 0x10, 0x12 }, - { 0x11, 0x8B }, - { 0x12, 0x10 }, - { 0x13, 0x85 }, - { 0x14, 0xD2 }, - { 0x15, 0x74 }, - { 0x16, 0x05 }, - { 0x17, 0x39 }, - { 0x18, 0x4A }, - { 0x19, 0x04 }, - { 0x1A, 0x74 }, - { 0x1B, 0x0B }, - { 0x1C, 0x83 }, - { 0x1D, 0xC0 }, - { 0x1E, 0x04 }, - { 0x1F, 0x3B } -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl deleted file mode 100644 index f1059d956..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl +++ /dev/null @@ -1,191 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.4242.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XInputOpen -// ****************************************************************** -OOVPA_NO_XREF(XInputOpen, 4242, 12) - - // XInputOpen+0x14 : push 0x57 - { 0x14, 0x6A }, - { 0x15, 0x57 }, - - // XInputOpen+0x1D : jmp +0x33 - { 0x1D, 0xEB }, - { 0x1E, 0x33 }, - - // XInputOpen+0x33 : add edx, 0x10 - { 0x33, 0x83 }, - { 0x34, 0xC2 }, - { 0x35, 0x10 }, - - // XInputOpen+0x47 : jmp +0x06 - { 0x47, 0x75 }, - { 0x48, 0x06 }, - - // XInputOpen+0x52 : leave - { 0x52, 0xC9 }, - - // XInputOpen+0x53 : retn 0x10 - { 0x53, 0xC2 }, - { 0x54, 0x10 }, -OOVPA_END; - -// ****************************************************************** -// * XInputGetState -// ****************************************************************** -OOVPA_NO_XREF(XInputGetState, 4242, 13) - - { 0x00, 0x53 }, - { 0x01, 0x56 }, - - { 0x0A, 0x8B }, - { 0x0B, 0x54 }, - { 0x0C, 0x24 }, - { 0x0D, 0x0C }, - { 0x0E, 0x8B }, - { 0x0F, 0x8A }, - { 0x10, 0xA3 }, - { 0x11, 0x00 }, - { 0x12, 0x00 }, - { 0x13, 0x00 }, - - { 0x5B, 0xF3 }, -OOVPA_END; - -// ****************************************************************** -// * XInputSetState -// ****************************************************************** -OOVPA_NO_XREF(XInputSetState, 4242, 12) - - // XInputSetState+0x04 : lea eax, [ecx+0x0A3] - { 0x04, 0x8D }, - { 0x05, 0x81 }, - { 0x06, 0xA3 }, - - // XInputSetState+0x15 : push 0x57 - { 0x15, 0x6A }, - { 0x16, 0x57 }, - - // XInputSetState+0x18 : jmp +0x19 - { 0x18, 0xEB }, - { 0x19, 0x19 }, - - // XInputSetState+0x2B : mov [edx+0x41], al - { 0x2B, 0x88 }, - { 0x2C, 0x42 }, - { 0x2D, 0x41 }, - - // XInputSetState+0x33 : retn 0x08 - { 0x33, 0xC2 }, - { 0x34, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XMountMUA -// ****************************************************************** -OOVPA_NO_XREF(XMountMUA, 4242, 8) // generic version - - { 0x22, 0x8A }, - { 0x3E, 0x89 }, - { 0x5E, 0x5C }, - { 0x7E, 0xF4 }, - { 0x9E, 0x50 }, - { 0xBE, 0xF8 }, - { 0xDE, 0x8D }, - { 0xFE, 0x09 }, -OOVPA_END; - -// ****************************************************************** -// * XFormatUtilityDrive -// ****************************************************************** -OOVPA_NO_XREF(XFormatUtilityDrive, 4242, 12) - - { 0x02, 0xEC }, - { 0x10, 0x50 }, - { 0x1E, 0xEC }, - - { 0x40, 0xF8 }, - { 0x41, 0x8D }, - { 0x42, 0x45 }, - { 0x43, 0xE4 }, - { 0x44, 0x50 }, - { 0x45, 0x8D }, - { 0x46, 0x45 }, - { 0x47, 0xF4 }, - - { 0x6D, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * XMountMURootA -// ****************************************************************** -OOVPA_NO_XREF(XMountMURootA, 4242, 12) - - { 0x16, 0xBF }, - { 0x22, 0x8A }, - { 0x39, 0x05 }, - - { 0x50, 0x55 }, - { 0x51, 0x58 }, - { 0x52, 0xE9 }, - { 0x53, 0x0E }, - { 0x54, 0x01 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x66 }, - - { 0x72, 0xE8 }, -OOVPA_END; - -// ****************************************************************** -// * XapiInitProcess -// ****************************************************************** -OOVPA_NO_XREF(XapiInitProcess, 4242, 7) - - // XapiInitProcess+0x03 : sub esp, 30h - { 0x05, 0x30 }, - - // XapiInitProcess+0x0F : push 0x0C - { 0x0F, 0x6A }, - { 0x10, 0x0C }, - - // XapiInitProcess+0x17 : repe stosd - { 0x17, 0xF3 }, - { 0x18, 0xAB }, - - // XapiInitProcess+0x42 : jnz +0x0B - { 0x42, 0x75 }, - { 0x43, 0x0B }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl deleted file mode 100644 index 78778a032..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ /dev/null @@ -1,101 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.4361.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * CreateThread -// ****************************************************************** -OOVPA_NO_XREF(CreateThread, 4361, 8) - - // CreateThread+0x0A : mov eax, ds:10130h - { 0x0A, 0xA1 }, - { 0x0B, 0x30 }, - { 0x0C, 0x01 }, - - // CreateThread+0x1C : and ecx, 0xFFFFFF01 - { 0x1C, 0x81 }, - { 0x1D, 0xE1 }, - { 0x1E, 0x01 }, - - // CreateThread+0x6B : retn 0x18 - { 0x6B, 0xC2 }, - { 0x6C, 0x18 }, -OOVPA_END; - -// ****************************************************************** -// * CloseHandle -// ****************************************************************** -OOVPA_NO_XREF(CloseHandle, 4361, 10) - - // CloseHandle+0x00 : push [esp+4] - { 0x00, 0xFF }, - { 0x01, 0x74 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // CloseHandle+0x04 : call ds:[addr] - { 0x04, 0xFF }, - { 0x05, 0x15 }, - - // CloseHandle+0x11 : jmp +0x08 - { 0x11, 0xEB }, - { 0x12, 0x08 }, - - // CloseHandle+0x1B : retn 4 - { 0x1B, 0xC2 }, - { 0x1C, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * XapiSetupPerTitleDriveLetters -// ****************************************************************** -OOVPA_NO_XREF(XapiSetupPerTitleDriveLetters, 4361, 10) - - // XapiSetupPerTitleDriveLetters+0x09 : lea eax, [ebp-0x0C] - { 0x09, 0x8D }, - { 0x0A, 0x45 }, - { 0x0B, 0xF4 }, - - // XapiSetupPerTitleDriveLetters+0x17 : edd esp, 0x0C - { 0x17, 0x83 }, - { 0x18, 0xC4 }, - { 0x19, 0x0C }, - - // XapiSetupPerTitleDriveLetters+0x35 : jl 0x1A - { 0x35, 0x7C }, - { 0x36, 0x1A }, - - // XapiSetupPerTitleDriveLetters+0x52 : retn 0x08 - { 0x52, 0xC2 }, - { 0x53, 0x08 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl deleted file mode 100644 index 7b90e61e2..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl +++ /dev/null @@ -1,68 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.4432.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XMountUtilityDrive -// ****************************************************************** -OOVPA_NO_XREF(XMountUtilityDrive, 4432, 27) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x81 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x01 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x53 }, - { 0x0A, 0x56 }, - { 0x0B, 0x57 }, - { 0x0C, 0x8D }, - { 0x0D, 0x45 }, - { 0x0E, 0xF4 }, - { 0x0F, 0x50 }, - { 0x10, 0x8D }, - { 0x11, 0x45 }, - { 0x12, 0xFC }, - { 0x13, 0x50 }, - { 0x14, 0xFF }, - { 0x15, 0x75 }, - { 0x16, 0x08 }, - { 0x17, 0xE8 }, - - { 0x51, 0x68 }, - { 0x52, 0x04 }, - { 0x53, 0x01 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl deleted file mode 100644 index d1ad5c257..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl +++ /dev/null @@ -1,58 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.4721.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XLaunchNewImageA -// ****************************************************************** -OOVPA_NO_XREF(XLaunchNewImageA, 4721, 15) - - { 0x03, 0x81 }, - { 0x04, 0xEC }, - { 0x05, 0x84 }, - { 0x06, 0x03 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - - { 0x33, 0x3C }, - { 0x34, 0x44 }, - - { 0xA0, 0x3B }, - { 0xA1, 0xC3 }, - { 0xA2, 0x7C }, - { 0xA3, 0x5A }, - { 0xA4, 0x57 }, - { 0xA5, 0x8D }, - - { 0xC1, 0x15 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl deleted file mode 100644 index 9115e3664..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl +++ /dev/null @@ -1,197 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.4831.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XInputSetState -// ****************************************************************** -OOVPA_NO_XREF(XInputSetState, 4831, 14) - - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8D }, - { 0x05, 0x81 }, - { 0x06, 0xA3 }, - { 0x07, 0x00 }, - { 0x08, 0x00 }, - { 0x09, 0x00 }, - - { 0x21, 0x8B }, - { 0x22, 0x40 }, - - { 0x30, 0xC2 }, - { 0x31, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XID_fCloseDevice -// ****************************************************************** -OOVPA_XREF(XID_fCloseDevice, 4831, 16, - - XREF_XID_fCloseDevice, - XRefZero) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x14 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xF1 }, - { 0x0A, 0xFF }, - { 0x0B, 0x15 }, - - { 0x1E, 0x3B }, - { 0x1F, 0xC3 }, - - { 0x38, 0x45 }, - { 0x39, 0xF4 }, -OOVPA_END; - -// ****************************************************************** -// * XInputGetState -// ****************************************************************** -OOVPA_NO_XREF(XInputGetState, 4831, 12) - - { 0x0E, 0x8B }, - { 0x0F, 0x8A }, - { 0x10, 0xA3 }, - - { 0x1A, 0x6A }, - { 0x1B, 0x57 }, - - { 0x1D, 0xEB }, - { 0x1E, 0x3E }, - - { 0x3A, 0x8B }, - { 0x3B, 0x8A }, - { 0x3C, 0xA3 }, - - { 0x69, 0xC2 }, - { 0x6A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * XInputGetCapabilities -// ****************************************************************** -OOVPA_NO_XREF(XInputGetCapabilities, 4831, 13) - - { 0x00, 0x55 }, - { 0x1F, 0x0F }, - - { 0x37, 0x8B }, - { 0x38, 0xFA }, - { 0x39, 0xF3 }, - { 0x3A, 0xAB }, - { 0x3B, 0xAA }, - { 0x3C, 0x8A }, - { 0x3D, 0x46 }, - { 0x3E, 0x0B }, - { 0x3F, 0x88 }, - - { 0x59, 0x0F }, - { 0x5A, 0xB6 }, -OOVPA_END; - -// ****************************************************************** -// * XGetDeviceEnumerationStatus -// ****************************************************************** -OOVPA_NO_XREF(XGetDeviceEnumerationStatus, 4831, 14) - - { 0x04, 0x15 }, - { 0x0A, 0x35 }, - { 0x10, 0x09 }, - - { 0x17, 0x00 }, - { 0x18, 0x74 }, - { 0x19, 0x03 }, - { 0x1A, 0x33 }, - { 0x1B, 0xF6 }, - { 0x1C, 0x46 }, - { 0x1D, 0x8A }, - { 0x1E, 0xC8 }, - { 0x1F, 0xFF }, - - { 0x25, 0x8B }, - { 0x28, 0xC3 }, -OOVPA_END; - -// ****************************************************************** -// * XapiInitProcess -// ****************************************************************** -OOVPA_NO_XREF(XapiInitProcess, 4831, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x13, 0x6A }, - { 0x14, 0x0C }, - { 0x15, 0x59 }, - { 0x16, 0x33 }, - { 0x17, 0xC0 }, - { 0x18, 0x8D }, - { 0x19, 0x7D }, - { 0x1A, 0xCC }, - - { 0x1D, 0x8D }, - { 0x1E, 0x45 }, -OOVPA_END; - -// ****************************************************************** -// * XInputGetDeviceDescription -// ****************************************************************** -OOVPA_NO_XREF(XInputGetDeviceDescription, 4831, 14) - - { 0x04, 0xEC }, - { 0x0B, 0x15 }, - - { 0x13, 0x45 }, - { 0x14, 0x08 }, - { 0x15, 0x8B }, - { 0x16, 0x30 }, - { 0x17, 0x3B }, - { 0x18, 0xF3 }, - { 0x19, 0x88 }, - { 0x1A, 0x4D }, - { 0x1B, 0xFF }, - { 0x1C, 0x0F }, - { 0x1D, 0x84 }, - - { 0x30, 0x45 }, - //{ 0x31, 0xF8 }, // 4831 0xF4 vs 5344 0xF8 -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl deleted file mode 100644 index 5da855f9d..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl +++ /dev/null @@ -1,78 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.5028.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XMountAlternateTitleA -// ****************************************************************** -OOVPA_NO_XREF(XMountAlternateTitleA, 5028, 14) - - { 0x04, 0xEC }, - - { 0x0F, 0x01 }, - { 0x10, 0x00 }, - { 0x11, 0x53 }, - { 0x12, 0x8A }, - { 0x13, 0x19 }, - { 0x14, 0x88 }, - - { 0x82, 0x83 }, - { 0x83, 0xC4 }, - { 0x84, 0x0C }, - { 0x85, 0x8D }, - { 0x86, 0x85 }, - { 0x91, 0x15 }, - - { 0x96, 0x8D }, -OOVPA_END; - -// ****************************************************************** -// * XapiInitProcess -// ****************************************************************** -OOVPA_NO_XREF(XapiInitProcess, 5028, 12) - - { 0x00, 0x55 }, - { 0x01, 0x8B }, - - { 0x0E, 0xF6 }, - { 0x0F, 0x68 }, - - { 0x22, 0x6A }, - { 0x23, 0x0C }, - { 0x24, 0x59 }, - { 0x25, 0x33 }, - { 0x26, 0xC0 }, - { 0x27, 0x8D }, - { 0x28, 0x7D }, - { 0x29, 0xCC }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl deleted file mode 100644 index 26f50dbb6..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl +++ /dev/null @@ -1,50 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.5120.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XInitDevices -// ****************************************************************** -// * NOTE: We are actually intercepting USBD_Init, because -// * XInitDevices Simply redirects to that function -// ****************************************************************** -OOVPA_NO_XREF(XInitDevices, 5120, 7) - - { 0x0E, 0x75 }, - { 0x20, 0xBE }, - { 0x2E, 0xC0 }, - { 0x3E, 0xEC }, - { 0x50, 0x0F }, - { 0x5F, 0xE8 }, - { 0x70, 0x5F }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl deleted file mode 100644 index 59f275514..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl +++ /dev/null @@ -1,53 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.5344.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XLaunchNewImageA -// ****************************************************************** -OOVPA_NO_XREF(XLaunchNewImageA, 5344, 11) - - { 0x00, 0xB8 }, - - { 0x18, 0x75 }, - { 0x19, 0x19 }, - { 0x1A, 0x83 }, - { 0x1B, 0xC1 }, - { 0x1C, 0x04 }, - { 0x1D, 0x3B }, - { 0x1E, 0xC8 }, - { 0x1F, 0x72 }, - - { 0x30, 0xC2 }, - { 0x41, 0xEE }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl deleted file mode 100644 index d2756b648..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl +++ /dev/null @@ -1,67 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.5455.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * XInputGetState -// ****************************************************************** -OOVPA_NO_XREF(XInputGetState, 5455, 7) - - { 0x0D, 0x0C }, - { 0x1C, 0x5E }, - { 0x2B, 0xBB }, - { 0x3A, 0x80 }, - { 0x49, 0x08 }, - { 0x58, 0xF3 }, - { 0x67, 0x15 }, -OOVPA_END; - -// ****************************************************************** -// * XMountAlternateTitleA -// ****************************************************************** -OOVPA_NO_XREF(XMountAlternateTitleA, 5455, 11) - - { 0x0B, 0x08 }, - - { 0x18, 0x0B }, - { 0x19, 0x57 }, - { 0x1A, 0x33 }, - { 0x1B, 0xFF }, - { 0x1C, 0x80 }, - { 0x1D, 0xE3 }, - { 0x1E, 0xDF }, - { 0x1F, 0x80 }, - - { 0xC1, 0x83 }, - { 0xD0, 0x15 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl deleted file mode 100644 index 96e5ae516..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl +++ /dev/null @@ -1,73 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDataBase->Xapi.1.0.5788.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -// ****************************************************************** -// * GetThreadPriority -// ****************************************************************** -OOVPA_NO_XREF(GetThreadPriority, 5788, 7) - - { 0x0D, 0xFF }, - { 0x16, 0x85 }, - { 0x1F, 0x15 }, - { 0x2A, 0x04 }, - { 0x35, 0xF1 }, - { 0x40, 0x8B }, - { 0x4B, 0xB8 }, -OOVPA_END; - -// ****************************************************************** -// * SetThreadPriorityBoost -// ****************************************************************** -OOVPA_NO_XREF(SetThreadPriorityBoost, 5788, 7) - - { 0x07, 0xFF }, - { 0x10, 0xFF }, - { 0x19, 0x20 }, - { 0x22, 0x50 }, - { 0x2C, 0x8B }, - { 0x35, 0x33 }, - { 0x40, 0x33 }, -OOVPA_END; - -// ****************************************************************** -// * XGetSectionSize -// ****************************************************************** -OOVPA_NO_XREF(XGetSectionSize, 5788, 5) - - { 0x00, 0x8B }, - { 0x02, 0x24 }, - { 0x04, 0x8B }, - { 0x06, 0x08 }, - { 0x08, 0x04 }, -OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl deleted file mode 100644 index 2feb3a1cd..000000000 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ /dev/null @@ -1,194 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XAPI.OOVPA.inl -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not write to the Free Software Foundation Inc., -// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. -// * -// * (c) 2017 jarupxx -// * -// * All rights reserved -// * -// ****************************************************************** - -// Titles which did compiled with full library -// [LibV] Title Name | Verify | Comments -//------------------------------------------------------------------- -// * [3911] Cel Damage | 100% | have 38/45 library. -// * [3950] Shikigami no Shiro | 100% | have 35/45 library. -// * [4034] Dark Summit | 100% | have 21/45 library. -// * [4039] New Legends | 100% | have 30/45 library. -// * [4134] Double-S.T.E.A.L | 100% | have 39/47 library. -// * [4242] NFL Blitz 2002 | 100% | have 46/48 library. -// * [4361] ESPN NBA 2Night 2002 | 100% | have 33/48 library. -// * [4432] RedCard 2003 | 100% | have 46/48 library. -// * [4531] NHL HITZ 2003 | 100% | have 41/48 library. -// * [4627] MLB SlugFest 2003 | 100% | have 46/48 library. -// * [4721] Terminator - Dawn of Fate | 100% | have 41/48 library. -// * [4831] Whacked | 100% | have 42/50 library. -// * [4928] Drihoo | 100% | have 42/50 library. -// * [5028] Shikigami no Shiro Evolution | 100% | have 39/50 library. -// * [5120] N.U.D.E.@ | 100% | have 40/50 library. -// * [5233] Evil Dead | 100% | have 39/50 library. -// * [5344] Starsky & Hutch | 100% | have 43/50 library. -// * [5455] NCAA Football 2004 | 100% | have 44/50 library. -// * [5558] XIII | 100% | have 42/50 library. -// * [5659] LMA Manager 2004 | 100% | have 42/50 library. -// * [5788] All-Star Baseball 2005 | 100% | have 42/50 library. -// * [5849] Nickelodeon Tak 2 | 100% | have 40/50 library. - -// TODO: Known Xapi OOVPA issue list -// * Verification needed: Function Name ( Revision ) -// * ConvertThreadToFiber (3950, 4034, 4039, 4134, 4531, 4721, 5028, 5455) -// * CreateFiber (3950, 4034, 4039, 4134, 4531, 4721, 5028, 5455) -// * DeleteFiber (3950, 4034, 4039, 4134, 4531, 4721, 5028, 5455) -// * ExitThread (4034) -// * GetExitCodeThread (4034) -// * GetOverlappedResult (4034) -// * GetThreadPriority (4034) -// * GetTimeZoneInformation (4034) -// * GetTypeInformation (4134) -// * MoveFileA (4034) -// * QueueUserAPC (4034) -// * SetThreadPriority (4034) -// * SetThreadPriorityBoost (4034) -// * SignalObjectAndWait (4034) -// * SwitchToFiber (3950, 4034, 4039, 4134, 4531, 4721, 5028, 5455) -// * SwitchToThread (4034) -// * XCalculateSignatureBegin (4034) -// * XGetDeviceChanges (4034) -// * XInputGetCapabilities (4034) -// * XInputGetDeviceDescription (4928, 5028, 5120, 5233, 5455) -// * XInputPoll (4034) -// * XMountAlternateTitleA (4034) -// * XMountMURootA (3950, 4034, 4039, 4134, 5028, 5120, 5233) -// * XapiFiberStartup (3950, 4034, 4039, 4134, 4531, 4721, 5028, 5455) -// * timeKillEvent (3950, 4034, 5028, 5233) -// * timeSetEvent (4034, 5233) -// * Following OOVPA are invalid -// * CloseHandle (3911) // Has exact asm codes _ResetEvent@4 -// * ReadFileEx (3911) // Has exact asm codes _WriteFileEx@20 -// * WriteFileEx (3911) // Has exact asm codes _ReadFileEx@20 -// * lstrcmpiW (3911) // Necessary XREF _xCompareStringW@20 -// * Following OOVPA are missing (Obsolete?) -// * GetThreadPriorityBoost -// * RtlAllocateHeap -// * RtlCreateHeap -// * RtlDestroyHeap -// * RtlFreeHeap -// * RtlReAllocateHeap -// * RtlSizeHeap -// * XCalculateSignatureBeginEx -// * XCalculateSignatureEnd -// * XCalculateSignatureUpdate -// NOTE: Known Xapi OOVPA not included in initial revision. -// * XFormatUtilityDrive (4242) -// * XSetProcessQuantumLength (4134) -// * XInputGetDeviceDescription (4831) -// * XGetDeviceEnumerationStatus (4831) - -#ifndef XAPI_OOVPA_INL -#define XAPI_OOVPA_INL - -#include "../OOVPA.h" - -#include "Xapi.1.0.3911.inl" -#include "Xapi.1.0.3950.inl" -#include "Xapi.1.0.4039.inl" -#include "Xapi.1.0.4134.inl" -#include "Xapi.1.0.4242.inl" -#include "Xapi.1.0.4361.inl" -#include "Xapi.1.0.4432.inl" -#include "Xapi.1.0.4721.inl" -#include "Xapi.1.0.4831.inl" -#include "Xapi.1.0.5028.inl" -#include "Xapi.1.0.5120.inl" -#include "Xapi.1.0.5344.inl" -#include "Xapi.1.0.5455.inl" -#include "Xapi.1.0.5788.inl" - -// ****************************************************************** -// * XAPILIB_OOVPA -// ****************************************************************** -OOVPATable XAPILIB_OOVPAV2[] = { - - REGISTER_OOVPAS(CreateMutex, UNPATCHED, 3911), // Too High Level (from 3911's comment) - REGISTER_OOVPAS(CreateThread, UNPATCHED, 3911), // Too High Level (from 3911's comment) - REGISTER_OOVPAS(ExitThread, UNPATCHED, 3911),// - REGISTER_OOVPAS(MoveFileA, UNPATCHED, 3911), - REGISTER_OOVPAS(SwitchToThread, UNPATCHED, 3911), - REGISTER_OOVPAS(XCalculateSignatureBegin, UNPATCHED, 3911, 4039), - REGISTER_OOVPAS(XapiBootDash, UNPATCHED, 3911), // obsolete (from 4721's comment) - REGISTER_OOVPAS(XapiInitProcess, UNPATCHED, 3911, 3950, 4242, 4831, 5028), // obsolete, Too High Level (from 4721's comment) - REGISTER_OOVPAS(XapiThreadStartup, UNPATCHED, 3911), // obsolete? (from 4627, 5028, 5558, 5788, 5849's comment) // obsolete (from 4721's comment) - REGISTER_OOVPAS(ConvertThreadToFiber, PATCH, 3911), - REGISTER_OOVPAS(CreateFiber, PATCH, 3911), - REGISTER_OOVPAS(DeleteFiber, PATCH, 3911), - REGISTER_OOVPAS(GetExitCodeThread, PATCH, 3911), - REGISTER_OOVPAS(GetOverlappedResult, PATCH, 3911), - REGISTER_OOVPAS(GetThreadPriority, PATCH, 3911), - REGISTER_OOVPAS(GetTimeZoneInformation, UNPATCHED, 3911), - REGISTER_OOVPAS(GetTypeInformation, XREF, 4134), // TODO: Actually introduced in some unknown XDK between 4134 and 4361 - REGISTER_OOVPAS(OutputDebugStringA, PATCH, 3911), - REGISTER_OOVPAS(QueueUserAPC, PATCH, 3911), - REGISTER_OOVPAS(QueryPerformanceCounter, PATCH, 3911), - REGISTER_OOVPAS(RaiseException, PATCH, 3911), - REGISTER_OOVPAS(SetThreadPriority, PATCH, 3911), - REGISTER_OOVPAS(SetThreadPriorityBoost, PATCH, 3911), - REGISTER_OOVPAS(SignalObjectAndWait, PATCH, 3911), - REGISTER_OOVPAS(SwitchToFiber, PATCH, 3911), - REGISTER_OOVPAS(XAutoPowerDownResetTimer, UNPATCHED, 3911), // Just calls KeSetTimer (from 3911's comment) - REGISTER_OOVPAS(XFormatUtilityDrive, PATCH, 4242), - REGISTER_OOVPAS(XGetDeviceChanges, PATCH, 3911), // Was PATCH (from 5788's comment) - REGISTER_OOVPAS(XGetDeviceEnumerationStatus, PATCH, 4831), - REGISTER_OOVPAS(XGetDevices, PATCH, 3911), - REGISTER_OOVPAS(XGetLaunchInfo, UNPATCHED, 3911), - REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4831), - REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5120), - REGISTER_OOVPAS(XInputClose, PATCH, 3911), - REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4831), - REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 4831), - REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4242, 5455), - REGISTER_OOVPAS(XInputOpen, PATCH, 3911, 4242), - REGISTER_OOVPAS(XInputPoll, PATCH, 3911), - REGISTER_OOVPAS(XInputSetState, PATCH, 3911, 4242, 4831), - REGISTER_OOVPAS(XLaunchNewImageA, PATCH, 3911, 4721, 5344), - REGISTER_OOVPAS(XMountAlternateTitleA, PATCH, 3911, 5028, 5455), - REGISTER_OOVPAS(XMountMUA, PATCH, 3911, 4242), - REGISTER_OOVPAS(XMountMURootA, PATCH, 3911, 4242), - REGISTER_OOVPAS(XMountUtilityDrive, PATCH, 3911, 4432), - REGISTER_OOVPAS(XRegisterThreadNotifyRoutine, PATCH, 3911), - REGISTER_OOVPAS(XSetProcessQuantumLength, PATCH, 4134), - REGISTER_OOVPAS(XUnmountAlternateTitleA, PATCH, 3911), - REGISTER_OOVPAS(XapiFiberStartup, PATCH, 3911), - REGISTER_OOVPAS(timeKillEvent, PATCH, 3911), - REGISTER_OOVPAS(timeSetEvent, PATCH, 3911), -}; - -// ****************************************************************** -// * XAPILIB_OOVPA_COUNT -// ****************************************************************** -const uint32 XAPILIB_OOVPA_COUNT = OOVPA_TABLE_COUNT(XAPILIB_OOVPAV2); - -#endif