Remove HLEDatabase files

Moving into new project.
This commit is contained in:
RadWolfie 2018-05-03 15:51:10 -05:00
parent 1af48f935a
commit 4344f5db58
99 changed files with 0 additions and 46561 deletions

View File

@ -326,7 +326,6 @@
<ClInclude Include="..\..\src\CxbxKrnl\gloffscreen\glextensions.h" />
<ClInclude Include="..\..\src\CxbxKrnl\gloffscreen\gloffscreen.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.OOVPA.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEIntercept.h" />
<ClInclude Include="..\..\src\CxbxKrnl\LibRc4.h" />
<ClInclude Include="..\..\src\CxbxKrnl\OOVPA.h" />
@ -380,101 +379,6 @@
<None Include="..\..\README.md" />
<None Include="..\..\resource\Logo.bmp" />
<None Include="..\..\resource\Splash.jpg" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3948.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4034.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4242.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4531.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4831.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4928.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5028.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5120.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5344.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5455.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5849.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.OOVPA.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4039.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4432.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4531.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4721.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4928.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5028.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5120.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5344.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5455.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5849.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.OOVPA.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3936.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4039.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4134.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4242.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4432.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4531.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4721.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4831.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5028.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5344.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5455.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.OOVPA.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4928.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5120.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5344.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.OOVPA.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3950.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4039.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4242.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4432.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4721.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4831.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5028.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5120.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5344.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5455.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.OOVPA.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4134.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.OOVPA.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.5120.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.5455.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.OOVPA.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4831.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5028.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5455.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5659.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5849.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.OOVPA.inl" />
<None Include="..\..\src\devices\video\EmuNV2A_DEBUG.cpp" />
<None Include="..\..\src\devices\video\EmuNV2A_PBUS.cpp" />
<None Include="..\..\src\devices\video\EmuNV2A_PCOUNTER.cpp" />

View File

@ -451,9 +451,6 @@
<ClInclude Include="..\..\src\Common\Win32\XBAudio.h">
<Filter>Shared</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.OOVPA.h">
<Filter>HLEDatabase\D3D8</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\PhysicalMemory.h">
<Filter>Emulator</Filter>
</ClInclude>
@ -567,297 +564,12 @@
<None Include="..\..\resource\Splash.jpg">
<Filter>GUI</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.OOVPA.inl">
<Filter>HLEDatabase\XNet</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.inl">
<Filter>HLEDatabase\XNet</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4361.inl">
<Filter>HLEDatabase\XNet</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.inl">
<Filter>HLEDatabase\XNet</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.5120.inl">
<Filter>HLEDatabase\XNet</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.5455.inl">
<Filter>HLEDatabase\XNet</Filter>
</None>
<None Include="..\..\resource\Logo.bmp">
<Filter>Shared</Filter>
</None>
<None Include="..\..\CONTRIBUTORS" />
<None Include="..\..\COPYING" />
<None Include="..\..\README.md" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.OOVPA.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3911.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3948.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4034.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4242.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4531.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4627.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4831.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4928.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5028.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5120.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5233.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5344.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5455.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5558.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5788.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5849.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.OOVPA.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.3911.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4039.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4432.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4531.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4627.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4721.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.4928.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5028.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5120.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5233.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5344.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5455.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5788.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8LTCG.1.0.5849.inl">
<Filter>HLEDatabase\D3D8LTCG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.OOVPA.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3911.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3936.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4039.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4134.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4242.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4361.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4432.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4531.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4627.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4721.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4831.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5028.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5233.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5344.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5455.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5558.inl">
<Filter>HLEDatabase\DSound</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4928.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5120.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5233.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5344.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5558.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.OOVPA.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3950.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4039.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4242.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4361.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4432.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4721.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4831.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5028.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5120.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5344.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5455.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5788.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.OOVPA.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.3911.inl">
<Filter>HLEDatabase\XG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4134.inl">
<Filter>HLEDatabase\XG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4361.inl">
<Filter>HLEDatabase\XG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.OOVPA.inl">
<Filter>HLEDatabase\XG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4361.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4627.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4831.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5028.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5455.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5558.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5659.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5788.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5849.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.OOVPA.inl">
<Filter>HLEDatabase\XOnline</Filter>
</None>
<None Include="..\..\src\devices\video\EmuNV2A_DEBUG.cpp">
<Filter>Hardware\Video</Filter>
</None>
@ -929,9 +641,6 @@
<Filter Include="EmuD3D8">
<UniqueIdentifier>{4ee1fc9a-ee21-4764-b96f-1caf41881bab}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase">
<UniqueIdentifier>{21769121-0f1d-40f2-90dd-bd0a192457ad}</UniqueIdentifier>
</Filter>
<Filter Include="Kernel">
<UniqueIdentifier>{0187aa1f-d227-4dd5-b9ae-a336795923c7}</UniqueIdentifier>
</Filter>
@ -941,30 +650,6 @@
<Filter Include="Shared">
<UniqueIdentifier>{d8ef7ef5-cbb9-4dba-9cab-585519a9756b}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\XNet">
<UniqueIdentifier>{b36ac8b9-077a-4ffc-bff9-3f2c0be74924}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\D3D8">
<UniqueIdentifier>{e78a3cc3-abce-4577-90aa-b7535bb09768}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\D3D8LTCG">
<UniqueIdentifier>{633e29cb-0dd7-4a02-80fc-dfa26c0503b5}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\DSound">
<UniqueIdentifier>{a942f43a-b405-4c5d-85cd-ffc84b66ad3f}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\XactEng">
<UniqueIdentifier>{d63c05a9-f8e1-4ad1-88fb-3f5b97a21063}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\Xapi">
<UniqueIdentifier>{736110f8-9b79-47db-86f5-250d1d4d8b9a}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\XG">
<UniqueIdentifier>{8347c248-d327-4438-a465-a3a6d408c9e6}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\XOnline">
<UniqueIdentifier>{40bc9467-7e4d-4ab5-b062-1aa0ba4af44d}</UniqueIdentifier>
</Filter>
<Filter Include="Hardware">
<UniqueIdentifier>{922ab09b-aa8e-41bb-b781-58654160ee3d}</UniqueIdentifier>
</Filter>

File diff suppressed because it is too large Load Diff

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// * (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

View File

@ -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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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;

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// * (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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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

View File

@ -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

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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;

View File

@ -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 <caustik@caustik.com>
// *
// * 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;

View File

@ -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