Merge pull request #771 from LukeUsher/WIP_HLEDB_v2

HLEDB v2
This commit is contained in:
Luke Usher 2017-10-20 15:10:43 +01:00 committed by GitHub
commit a62d73c109
116 changed files with 33141 additions and 7454 deletions

View File

@ -231,9 +231,11 @@ $(SOLUTIONDIR)Export.bat</Command>
<ClInclude Include="..\..\src\CxbxKrnl\EmuXOnline.h" /> <ClInclude Include="..\..\src\CxbxKrnl\EmuXOnline.h" />
<ClInclude Include="..\..\src\CxbxKrnl\EmuXTL.h" /> <ClInclude Include="..\..\src\CxbxKrnl\EmuXTL.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3911.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4034.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4034.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4242.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4627.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4627.h" />
@ -255,6 +257,12 @@ $(SOLUTIONDIR)Export.bat</Command>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5788.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5788.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4928.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5233.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5344.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5558.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5788.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5849.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.h" /> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.h" />
@ -319,20 +327,33 @@ $(SOLUTIONDIR)Export.bat</Command>
<None Include="..\..\resource\Cxbx.ico" /> <None Include="..\..\resource\Cxbx.ico" />
<None Include="..\..\resource\Logo.bmp" /> <None Include="..\..\resource\Logo.bmp" />
<None Include="..\..\resource\Splash.jpg" /> <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.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.4034.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.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.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.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.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.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.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5344.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.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5659.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5788.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.1.0.5849.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.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.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.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.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4432.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4432.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4627.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4627.inl" />
@ -340,22 +361,42 @@ $(SOLUTIONDIR)Export.bat</Command>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5233.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.5344.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5558.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.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.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.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5849.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.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3950.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.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.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.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4432.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4432.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4627.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4721.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.5028.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5120.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5233.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5344.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.5558.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5659.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5849.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5849.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.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4034.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4034.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.1.0.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4432.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4432.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4627.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4627.inl" />
@ -363,16 +404,27 @@ $(SOLUTIONDIR)Export.bat</Command>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5233.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5344.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5344.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5558.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5558.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5788.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5849.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5849.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.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.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.4361.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4627.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.5028.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5233.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5344.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5344.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.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.1.0.5849.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.OOVPA.inl" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="..\..\resource\Cxbx.rc"> <ResourceCompile Include="..\..\resource\Cxbx.rc">

View File

@ -244,13 +244,10 @@
<Filter>EmuD3D8</Filter> <Filter>EmuD3D8</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.h"> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.h">
<Filter>HLEDatabase</Filter> <Filter>HLEDatabase\XNet</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.h">
<Filter>HLEDatabase</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.h"> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.h">
<Filter>HLEDatabase</Filter> <Filter>HLEDatabase\XNet</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlLogging.h"> <ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlLogging.h">
<Filter>Kernel</Filter> <Filter>Kernel</Filter>
@ -408,6 +405,9 @@
<ClInclude Include="..\..\src\Common\Win32\XBAudio.h"> <ClInclude Include="..\..\src\Common\Win32\XBAudio.h">
<Filter>Shared</Filter> <Filter>Shared</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3911.h">
<Filter>HLEDatabase\D3D8</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.h"> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.h">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</ClInclude> </ClInclude>
@ -417,6 +417,9 @@
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.h"> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.h">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4242.h">
<Filter>HLEDatabase\D3D8</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.h"> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.h">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</ClInclude> </ClInclude>
@ -477,6 +480,27 @@
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.h"> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.h">
<Filter>HLEDatabase\DSound</Filter> <Filter>HLEDatabase\DSound</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.h">
<Filter>HLEDatabase\XactEng</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4928.h">
<Filter>HLEDatabase\XactEng</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5233.h">
<Filter>HLEDatabase\XactEng</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5344.h">
<Filter>HLEDatabase\XactEng</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5558.h">
<Filter>HLEDatabase\XactEng</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5788.h">
<Filter>HLEDatabase\XactEng</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5849.h">
<Filter>HLEDatabase\XactEng</Filter>
</ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.h"> <ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.h">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</ClInclude> </ClInclude>
@ -578,14 +602,23 @@
<None Include="..\..\resource\Splash.jpg"> <None Include="..\..\resource\Splash.jpg">
<Filter>GUI</Filter> <Filter>GUI</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.OOVPA.inl">
<Filter>HLEDatabase</Filter> <Filter>HLEDatabase\XNet</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.inl">
<Filter>HLEDatabase</Filter> <Filter>HLEDatabase\XNet</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4361.inl">
<Filter>HLEDatabase\XNet</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.inl">
<Filter>HLEDatabase</Filter> <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>
<None Include="..\..\resource\Cxbx.ico"> <None Include="..\..\resource\Cxbx.ico">
<Filter>Shared</Filter> <Filter>Shared</Filter>
@ -596,51 +629,90 @@
<None Include="..\..\CONTRIBUTORS" /> <None Include="..\..\CONTRIBUTORS" />
<None Include="..\..\COPYING" /> <None Include="..\..\COPYING" />
<None Include="..\..\README.md" /> <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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4034.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4627.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5028.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5233.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5344.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5344.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5558.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5659.inl">
<Filter>HLEDatabase\D3D8</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5788.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5788.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5849.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5849.inl">
<Filter>HLEDatabase\D3D8</Filter> <Filter>HLEDatabase\D3D8</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.inl"> <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> <Filter>HLEDatabase\DSound</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3936.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3936.inl">
<Filter>HLEDatabase\DSound</Filter> <Filter>HLEDatabase\DSound</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4134.inl">
<Filter>HLEDatabase\DSound</Filter> <Filter>HLEDatabase\DSound</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4361.inl">
<Filter>HLEDatabase\DSound</Filter> <Filter>HLEDatabase\DSound</Filter>
</None> </None>
@ -665,15 +737,54 @@
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5788.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5788.inl">
<Filter>HLEDatabase\DSound</Filter> <Filter>HLEDatabase\DSound</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.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.1.0.5788.inl">
<Filter>HLEDatabase\XactEng</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.5849.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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3950.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4361.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </None>
@ -686,27 +797,48 @@
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4721.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4721.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5028.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5120.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5233.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5233.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5344.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5344.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5455.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5558.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5558.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5659.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.1.0.5849.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5849.inl">
<Filter>HLEDatabase\Xapi</Filter> <Filter>HLEDatabase\Xapi</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.OOVPA.inl">
<Filter>HLEDatabase\Xapi</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.3911.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.3911.inl">
<Filter>HLEDatabase\XG</Filter> <Filter>HLEDatabase\XG</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4034.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4034.inl">
<Filter>HLEDatabase\XG</Filter> <Filter>HLEDatabase\XG</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4361.inl">
<Filter>HLEDatabase\XG</Filter> <Filter>HLEDatabase\XG</Filter>
</None> </None>
@ -728,11 +860,14 @@
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5558.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5558.inl">
<Filter>HLEDatabase\XG</Filter> <Filter>HLEDatabase\XG</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5788.inl">
<Filter>HLEDatabase\XG</Filter>
</None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5849.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5849.inl">
<Filter>HLEDatabase\XG</Filter> <Filter>HLEDatabase\XG</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5849.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.OOVPA.inl">
<Filter>HLEDatabase\XOnline</Filter> <Filter>HLEDatabase\XG</Filter>
</None> </None>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4361.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4361.inl">
<Filter>HLEDatabase\XOnline</Filter> <Filter>HLEDatabase\XOnline</Filter>
@ -740,6 +875,9 @@
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4627.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4627.inl">
<Filter>HLEDatabase\XOnline</Filter> <Filter>HLEDatabase\XOnline</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5028.inl">
<Filter>HLEDatabase\XOnline</Filter> <Filter>HLEDatabase\XOnline</Filter>
</None> </None>
@ -749,9 +887,24 @@
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5344.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5344.inl">
<Filter>HLEDatabase\XOnline</Filter> <Filter>HLEDatabase\XOnline</Filter>
</None> </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"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5558.inl">
<Filter>HLEDatabase\XOnline</Filter> <Filter>HLEDatabase\XOnline</Filter>
</None> </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>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Filter Include="GUI"> <Filter Include="GUI">
@ -772,12 +925,18 @@
<Filter Include="Shared"> <Filter Include="Shared">
<UniqueIdentifier>{d8ef7ef5-cbb9-4dba-9cab-585519a9756b}</UniqueIdentifier> <UniqueIdentifier>{d8ef7ef5-cbb9-4dba-9cab-585519a9756b}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="HLEDatabase\XNet">
<UniqueIdentifier>{b36ac8b9-077a-4ffc-bff9-3f2c0be74924}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\D3D8"> <Filter Include="HLEDatabase\D3D8">
<UniqueIdentifier>{e78a3cc3-abce-4577-90aa-b7535bb09768}</UniqueIdentifier> <UniqueIdentifier>{e78a3cc3-abce-4577-90aa-b7535bb09768}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="HLEDatabase\DSound"> <Filter Include="HLEDatabase\DSound">
<UniqueIdentifier>{a942f43a-b405-4c5d-85cd-ffc84b66ad3f}</UniqueIdentifier> <UniqueIdentifier>{a942f43a-b405-4c5d-85cd-ffc84b66ad3f}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="HLEDatabase\XactEng">
<UniqueIdentifier>{d63c05a9-f8e1-4ad1-88fb-3f5b97a21063}</UniqueIdentifier>
</Filter>
<Filter Include="HLEDatabase\Xapi"> <Filter Include="HLEDatabase\Xapi">
<UniqueIdentifier>{736110f8-9b79-47db-86f5-250d1d4d8b9a}</UniqueIdentifier> <UniqueIdentifier>{736110f8-9b79-47db-86f5-250d1d4d8b9a}</UniqueIdentifier>
</Filter> </Filter>

197
src/CxbxKrnl/EmuDSound.cpp Normal file → Executable file
View File

@ -338,30 +338,6 @@ HRESULT WINAPI XTL::EMUPATCH(CDirectSound_GetSpeakerConfig)
return S_OK; return S_OK;
} }
// ******************************************************************
// * patch: IDirectSound8_EnableHeadphones
// ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(IDirectSound8_EnableHeadphones)
(
LPDIRECTSOUND8 pThis,
BOOL fEnabled)
{
FUNC_EXPORTS;
enterCriticalSection;
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(fEnabled)
LOG_FUNC_END;
EmuWarning("EmuIDirectSound8_EnableHeadphones ignored");
leaveCriticalSection;
return S_OK;
}
// ****************************************************************** // ******************************************************************
// * patch: IDirectSound_SynchPlayback // * patch: IDirectSound_SynchPlayback
// ****************************************************************** // ******************************************************************
@ -639,9 +615,10 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBins)
} }
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetMixBinVolumes // * patch: IDirectSoundBuffer_SetMixBinVolumes_12
// ****************************************************************** // ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes) // This revision API was used in XDK 3911 until API had changed in XDK 4039.
HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_12)
( (
LPDIRECTSOUND8 pThis, LPDIRECTSOUND8 pThis,
DWORD dwMixBinMask, DWORD dwMixBinMask,
@ -668,9 +645,10 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes)
} }
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetMixBinVolumes // * patch: IDirectSoundBuffer_SetMixBinVolumes_8
// ****************************************************************** // ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes2) // This revision is only used in XDK 4039 and higher.
HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_8)
( (
LPDIRECTSOUND8 pThis, LPDIRECTSOUND8 pThis,
PVOID pMixBins) PVOID pMixBins)
@ -894,30 +872,6 @@ HRESULT WINAPI XTL::EMUPATCH(DirectSoundCreateBuffer)
return S_OK; return S_OK;
} }
// ******************************************************************
// * patch: IDirectSound_CreateBuffer
// ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(IDirectSound_CreateBuffer)
(
LPDIRECTSOUND8 pThis,
X_DSBUFFERDESC* pdssd,
OUT X_CDirectSoundBuffer** ppBuffer,
PVOID pUnknown)
{
FUNC_EXPORTS;
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pdssd)
LOG_FUNC_ARG_OUT(ppBuffer)
LOG_FUNC_ARG(pUnknown)
LOG_FUNC_END;
EMUPATCH(DirectSoundCreateBuffer)(pdssd, ppBuffer);
return DS_OK;
}
// ****************************************************************** // ******************************************************************
// * patch: IDirectSound_CreateSoundBuffer // * patch: IDirectSound_CreateSoundBuffer
// ****************************************************************** // ******************************************************************
@ -1082,6 +1036,45 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_Lock)
RETURN_RESULT_CHECK(hRet); RETURN_RESULT_CHECK(hRet);
} }
// ******************************************************************
// * patch: IDirectSoundBuffer_Unlock
// ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_Unlock)
(
X_CDirectSoundBuffer* pThis,
LPVOID ppvAudioPtr1,
DWORD pdwAudioBytes1,
LPVOID ppvAudioPtr2,
DWORD pdwAudioBytes2
)
{
FUNC_EXPORTS;
enterCriticalSection;
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(ppvAudioPtr1)
LOG_FUNC_ARG(pdwAudioBytes1)
LOG_FUNC_ARG(ppvAudioPtr2)
LOG_FUNC_ARG(pdwAudioBytes2)
LOG_FUNC_END;
DSoundGenericUnlock(pThis->EmuFlags,
pThis->EmuDirectSoundBuffer8,
pThis->EmuBufferDesc,
pThis->EmuLockOffset,
pThis->EmuLockPtr1,
pThis->EmuLockBytes1,
pThis->EmuLockPtr2,
pThis->EmuLockBytes2,
pThis->EmuLockFlags);
leaveCriticalSection;
return DS_OK;
}
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetHeadroom // * patch: IDirectSoundBuffer_SetHeadroom
// ****************************************************************** // ******************************************************************
@ -2511,6 +2504,24 @@ STDAPI_(void) XTL::EMUPATCH(DirectSoundUseFullHRTF)
leaveCriticalSection; leaveCriticalSection;
} }
// ******************************************************************
// * patch: DirectSoundUseLightHRTF
// ******************************************************************
STDAPI_(void) XTL::EMUPATCH(DirectSoundUseLightHRTF)
(
void)
{
FUNC_EXPORTS;
enterCriticalSection;
LOG_FUNC();
LOG_UNIMPLEMENTED_DSOUND();
leaveCriticalSection;
}
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetLFO // * patch: IDirectSoundBuffer_SetLFO
// ****************************************************************** // ******************************************************************
@ -2656,7 +2667,8 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSound_EnableHeadphones)
LOG_FUNC_ARG(fEnabled) LOG_FUNC_ARG(fEnabled)
LOG_FUNC_END; LOG_FUNC_END;
LOG_UNIMPLEMENTED_DSOUND(); //Windows Vista and later does not set speaker configuration from SetSpeakerConfig function.
EmuWarning("EmuIDirectSound_EnableHeadphones ignored");
leaveCriticalSection; leaveCriticalSection;
@ -3078,9 +3090,10 @@ DWORD WINAPI XTL::EMUPATCH(DirectSoundGetSampleTime)()
} }
// ****************************************************************** // ******************************************************************
// * patch: CDirectSoundStream_SetMixBinVolumes // * patch: CDirectSoundStream_SetMixBinVolumes_12
// ****************************************************************** // ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes) // This revision API is only used in XDK 4039 and higher.
HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_12)
( (
X_CDirectSoundStream* pThis, X_CDirectSoundStream* pThis,
DWORD dwMixBinMask, DWORD dwMixBinMask,
@ -3107,9 +3120,10 @@ HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes)
} }
// ****************************************************************** // ******************************************************************
// * patch: CDirectSoundStream_SetMixBinVolumes2 // * patch: CDirectSoundStream_SetMixBinVolumes_8
// ****************************************************************** // ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes2) // This revision API was used in XDK 3911 until API had changed in XDK 4039.
HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_8)
( (
X_CDirectSoundStream* pThis, X_CDirectSoundStream* pThis,
LPVOID pMixBins) LPVOID pMixBins)
@ -3703,3 +3717,72 @@ HRESULT WINAPI XTL::EMUPATCH(XFileMediaObject_Discontinuity)
return DS_OK; return DS_OK;
} }
// ******************************************************************
// * patch: IDirectSound_GetSpeakerConfig
// ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(IDirectSound_GetSpeakerConfig)
(
X_CDirectSound* pThis,
OUT LPDWORD* pdwSpeakerConfig)
{
FUNC_EXPORTS;
enterCriticalSection;
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG_OUT(pdwSpeakerConfig)
LOG_FUNC_END;
//For now, let's set it to stereo.
*pdwSpeakerConfig = X_DSSPEAKER_STEREO;
leaveCriticalSection;
return S_OK;
}
// ******************************************************************
// * patch: IDirectSound_CommitDeferredSettings
// ******************************************************************
HRESULT WINAPI XTL::EMUPATCH(IDirectSound_CommitDeferredSettings)
(
X_CDirectSound* pThis)
{
FUNC_EXPORTS;
enterCriticalSection;
LOG_FUNC_ONE_ARG(pThis);
HRESULT hRet = DS_OK;
if (g_pDSoundPrimary3DListener8 != nullptr) {
hRet = g_pDSoundPrimary3DListener8->CommitDeferredSettings();
}
leaveCriticalSection;
return hRet;
}
// ******************************************************************
// * patch: IDirectSound_CommitEffectData
// ******************************************************************
// This API is used relative with DSP effect.
HRESULT WINAPI XTL::EMUPATCH(IDirectSound_CommitEffectData)
(
X_CDirectSound* pThis)
{
FUNC_EXPORTS;
enterCriticalSection;
LOG_FUNC_ONE_ARG(pThis);
LOG_UNIMPLEMENTED_DSOUND();
leaveCriticalSection;
return DS_OK;
}

79
src/CxbxKrnl/EmuDSound.h Normal file → Executable file
View File

@ -211,6 +211,12 @@ struct X_DSCAPS
DWORD dwMemoryAllocated; DWORD dwMemoryAllocated;
}; };
#define X_DSSPEAKER_STEREO 0x00000000
#define X_DSSPEAKER_MONO 0x00000001
#define X_DSSPEAKER_SURROUND 0x00000002
#define X_DSSPEAKER_ENABLE_AC3 0x00010000
#define X_DSSPEAKER_ENABLE_DTS 0x00020000
typedef struct IDirectSoundStream IDirectSoundStream; typedef struct IDirectSoundStream IDirectSoundStream;
@ -489,15 +495,6 @@ HRESULT WINAPI EMUPATCH(CDirectSound_GetSpeakerConfig)
PDWORD pdwSpeakerConfig PDWORD pdwSpeakerConfig
); );
// ******************************************************************
// * patch: IDirectSound8_EnableHeadphones
// ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSound8_EnableHeadphones)
(
LPDIRECTSOUND8 pThis,
BOOL fEnabled
);
// ****************************************************************** // ******************************************************************
// * patch: IDirectSound_SynchPlayback // * patch: IDirectSound_SynchPlayback
// ****************************************************************** // ******************************************************************
@ -593,9 +590,9 @@ HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBins)
); );
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetMixBinVolumes // * patch: IDirectSoundBuffer_SetMixBinVolumes_12
// ****************************************************************** // ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes) HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_12)
( (
LPDIRECTSOUND8 pThis, LPDIRECTSOUND8 pThis,
DWORD dwMixBinMask, DWORD dwMixBinMask,
@ -603,9 +600,9 @@ HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes)
); );
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetMixBinVolumes // * patch: IDirectSoundBuffer_SetMixBinVolumes_12
// ****************************************************************** // ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes2) HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_8)
( (
LPDIRECTSOUND8 pThis, LPDIRECTSOUND8 pThis,
PVOID pMixBins // TODO: fill this out PVOID pMixBins // TODO: fill this out
@ -673,17 +670,6 @@ HRESULT WINAPI EMUPATCH(DirectSoundCreateBuffer)
X_CDirectSoundBuffer** ppBuffer X_CDirectSoundBuffer** ppBuffer
); );
// ******************************************************************
// * patch: IDirectSound_CreateBuffer
// ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSound_CreateBuffer)
(
LPDIRECTSOUND8 pThis,
X_DSBUFFERDESC* pdssd,
X_CDirectSoundBuffer** ppBuffer,
PVOID pUnknown
);
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetBufferData // * patch: IDirectSoundBuffer_SetBufferData
// ****************************************************************** // ******************************************************************
@ -718,6 +704,17 @@ HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_Lock)
LPDWORD pdwAudioBytes2, LPDWORD pdwAudioBytes2,
DWORD dwFlags DWORD dwFlags
); );
// ******************************************************************
// * patch: IDirectSoundBuffer_Unlock
// ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_Unlock)
(
X_CDirectSoundBuffer* pThis,
LPVOID ppvAudioPtr1,
DWORD pdwAudioBytes1,
LPVOID ppvAudioPtr2,
DWORD pdwAudioBytes2
);
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetHeadroom // * patch: IDirectSoundBuffer_SetHeadroom
@ -1235,6 +1232,14 @@ STDAPI_(void) EMUPATCH(DirectSoundUseFullHRTF)
void void
); );
// ******************************************************************
// * patch: DirectSoundUseLightHRTF
// ******************************************************************
STDAPI_(void) EMUPATCH(DirectSoundUseLightHRTF)
(
void
);
// ****************************************************************** // ******************************************************************
// * patch: IDirectSoundBuffer_SetLFO // * patch: IDirectSoundBuffer_SetLFO
// ****************************************************************** // ******************************************************************
@ -1416,9 +1421,9 @@ HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetPitch)
DWORD WINAPI EMUPATCH(DirectSoundGetSampleTime)(); DWORD WINAPI EMUPATCH(DirectSoundGetSampleTime)();
// ****************************************************************** // ******************************************************************
// * patch: CDirectSoundStream_SetMixBinVolumes // * patch: CDirectSoundStream_SetMixBinVolumes_12
// ****************************************************************** // ******************************************************************
HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes) HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes_12)
( (
X_CDirectSoundStream* pThis, X_CDirectSoundStream* pThis,
DWORD dwMixBinMask, DWORD dwMixBinMask,
@ -1426,9 +1431,9 @@ HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes)
); );
// ****************************************************************** // ******************************************************************
// * patch: CDirectSoundStream_SetMixBinVolumes2 // * patch: CDirectSoundStream_SetMixBinVolumes_8
// ****************************************************************** // ******************************************************************
HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes2) HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes_8)
( (
X_CDirectSoundStream* pThis, X_CDirectSoundStream* pThis,
LPVOID pMixBins LPVOID pMixBins
@ -1633,4 +1638,22 @@ ULONG WINAPI EMUPATCH(XFileMediaObject_Release)(X_XFileMediaObject *pThis);
// ****************************************************************** // ******************************************************************
HRESULT WINAPI EMUPATCH(XFileMediaObject_Discontinuity)(X_XFileMediaObject *pThis); HRESULT WINAPI EMUPATCH(XFileMediaObject_Discontinuity)(X_XFileMediaObject *pThis);
// ******************************************************************
// * patch: IDirectSound_GetSpeakerConfig
// ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSound_GetSpeakerConfig)
(X_CDirectSound* pThis, OUT LPDWORD* pdwSpeakerConfig);
// ******************************************************************
// * patch: IDirectSound_CommitDeferredSettings
// ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSound_CommitDeferredSettings)
(X_CDirectSound* pThis);
// ******************************************************************
// * patch: IDirectSound_CommitEffectData
// ******************************************************************
HRESULT WINAPI EMUPATCH(IDirectSound_CommitEffectData)
(X_CDirectSound* pThis);
#endif #endif

View File

@ -378,10 +378,17 @@ inline void ResizeIDirectSoundBuffer(
} }
DbgPrintf("EmuResizeIDirectSoundBuffer8 : Resizing! (0x%.08X->0x%.08X)\n", pDSBufferDesc->dwBufferBytes, dwBytes); DbgPrintf("EmuResizeIDirectSoundBuffer8 : Resizing! (0x%.08X->0x%.08X)\n", pDSBufferDesc->dwBufferBytes, dwBytes);
DWORD dwPlayCursor, dwWriteCursor, dwStatus, refCount; DWORD dwPlayCursor, dwWriteCursor, dwStatus, refCount, dwFrequency;
LONG lVolume; LONG lVolume, lPan;
DS3DBUFFER ds3dBuffer;
pDSBuffer->GetVolume(&lVolume); pDSBuffer->GetVolume(&lVolume);
pDSBuffer->GetFrequency(&dwFrequency);
pDSBuffer->GetPan(&lPan);
if (pDSBufferDesc->dwFlags & DSBCAPS_CTRL3D) {
pDS3DBuffer->GetAllParameters(&ds3dBuffer);
}
HRESULT hRet = pDSBuffer->GetCurrentPosition(&dwPlayCursor, &dwWriteCursor); HRESULT hRet = pDSBuffer->GetCurrentPosition(&dwPlayCursor, &dwWriteCursor);
@ -427,11 +434,14 @@ inline void ResizeIDirectSoundBuffer(
if (FAILED(hRet3D)) { if (FAILED(hRet3D)) {
EmuWarning("CreateSound3DBuffer Failed!"); EmuWarning("CreateSound3DBuffer Failed!");
pDS3DBuffer = NULL; pDS3DBuffer = NULL;
} else {
pDS3DBuffer->SetAllParameters(&ds3dBuffer, DS3D_IMMEDIATE);
} }
} }
pDSBuffer->SetPan(lPan);
pDSBuffer->SetFrequency(dwFrequency);
pDSBuffer->SetVolume(lVolume); pDSBuffer->SetVolume(lVolume);
pDSBuffer->SetCurrentPosition(dwPlayCursor); pDSBuffer->SetCurrentPosition(dwPlayCursor);
if (dwStatus & DSBSTATUS_PLAYING) { if (dwStatus & DSBSTATUS_PLAYING) {

View File

@ -40,82 +40,41 @@
#include <windows.h> #include <windows.h>
#include "CxbxKrnl.h" // For xbaddr #include "CxbxKrnl.h" // For xbaddr
#include "HLEDataBase.h" // For PairScanLibSec
extern "C" const char *szHLELastCompileTime = __TIMESTAMP__; extern "C" const char *szHLELastCompileTime = __TIMESTAMP__;
const char *Lib_D3D8 = "D3D8"; const char *Lib_D3D8 = "D3D8";
const char *Sec_D3D = "D3D";
const char *Lib_D3D8LTCG = "D3D8LTCG"; const char *Lib_D3D8LTCG = "D3D8LTCG";
const char *Lib_D3DX8 = "D3DX8"; const char *Lib_D3DX8 = "D3DX8";
const char *Sec_D3DX = "D3DX";
const char *Lib_DSOUND = "DSOUND"; const char *Lib_DSOUND = "DSOUND";
const char *Sec_DSOUND = Lib_DSOUND;
const char *Lib_XACTENG = "XACTENG"; const char *Lib_XACTENG = "XACTENG";
const char *Sec_XACTENG = Lib_XACTENG;
const char *Lib_XAPILIB = "XAPILIB"; const char *Lib_XAPILIB = "XAPILIB";
const char *Sec_XPP = "XPP";
const char *Sec_text = ".text";
const char *Lib_XGRAPHC = "XGRAPHC"; const char *Lib_XGRAPHC = "XGRAPHC";
const char *Sec_XGRPH = "XGRPH";
const char *Lib_XNETN = "XNETN";
const char *Lib_XNETS = "XNETS"; const char *Lib_XNETS = "XNETS";
const char *Lib_XONLINE = "XONLINE"; // TODO : Typo for XONLINES? const char *Lib_XONLINE = "XONLINE"; // TODO : Typo for XONLINES?
const char *Sec_XONLINE = Lib_XONLINE;
const char *Lib_XONLINES = "XONLINES"; const char *Lib_XONLINES = "XONLINES";
const char *Sec_XNET = "XNET";
#include "Emu.h" #include "Emu.h"
#include "EmuXTL.h" #include "EmuXTL.h"
#include "HLEDataBase.h" #include "HLEDataBase.h"
#include "HLEDataBase/Xapi.1.0.3911.inl" #include "HLEDataBase/Xapi.OOVPA.inl"
#include "HLEDataBase/Xapi.1.0.4034.inl" #include "HLEDataBase/D3D8.OOVPA.inl"
#include "HLEDataBase/Xapi.1.0.4134.inl" #include "HLEDataBase/DSound.OOVPA.inl"
#include "HLEDataBase/Xapi.1.0.4361.inl" #include "HLEDataBase/XG.OOVPA.inl"
#include "HLEDataBase/Xapi.1.0.4432.inl" #include "HLEDataBase/XNET.OOVPA.inl"
#include "HLEDataBase/Xapi.1.0.4627.inl" #include "HLEDataBase/XOnline.OOVPA.inl"
#include "HLEDataBase/Xapi.1.0.4721.inl" #include "HLEDataBase/XactEng.OOVPA.inl"
#include "HLEDataBase/Xapi.1.0.5028.inl"
#include "HLEDataBase/Xapi.1.0.5233.inl"
#include "HLEDataBase/Xapi.1.0.5344.inl"
#include "HLEDataBase/Xapi.1.0.5558.inl"
#include "HLEDataBase/Xapi.1.0.5788.inl"
#include "HLEDataBase/Xapi.1.0.5849.inl"
#include "HLEDataBase/D3D8.1.0.3925.inl"
#include "HLEDataBase/D3D8.1.0.4034.inl"
#include "HLEDataBase/D3D8.1.0.4134.inl"
#include "HLEDataBase/D3D8.1.0.4361.inl"
#include "HLEDataBase/D3D8.1.0.4432.inl"
#include "HLEDataBase/D3D8.1.0.4627.inl"
#include "HLEDataBase/D3D8.1.0.5028.inl"
#include "HLEDataBase/D3D8.1.0.5233.inl"
#include "HLEDataBase/D3D8.1.0.5344.inl"
#include "HLEDataBase/D3D8.1.0.5558.inl"
#include "HLEDataBase/D3D8.1.0.5788.inl"
#include "HLEDataBase/D3D8.1.0.5849.inl"
#include "HLEDataBase/DSound.1.0.3936.inl"
#include "HLEDataBase/DSound.1.0.4134.inl"
#include "HLEDataBase/DSound.1.0.4361.inl"
#include "HLEDataBase/DSound.1.0.4432.inl"
#include "HLEDataBase/DSound.1.0.4627.inl"
#include "HLEDataBase/DSound.1.0.5028.inl"
#include "HLEDataBase/DSound.1.0.5233.inl"
#include "HLEDataBase/DSound.1.0.5344.inl"
#include "HLEDataBase/DSound.1.0.5558.inl"
#include "HLEDataBase/DSound.1.0.5788.inl"
#include "HLEDataBase/DSound.1.0.5849.inl"
#include "HLEDataBase/XG.1.0.3911.inl"
#include "HLEDataBase/XG.1.0.4034.inl"
#include "HLEDataBase/XG.1.0.4361.inl"
#include "HLEDataBase/XG.1.0.4432.inl"
#include "HLEDataBase/XG.1.0.4627.inl"
#include "HLEDataBase/XG.1.0.5028.inl"
#include "HLEDataBase/XG.1.0.5233.inl"
#include "HLEDataBase/XG.1.0.5344.inl"
#include "HLEDataBase/XG.1.0.5558.inl"
#include "HLEDataBase/XG.1.0.5788.inl"
#include "HLEDataBase/XG.1.0.5849.inl"
#include "HLEDataBase/XNet.1.0.3911.inl"
#include "HLEDataBase/XNet.1.0.4627.inl"
#include "HLEDataBase/XOnline.1.0.4361.inl"
#include "HLEDataBase/XOnline.1.0.4627.inl"
#include "HLEDataBase/XOnline.1.0.5028.inl"
#include "HLEDataBase/XOnline.1.0.5233.inl"
#include "HLEDataBase/XOnline.1.0.5344.inl"
#include "HLEDataBase/XOnline.1.0.5558.inl"
#include "HLEDataBase/XOnline.1.0.5788.inl"
#include "HLEDataBase/XOnline.1.0.5849.inl"
#include "HLEDataBase/XactEng.1.0.4627.inl"
#include "HLEDataBase/XactEng.1.0.5849.inl"
// ****************************************************************** // ******************************************************************
@ -128,6 +87,7 @@ const char *Lib_XONLINES = "XONLINES";
const HLEData HLEDataBase[] = const HLEData HLEDataBase[] =
{ {
#if ENABLE_LEGACY_XAPI_DB
HLE_ENTRY(Lib_XAPILIB, XAPI, 3911), HLE_ENTRY(Lib_XAPILIB, XAPI, 3911),
HLE_ENTRY(Lib_XAPILIB, XAPI, 4034), HLE_ENTRY(Lib_XAPILIB, XAPI, 4034),
HLE_ENTRY(Lib_XAPILIB, XAPI, 4134), HLE_ENTRY(Lib_XAPILIB, XAPI, 4134),
@ -141,7 +101,8 @@ const HLEData HLEDataBase[] =
HLE_ENTRY(Lib_XAPILIB, XAPI, 5558), HLE_ENTRY(Lib_XAPILIB, XAPI, 5558),
HLE_ENTRY(Lib_XAPILIB, XAPI, 5788), HLE_ENTRY(Lib_XAPILIB, XAPI, 5788),
HLE_ENTRY(Lib_XAPILIB, XAPI, 5849), HLE_ENTRY(Lib_XAPILIB, XAPI, 5849),
#endif
#if ENABLE_LEGACY_D3D8_DB
HLE_ENTRY(Lib_D3D8, D3D8, 3925), HLE_ENTRY(Lib_D3D8, D3D8, 3925),
HLE_ENTRY(Lib_D3D8, D3D8, 4034), HLE_ENTRY(Lib_D3D8, D3D8, 4034),
HLE_ENTRY(Lib_D3D8, D3D8, 4134), HLE_ENTRY(Lib_D3D8, D3D8, 4134),
@ -154,7 +115,8 @@ const HLEData HLEDataBase[] =
HLE_ENTRY(Lib_D3D8, D3D8, 5558), HLE_ENTRY(Lib_D3D8, D3D8, 5558),
HLE_ENTRY(Lib_D3D8, D3D8, 5788), HLE_ENTRY(Lib_D3D8, D3D8, 5788),
HLE_ENTRY(Lib_D3D8, D3D8, 5849), HLE_ENTRY(Lib_D3D8, D3D8, 5849),
#endif
#if ENABLE_LEGACY_DSOUND_DB
HLE_ENTRY(Lib_DSOUND, DSound, 3936), HLE_ENTRY(Lib_DSOUND, DSound, 3936),
HLE_ENTRY(Lib_DSOUND, DSound, 4134), HLE_ENTRY(Lib_DSOUND, DSound, 4134),
HLE_ENTRY(Lib_DSOUND, DSound, 4361), HLE_ENTRY(Lib_DSOUND, DSound, 4361),
@ -166,7 +128,17 @@ const HLEData HLEDataBase[] =
HLE_ENTRY(Lib_DSOUND, DSound, 5558), HLE_ENTRY(Lib_DSOUND, DSound, 5558),
HLE_ENTRY(Lib_DSOUND, DSound, 5788), HLE_ENTRY(Lib_DSOUND, DSound, 5788),
HLE_ENTRY(Lib_DSOUND, DSound, 5849), HLE_ENTRY(Lib_DSOUND, DSound, 5849),
#endif
#if ENABLE_LEGACY_XACTENG_DB
HLE_ENTRY(Lib_XACTENG, XactEng, 4627),
HLE_ENTRY(Lib_XACTENG, XactEng, 4928),
HLE_ENTRY(Lib_XACTENG, XactEng, 5233),
HLE_ENTRY(Lib_XACTENG, XactEng, 5344),
HLE_ENTRY(Lib_XACTENG, XactEng, 5558),
HLE_ENTRY(Lib_XACTENG, XactEng, 5788),
HLE_ENTRY(Lib_XACTENG, XactEng, 5849),
#endif
#if ENABLE_LEGACY_XGRAPHC_DB
HLE_ENTRY(Lib_XGRAPHC, XG, 3911), HLE_ENTRY(Lib_XGRAPHC, XG, 3911),
HLE_ENTRY(Lib_XGRAPHC, XG, 4034), HLE_ENTRY(Lib_XGRAPHC, XG, 4034),
HLE_ENTRY(Lib_XGRAPHC, XG, 4361), HLE_ENTRY(Lib_XGRAPHC, XG, 4361),
@ -178,12 +150,15 @@ const HLEData HLEDataBase[] =
HLE_ENTRY(Lib_XGRAPHC, XG, 5558), HLE_ENTRY(Lib_XGRAPHC, XG, 5558),
HLE_ENTRY(Lib_XGRAPHC, XG, 5788), HLE_ENTRY(Lib_XGRAPHC, XG, 5788),
HLE_ENTRY(Lib_XGRAPHC, XG, 5849), HLE_ENTRY(Lib_XGRAPHC, XG, 5849),
#endif
#if ENABLE_LEGACY_XNETS_DB
HLE_ENTRY(Lib_XNETS, XNet, 3911), HLE_ENTRY(Lib_XNETS, XNet, 3911),
HLE_ENTRY(Lib_XNETS, XNet, 4627), HLE_ENTRY(Lib_XNETS, XNet, 4627),
#endif
HLE_ENTRY(Lib_XONLINE, XOnline, 4361), // TODO : Typo for XONLINES? HLE_ENTRY(Lib_XONLINE, XOnline, 4361), // TODO : Typo for XONLINES?
#if ENABLE_LEGACY_XONLINES_DB
// TODO: Verify differences between XONLINE and XONLINES (if any) // TODO: Verify differences between XONLINE and XONLINES (if any)
HLE_ENTRY(Lib_XONLINES, XOnline, 4627), HLE_ENTRY(Lib_XONLINES, XOnline, 4627),
HLE_ENTRY(Lib_XONLINES, XOnline, 5028), HLE_ENTRY(Lib_XONLINES, XOnline, 5028),
@ -192,17 +167,61 @@ const HLEData HLEDataBase[] =
HLE_ENTRY(Lib_XONLINES, XOnline, 5558), HLE_ENTRY(Lib_XONLINES, XOnline, 5558),
HLE_ENTRY(Lib_XONLINES, XOnline, 5788), HLE_ENTRY(Lib_XONLINES, XOnline, 5788),
HLE_ENTRY(Lib_XONLINES, XOnline, 5849), HLE_ENTRY(Lib_XONLINES, XOnline, 5849),
#endif
};
HLE_ENTRY(Lib_XACTENG, XactEng, 4627), const HLEDataV2 HLEDataBaseV2[] = {
HLE_ENTRY(Lib_XACTENG, XactEng, 5849), // Support inline functions in .text section
{ Lib_D3D8,{ Sec_text, Sec_D3D }, D3D8_OOVPAV2, D3D8_OOVPA_SIZEV2 },
// Cannot support LTCG in HLE
//{ Lib_D3D8LTCG,{ Sec_D3D }, _OOVPAV2, _OOVPA_SIZEV2 },
// Jarupxx mention this is not a requirement?
//{ Lib_D3DX8,{ Sec_D3DX }, _OOVPAV2, _OOVPA_SIZEV2 },
//
{ Lib_DSOUND,{ Sec_DSOUND }, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 },
// DSOUNDH is just meant to define hot fix, there is no seperate section
//{ Lib_DSOUNDH,{ Sec_DSOUND }, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 },
//
{ Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 },
// test case: Power Drome (Unluckily, it use LTCG version of the library.)
//{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 },
//
{ Lib_XAPILIB,{ Sec_text, Sec_XPP }, XAPILIB_OOVPAV2, XAPILIB_OOVPA_SIZEV2 },
// Support inline functions in .text section
{ Lib_XGRAPHC,{ Sec_text, Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 },
// Cannot support LTCG in HLE
//{ Lib_XGRAPHCL,{ Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 },
//
//{ Lib_XONLINE,{ Sec_XONLINE }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 },
// Fun fact, XONLINES are split into 2 header sections.
{ Lib_XONLINES,{ Sec_text, Sec_XONLINE, Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 },
// XNETS only has XNET, might be true.
{ Lib_XNETS,{ Sec_text, Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 },
// test case: Stake
{ Lib_XNETN,{ Sec_text, Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 },
}; };
// ****************************************************************** // ******************************************************************
// * HLEDataBaseCount // * HLEDataBaseCount
// ****************************************************************** // ******************************************************************
extern const uint32 HLEDataBaseCount = sizeof(HLEDataBase) / sizeof(HLEData); const uint32 HLEDataBaseCount = sizeof(HLEDataBase) / sizeof(HLEData);
const uint32 HLEDataBaseCountV2 = sizeof(HLEDataBaseV2) / sizeof(HLEDataV2);
// ****************************************************************** // ******************************************************************
// * XRefDataBase // * XRefDataBase
// ****************************************************************** // ******************************************************************
extern xbaddr XRefDataBase[XREF_COUNT] = { 0 }; // Reset and populated by EmuHLEIntercept xbaddr XRefDataBase[XREF_COUNT] = { 0 }; // Reset and populated by EmuHLEIntercept

View File

@ -46,9 +46,11 @@
#include "HLEDataBase/Xapi.1.0.5558.h" #include "HLEDataBase/Xapi.1.0.5558.h"
#include "HLEDataBase/Xapi.1.0.5788.h" #include "HLEDataBase/Xapi.1.0.5788.h"
#include "HLEDataBase/Xapi.1.0.5849.h" #include "HLEDataBase/Xapi.1.0.5849.h"
#include "HLEDataBase/D3D8.1.0.3911.h"
#include "HLEDataBase/D3D8.1.0.3925.h" #include "HLEDataBase/D3D8.1.0.3925.h"
#include "HLEDataBase/D3D8.1.0.4034.h" #include "HLEDataBase/D3D8.1.0.4034.h"
#include "HLEDataBase/D3D8.1.0.4134.h" #include "HLEDataBase/D3D8.1.0.4134.h"
#include "HLEDataBase/D3D8.1.0.4242.h"
#include "HLEDataBase/D3D8.1.0.4361.h" #include "HLEDataBase/D3D8.1.0.4361.h"
#include "HLEDataBase/D3D8.1.0.4432.h" #include "HLEDataBase/D3D8.1.0.4432.h"
#include "HLEDataBase/D3D8.1.0.4627.h" #include "HLEDataBase/D3D8.1.0.4627.h"
@ -90,6 +92,11 @@
#include "HLEDataBase/XOnline.1.0.5788.h" #include "HLEDataBase/XOnline.1.0.5788.h"
#include "HLEDataBase/XOnline.1.0.5849.h" #include "HLEDataBase/XOnline.1.0.5849.h"
#include "HLEDataBase/XactEng.1.0.4627.h" #include "HLEDataBase/XactEng.1.0.4627.h"
#include "HLEDataBase/XactEng.1.0.4928.h"
#include "HLEDataBase/XactEng.1.0.5233.h"
#include "HLEDataBase/XactEng.1.0.5344.h"
#include "HLEDataBase/XactEng.1.0.5558.h"
#include "HLEDataBase/XactEng.1.0.5788.h"
#include "HLEDataBase/XactEng.1.0.5849.h" #include "HLEDataBase/XactEng.1.0.5849.h"
// ****************************************************************** // ******************************************************************
@ -97,6 +104,7 @@
// ****************************************************************** // ******************************************************************
extern "C" const char *szHLELastCompileTime; extern "C" const char *szHLELastCompileTime;
//TODO: Need to remove these externs as v2 is no longer require it.
extern const char *Lib_D3D8; extern const char *Lib_D3D8;
extern const char *Lib_D3D8LTCG; extern const char *Lib_D3D8LTCG;
extern const char *Lib_D3DX8; extern const char *Lib_D3DX8;
@ -105,7 +113,7 @@ extern const char *Lib_XACTENG;
extern const char *Lib_XAPILIB; extern const char *Lib_XAPILIB;
extern const char *Lib_XGRAPHC; extern const char *Lib_XGRAPHC;
extern const char *Lib_XNETS; extern const char *Lib_XNETS;
extern const char *Lib_XONLINE; // TODO : Typo for XONLINES? extern const char *Lib_XONLINE; //Is not a typo issue
extern const char *Lib_XONLINES; extern const char *Lib_XONLINES;
// ****************************************************************** // ******************************************************************
@ -121,18 +129,36 @@ extern const struct HLEData
} }
HLEDataBase[]; HLEDataBase[];
#define PAIRSCANSEC_MAX 3
const struct PairScanLibSec {
const char *library;
const char *section[PAIRSCANSEC_MAX];
};
extern const struct HLEDataV2
{
const PairScanLibSec LibSec;
OOVPATable *OovpaTable;
uint32 OovpaTableSize;
}
HLEDataBaseV2[];
// ****************************************************************** // ******************************************************************
// * HLEDataBaseCount // * HLEDataBaseCount
// ****************************************************************** // ******************************************************************
extern const uint32 HLEDataBaseCount; extern const uint32 HLEDataBaseCount;
extern const uint32 HLEDataBaseCountV2;
// ****************************************************************** // ******************************************************************
// * XRefDataBaseOffset // * XRefDataBaseOffset
// ****************************************************************** // ******************************************************************
enum XRefDataBaseOffset enum XRefDataBaseOffset
{ {
XREF_D3DDEVICE=0, XREF_D3DDEVICE=0,
XREF_SETRENDERSTATE_CULLMODE, XREF_D3DDevice_SetRenderState_CullMode,
XREF_D3DRS_CULLMODE, XREF_D3DRS_CULLMODE,
XREF_D3DTSS_TEXCOORDINDEX, XREF_D3DTSS_TEXCOORDINDEX,
XREF_D3DRS_MULTISAMPLEMODE, XREF_D3DRS_MULTISAMPLEMODE,
@ -141,24 +167,36 @@ enum XRefDataBaseOffset
XREF_D3DRS_ROPZREAD, XREF_D3DRS_ROPZREAD,
XREF_D3DRS_DONOTCULLUNCOMPRESSED, XREF_D3DRS_DONOTCULLUNCOMPRESSED,
XREF_D3DRS_STENCILCULLENABLE, XREF_D3DRS_STENCILCULLENABLE,
XREF_D3DCD_LAZYSETSTATEVB, XREF_D3DDevice_LazySetStateVB,
XREF_D3D_BlockOnResource, XREF_D3D_BlockOnResource,
XREF_D3D_BLOCKONTIME, XREF_D3D_BlockOnTime,
XREF_D3D_CreateStandAloneSurface, XREF_D3D_CreateStandAloneSurface,
XREF_D3D_SETFENCE, XREF_D3D_SetFence,
XREF_D3D_SetTileNoWait,
XREF_D3D_KickOffAndWaitForIdle, XREF_D3D_KickOffAndWaitForIdle,
XREF_D3D_MakeRequestedSpace, XREF_D3D_MakeRequestedSpace,
XREF_D3D_KickOff, XREF_D3D_CDevice_KickOff,
XREF_D3DPalette_Lock2, XREF_D3DPalette_Lock2,
XREF_XNINIT, XREF_D3DTexture_GetSurfaceLevel2,
XREF_FCLOSEDEVICE, XREF_D3DDevice_CreatePalette2,
XREF_CLEARSTATEBLOCKFLAGS, XREF_D3DDevice_CreateIndexBuffer2,
XREF_RECORDSTATEBLOCK, XREF_D3DDevice_CreateVertexBuffer2,
XREF_SETDISTANCEFACTORA, XREF_D3DDevice_GetBackBuffer2,
XREF_SETDISTANCEFACTORB, XREF_D3DDevice_GetDepthStencilSurface2,
XREF_SETROLLOFFFACTORA, XREF_D3DDevice_GetRenderTarget2,
XREF_SETROLLOFFFACTORB, XREF_D3DResource_AddRef,
XREF_SETDOPPLERFACTOR, XREF_D3DVertexBuffer_Lock2,
XREF_XnInit,
XREF_XID_fCloseDevice,
XREF_D3D_ClearStateBlockFlags,
XREF_D3D_RecordStateBlock,
XREF_Lock2DSurface,
XREF_Lock3DSurface,
XREF_CDirectSound_SetDistanceFactor,
XREF_CMcpxAPU_Set3dDistanceFactor,
XREF_CDirectSound_SetRolloffFactor,
XREF_CMcpxAPU_Set3dRolloffFactor,
XREF_CDirectSound_SetDopplerFactor,
XREF_SETBUFFERDATA, XREF_SETBUFFERDATA,
XREF_CMcpxBuffer_SetCurrentPosition, XREF_CMcpxBuffer_SetCurrentPosition,
XREF_CDirectSoundBuffer_SetCurrentPosition, XREF_CDirectSoundBuffer_SetCurrentPosition,
@ -171,103 +209,103 @@ enum XRefDataBaseOffset
XREF_DSSETBUFFERDATA, XREF_DSSETBUFFERDATA,
XREF_CMcpxBuffer_SetBufferData, XREF_CMcpxBuffer_SetBufferData,
XREF_CDirectSoundBuffer_SetBufferData, XREF_CDirectSoundBuffer_SetBufferData,
XREF_DSCREATESOUNDBUFFER, XREF_CDirectSound_CreateSoundBuffer,
XREF_DSCREATESOUNDSTREAM, XREF_CDirectSound_CreateSoundStream,
XREF_DSSTREAMPAUSE, XREF_CMcpxStream_Pause,
XREF_DSSTREAMSETVOLUME, XREF_CDirectSound_SetI3DL2Listener,
XREF_DSSETI3DL2LISTENER, XREF_CDirectSound_SetMixBinHeadroom,
XREF_DSSETMIXBINHEADROOMA, XREF_CMcpxAPU_SetMixBinHeadroom,
XREF_DSSETMIXBINHEADROOMB, XREF_CDirectSoundVoiceSettings_SetMixBins,
XREF_DSSETMIXBINSA, XREF_CMcpxVoiceClient_SetMixBins,
XREF_DSSETMIXBINSB, XREF_CDirectSoundVoice_SetMixBins,
XREF_DSSETMIXBINSC, XREF_CDirectSoundBuffer_SetMixBins,
XREF_DSSETMIXBINVOLUMESA, XREF_CDirectSoundBuffer_SetMixBinVolumes,
XREF_DSSETMIXBINVOLUMESB, XREF_CDirectSoundVoice_SetMixBinVolumes,
XREF_DSSETMIXBINVOLUMESC, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes,
XREF_DSSETPOSITIONA, XREF_CDirectSound_SetPosition,
XREF_DSSETPOSITIONB, XREF_CMcpxAPU_Set3dPosition,
XREF_DSSETVELOCITYA, XREF_CDirectSound_SetVelocity,
XREF_DSSETVELOCITYB, XREF_CMcpxAPU_Set3dVelocity,
XREF_DSDOWORKA, XREF_CDirectSound_DoWork,
XREF_DSDOWORKB, XREF_CMcpxAPU_ServiceDeferredCommandsLow,
XREF_DSSETALLPARAMETERSA, XREF_CDirectSound_SetAllParameters,
XREF_DSSETALLPARAMETERSB, XREF_CMcpxAPU_Set3dParameters,
XREF_DSSETHEADROOMA, XREF_DSSETHEADROOMA,
XREF_DSENABLEHEADPHONES, XREF_CDirectSound_EnableHeadphones,
XREF_DSSYNCHPLAYBACKA, XREF_DSSYNCHPLAYBACKA,
XREF_DSSYNCHPLAYBACKB, XREF_DSSYNCHPLAYBACKB,
XREF_DSSETI3DL2SOURCE1A, XREF_DSSETI3DL2SOURCE1A,
XREF_DSSETI3DL2SOURCE2A, XREF_DSSETI3DL2SOURCE2A,
XREF_DSBUFFERSETPITCHA, XREF_CMcpxVoiceClient_SetPitch,
XREF_DSBUFFERSETPITCHB, XREF_CDirectSoundVoice_SetPitch,
XREF_DSBUFFERSETVOLUMEA, XREF_CDirectSoundBuffer_SetPitch,
XREF_DSBUFFERSETVOLUMEB, XREF_CDirectSoundStream_SetPitch,
XREF_DSBUFFERSETCURRENTPOSITIONA, XREF_CMcpxVoiceClient_SetVolume,
XREF_DSBUFFERSETCURRENTPOSITIONB,
XREF_DSBUFFERSETLOOPREGIONA, XREF_DSBUFFERSETLOOPREGIONA,
XREF_DSBUFFERSETPLAYREGIONA, XREF_CDirectSoundBuffer_SetPlayRegion,
XREF_DSBUFFERLOCKA, XREF_CDirectSoundBuffer_Lock,
XREF_DSBUFFERSETHEADROOMA, XREF_CDirectSoundVoice_SetHeadroom,
XREF_DSBUFFERSETFREQUENCYA, XREF_CDirectSoundBuffer_SetHeadroom,
XREF_DSBUFFERSETFREQUENCYB, XREF_CDirectSoundStream_SetFrequency,
XREF_DSSTREAMSETMAXDISTANCE1A, XREF_CDirectSoundBuffer_SetFrequency,
XREF_DSSTREAMSETMAXDISTANCE1B, XREF_CDirectSoundVoice_SetFrequency,
XREF_DSSTREAMSETMAXDISTANCE1C, XREF_CMcpxVoiceClient_Set3dMaxDistance,
XREF_DSSTREAMSETMINDISTANCE1A, XREF_CDirectSoundVoice_SetMaxDistance,
XREF_DSSTREAMSETMINDISTANCE1B, XREF_CDirectSoundStream_SetMaxDistance,
XREF_DSSTREAMSETMINDISTANCE1C, XREF_CDirectSoundStream_SetMinDistance,
XREF_DSSTREAMSETCONEANGLES1A, XREF_CDirectSoundVoice_SetMinDistance,
XREF_DSSTREAMSETCONEANGLES1B, XREF_CMcpxVoiceClient_Set3dMinDistance,
XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, XREF_CDirectSoundVoice_SetConeOutsideVolume,
XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B, XREF_CMcpxVoiceClient_Set3dConeOutsideVolume,
XREF_DSSTREAMSETALLPARAMETERS1A, XREF_CDirectSoundVoice_SetAllParameters,
XREF_DSSTREAMSETALLPARAMETERS1B, XREF_CMcpxVoiceClient_Set3dParameters,
XREF_DSSTREAMSETALLPARAMETERS1C, XREF_DSSTREAMSETALLPARAMETERS1C,
XREF_DSSTREAMSETVELOCITY1A, XREF_CDirectSoundStream_SetVelocity,
XREF_DSSTREAMSETVELOCITY1B, XREF_CDirectSoundVoice_SetVelocity,
XREF_DSSTREAMSETVELOCITY1C, XREF_CMcpxVoiceClient_Set3dVelocity,
XREF_DSSTREAMSETCONEORIENTATION1A, XREF_CDirectSoundStream_SetConeOrientation,
XREF_DSSTREAMSETCONEORIENTATION1B, XREF_CDirectSoundVoice_SetConeOrientation,
XREF_DSSTREAMSETCONEORIENTATION1C, XREF_CMcpxVoiceClient_Set3dConeOrientation,
XREF_DSSTREAMSETPOSITION1A, XREF_CDirectSoundStream_SetPosition,
XREF_DSSTREAMSETPOSITION1B, XREF_CDirectSoundVoice_SetPosition,
XREF_DSSTREAMSETPOSITION1C, XREF_CMcpxVoiceClient_Set3dPosition,
XREF_DSSTREAMSETFREQUENCY1A, XREF_CMcpxStream_Flush,
XREF_DSSTREAMSETFREQUENCY1B, XREF_CMcpxStream_Discontinuity,
XREF_XAudioCalculatePitch,
XREF_DSSTREAMSETROLLOFFFACTOR1A, XREF_DSSTREAMSETROLLOFFFACTOR1A,
XREF_DSSTREAMSETROLLOFFFACTOR1B, XREF_DSSTREAMSETROLLOFFFACTOR1B,
XREF_GET2DSURFACEDESCB, XREF_GET2DSURFACEDESCB,
XREF_COMMONSETRENDERTARGET, XREF_D3D_CommonSetRenderTarget,
XREF_COMMITDEFERREDSETTINGSA, XREF_CDirectSound_CommitDeferredSettings,
XREF_COMMITDEFERREDSETTINGSB, XREF_CMcpxAPU_Commit3dSettings,
XREF_CDirectSound_SetOrientation,
XREF_IDirectSound_CreateSoundBuffer,
XREF_IDirectSound_CreateSoundStream,
// s+ // s+
// DSOUND // DSOUND
XREF_DS_CRefCount_AddRef,
XREF_DS_CRefCount_Release,
XREF_DSVOICESETMAXDISTANCE, XREF_DSVOICESETMAXDISTANCE,
XREF_DSVOICESETMINDISTANCE,
XREF_DSVOICESETROLLOFFCURVE, XREF_DSVOICESETROLLOFFCURVE,
XREF_DSVOICESETROLLOFFFACTOR, XREF_DSVOICESETROLLOFFFACTOR,
XREF_DSVOICESETDISTANCEFACTOR, XREF_DSVOICESETDISTANCEFACTOR,
XREF_DSVOICESETCONEANGLES, XREF_CDirectSoundVoice_SetConeAngles,
XREF_DSVOICESETCONEORIENTATION,
XREF_DSVOICESETCONEOUTSIDEVOLUME,
XREF_DSVOICESETPOSITION,
XREF_DSVOICESETVELOCITY,
XREF_CDirectSoundVoice_SetDopplerFactor, XREF_CDirectSoundVoice_SetDopplerFactor,
XREF_DSVOICESETI3DL2SOURCE, XREF_CMcpxVoiceClient_Set3dMode,
XREF_DSBUFFERSETMODEA, XREF_CDirectSoundVoice_SetMode,
XREF_DSBUFFERSETMODEB, XREF_CDirectSoundBuffer_SetMode,
XREF_DSBUFFERSETMAXDISTANCE, XREF_CDirectSoundBuffer_SetMaxDistance,
XREF_DSBUFFERSETMINDISTANCE, XREF_CDirectSoundBuffer_SetMinDistance,
XREF_DSBUFFERSETROLLOFFCURVE, XREF_DSBUFFERSETROLLOFFCURVE,
XREF_DSBUFFERSETROLLOFFFACTOR, XREF_DSBUFFERSETROLLOFFFACTOR,
XREF_DSBUFFERSETDISTANCEFACTOR, XREF_DSBUFFERSETDISTANCEFACTOR,
XREF_DSBUFFERSETCONEANGLES, XREF_CDirectSoundBuffer_SetConeAngles,
XREF_DSBUFFERSETCONEORIENTATION, XREF_CDirectSoundBuffer_SetConeOrientation,
XREF_DSBUFFERSETCONEOUTSIDEVOLUME, XREF_CDirectSoundBuffer_SetConeOutsideVolume,
XREF_DSBUFFERSETPOSITION, XREF_CDirectSoundBuffer_SetPosition,
XREF_DSBUFFERSETVELOCITY, XREF_CDirectSoundBuffer_SetVelocity,
XREF_DSBUFFERSETDOPPLERFACTOR, XREF_DSBUFFERSETDOPPLERFACTOR,
XREF_DSBUFFERSETI3DL2SOURCE, XREF_CDirectSoundBuffer_SetI3DL2Source,
XREF_CDirectSoundVoice_SetFormat, XREF_CDirectSoundVoice_SetFormat,
XREF_CDirectSoundBuffer_SetFormat, XREF_CDirectSoundBuffer_SetFormat,
XREF_CFullHRTFSource_GetCenterVolume, XREF_CFullHRTFSource_GetCenterVolume,
@ -275,25 +313,23 @@ enum XRefDataBaseOffset
XREF_CMcpxVoiceClient_SetLFO, XREF_CMcpxVoiceClient_SetLFO,
XREF_CDirectSoundVoice_SetLFO, XREF_CDirectSoundVoice_SetLFO,
XREF_CDirectSoundBuffer_SetLFO, XREF_CDirectSoundBuffer_SetLFO,
XREF_CDirectSoundStream_SetLFO,
XREF_CDirectSoundVoice_SetVolume, XREF_CDirectSoundVoice_SetVolume,
XREF_CDirectSoundBuffer_SetVolume, XREF_CDirectSoundBuffer_SetVolume,
XREF_CDirectSoundStream_SetVolume,
XREF_CDirectSoundBuffer_SetLoopRegion, XREF_CDirectSoundBuffer_SetLoopRegion,
XREF_CMcpxBuffer_Play, XREF_CMcpxBuffer_Play,
XREF_CDirectSoundBuffer_PlayEx, XREF_CDirectSoundBuffer_PlayEx,
XREF_WaveFormat_CreateXboxAdpcmFormat, XREF_WaveFormat_CreateXboxAdpcmFormat,
XREF_CDirectSoundVoice_SetConeAngles,
XREF_CDirectSoundBuffer_SetConeAngles,
XREF_CDirectSoundVoice_CommitDeferredSettings, XREF_CDirectSoundVoice_CommitDeferredSettings,
XREF_CDirectSoundVoice_SetAllParameters,
XREF_CDirectSoundBuffer_SetAllParameters, XREF_CDirectSoundBuffer_SetAllParameters,
XREF_CDirectSound_EnableHeadphones,
XREF_CDirectSoundVoice_SetHeadroom,
XREF_CDirectSoundBuffer_SetHeadroom,
XREF_CDirectSound_GetOutputLevels, XREF_CDirectSound_GetOutputLevels,
XREF_CMcpxBuffer_Pause, XREF_CMcpxBuffer_Pause,
XREF_CDirectSoundBuffer_Pause, XREF_CDirectSoundBuffer_Pause,
XREF_CMcpxBuffer_GetStatus, XREF_CMcpxBuffer_GetStatus,
XREF_CDirectSoundBuffer_GetStatus, XREF_CDirectSoundBuffer_GetStatus,
XREF_CMcpxStream_GetStatus,
XREF_CDirectSoundStream_SetEG,
XREF_CDirectSoundVoice_SetEG, XREF_CDirectSoundVoice_SetEG,
XREF_CMcpxVoiceClient_SetEG, XREF_CMcpxVoiceClient_SetEG,
XREF_CMcpxVoiceClient_SetFilter, XREF_CMcpxVoiceClient_SetFilter,
@ -304,16 +340,15 @@ enum XRefDataBaseOffset
XREF_CMcpxBuffer_Stop2, XREF_CMcpxBuffer_Stop2,
XREF_CMcpxAPU_Set3dDopplerFactor, XREF_CMcpxAPU_Set3dDopplerFactor,
XREF_CSensaura3d_GetFullHRTFFilterPair, XREF_CSensaura3d_GetFullHRTFFilterPair,
XREF_CSensaura3d_GetLiteHRTFFilterPair,
XREF_CDirectSound_GetCaps, XREF_CDirectSound_GetCaps,
XREF_CDirectSoundVoice_SetPitch,
XREF_DirectSoundEnterCriticalSection, XREF_DirectSoundEnterCriticalSection,
XREF_CDirectSoundBuffer_SetMinDistance,
XREF_CDirectSoundBuffer_SetMaxDistance,
XREF_CMcpxVoiceClient_Commit3dSettings, XREF_CMcpxVoiceClient_Commit3dSettings,
XREF_CMcpxVoiceClient_SetI3DL2Source, XREF_CMcpxVoiceClient_SetI3DL2Source,
XREF_CDirectSoundVoice_SetI3DL2Source, XREF_CDirectSoundVoice_SetI3DL2Source,
XREF_CDirectSoundVoice_SetMixBinVolumes, XREF_CDirectSoundStream_SetMixBinVolumes_12,
XREF_CDirectSoundStream_SetMixBinVolumes, XREF_CDirectSoundStream_SetMixBinVolumes_8,
XREF_CDirectSoundStream_SetMixBins,
XREF_CDirectSoundStream_SetHeadroom, XREF_CDirectSoundStream_SetHeadroom,
XREF_CDirectSoundVoice_SetOutputBuffer, XREF_CDirectSoundVoice_SetOutputBuffer,
XREF_CDirectSoundBuffer_SetOutputBuffer, XREF_CDirectSoundBuffer_SetOutputBuffer,
@ -323,6 +358,19 @@ enum XRefDataBaseOffset
XREF_CMcpxBuffer_Play2, XREF_CMcpxBuffer_Play2,
XREF_CDirectSoundVoice_Use3DVoiceData, XREF_CDirectSoundVoice_Use3DVoiceData,
XREF_CDirectSoundBuffer_Use3DVoiceData, XREF_CDirectSoundBuffer_Use3DVoiceData,
XREF_CDirectSound_SetEffectData,
XREF_CDirectSound_GetSpeakerConfig,
XREF_CDirectSound_DownloadEffectsImage,
XREF_CDirectSound_CommitEffectData,
XREF_CDirectSound_GetTime,
XREF_CMcpxAPU_SetI3DL2Listener,
XREF_CDirectSoundStream_SetOutputBuffer,
XREF_CDirectSoundStream_SetAllParameters,
XREF_CDirectSoundStream_SetConeAngles,
XREF_CDirectSoundStream_SetConeOutsideVolume,
XREF_CDirectSoundStream_SetMode,
XREF_CDirectSoundStream_SetI3DL2Source,
XREF_CDirectSoundStream_Pause,
// XACT // XACT
// +s // +s
XREF_XACT_CEngine_RegisterWaveBank, XREF_XACT_CEngine_RegisterWaveBank,
@ -331,6 +379,7 @@ enum XRefDataBaseOffset
XREF_XACT_CEngine_DownloadEffectsImage, XREF_XACT_CEngine_DownloadEffectsImage,
XREF_XACT_CEngine_CreateSoundSource, XREF_XACT_CEngine_CreateSoundSource,
XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName,
XREF_XACT_CSoundBank_Play,
XREF_XACT_CEngine_RegisterNotification, XREF_XACT_CEngine_RegisterNotification,
XREF_XACT_CEngine_GetNotification, XREF_XACT_CEngine_GetNotification,
XREF_XACT_CEngine_UnRegisterWaveBank, XREF_XACT_CEngine_UnRegisterWaveBank,

View File

@ -0,0 +1,45 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.3911.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) 2017 jarupxx
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef D3D8_3911_H
#define D3D8_3911_H
#include "OOVPA.h"
extern LOOVPA<1+11> D3DDevice_SetTextureState_TexCoordIndex_3911;
extern LOOVPA<2+15> D3DDevice_SetRenderState_CullMode_3911;
extern OOVPATable D3D8_3911[];
extern uint32 D3D8_3911_SIZE;
#endif

File diff suppressed because it is too large Load Diff

View File

@ -36,8 +36,10 @@
#include "OOVPA.h" #include "OOVPA.h"
#if 0 // Moved to 3911
extern LOOVPA<1+11> D3DDevice_SetTextureState_TexCoordIndex_3925; extern LOOVPA<1+11> D3DDevice_SetTextureState_TexCoordIndex_3925;
extern LOOVPA<2+15> D3DDevice_SetRenderState_CullMode_3925; extern LOOVPA<2+15> D3DDevice_SetRenderState_CullMode_3925;
#endif
extern OOVPATable D3D8_3925[]; extern OOVPATable D3D8_3925[];
extern uint32 D3D8_3925_SIZE; extern uint32 D3D8_3925_SIZE;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.3948.cpp
// *
// * 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
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3948, 8)
// 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;

View File

@ -36,6 +36,7 @@
#include "OOVPA.h" #include "OOVPA.h"
extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4034;
extern LOOVPA<2+14> D3DDevice_SetRenderState_CullMode_4034; extern LOOVPA<2+14> D3DDevice_SetRenderState_CullMode_4034;
extern OOVPATable D3D8_4034[]; extern OOVPATable D3D8_4034[];

File diff suppressed because it is too large Load Diff

View File

@ -36,7 +36,9 @@
#include "OOVPA.h" #include "OOVPA.h"
#if 0 // Moved to 4034
extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4134; extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4134;
#endif
extern OOVPATable D3D8_4134[]; extern OOVPATable D3D8_4134[];
extern uint32 D3D8_4134_SIZE; extern uint32 D3D8_4134_SIZE;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,44 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4242.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) 2017 jarupxx
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef D3D8_4242_H
#define D3D8_4242_H
#include "OOVPA.h"
extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4242;
extern OOVPATable D3D8_4242[];
extern uint32 D3D8_4242_SIZE;
#endif

View File

@ -0,0 +1,187 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4242.cpp
// *
// * 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

@ -36,7 +36,9 @@
#include "OOVPA.h" #include "OOVPA.h"
extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4361; #if 0 // Moved to 4242
extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4242;
#endif
extern OOVPATable D3D8_4361[]; extern OOVPATable D3D8_4361[];
extern uint32 D3D8_4361_SIZE; extern uint32 D3D8_4361_SIZE;

View File

@ -32,6 +32,7 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * CMiniport::InitHardware // * CMiniport::InitHardware
// ****************************************************************** // ******************************************************************
@ -63,6 +64,7 @@ OOVPA_NO_XREF(CMiniport_InitHardware, 4361, 24)
{ 0x1E, 0xA6 }, { 0x1E, 0xA6 },
{ 0x1F, 0xDC }, { 0x1F, 0xDC },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4034 #if 0 // Moved to 4034
// ****************************************************************** // ******************************************************************
// * CMiniport::CreateCtxDmaObject // * CMiniport::CreateCtxDmaObject
@ -126,9 +128,9 @@ OOVPA_END;
#endif #endif
#if 0 // Moved to 4134 #if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * MakeRequestedSpace // * D3D_MakeRequestedSpace
// ****************************************************************** // ******************************************************************
OOVPA_XREF(MakeRequestedSpace, 4361, 28, // Also for 4627 OOVPA_XREF(D3D_MakeRequestedSpace, 4361, 28, // Also for 4627
XREF_D3D_MakeRequestedSpace, XREF_D3D_MakeRequestedSpace,
XRefZero) XRefZero)
@ -164,10 +166,11 @@ OOVPA_XREF(MakeRequestedSpace, 4361, 28, // Also for 4627
{ 0x1F, 0x03 }, { 0x1F, 0x03 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVerticalBlankCallback // * D3DDevice_SetVerticalBlankCallback
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4361, 12) OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4242, 12)
// D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04]
{ 0x00, 0x8B }, { 0x00, 0x8B },
@ -189,11 +192,12 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4361, 12)
{ 0x10, 0xC2 }, { 0x10, 0xC2 },
{ 0x11, 0x04 }, { 0x11, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetSwapCallback // * D3DDevice_SetSwapCallback
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4361, 12) OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4242, 12)
// D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04]
{ 0x00, 0x8B }, { 0x00, 0x8B },
@ -215,6 +219,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4361, 12)
{ 0x10, 0xC2 }, { 0x10, 0xC2 },
{ 0x11, 0x04 }, { 0x11, 0x04 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3D_GetAdapterDisplayMode // * D3D_GetAdapterDisplayMode
@ -243,10 +248,11 @@ OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 4361, 13)
{ 0xBE, 0x08 }, { 0xBE, 0x08 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * D3DDevice_AddRef // * D3DDevice_AddRef
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_AddRef, 4361, 10) OOVPA_NO_XREF(D3DDevice_AddRef, 4242, 10)
// D3DDevice_AddRef+0x00 : mov eax, [addr] // D3DDevice_AddRef+0x00 : mov eax, [addr]
{ 0x00, 0xA1 }, { 0x00, 0xA1 },
@ -266,13 +272,14 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 4361, 10)
{ 0x0E, 0x40 }, { 0x0E, 0x40 },
{ 0x0F, 0x04 }, { 0x0F, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4134 #if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * D3D_ClearStateBlockFlags // * D3D_ClearStateBlockFlags
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_ClearStateBlockFlags, 4361, 9, OOVPA_XREF(D3D_ClearStateBlockFlags, 4361, 9,
XREF_CLEARSTATEBLOCKFLAGS, XREF_D3D_ClearStateBlockFlags,
XRefZero) XRefZero)
// D3D_ClearStateBlockFlags+0x0A : movzx ecx, 0x82 // D3D_ClearStateBlockFlags+0x0A : movzx ecx, 0x82
@ -297,7 +304,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_RecordStateBlock, 4361, 10, OOVPA_XREF(D3D_RecordStateBlock, 4361, 10,
XREF_RECORDSTATEBLOCK, XREF_D3D_RecordStateBlock,
XRefZero) XRefZero)
// D3D_RecordStateBlock+0x0F : mov eax, [edi+0x0390] // D3D_RecordStateBlock+0x0F : mov eax, [edi+0x0390]
@ -327,7 +334,7 @@ OOVPA_XREF(D3DDevice_BeginStateBlock, 4361, 6,
XRefOne) XRefOne)
// D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags]
XREF_ENTRY( 0x0A, XREF_CLEARSTATEBLOCKFLAGS ), XREF_ENTRY( 0x0A, XREF_D3D_ClearStateBlockFlags ),
// D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr]
{ 0x00, 0xA1 }, { 0x00, 0xA1 },
@ -359,7 +366,7 @@ OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 4361, 9)
{ 0xAC, 0x00 }, { 0xAC, 0x00 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 1 //same as 3925 #if 0 //same as 3925
// ****************************************************************** // ******************************************************************
// * D3DDevice_DeleteStateBlock // * D3DDevice_DeleteStateBlock
// ****************************************************************** // ******************************************************************
@ -374,11 +381,14 @@ OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 4361, 7)
{ 0x83, 0xEB }, { 0x83, 0xEB },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_ApplyStateBlock // * D3DDevice_ApplyStateBlock
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4361, 9) OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4361, 10)
// D3DDevice_ApplyStateBlock+0x00 : push ebx
{ 0x00, 0x53 },
// D3DDevice_ApplyStateBlock+0x0E : lea esi, [edi+0x3C] // D3DDevice_ApplyStateBlock+0x0E : lea esi, [edi+0x3C]
{ 0x0E, 0x8D }, { 0x0E, 0x8D },
@ -395,6 +405,7 @@ OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4361, 9)
{ 0x9F, 0xE8 }, { 0x9F, 0xE8 },
{ 0xA0, 0x60 }, { 0xA0, 0x60 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4134 #if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * D3DDevice_EndStateBlock // * D3DDevice_EndStateBlock
@ -405,7 +416,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 4361, 6,
XRefOne) XRefOne)
// D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags]
XREF_ENTRY( 0x0A, XREF_RECORDSTATEBLOCK ), XREF_ENTRY( 0x0A, XREF_D3D_RecordStateBlock ),
// D3DDevice_EndStateBlock+0x00 : mov eax, [addr] // D3DDevice_EndStateBlock+0x00 : mov eax, [addr]
{ 0x00, 0xA1 }, { 0x00, 0xA1 },
@ -417,6 +428,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 4361, 6,
{ 0x08, 0xDF }, { 0x08, 0xDF },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetRenderTarget // * D3DDevice_GetRenderTarget
// ****************************************************************** // ******************************************************************
@ -439,6 +451,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4361, 9)
{ 0x1D, 0xC2 }, { 0x1D, 0xC2 },
{ 0x1E, 0x04 }, { 0x1E, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4134 #if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetViewport // * D3DDevice_GetViewport
@ -464,6 +477,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 4361, 10)
{ 0x1B, 0x04 }, { 0x1B, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetTextureState_BorderColor // * D3DDevice_SetTextureState_BorderColor
// ****************************************************************** // ******************************************************************
@ -492,7 +506,8 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 4361, 15)
{ 0x3A, 0xC2 }, { 0x3A, 0xC2 },
{ 0x3B, 0x08 }, { 0x3B, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SwitchTexture // * D3DDevice_SwitchTexture
// ****************************************************************** // ******************************************************************
@ -518,7 +533,8 @@ OOVPA_NO_XREF(D3DDevice_SwitchTexture, 4361, 10)
{ 0x2E, 0xEB }, { 0x2E, 0xEB },
{ 0x2F, 0xD0 }, { 0x2F, 0xD0 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_Swap // * D3DDevice_Swap
// ****************************************************************** // ******************************************************************
@ -543,7 +559,8 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4361, 11)
{ 0xAE, 0xC2 }, { 0xAE, 0xC2 },
{ 0xAF, 0x04 }, { 0xAF, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_UpdateOverlay // * D3DDevice_UpdateOverlay
// ****************************************************************** // ******************************************************************
@ -566,6 +583,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4361, 11)
{ 0xA4, 0x20 }, { 0xA4, 0x20 },
{ 0xA5, 0x89 }, { 0xA5, 0x89 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_BlockUntilVerticalBlank // * D3DDevice_BlockUntilVerticalBlank
@ -592,15 +610,16 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4361, 11)
{ 0x23, 0xC3 }, { 0x23, 0xC3 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetTextureState_TexCoordIndex // * D3DDevice_SetTextureState_TexCoordIndex
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4361, 1+10, OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY(0x19, XREF_D3DTSS_TEXCOORDINDEX), // Derived XREF_ENTRY(0x19, XREF_D3DTSS_TEXCOORDINDEX), // Derived
// D3DDevice_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07 // D3DDevice_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07
{ 0x0D, 0xC1 }, { 0x0D, 0xC1 },
@ -620,7 +639,8 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4361, 1+10,
{ 0xB4, 0xE2 }, { 0xB4, 0xE2 },
{ 0xB5, 0x04 }, { 0xB5, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DResource_Release // * D3DResource_Release
// ****************************************************************** // ******************************************************************
@ -649,6 +669,7 @@ OOVPA_NO_XREF(D3DResource_Release, 4361, 13)
{ 0x4B, 0xC2 }, { 0x4B, 0xC2 },
{ 0x4C, 0x04 }, { 0x4C, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4039 #if 0 // Moved to 4039
// ****************************************************************** // ******************************************************************
// * D3DResource_IsBusy // * D3DResource_IsBusy
@ -703,7 +724,7 @@ OOVPA_NO_XREF(D3DBaseTexture_GetLevelCount, 4361, 13)
{ 0x0C, 0x04 }, { 0x0C, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetShaderConstantMode // * D3DDevice_SetShaderConstantMode
// ****************************************************************** // ******************************************************************
@ -727,7 +748,7 @@ OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4361, 12)
{ 0xE9, 0x24 }, { 0xE9, 0x24 },
{ 0xEA, 0x01 }, { 0xEA, 0x01 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetFlickerFilter // * D3DDevice_SetFlickerFilter
@ -752,7 +773,7 @@ OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 4361, 11)
{ 0x40, 0x04 }, { 0x40, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_PrimeVertexCache // * D3DDevice_PrimeVertexCache
// ****************************************************************** // ******************************************************************
@ -766,7 +787,7 @@ OOVPA_NO_XREF(D3DDevice_PrimeVertexCache, 4361, 7)
{ 0x5E, 0x04 }, { 0x5E, 0x04 },
{ 0x6E, 0x04 }, { 0x6E, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4134 #if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * D3DDevice_BeginPush // * D3DDevice_BeginPush
@ -905,6 +926,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4361, 8)
{ 0xFE, 0x24 }, { 0xFE, 0x24 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_CreateCubeTexture // * D3DDevice_CreateCubeTexture
// ****************************************************************** // ******************************************************************
@ -919,6 +941,7 @@ OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 4361, 8)
{ 0x25, 0xC2 }, { 0x25, 0xC2 },
{ 0x26, 0x18 }, { 0x26, 0x18 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4134 #if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * D3DCubeTexture_GetCubeMapSurface // * D3DCubeTexture_GetCubeMapSurface
@ -934,6 +957,7 @@ OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 4361, 7)
{ 0x4B, 0x5E }, { 0x4B, 0x5E },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetScissors // * D3DDevice_SetScissors
// ****************************************************************** // ******************************************************************
@ -955,8 +979,8 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 4361, 10)
{ 0x1D, 0xD8 }, { 0x1D, 0xD8 },
{ 0x1E, 0x09 }, { 0x1E, 0x09 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetPixelShaderProgram // * D3DDevice_SetPixelShaderProgram
// ****************************************************************** // ******************************************************************
@ -973,6 +997,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 4361, 10)
{ 0x2B, 0x24 }, { 0x2B, 0x24 },
{ 0x2C, 0x04 }, { 0x2C, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4134 #if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetVertexShader // * D3DDevice_GetVertexShader
@ -988,6 +1013,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4361, 7)
{ 0x13, 0x00 }, { 0x13, 0x00 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexDataColor // * D3DDevice_SetVertexDataColor
// ****************************************************************** // ******************************************************************
@ -1001,7 +1027,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 4361, 7)
{ 0x3A, 0xFF }, { 0x3A, 0xFF },
{ 0x44, 0x08 }, { 0x44, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexShaderInput // * D3DDevice_SetVertexShaderInput
// ****************************************************************** // ******************************************************************
@ -1016,7 +1043,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 4361, 8)
{ 0xDE, 0xC6 }, { 0xDE, 0xC6 },
{ 0xFE, 0x89 }, { 0xFE, 0x89 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexData2s // * D3DDevice_SetVertexData2s
// ****************************************************************** // ******************************************************************
@ -1031,7 +1059,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 4361, 8)
{ 0x1A, 0x00 }, { 0x1A, 0x00 },
{ 0x1F, 0xBF }, { 0x1F, 0xBF },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexData4s // * D3DDevice_SetVertexData4s
// ****************************************************************** // ******************************************************************
@ -1047,6 +1076,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 4361, 9)
{ 0x1B, 0x19 }, { 0x1B, 0x19 },
{ 0x1F, 0xBF }, { 0x1F, 0xBF },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_BeginVisibilityTest@0 // * D3DDevice_BeginVisibilityTest@0
@ -1061,6 +1091,7 @@ OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4361, 7)
{ 0x28, 0x06 }, { 0x28, 0x06 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_EndVisibilityTest@4 // * D3DDevice_EndVisibilityTest@4
// ****************************************************************** // ******************************************************************
@ -1073,7 +1104,7 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 4361, 7)
{ 0x46, 0x89 }, { 0x46, 0x89 },
{ 0x55, 0x5F }, { 0x55, 0x5F },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetTexture // * D3DDevice_SetTexture
@ -1086,7 +1117,6 @@ OOVPA_XREF(D3DDevice_SetTexture, 4361, 1+28,
XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived
#endif #endif
OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28) OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28)
{ 0x00, 0x83 }, { 0x00, 0x83 },
@ -1120,12 +1150,13 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28)
{ 0x1F, 0x24 }, { 0x1F, 0x24 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3D::BlockOnTime // * D3D::BlockOnTime
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_BlockOnTime, 4361, 13, OOVPA_XREF(D3D_BlockOnTime, 4361, 13,
XREF_D3D_BLOCKONTIME, XREF_D3D_BlockOnTime,
XRefZero) XRefZero)
{ 0x07, 0x3D }, { 0x07, 0x3D },
@ -1145,6 +1176,7 @@ OOVPA_XREF(D3D_BlockOnTime, 4361, 13,
{ 0x38, 0x8B }, { 0x38, 0x8B },
{ 0x44, 0xE8 }, { 0x44, 0xE8 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_SelectVertexShaderDirect // * D3DDevice_SelectVertexShaderDirect
@ -1197,198 +1229,198 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPATable D3D8_4361[] = { OOVPATable D3D8_4361[] = {
REGISTER_OOVPA(CMiniport_InitHardware, 4361, PATCH), REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH),
REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH),
REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH),
REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH),
REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED),
REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_AddRef, 4361, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH),
REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF),
REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF),
REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewport, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED),
REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Swap, 4361, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4361, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4361, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4242, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH),
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Release, 4361, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH),
REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH),
REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH),
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH),
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH),
REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3925, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3925, DISABLED), // TODO: This needs to be verified on 4361, not just 4242! REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3911, DISABLED), // TODO: This needs to be verified on 4361, not just 4242!
REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH),
REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH),
REGISTER_OOVPA(D3DPalette_Lock, 3925, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH),
REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPalette, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH),
REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH),
REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3D_SetFence, 4134, XREF),
REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4242, PATCH),
REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4361, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4242, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BlockOnFence, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH),
REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH),
REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH),
REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface
REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH),
REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface
REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH),
REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH),
REGISTER_OOVPA(D3D_BlockOnTime, 4361, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4034, PATCH),
REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH),
REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH),
REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -55,6 +55,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 4432, 8)
{ 0xA1, 0x18 }, { 0xA1, 0x18 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetRenderTarget // * D3DDevice_GetRenderTarget
// ****************************************************************** // ******************************************************************
@ -83,6 +84,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4432, 11)
{ 0x1D, 0xC2 }, { 0x1D, 0xC2 },
{ 0x1E, 0x04 }, { 0x1E, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetDepthStencilSurface // * D3DDevice_GetDepthStencilSurface
@ -113,6 +115,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 4432, 11)
{ 0x26, 0x04 }, { 0x26, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetPixelShader // * D3DDevice_SetPixelShader
// ****************************************************************** // ******************************************************************
@ -136,7 +139,30 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4432, 10)
{ 0xE3, 0xF3 }, { 0xE3, 0xF3 },
{ 0xE4, 0xA5 }, { 0xE4, 0xA5 },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * 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;
#if 0 // No longer used, replaced by generic 4432 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_ZEnable // * D3DDevice_SetRenderState_ZEnable
// ****************************************************************** // ******************************************************************
@ -163,7 +189,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4432, 13)
{ 0x8C, 0xC2 }, { 0x8C, 0xC2 },
{ 0x8D, 0x04 }, { 0x8D, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleAntiAlias // * D3DDevice_SetRenderState_MultiSampleAntiAlias
// ****************************************************************** // ******************************************************************
@ -188,7 +215,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4432, 9)
{ 0x4F, 0xC2 }, { 0x4F, 0xC2 },
{ 0x50, 0x04 }, { 0x50, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version #if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_LineWidth // * D3DDevice_SetRenderState_LineWidth
@ -214,7 +241,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 4432, 10)
{ 0x63, 0x04 }, { 0x63, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetPalette // * D3DDevice_SetPalette
// ****************************************************************** // ******************************************************************
@ -238,7 +265,8 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 4432, 12)
{ 0x8A, 0xC2 }, { 0x8A, 0xC2 },
{ 0x8B, 0x08 }, { 0x8B, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_Swap // * D3DDevice_Swap
// ****************************************************************** // ******************************************************************
@ -263,7 +291,8 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4432, 11)
{ 0xAE, 0xC2 }, { 0xAE, 0xC2 },
{ 0xAF, 0x04 }, { 0xAF, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4531
// ****************************************************************** // ******************************************************************
// * D3DDevice_Swap // * D3DDevice_Swap
// ****************************************************************** // ******************************************************************
@ -288,7 +317,8 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4531, 11)
{ 0xB9, 0xC2 }, { 0xB9, 0xC2 },
{ 0xBA, 0x04 }, { 0xBA, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_UpdateOverlay // * D3DDevice_UpdateOverlay
// ****************************************************************** // ******************************************************************
@ -311,6 +341,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4432, 11)
{ 0xA4, 0x20 }, { 0xA4, 0x20 },
{ 0xA5, 0x89 }, { 0xA5, 0x89 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_BlockUntilVerticalBlank // * D3DDevice_BlockUntilVerticalBlank
@ -389,22 +420,24 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4432, 12)
{ 0x11, 0x04 }, { 0x11, 0x04 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 4531
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_BackFillMode // * D3DDevice_SetRenderState_BackFillMode
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9) OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9)
{ 0x04, 0x56 }, { 0x04, 0x56 },
{ 0x10, 0x8B }, { 0x10, 0x8B },
{ 0x11, 0x06 }, { 0x11, 0x06 },
{ 0x12, 0x3B }, { 0x12, 0x3B },
{ 0x13, 0x46 }, { 0x13, 0x46 },
{ 0x14, 0x04 }, { 0x14, 0x04 },
{ 0x41, 0x83 }, { 0x41, 0x83 },
{ 0x42, 0xC0 }, { 0x42, 0xC0 },
{ 0x43, 0x0C }, { 0x43, 0x0C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_BeginPush // * D3DDevice_BeginPush
// ****************************************************************** // ******************************************************************
@ -417,7 +450,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 4432, 6)
{ 0x17, 0xE8 }, { 0x17, 0xE8 },
{ 0x1D, 0xC2 }, { 0x1D, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_Release // * D3DDevice_Release
@ -437,7 +470,7 @@ OOVPA_NO_XREF(D3DDevice_Release, 4432, 11)
{ 0x1F, 0x00 }, { 0x1F, 0x00 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DTexture_GetSurfaceLevel // * D3DTexture_GetSurfaceLevel
// ****************************************************************** // ******************************************************************
@ -471,7 +504,8 @@ OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel, 4432, 14)
{ 0x4C, 0xC2 }, { 0x4C, 0xC2 },
{ 0x4D, 0x0C }, { 0x4D, 0x0C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetDisplayMode // * D3DDevice_GetDisplayMode
// ****************************************************************** // ******************************************************************
@ -499,7 +533,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4432, 12)
{ 0x92, 0xC2 }, { 0x92, 0xC2 },
{ 0x93, 0x04 }, { 0x93, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetFlickerFilter // * D3DDevice_SetFlickerFilter
@ -549,6 +583,7 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 4432, 12)
{ 0x4F, 0x04 }, { 0x4F, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // Moved to 4531
// ****************************************************************** // ******************************************************************
// * D3DVertexBuffer_Lock // * D3DVertexBuffer_Lock
// ****************************************************************** // ******************************************************************
@ -573,7 +608,8 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4531, 11)
{ 0x54, 0xC2 }, { 0x54, 0xC2 },
{ 0x55, 0x14 }, { 0x55, 0x14 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetProjectionViewportMatrix // * D3DDevice_GetProjectionViewportMatrix
// ****************************************************************** // ******************************************************************
@ -587,6 +623,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4432, 7)
{ 0x16, 0x00 }, { 0x16, 0x00 },
{ 0x1A, 0x5E }, { 0x1A, 0x5E },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4039 #if 0 // Moved to 4039
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetModelView // * D3DDevice_SetModelView
@ -602,6 +639,7 @@ OOVPA_NO_XREF(D3DDevice_SetModelView, 4432, 7)
{ 0x9F, 0x75 }, { 0x9F, 0x75 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetDisplayFieldStatus // * D3DDevice_GetDisplayFieldStatus
// ****************************************************************** // ******************************************************************
@ -615,204 +653,251 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 4432, 7)
{ 0x25, 0x33 }, { 0x25, 0x33 },
{ 0x26, 0xD2 }, { 0x26, 0xD2 },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * 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;
// ****************************************************************** // ******************************************************************
// * D3D8_4432 // * D3D8_4432
// ****************************************************************** // ******************************************************************
// No longer supported XDK 4531 by HLEDB_v1
OOVPATable D3D8_4432[] { OOVPATable D3D8_4432[] {
REGISTER_OOVPA(CMiniport_InitHardware, 4361, PATCH), REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH),
REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH),
REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH),
REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH),
REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED),
REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_AddRef, 4361, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShader, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH),
REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPalette, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_Swap, 4432, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Swap, 4531, PATCH), // REGISTER_OOVPA(D3DDevice_Swap, 4531, PATCH),
REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4432, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4432, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH),
REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH),
REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH),
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 4432, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH),
REGISTER_OOVPA(D3DPalette_Lock, 3925, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH),
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), // REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH),
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH),
REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH),
REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3D_SetFence, 4134, XREF),
REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED),
REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH), // REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH),
REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewport, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED),
REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH),
REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH),
REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface
REGISTER_OOVPA(Lock2DSurface, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),// Just calls Lock2DSurface
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPush, 4432, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH),
REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED),
REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF),
REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH),
REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface
REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4361, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH),// Just calls Lock2DSurface REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 4361, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH),
REGISTER_OOVPA(D3D_BlockOnTime, 4361, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_BlockOnFence, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH),
REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF),
REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH),
REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF),
REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH),
// ****************************************************************** // ******************************************************************
// Provisional registration functions in XDK 4432 // Provisional registration functions in XDK 4432
// TODO: Need test cases // TODO: Need test cases
// ****************************************************************** // ******************************************************************
REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH),
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,175 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4531.cpp
// *
// * 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;
#if 0 // No longer used, replaced by generic 4134 version
// ******************************************************************
// * D3DDevice_SetRenderState_BackFillMode
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9)
{ 0x04, 0x56 },
{ 0x10, 0x8B },
{ 0x11, 0x06 },
{ 0x12, 0x3B },
{ 0x13, 0x46 },
{ 0x14, 0x04 },
{ 0x41, 0x83 },
{ 0x42, 0xC0 },
{ 0x43, 0x0C },
OOVPA_END;
#endif
// ******************************************************************
// * 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;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,169 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4831.cpp
// *
// * 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;
#if 0 // No longer used, replaced by generic 4831 version
// ******************************************************************
// * D3DDevice_CreateTexture2
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4831, 12)
// D3DDevice_CreateTexture2+0x02 : lea eax, [esp+0x20]
{ 0x04, 0x8D },
{ 0x07, 0x20 },
// D3DDevice_CreateTexture2+0x0E : setz dl
{ 0x10, 0x0F },
{ 0x11, 0x94 },
{ 0x12, 0xC2 },
// D3DDevice_CreateTexture2+0x2A : push 0x00
{ 0x2E, 0x6A },
{ 0x2F, 0x00 },
// D3DDevice_CreateTexture2+0x53 : call [abs]
{ 0x57, 0xE8 },
// D3DDevice_CreateTexture2+0x78 : jnz +0x0D
{ 0x7C, 0x75 },
{ 0x7D, 0x0D },
// D3DDevice_CreateTexture2+0xAE : retn 0x1C
{ 0x88, 0xC2 },
{ 0x89, 0x1C },
OOVPA_END;
#endif
// ******************************************************************
// * D3DDevice_SetTexture
// ******************************************************************
#if 0 // Derived XREF_OFFSET_D3DDEVICE_M_TEXTURES is not Implemented yet.
OOVPA_XREF(D3DDevice_SetTexture, 4928, 1+15,
XRefNoSaveIndex,
XRefOne)
XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived
#endif
OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15)
{ 0x0B, 0x56 },
{ 0x21, 0x74 },
{ 0x22, 0x20 },
{ 0x33, 0xF7 },
{ 0x34, 0xC1 },
{ 0x36, 0xFF },
{ 0x39, 0x89 },
{ 0x3A, 0x10 },
{ 0x50, 0x75 },
{ 0x51, 0x47 },
{ 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

@ -0,0 +1,70 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4928.cpp
// *
// * 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, 18)
{ 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

@ -62,6 +62,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 5028, 20) // Also for 5120, 5233, 5344 (545
{ 0x1F, 0xC7 }, { 0x1F, 0xC7 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_TextureFactor // * D3DDevice_SetRenderState_TextureFactor
// ****************************************************************** // ******************************************************************
@ -84,7 +85,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5028, 9)
{ 0x4E, 0xC2 }, { 0x4E, 0xC2 },
{ 0x4F, 0x04 }, { 0x4F, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_Dxt1NoiseEnable // * D3DDevice_SetRenderState_Dxt1NoiseEnable
// ****************************************************************** // ******************************************************************
@ -98,7 +100,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5028, 7)
{ 0x58, 0x05 }, { 0x58, 0x05 },
{ 0x75, 0x04 }, { 0x75, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4432 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_ZEnable // * D3DDevice_SetRenderState_ZEnable
// ****************************************************************** // ******************************************************************
@ -113,6 +116,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 5028, 8)
{ 0x7C, 0xCE }, { 0x7C, 0xCE },
{ 0x8E, 0x00 }, { 0x8E, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4627 #if 0 // Moved to 4627
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_SampleAlpha // * D3DDevice_SetRenderState_SampleAlpha
@ -128,6 +132,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha, 5028, 7)
{ 0x44, 0x83 }, { 0x44, 0x83 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4831 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_CreateTexture2 // * D3DDevice_CreateTexture2
// ****************************************************************** // ******************************************************************
@ -145,7 +150,34 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5028, 11) // Also for 5233, 5344, 5558,
{ 0x42, 0x8B }, { 0x42, 0x8B },
{ 0x52, 0xF7 }, { 0x52, 0xF7 },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * 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;
#if 0 // No longer used, replaced by another 5028 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_BlockUntilVerticalBlank // * D3DDevice_BlockUntilVerticalBlank
// ****************************************************************** // ******************************************************************
@ -159,7 +191,8 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5028, 7)
{ 0x1C, 0x50 }, { 0x1C, 0x50 },
{ 0x23, 0xC3 }, { 0x23, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetBackBuffer2 // * D3DDevice_GetBackBuffer2
// ****************************************************************** // ******************************************************************
@ -185,7 +218,8 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5028, 12)
{ 0x40, 0xC2 }, { 0x40, 0xC2 },
{ 0x41, 0x04 }, { 0x41, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetRenderTarget2 // * D3DDevice_GetRenderTarget2
// ****************************************************************** // ******************************************************************
@ -198,7 +232,8 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget2, 5028, 6)
{ 0x16, 0x8B }, { 0x16, 0x8B },
{ 0x17, 0xC6 }, { 0x17, 0xC6 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetDepthStencilSurface2 // * D3DDevice_GetDepthStencilSurface2
// ****************************************************************** // ******************************************************************
@ -212,7 +247,8 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 5028, 7)
{ 0x1A, 0x8B }, { 0x1A, 0x8B },
{ 0x1B, 0xC6 }, { 0x1B, 0xC6 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetViewport // * D3DDevice_SetViewport
// ****************************************************************** // ******************************************************************
@ -233,7 +269,8 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 5028, 9)
{ 0xE0, 0xE1 }, { 0xE0, 0xE1 },
{ 0xE1, 0x0F }, { 0xE1, 0x0F },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetLight // * D3DDevice_SetLight
// ****************************************************************** // ******************************************************************
@ -259,7 +296,8 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5028, 12)
{ 0xFE, 0x4B }, { 0xFE, 0x4B },
{ 0xFF, 0x68 }, { 0xFF, 0x68 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_LightEnable // * D3DDevice_LightEnable
// ****************************************************************** // ******************************************************************
@ -288,7 +326,8 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 5028, 13)
{ 0xE1, 0xC2 }, { 0xE1, 0xC2 },
{ 0xE2, 0x08 }, { 0xE2, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetIndices // * D3DDevice_SetIndices
// ****************************************************************** // ******************************************************************
@ -302,10 +341,12 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 5028, 7)
{ 0x64, 0x89 }, { 0x64, 0x89 },
{ 0x75, 0x10 }, { 0x75, 0x10 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetTile // * D3DDevice_SetTile
// ****************************************************************** // ******************************************************************
// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z
OOVPA_NO_XREF(D3DDevice_SetTile, 5028, 11) OOVPA_NO_XREF(D3DDevice_SetTile, 5028, 11)
// D3DDevice_SetTile+0x06 : sub esp, 0x18 // D3DDevice_SetTile+0x06 : sub esp, 0x18
@ -325,8 +366,8 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5028, 11)
{ 0x42, 0x00 }, { 0x42, 0x00 },
{ 0x43, 0x00 }, { 0x43, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetTile // * D3DDevice_GetTile
// ****************************************************************** // ******************************************************************
@ -349,7 +390,8 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5028, 13)
{ 0x23, 0xC2 }, { 0x23, 0xC2 },
{ 0x24, 0x08 }, { 0x24, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_Clear // * D3DDevice_Clear
// ****************************************************************** // ******************************************************************
@ -363,7 +405,8 @@ OOVPA_NO_XREF(D3DDevice_Clear, 5028, 8)
{ 0xD7, 0x75 }, { 0xD7, 0x75 },
{ 0xF6, 0xFF }, { 0xF6, 0xFF },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_DrawVertices // * D3DDevice_DrawVertices
// ****************************************************************** // ******************************************************************
@ -377,6 +420,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVertices, 5028, 7)
{ 0x70, 0x75 }, { 0x70, 0x75 },
{ 0x83, 0x40 }, { 0x83, 0x40 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_DrawIndexedVertices // * D3DDevice_DrawIndexedVertices
@ -424,6 +468,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 5028, 7)
{ 0x4B, 0x5E }, { 0x4B, 0x5E },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetShaderConstantMode // * D3DDevice_SetShaderConstantMode
// ****************************************************************** // ******************************************************************
@ -438,6 +483,7 @@ OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 5028, 8)
{ 0xD7, 0x89 }, { 0xD7, 0x89 },
{ 0xF6, 0x00 }, { 0xF6, 0x00 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexShader // * D3DDevice_SetVertexShader
@ -467,6 +513,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5028, 14)
{ 0xB4, 0x04 }, { 0xB4, 0x04 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_Swap // * D3DDevice_Swap
// ****************************************************************** // ******************************************************************
@ -480,18 +527,29 @@ OOVPA_NO_XREF(D3DDevice_Swap, 5028, 7)
{ 0xAC, 0xC6 }, { 0xAC, 0xC6 },
{ 0xC9, 0xC0 }, { 0xC9, 0xC0 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3D::SetFence // * D3D::SetFence
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_SetFence, 5028, 7, OOVPA_XREF(D3D_SetFence, 5028, 14,
XREF_D3D_SETFENCE, XREF_D3D_SetFence,
XRefZero) XRefZero)
{ 0x0E, 0x05 }, { 0x0E, 0x05 },
{ 0x18, 0xC9 }, { 0x18, 0xC9 },
{ 0x28, 0xBA },
{ 0x29, 0x90 },
{ 0x2A, 0x1D },
{ 0x2B, 0x04 },
{ 0x2C, 0x00 },
{ 0x3C, 0x83 },
{ 0x3D, 0xE1 },
{ 0x3E, 0x3F }, { 0x3E, 0x3F },
{ 0x5E, 0x28 }, { 0x5E, 0x28 },
{ 0x86, 0x5D }, { 0x86, 0x5D },
{ 0x98, 0xE8 }, { 0x98, 0xE8 },
@ -503,7 +561,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_BlockOnTime, 5028, 6, OOVPA_XREF(D3D_BlockOnTime, 5028, 6,
XREF_D3D_BLOCKONTIME, XREF_D3D_BlockOnTime,
XRefZero) XRefZero)
{ 0x09, 0x30 }, { 0x09, 0x30 },
@ -541,6 +599,7 @@ OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 5028, 9)
{ 0x10, 0xC3 }, { 0x10, 0xC3 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * Get2DSurfaceDesc // * Get2DSurfaceDesc
// ****************************************************************** // ******************************************************************
@ -562,6 +621,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5028, 10)
{ 0xAE, 0xC2 }, { 0xAE, 0xC2 },
{ 0xAF, 0x0C }, { 0xAF, 0x0C },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexShaderConstantNotInline // * D3DDevice_SetVertexShaderConstantNotInline
@ -623,14 +683,24 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetVertexShader // * D3DDevice_GetVertexShader
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5028, 7) OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5028, 16)
{ 0x00, 0xA1 },
{ 0x05, 0x8B }, { 0x05, 0x8B },
{ 0x06, 0x88 }, { 0x06, 0x88 },
{ 0x07, 0x80 }, { 0x07, 0x80 },
{ 0x08, 0x03 },
{ 0x09, 0x00 },
{ 0x0A, 0x00 }, { 0x0A, 0x00 },
{ 0x0B, 0x8B },
{ 0x0C, 0x54 },
{ 0x0D, 0x24 }, { 0x0D, 0x24 },
{ 0x0E, 0x04 },
{ 0x0F, 0x89 },
{ 0x10, 0x0A }, { 0x10, 0x0A },
{ 0x11, 0xC2 },
{ 0x12, 0x04 },
{ 0x13, 0x00 }, { 0x13, 0x00 },
OOVPA_END; OOVPA_END;
@ -652,23 +722,58 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetPixelShader // * D3DDevice_GetPixelShader
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5028, 7) OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5028, 16)
{ 0x00, 0xA1 },
{ 0x05, 0x8B }, { 0x05, 0x8B },
{ 0x06, 0x88 }, { 0x06, 0x88 },
{ 0x07, 0x6C }, { 0x07, 0x6C },
{ 0x08, 0x03 },
{ 0x09, 0x00 },
{ 0x0A, 0x00 }, { 0x0A, 0x00 },
{ 0x0B, 0x8B },
{ 0x0C, 0x54 },
{ 0x0D, 0x24 }, { 0x0D, 0x24 },
{ 0x0E, 0x04 },
{ 0x0F, 0x89 },
{ 0x10, 0x0A }, { 0x10, 0x0A },
{ 0x11, 0xC2 },
{ 0x12, 0x04 },
{ 0x13, 0x00 }, { 0x13, 0x00 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * D3D::CommonSetRenderTarget
// ******************************************************************
OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 12,
XREF_D3D_CommonSetRenderTarget,
XRefZero)
{ 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;
#if 0 // No longer used, replaced by generic 5028 version
// ****************************************************************** // ******************************************************************
// * D3D_CommonSetRenderTarget // * D3D_CommonSetRenderTarget
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 10, OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 10,
XREF_COMMONSETRENDERTARGET, XREF_D3D_CommonSetRenderTarget,
XRefZero) XRefZero)
{ 0x06, 0x24 }, { 0x06, 0x24 },
@ -682,7 +787,8 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 10,
{ 0x57, 0x10 }, { 0x57, 0x10 },
{ 0x67, 0x00 }, { 0x67, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4831 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_PersistDisplay // * D3DDevice_PersistDisplay
// ****************************************************************** // ******************************************************************
@ -699,30 +805,31 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5028, 10)
{ 0x23, 0x8B }, { 0x23, 0x8B },
{ 0x24, 0x83 }, { 0x24, 0x83 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_LazySetStateVB // * D3DDevice_LazySetStateVB
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3DDevice_LazySetStateVB, 5028, 12, OOVPA_XREF(D3DDevice_LazySetStateVB, 5028, 12,
XREF_D3DCD_LAZYSETSTATEVB, XREF_D3DDevice_LazySetStateVB,
XRefZero) XRefZero)
{ 0x00, 0x83 }, // 1 { 0x00, 0x83 },
{ 0x01, 0xEC }, // 2 { 0x01, 0xEC },
{ 0x02, 0x0C }, // 3 { 0x02, 0x0C },
{ 0x34, 0xF6 }, // 4 { 0x34, 0xF6 },
{ 0x35, 0xC3 }, // 5 { 0x35, 0xC3 },
{ 0x36, 0x40 }, // 6 { 0x36, 0x40 },
{ 0x57, 0x83 }, // 7 { 0x57, 0x83 },
{ 0x58, 0xE5 }, // 8 { 0x58, 0xE5 },
{ 0x59, 0x10 }, // 9 { 0x59, 0x10 },
{ 0x79, 0x17 }, // 10 { 0x79, 0x17 },
{ 0x7A, 0x40 }, // 11 { 0x7A, 0x40 },
{ 0x7B, 0x00 }, // 12 { 0x7B, 0x00 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -733,20 +840,20 @@ OOVPA_XREF(D3DDevice_BeginPush, 5028, 10,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x09, XREF_D3DCD_LAZYSETSTATEVB ), // 1 XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ),
{ 0x00, 0x8B }, // 2 { 0x00, 0x8B },
{ 0x01, 0x0D }, // 3 { 0x01, 0x0D },
{ 0x06, 0x6A }, // 4 { 0x06, 0x6A },
{ 0x07, 0x00 }, // 5 { 0x07, 0x00 },
{ 0x11, 0x40 }, // 6 { 0x11, 0x40 },
{ 0x12, 0x89 }, // 7 { 0x12, 0x89 },
{ 0x13, 0x44 }, // 8 { 0x13, 0x44 },
{ 0x14, 0x24 }, // 9 { 0x14, 0x24 },
{ 0x15, 0x04 }, // 10 { 0x15, 0x04 },
OOVPA_END; OOVPA_END;
#if 0 #if 0
@ -763,11 +870,14 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 5028, 6)
{ 0x16, 0xE9 }, { 0x16, 0xE9 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_End // * D3DDevice_End
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_End, 5028, 12) OOVPA_NO_XREF(D3DDevice_End, 5028, 13)
// D3DDevice_End+0x00 : push esi
{ 0x00, 0x56 },
// D3DDevice_End+0x13 : mov dword ptr [eax], 0x417FC // D3DDevice_End+0x13 : mov dword ptr [eax], 0x417FC
{ 0x13, 0xC7 }, { 0x13, 0xC7 },
@ -789,6 +899,7 @@ OOVPA_NO_XREF(D3DDevice_End, 5028, 12)
// D3DDevice_End+0x3C : retn // D3DDevice_End+0x3C : retn
{ 0x3C, 0xC3 }, { 0x3C, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_IsFencePending // * D3DDevice_IsFencePending
@ -807,6 +918,7 @@ OOVPA_XREF(D3DDevice_IsFencePending, 5028, 6,
{ 0x1C, 0x04 }, { 0x1C, 0x04 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4531 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_UpdateOverlay // * D3DDevice_UpdateOverlay
// ****************************************************************** // ******************************************************************
@ -821,6 +933,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5028, 8)
{ 0x80, 0xCA }, { 0x80, 0xCA },
{ 0x88, 0x8B }, { 0x88, 0x8B },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetOverlayUpdateStatus // * D3DDevice_GetOverlayUpdateStatus
@ -848,10 +961,14 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 5028, 12)
{ 0x1C, 0xC3 }, { 0x1C, 0xC3 },
OOVPA_END; OOVPA_END;
#endif #endif
// ****************************************************************** // ******************************************************************
// * D3D::CDevice::KickOff // * D3D::CDevice::KickOff
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_KickOff, 5028, 8) OOVPA_XREF(D3DDevice_KickOff, 5028, 8,
XREF_D3D_CDevice_KickOff,
XRefZero)
{ 0x07, 0x08 }, { 0x07, 0x08 },
{ 0x17, 0xC4 }, { 0x17, 0xC4 },
@ -863,6 +980,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 5028, 8)
{ 0x7E, 0xBA }, { 0x7E, 0xBA },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetLightEnable // * D3DDevice_GetLightEnable
// ****************************************************************** // ******************************************************************
@ -871,7 +989,7 @@ OOVPA_XREF(D3DDevice_GetLightEnable, 5028, 1+26,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x5D, XREF_D3DDEVICE), XREF_ENTRY( 0x05, XREF_D3DDEVICE),
{ 0x00, 0x8B }, { 0x00, 0x8B },
{ 0x01, 0x4C }, { 0x01, 0x4C },
@ -907,6 +1025,7 @@ OOVPA_XREF(D3DDevice_GetLightEnable, 5028, 1+26,
{ 0x1E, 0xC0 }, { 0x1E, 0xC0 },
{ 0x1F, 0x74 }, { 0x1F, 0x74 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_BeginStateBig // * D3DDevice_BeginStateBig
@ -1032,9 +1151,9 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5028, 17) // Also for 5120, 5233
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * MakeRequestedSpace // * D3D_MakeRequestedSpace
// ****************************************************************** // ******************************************************************
OOVPA_XREF(MakeRequestedSpace, 5028, 28, // Also for 5344 OOVPA_XREF(D3D_MakeRequestedSpace, 5028, 28, // Also for 5344
XREF_D3D_MakeRequestedSpace, XREF_D3D_MakeRequestedSpace,
XRefZero) XRefZero)
@ -1070,6 +1189,7 @@ OOVPA_XREF(MakeRequestedSpace, 5028, 28, // Also for 5344
{ 0x1F, 0x03 }, { 0x1F, 0x03 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 5120
// ****************************************************************** // ******************************************************************
// * D3DDevice_RunPushBuffer // * D3DDevice_RunPushBuffer
// ****************************************************************** // ******************************************************************
@ -1091,6 +1211,31 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5120, 13)
{ 0x94, 0x2C }, { 0x94, 0x2C },
{ 0x95, 0x8B }, { 0x95, 0x8B },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * 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) // * Rollback support signature(s)
@ -1100,170 +1245,174 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * D3D8_5028 // * D3D8_5028
// ****************************************************************** // ******************************************************************
// No longer supported XDK 5120 by HLEDB_v1
OOVPATable D3D8_5028[] = { OOVPATable D3D8_5028[] = {
REGISTER_OOVPA(CMiniport_InitHardware, 4627, XREF), REGISTER_OOVPA(CMiniport_InitHardware, 4034, XREF),
REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, XREF), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, XREF),
REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, XREF), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, XREF),
REGISTER_OOVPA(MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH),
REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH),
REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH),
REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF),
REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CopyRects, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetViewport, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH),
REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF),
REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetTile, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF),
REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF),
REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED),
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4928, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast),
REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED),
REGISTER_OOVPA(D3DDevice_SetTexture, 4928, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF),
REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_End, 5028, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Swap, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED),
REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5028, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4531, PATCH),
REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5028, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewport, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetLightEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_LightEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH),
REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH),
REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH),
REGISTER_OOVPA(D3DResource_GetType, 4034, DISABLED), // I forget why I had this in here... REGISTER_OOVPA(D3DResource_GetType, 4034, DISABLED), // I forget why I had this in here...
REGISTER_OOVPA(Get2DSurfaceDesc, 5028, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH),
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH),
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH),
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetScissors, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPalette, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH),
REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3D_SetFence, 5028, XREF),
REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), // Beware of the typo...
REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetStateVB, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetStateVB, 4627, DISABLED),
REGISTER_OOVPA(D3DDevice_SetStateUP, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetStateUP, 4627, DISABLED),
REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_PersistDisplay, 5028, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH),
REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF),
REGISTER_OOVPA(D3DDevice_BlockOnFence, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH),
REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH),
REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface
REGISTER_OOVPA(Lock2DSurface, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH),
@ -1271,30 +1420,29 @@ OOVPATable D3D8_5028[] = {
REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH),
REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH),
REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_KickPushBuffer, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH),
REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH),
REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED),
REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF),
REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH),
// ****************************************************************** // ******************************************************************
// Provisional registration functions in XDK 5028 // Provisional registration functions in XDK 5028
@ -1308,12 +1456,12 @@ OOVPATable D3D8_5028[] = {
REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF),
REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), // REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH),
REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH),
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,70 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5120.cpp
// *
// * 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

@ -36,7 +36,9 @@
#include "OOVPA.h" #include "OOVPA.h"
#if 0 // No longer used, replaced by generic 4034 version
extern LOOVPA<2+13> D3DDevice_SetRenderState_CullMode_5233; extern LOOVPA<2+13> D3DDevice_SetRenderState_CullMode_5233;
#endif
extern OOVPATable D3D8_5233[]; extern OOVPATable D3D8_5233[];
extern uint32 D3D8_5233_SIZE; extern uint32 D3D8_5233_SIZE;

View File

@ -32,6 +32,7 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetDisplayFieldStatus // * D3DDevice_GetDisplayFieldStatus
// ****************************************************************** // ******************************************************************
@ -45,7 +46,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 5233, 7)
{ 0x2E, 0x89 }, { 0x2E, 0x89 },
{ 0x36, 0x00 }, { 0x36, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4627 #if 0 // Moved to 4627
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexShaderConstantNotInlineFast // * D3DDevice_SetVertexShaderConstantNotInlineFast
@ -93,7 +94,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 5233, 7)
{ 0xE1, 0xF6 }, { 0xE1, 0xF6 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4831 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_CreateTexture2 // * D3DDevice_CreateTexture2
// ****************************************************************** // ******************************************************************
@ -123,13 +124,14 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5233, 12)
{ 0xB2, 0xC2 }, { 0xB2, 0xC2 },
{ 0xB3, 0x1C }, { 0xB3, 0x1C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_CullMode // * D3DDevice_SetRenderState_CullMode
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 5233, 2+13, OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 5233, 2+13,
XREF_SETRENDERSTATE_CULLMODE, XREF_D3DDevice_SetRenderState_CullMode,
XRefTwo) XRefTwo)
XREF_ENTRY(0x03, XREF_D3DDEVICE), // Derived XREF_ENTRY(0x03, XREF_D3DDEVICE), // Derived
@ -156,7 +158,8 @@ OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 5233, 2+13,
{ 0x55, 0x04 }, { 0x55, 0x04 },
{ 0x56, 0x04 }, { 0x56, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4831 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetTexture // * D3DDevice_SetTexture
// ****************************************************************** // ******************************************************************
@ -173,7 +176,8 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 5233, 10)
{ 0xDE, 0xFF }, { 0xDE, 0xFF },
{ 0xFE, 0xE2 }, { 0xFE, 0xE2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_Swap // * D3DDevice_Swap
// ****************************************************************** // ******************************************************************
@ -189,7 +193,29 @@ OOVPA_NO_XREF(D3DDevice_Swap, 5233, 9)
{ 0x7C, 0x6A }, { 0x7C, 0x6A },
{ 0xA6, 0xE8 }, { 0xA6, 0xE8 },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * 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;
#if 0 // No longer used, replaced by generic 5233 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_UpdateOverlay // * D3DDevice_UpdateOverlay
// ****************************************************************** // ******************************************************************
@ -212,7 +238,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5233, 11)
{ 0xB2, 0x30 }, { 0xB2, 0x30 },
{ 0xB3, 0x89 }, { 0xB3, 0x89 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetOverlayUpdateStatus // * D3DDevice_GetOverlayUpdateStatus
@ -240,6 +266,7 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 5233, 12)
{ 0x1C, 0xC3 }, { 0x1C, 0xC3 },
OOVPA_END; OOVPA_END;
#endif #endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_BlockUntilVerticalBlank // * D3DDevice_BlockUntilVerticalBlank
// ****************************************************************** // ******************************************************************
@ -281,11 +308,11 @@ OOVPA_NO_XREF(D3DDevice_Release, 5233, 8)
{ 0x36, 0xC3 }, { 0x36, 0xC3 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // Moved to 5120
// ****************************************************************** // ******************************************************************
// * D3DDevice_CopyRects // * D3DDevice_CopyRects
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_CopyRects, 5233, 8) OOVPA_NO_XREF(D3DDevice_CopyRects, 5120, 8)
{ 0x1E, 0xE1 }, { 0x1E, 0xE1 },
{ 0x42, 0x84 }, { 0x42, 0x84 },
@ -296,7 +323,8 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 5233, 8)
{ 0xDE, 0xBD }, { 0xDE, 0xBD },
{ 0xFE, 0x4C }, { 0xFE, 0x4C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetScissors // * D3DDevice_SetScissors
// ****************************************************************** // ******************************************************************
@ -311,7 +339,8 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 5233, 8)
{ 0xD4, 0x1C }, { 0xD4, 0x1C },
{ 0xFE, 0x4C }, { 0xFE, 0x4C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetScreenSpaceOffset // * D3DDevice_SetScreenSpaceOffset
// ****************************************************************** // ******************************************************************
@ -331,6 +360,7 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5233, 8)
{ 0x46, 0xC2 }, { 0x46, 0xC2 },
{ 0x47, 0x08 }, { 0x47, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleMode // * D3DDevice_SetRenderState_MultiSampleMode
@ -363,6 +393,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5233, 13)
{ 0x26, 0x00 }, { 0x26, 0x00 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode
// ****************************************************************** // ******************************************************************
@ -381,13 +412,14 @@ OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5233, 8,
{ 0x2C, 0xE8 }, { 0x2C, 0xE8 },
{ 0x32, 0x04 }, { 0x32, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5028 version
// ****************************************************************** // ******************************************************************
// * D3D::CommonSetRenderTarget // * D3D::CommonSetRenderTarget
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8, OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8,
XREF_COMMONSETRENDERTARGET, XREF_D3D_CommonSetRenderTarget,
XRefZero) XRefZero)
{ 0x02, 0x1C }, { 0x02, 0x1C },
@ -399,7 +431,8 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8,
{ 0xDC, 0xD9 }, { 0xDC, 0xD9 },
{ 0xFF, 0x75 }, { 0xFF, 0x75 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_BlockOnFence // * D3DDevice_BlockOnFence
// ****************************************************************** // ******************************************************************
@ -408,7 +441,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 5233, 6,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x08, XREF_D3D_BLOCKONTIME ), XREF_ENTRY( 0x08, XREF_D3D_BlockOnTime ),
{ 0x00, 0x8B }, { 0x00, 0x8B },
{ 0x02, 0x24 }, { 0x02, 0x24 },
@ -416,7 +449,8 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 5233, 6,
{ 0x06, 0x50 }, { 0x06, 0x50 },
{ 0x0D, 0x04 }, { 0x0D, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetPalette // * D3DDevice_SetPalette
// ****************************************************************** // ******************************************************************
@ -440,7 +474,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5233, 12)
{ 0x8A, 0xC2 }, { 0x8A, 0xC2 },
{ 0x8B, 0x08 }, { 0x8B, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetFlickerFilter // * D3DDevice_SetFlickerFilter
@ -589,6 +623,7 @@ OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 5233, 7)
{ 0x5F, 0x0C }, { 0x5F, 0x0C },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4831 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetPixelShaderConstant // * D3DDevice_SetPixelShaderConstant
// ****************************************************************** // ******************************************************************
@ -604,141 +639,160 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 5233, 9)
{ 0x64, 0xC0 }, { 0x64, 0xC0 },
{ 0x68, 0x2D }, { 0x68, 0x2D },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version
// ******************************************************************
// * D3DDevice_EndPushBuffer
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 5233, 7)
{ 0x11, 0x8D },
{ 0x22, 0x50 },
{ 0x34, 0x0C },
{ 0x46, 0x08 },
{ 0x58, 0x00 },
{ 0x6D, 0x8B },
{ 0x7C, 0x88 },
OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3D8_5233 // * D3D8_5233
// ****************************************************************** // ******************************************************************
OOVPATable D3D8_5233[] = { OOVPATable D3D8_5233[] = {
REGISTER_OOVPA(CMiniport_InitHardware, 4627, PATCH), REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH),
REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH),
REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH),
REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH),
REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED),
REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH),
REGISTER_OOVPA(D3DDevice_SetScissors, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH),
REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5233, XREF), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF),
REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF),
REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED),
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast),
REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateTexture2, 5233, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED),
REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF),
REGISTER_OOVPA(D3DDevice_End, 5028, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED),
REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH),
REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_LightEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED),
REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5233, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewport, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetViewport, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH),
REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH),
REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH),
REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH),
REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface
REGISTER_OOVPA(Get2DSurfaceDesc, 5028, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH),
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH),
REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH),
REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH),
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH),
REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3D_SetFence, 5028, XREF),
REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH),
REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF),
REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetPalette, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), // Beware of the typo...
REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), // Was 4627 REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), // Was 4627
@ -750,64 +804,62 @@ OOVPATable D3D8_5233[] = {
REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH),
REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH),
REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF),
REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH),
REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_PersistDisplay, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetTile, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF),
REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF),
REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetPixelShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5028, PATCH),
REGISTER_OOVPA(MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF),
REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH),
REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH),
// ****************************************************************** // ******************************************************************
// Provisional registration functions in XDK 5233 // Provisional registration functions in XDK 5233

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,616 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5455.cpp
// *
// * 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;
#if 0 // Moved to 5344
// ******************************************************************
// * D3DDevice_SetMaterial
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetMaterial, 5455, 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;
#endif
#if 0 // No longer used, replaced by generic 5344 version
// ******************************************************************
// * D3DDevice_GetMaterial
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetMaterial, 5455, 8)
{ 0x05, 0x56 },
{ 0x06, 0x57 },
{ 0x0A, 0x0C },
{ 0x0D, 0xE0 },
{ 0x0E, 0x0A },
{ 0x12, 0x11 },
{ 0x16, 0xF3 },
{ 0x1A, 0xC2 },
OOVPA_END;
#endif
// ******************************************************************
// * 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;
#if 0 // No longer used, replaced by generic 4627 version
// ******************************************************************
// * D3DDevice_GetBackBuffer2
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5455, 12)
// D3DDevice_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF
{ 0x04, 0x83 },
{ 0x05, 0xF8 },
{ 0x06, 0xFF },
// D3DDevice_GetBackBuffer2+0x0D : jnz +0x19
{ 0x0D, 0x75 },
{ 0x0E, 0x19 },
// D3DDevice_GetBackBuffer2+0x15 : mov esi, [ecx+eax*4+0x15F4]
{ 0x15, 0x8B },
{ 0x16, 0xB4 },
{ 0x17, 0x81 },
{ 0x18, 0xF4 },
{ 0x19, 0x15 },
// D3DDevice_GetBackBuffer2+0x40 : retn 0x04
{ 0x40, 0xC2 },
{ 0x41, 0x04 },
OOVPA_END;
#endif
// ******************************************************************
// * 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 ),
{ 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;
#if 0 // Moved to 5344
// ******************************************************************
// * D3DDevice_SetBackMaterial
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5455, 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;
#endif
#if 0 // No longer used, replaced by generic 5344 version
// ******************************************************************
// * D3DDevice_GetBackMaterial
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5455, 8)
{ 0x05, 0x56 },
{ 0x06, 0x57 },
{ 0x0A, 0x0C },
{ 0x0D, 0x24 },
{ 0x0E, 0x0B },
{ 0x12, 0x11 },
{ 0x16, 0xF3 },
{ 0x1A, 0xC2 },
OOVPA_END;
#endif
// ******************************************************************
// * 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;
#if 0 // No longer used, replaced by generic 5233 version
// ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleMode
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5455, 9)
{ 0x03, 0x04 },
{ 0x0A, 0xA3 },
{ 0x0F, 0x8B },
{ 0x12, 0x15 },
{ 0x17, 0xF4 },
{ 0x1B, 0x75 },
{ 0x1C, 0x07 },
{ 0x24, 0xC2 },
{ 0x26, 0x00 },
OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5344 version
// ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5455, 9)
{ 0x03, 0x04 },
{ 0x0A, 0xA3 },
{ 0x0F, 0x8B },
{ 0x12, 0x15 },
{ 0x17, 0xF4 },
{ 0x1B, 0x74 },
{ 0x1C, 0x07 },
{ 0x24, 0xC2 },
{ 0x26, 0x00 },
OOVPA_END;
#endif
// ******************************************************************
// * 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;
#if 0 // No longer used, replaced by generic 4134 version
// ******************************************************************
// * D3DDevice_CaptureStateBlock
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 5455, 8)
{ 0x1E, 0x3C },
{ 0x3E, 0xC0 },
{ 0x5E, 0x7E },
{ 0x7E, 0x00 },
{ 0x9E, 0x74 },
{ 0xC0, 0x8B },
{ 0xDE, 0x83 },
{ 0xFE, 0x45 },
OOVPA_END;
#endif
// ******************************************************************
// * 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;
#if 0 // No longer used, replaced by generic 3911 version
// ******************************************************************
// * D3DDevice_GetVertexShaderDeclaration
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 5455, 14)
{ 0x00, 0x8B },
{ 0x05, 0x48 },
{ 0x06, 0x03 },
{ 0x07, 0x83 },
{ 0x08, 0xEC },
{ 0x09, 0x14 },
{ 0x0A, 0xF6 },
{ 0x0B, 0xC1 },
{ 0x0C, 0x08 },
{ 0x1E, 0xC2 },
{ 0x1F, 0x0C },
{ 0x53, 0xC1 },
{ 0x54, 0x07 },
{ 0x55, 0x01 },
OOVPA_END;
#endif
// ******************************************************************
// * D3DDevice_SetRenderTarget
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5455, 9)
{ 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;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,322 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5659.cpp
// *
// * 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_SetMaterial
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_SetMaterial, 5659, 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, 5659, 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, 5659, 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, 5659, 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, 5659, 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, 5659, 1+12,
XRefNoSaveIndex,
XRefOne)
XREF_ENTRY( 0x06, XREF_D3DDEVICE ),
// 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, 5659, 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, 5659, 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, 5659, 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, 5659, 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, 5659, 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_GetTexture2
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetTexture2, 5659, 23) // Up to 5849
// XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived
{ 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

@ -32,6 +32,7 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_EndVisibilityTest // * D3DDevice_EndVisibilityTest
// ****************************************************************** // ******************************************************************
@ -45,7 +46,8 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 5788, 7)
{ 0x50, 0x0C }, { 0x50, 0x0C },
{ 0x58, 0x04 }, { 0x58, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5455 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetViewport // * D3DDevice_GetViewport
// ****************************************************************** // ******************************************************************
@ -60,6 +62,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 5788, 8)
{ 0x2F, 0x14 }, { 0x2F, 0x14 },
{ 0x31, 0x04 }, { 0x31, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4039 version #if 0 // No longer used, replaced by generic 4039 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetBackBufferScale // * D3DDevice_SetBackBufferScale
@ -75,6 +78,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 5788, 7)
{ 0xDE, 0xC0 }, { 0xDE, 0xC0 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetBackBuffer2 // * D3DDevice_GetBackBuffer2
// ****************************************************************** // ******************************************************************
@ -100,7 +104,8 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5788, 12)
{ 0x40, 0xC2 }, { 0x40, 0xC2 },
{ 0x41, 0x04 }, { 0x41, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetDepthStencilSurface2 // * D3DDevice_GetDepthStencilSurface2
// ****************************************************************** // ******************************************************************
@ -128,12 +133,14 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 5788, 10)
// D3DDevice_GetDepthStencilSurface2+0x1D : retn // D3DDevice_GetDepthStencilSurface2+0x1D : retn
{ 0x1D, 0xC3 }, { 0x1D, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5344 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_CreatePixelShader // * D3DDevice_CreatePixelShader
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 8) OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 9)
{ 0x00, 0x68 },
{ 0x07, 0x00 }, { 0x07, 0x00 },
{ 0x10, 0xC0 }, { 0x10, 0xC0 },
{ 0x19, 0x08 }, { 0x19, 0x08 },
@ -143,7 +150,8 @@ OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 8)
{ 0x3D, 0x24 }, { 0x3D, 0x24 },
{ 0x46, 0x08 }, { 0x46, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_TextureFactor // * D3DDevice_SetRenderState_TextureFactor
// ****************************************************************** // ******************************************************************
@ -157,7 +165,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5788, 7)
{ 0x40, 0x5E }, { 0x40, 0x5E },
{ 0x4D, 0x5E }, { 0x4D, 0x5E },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5344 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_DrawIndexedVerticesUP // * D3DDevice_DrawIndexedVerticesUP
// ****************************************************************** // ******************************************************************
@ -172,7 +181,8 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5788, 8)
{ 0xE4, 0xDB }, { 0xE4, 0xDB },
{ 0xFF, 0x0C }, { 0xFF, 0x0C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetMaterial // * D3DDevice_SetMaterial
// ****************************************************************** // ******************************************************************
@ -188,7 +198,8 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5788, 9)
{ 0x2C, 0x5E }, { 0x2C, 0x5E },
{ 0x2E, 0x04 }, { 0x2E, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetMaterial // * D3DDevice_GetMaterial
// ****************************************************************** // ******************************************************************
@ -203,7 +214,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5788, 8)
{ 0x16, 0xF3 }, { 0x16, 0xF3 },
{ 0x1A, 0xC2 }, { 0x1A, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5028 #if 0 // Moved to 5028
// ****************************************************************** // ******************************************************************
// * D3DDevice_BeginStateBig // * D3DDevice_BeginStateBig
@ -227,6 +238,7 @@ OOVPA_NO_XREF(D3DDevice_BeginStateBig, 5788, 15)
{ 0x40, 0x5E }, { 0x40, 0x5E },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // This one _IDirect3DVertexBuffer8_Lock@20, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DVertexBuffer8_Lock // * D3DVertexBuffer8_Lock
// ****************************************************************** // ******************************************************************
@ -241,7 +253,8 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock, 5788, 8)
{ 0x13, 0x33 }, { 0x13, 0x33 },
{ 0x16, 0x08 }, { 0x16, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DVertexBuffer_Lock2 // * D3DVertexBuffer_Lock2
// ****************************************************************** // ******************************************************************
@ -255,7 +268,8 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 5788, 7)
{ 0x3E, 0x8B }, { 0x3E, 0x8B },
{ 0x44, 0x00 }, { 0x44, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5455
// ****************************************************************** // ******************************************************************
// * D3D_AllocContiguousMemory // * D3D_AllocContiguousMemory
// ****************************************************************** // ******************************************************************
@ -269,7 +283,8 @@ OOVPA_NO_XREF(D3D_AllocContiguousMemory, 5788, 7)
{ 0x28, 0x0D }, { 0x28, 0x0D },
{ 0x2F, 0x24 }, { 0x2F, 0x24 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DTexture8_GetLevelDesc // * D3DTexture8_GetLevelDesc
// ****************************************************************** // ******************************************************************
@ -294,7 +309,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5788, 10)
{ 0xAE, 0xC2 }, { 0xAE, 0xC2 },
{ 0xAF, 0x0C }, { 0xAF, 0x0C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 5028 #if 0 // Used 5028
// ****************************************************************** // ******************************************************************
// * D3DDevice_CreateTexture2 // * D3DDevice_CreateTexture2
@ -314,7 +329,7 @@ OOVPA_XREF(D3DDevice_CreateTexture2, 5788, 8,
{ 0xAE, 0x1C }, { 0xAE, 0x1C },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexShaderConstant1 // * D3DDevice_SetVertexShaderConstant1
// ****************************************************************** // ******************************************************************
@ -341,7 +356,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant1, 5788, 11)
{ 0x5D, 0xEB }, { 0x5D, 0xEB },
{ 0x5E, 0xA2 }, { 0x5E, 0xA2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version #if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVertexData2f // * D3DDevice_SetVertexData2f
@ -358,7 +373,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 5788, 8)
{ 0x35, 0x0C }, { 0x35, 0x0C },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 5344 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_DrawVerticesUP // * D3DDevice_DrawVerticesUP
// ****************************************************************** // ******************************************************************
@ -373,6 +388,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 5788, 8)
{ 0xDE, 0x8B }, { 0xDE, 0x8B },
{ 0xFE, 0x7D }, { 0xFE, 0x7D },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4134 version #if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_BeginPushBuffer // * D3DDevice_BeginPushBuffer
@ -387,6 +403,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 5788, 6)
{ 0x63, 0x04 }, { 0x63, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_EndPushBuffer // * D3DDevice_EndPushBuffer
// ****************************************************************** // ******************************************************************
@ -399,6 +416,7 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 5788, 6)
{ 0x77, 0x07 }, { 0x77, 0x07 },
{ 0x8C, 0xC3 }, { 0x8C, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5558 #if 0 // Moved to 5558
// ****************************************************************** // ******************************************************************
// * D3DDevice_RunPushBuffer // * D3DDevice_RunPushBuffer
@ -413,6 +431,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5788, 6)
{ 0xF6, 0x41 }, { 0xF6, 0x41 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetVerticalBlankCallback // * D3DDevice_SetVerticalBlankCallback
// ****************************************************************** // ******************************************************************
@ -430,7 +449,8 @@ OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5788, 7,
{ 0x0D, 0x1D }, { 0x0D, 0x1D },
{ 0x11, 0x04 }, { 0x11, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_BlockUntilVerticalBlank // * D3DDevice_BlockUntilVerticalBlank
// ****************************************************************** // ******************************************************************
@ -444,7 +464,8 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 7)
{ 0x1C, 0x50 }, { 0x1C, 0x50 },
{ 0x23, 0xC3 }, { 0x23, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetBackMaterial // * D3DDevice_SetBackMaterial
// ****************************************************************** // ******************************************************************
@ -461,7 +482,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5788, 10)
{ 0x2C, 0x5E }, { 0x2C, 0x5E },
{ 0x2E, 0x04 }, { 0x2E, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version #if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * IDirectD3DDevice8_Release // * IDirectD3DDevice8_Release
@ -495,9 +516,11 @@ OOVPA_END;
OOVPA_END; OOVPA_END;
*/ */
#if 0 // No longer used, replaced by generic 5455 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetTile // * D3DDevice_SetTile
// ****************************************************************** // ******************************************************************
// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z
OOVPA_NO_XREF(D3DDevice_SetTile, 5788, 10) OOVPA_NO_XREF(D3DDevice_SetTile, 5788, 10)
// D3DDevice_SetTile+0x00: sub esp, 0x1C // D3DDevice_SetTile+0x00: sub esp, 0x1C
@ -513,7 +536,8 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5788, 10)
{ 0x4A, 0x00 }, { 0x4A, 0x00 },
{ 0x4B, 0x00 }, { 0x4B, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetSwapCallback // * D3DDevice_SetSwapCallback
// ****************************************************************** // ******************************************************************
@ -527,7 +551,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5788, 7)
{ 0x0D, 0x1D }, { 0x0D, 0x1D },
{ 0x10, 0xC2 }, { 0x10, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5849 #if 0 // Moved to 5849
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_StencilFail // * D3DDevice_SetRenderState_StencilFail
@ -574,7 +598,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 5788, 13)
{ 0x43, 0x04 }, { 0x43, 0x04 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4432 version
// ****************************************************************** // ******************************************************************
// * D3DDevice8::SetDepthClipPlanes // * D3DDevice8::SetDepthClipPlanes
// ****************************************************************** // ******************************************************************
@ -602,7 +626,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 5788, 18)
{ 0x7C, 0x8B }, { 0x7C, 0x8B },
{ 0x80, 0xE8 }, { 0x80, 0xE8 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5788 version #if 0 // No longer used, replaced by generic 5788 version
// ****************************************************************** // ******************************************************************
// * D3DDevice8::SetDepthClipPlanes // * D3DDevice8::SetDepthClipPlanes
@ -629,7 +653,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 5788, 13)
{ 0x17, 0x00 }, { 0x17, 0x00 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetPalette // * D3DDevice_SetPalette
// ****************************************************************** // ******************************************************************
@ -643,6 +667,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5788, 7)
{ 0x6E, 0x8B }, { 0x6E, 0x8B },
{ 0x7C, 0x89 }, { 0x7C, 0x89 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version #if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetPushBufferOffset // * D3DDevice_GetPushBufferOffset
@ -658,10 +683,11 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 5788, 7)
{ 0x91, 0x5F }, { 0x91, 0x5F },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 5558 version
// ****************************************************************** // ******************************************************************
// * D3D::MakeRequestedSpace // * D3D::MakeRequestedSpace
// ****************************************************************** // ******************************************************************
OOVPA_XREF(MakeRequestedSpace, 5788, 28, // Also for 5849, 5933 OOVPA_XREF(D3D_MakeRequestedSpace, 5788, 28, // Also for 5849, 5933
XREF_D3D_MakeRequestedSpace, XREF_D3D_MakeRequestedSpace,
XRefZero) XRefZero)
@ -696,7 +722,8 @@ OOVPA_XREF(MakeRequestedSpace, 5788, 28, // Also for 5849, 5933
{ 0x1E, 0x00 }, { 0x1E, 0x00 },
{ 0x1F, 0x00 }, { 0x1F, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic D3DDevice_MakeSpace 4134 version
// ****************************************************************** // ******************************************************************
// * D3D::Unknown (D3D::MakeSpace?) // * D3D::Unknown (D3D::MakeSpace?)
// ****************************************************************** // ******************************************************************
@ -715,7 +742,8 @@ OOVPA_XREF(D3D_Unknown, 5788, 6,
{ 0x08, 0x50 }, { 0x08, 0x50 },
{ 0x0E, 0xC3 }, { 0x0E, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_AddRef // * D3DDevice_AddRef
// ****************************************************************** // ******************************************************************
@ -729,13 +757,14 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5788, 7)
{ 0x10, 0x00 }, { 0x10, 0x00 },
{ 0x13, 0xC1 }, { 0x13, 0xC1 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3D::ClearStateBlockFlags // * D3D::ClearStateBlockFlags
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_ClearStateBlockFlags, 5788, 9, OOVPA_XREF(D3D_ClearStateBlockFlags, 5788, 9,
XREF_CLEARSTATEBLOCKFLAGS, XREF_D3D_ClearStateBlockFlags,
XRefZero) XRefZero)
// D3D_ClearStateBlockFlags+0x0A : mov ecx, 0x87 // D3D_ClearStateBlockFlags+0x0A : mov ecx, 0x87
@ -753,13 +782,14 @@ OOVPA_XREF(D3D_ClearStateBlockFlags, 5788, 9,
{ 0x30, 0xC1 }, { 0x30, 0xC1 },
{ 0x31, 0x90 }, { 0x31, 0x90 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3D::RecordStateBlock // * D3D::RecordStateBlock
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_RecordStateBlock, 5788, 10, OOVPA_XREF(D3D_RecordStateBlock, 5788, 10,
XREF_RECORDSTATEBLOCK, XREF_D3D_RecordStateBlock,
XRefZero) XRefZero)
// D3D_RecordStateBlock+0x0F : mov eax, [edi+0x07A4] // D3D_RecordStateBlock+0x0F : mov eax, [edi+0x07A4]
@ -779,6 +809,7 @@ OOVPA_XREF(D3D_RecordStateBlock, 5788, 10,
{ 0xD8, 0x01 }, { 0xD8, 0x01 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_BackFillMode // * D3DDevice_SetRenderState_BackFillMode
// ****************************************************************** // ******************************************************************
@ -792,6 +823,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 5788, 7)
{ 0x40, 0x08 }, { 0x40, 0x08 },
{ 0x4C, 0x5F }, { 0x4C, 0x5F },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5558 #if 0 // Moved to 5558
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetTile // * D3DDevice_GetTile
@ -807,7 +839,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5788, 7)
{ 0x36, 0x14 }, { 0x36, 0x14 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 5455 version
// ****************************************************************** // ******************************************************************
// * D3D::CDevice::KickOff // * D3D::CDevice::KickOff
// ****************************************************************** // ******************************************************************
@ -834,7 +866,8 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 5788, 13)
// D3D::CDevice::KickOff+0xAF : retn // D3D::CDevice::KickOff+0xAF : retn
{ 0xAF, 0xC3 } { 0xAF, 0xC3 }
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5233 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleMode // * D3DDevice_SetRenderState_MultiSampleMode
// ****************************************************************** // ******************************************************************
@ -850,7 +883,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5788, 9)
{ 0x24, 0xC2 }, { 0x24, 0xC2 },
{ 0x26, 0x00 }, { 0x26, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5344 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode
// ****************************************************************** // ******************************************************************
@ -866,7 +900,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5788, 9)
{ 0x24, 0xC2 }, { 0x24, 0xC2 },
{ 0x26, 0x00 }, { 0x26, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4627 version #if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_MultiSampleAntiAlias // * D3DDevice_SetRenderState_MultiSampleAntiAlias
@ -882,7 +916,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 5788, 7)
{ 0x6B, 0x5F }, { 0x6B, 0x5F },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetDisplayFieldStatus // * D3DDevice_GetDisplayFieldStatus
// ****************************************************************** // ******************************************************************
@ -896,7 +930,8 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 5788, 7)
{ 0x2E, 0x89 }, { 0x2E, 0x89 },
{ 0x36, 0x00 }, { 0x36, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetScissors // * D3DDevice_GetScissors
// ****************************************************************** // ******************************************************************
@ -910,7 +945,8 @@ OOVPA_NO_XREF(D3DDevice_GetScissors, 5788, 7)
{ 0x40, 0xC1 }, { 0x40, 0xC1 },
{ 0x4B, 0xA4 }, { 0x4B, 0xA4 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5659 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetBackMaterial // * D3DDevice_GetBackMaterial
// ****************************************************************** // ******************************************************************
@ -925,7 +961,8 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5788, 8)
{ 0x16, 0xF3 }, { 0x16, 0xF3 },
{ 0x1A, 0xC2 }, { 0x1A, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3925 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_DeleteStateBlock // * D3DDevice_DeleteStateBlock
// ****************************************************************** // ******************************************************************
@ -946,7 +983,7 @@ OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 5788, 9)
{ 0x3D, 0x6F }, { 0x3D, 0x6F },
{ 0x3E, 0x08 }, { 0x3E, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 3925 instead in 5788, 5849 #if 0 // Used 3925 instead in 5788, 5849
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_RopZCmpAlwaysRead // * D3DDevice_SetRenderState_RopZCmpAlwaysRead
@ -990,42 +1027,63 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderSize, 5788, 13)
{ 0x12, 0x08 }, { 0x12, 0x08 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // Moved to 5659
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetShaderConstantMode // * D3DDevice_GetShaderConstantMode
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5788, 10) OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5788, 16)
{ 0x00, 0xA1 }, { 0x00, 0xA1 },
{ 0x05, 0x8B }, { 0x05, 0x8B },
{ 0x06, 0x88 }, { 0x06, 0x88 },
{ 0x07, 0x28 }, { 0x07, 0x28 },
{ 0x08, 0x19 }, { 0x08, 0x19 },
{ 0x09, 0x00 }, { 0x09, 0x00 },
{ 0x0A, 0x00 }, { 0x0A, 0x00 },
{ 0x0B, 0x8B },
{ 0x0C, 0x54 },
{ 0x0D, 0x24 }, { 0x0D, 0x24 },
{ 0x0E, 0x04 },
{ 0x0F, 0x89 },
{ 0x10, 0x0A }, { 0x10, 0x0A },
{ 0x11, 0xC2 },
{ 0x12, 0x04 },
{ 0x13, 0x00 }, { 0x13, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5659
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetVertexShader // * D3DDevice_GetVertexShader
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5788, 7) OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5788, 16)
{ 0x00, 0xA1 },
{ 0x05, 0x8B }, { 0x05, 0x8B },
{ 0x06, 0x88 }, { 0x06, 0x88 },
{ 0x07, 0x98 }, { 0x07, 0x98 },
{ 0x08, 0x07 },
{ 0x09, 0x00 },
{ 0x0A, 0x00 }, { 0x0A, 0x00 },
{ 0x0B, 0x8B },
{ 0x0C, 0x54 },
{ 0x0D, 0x24 }, { 0x0D, 0x24 },
{ 0x0E, 0x04 },
{ 0x0F, 0x89 },
{ 0x10, 0x0A }, { 0x10, 0x0A },
{ 0x11, 0xC2 },
{ 0x12, 0x04 },
{ 0x13, 0x00 }, { 0x13, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5659
// ****************************************************************** // ******************************************************************
// * D3DDevice_GetPixelShader // * D3DDevice_GetPixelShader
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 9) OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 16)
{ 0x00, 0xA1 },
{ 0x05, 0x8B }, { 0x05, 0x8B },
{ 0x06, 0x88 }, { 0x06, 0x88 },
@ -1033,217 +1091,263 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 9)
{ 0x08, 0x07 }, { 0x08, 0x07 },
{ 0x09, 0x00 }, { 0x09, 0x00 },
{ 0x0A, 0x00 }, { 0x0A, 0x00 },
{ 0x0B, 0x8B },
{ 0x0C, 0x54 },
{ 0x0D, 0x24 }, { 0x0D, 0x24 },
{ 0x0E, 0x04 },
{ 0x0F, 0x89 },
{ 0x10, 0x0A }, { 0x10, 0x0A },
{ 0x11, 0xC2 },
{ 0x12, 0x04 },
{ 0x13, 0x00 }, { 0x13, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 5659
// ******************************************************************
// * D3DDevice_GetTexture2
// ******************************************************************
OOVPA_NO_XREF(D3DDevice_GetTexture2, 5788, 23) // Up to 5849
// XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived
{ 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;
#endif
// ****************************************************************** // ******************************************************************
// * D3D8_5788 // * D3D8_5788
// ****************************************************************** // ******************************************************************
OOVPATable D3D8_5788[] = { OOVPATable D3D8_5788[] = {
REGISTER_OOVPA(CMiniport_InitHardware, 5558, PATCH), REGISTER_OOVPA(CMiniport_InitHardware, 5455, PATCH),
REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH),
REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH),
REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 5788, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewport, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_End, 5558, PATCH), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED),
REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF),
REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet.
REGISTER_OOVPA(D3DDevice_EndPushBuffer, 5788, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // Not implemented yet.
REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF),
REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED),
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5788, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH),
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH),
REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH),
REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH),
REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF),
REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED),
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH),
REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH),
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5558, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED),
REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4627, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_Lock2, 5788, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH),
REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED),
REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED),
REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH),
REGISTER_OOVPA(D3D_AllocContiguousMemory, 5788, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(D3D_AllocContiguousMemory, 5455, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH
REGISTER_OOVPA(Get2DSurfaceDesc, 5788, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH),
REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast),
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetViewport, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH),
REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetTile, 5788, PATCH), REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF),
REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5558, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePalette2, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetPalette, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH),
REGISTER_OOVPA(MakeRequestedSpace, 5788, XREF), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, XREF),
REGISTER_OOVPA(D3D_Unknown, 5788, XREF), REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED),
REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_AddRef, 5788, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5659, PATCH),
REGISTER_OOVPA(D3D_ClearStateBlockFlags, 5788, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF),
REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF),
REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetTile, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_GetScissors, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 5788, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF),
REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH),
REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH),
REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface
REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3D_SetFence, 5558, XREF), REGISTER_OOVPA(D3D_SetFence, 5558, XREF),
REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH),
REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF),
REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH),
REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH),

View File

@ -51,29 +51,39 @@ OOVPA_END;
// * D3D::SetFence // * D3D::SetFence
// * SOURCE: Spiderman 2 // * SOURCE: Spiderman 2
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_SetFence, 5849, 7, XREF_D3D_SETFENCE, XRefZero) OOVPA_XREF(D3D_SetFence, 5849, 7,
{ 0x0E, 0x05 },
{ 0x17, 0xC7 }, XREF_D3D_SetFence,
{ 0x3E, 0x40 }, XRefZero)
{ 0x5E, 0x00 },
{ 0x87, 0x4E }, { 0x0E, 0x05 },
{ 0x98, 0x83 }, { 0x17, 0xC7 },
{ 0xA8, 0x75 }, { 0x3E, 0x40 },
{ 0x5E, 0x00 },
{ 0x87, 0x4E },
{ 0x98, 0x83 },
{ 0xA8, 0x75 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 5558 version
// ****************************************************************** // ******************************************************************
// * D3D::BlockOnTime // * D3D::BlockOnTime
// * Source: Spiderman 2 // * Source: Spiderman 2
// ****************************************************************** // ******************************************************************
OOVPA_XREF(D3D_BlockOnTime, 5849, 6, XREF_D3D_BLOCKONTIME, XRefZero) OOVPA_XREF(D3D_BlockOnTime, 5849, 6,
{ 0x09, 0x30 },
{ 0x27, 0x07 },
{ 0x7E, 0x2B },
{ 0xA5, 0x20 },
{ 0xD9, 0x56 },
{ 0xF8, 0x47 },
OOVPA_END;
XREF_D3D_BlockOnTime,
XRefZero)
{ 0x09, 0x30 },
{ 0x27, 0x07 },
{ 0x7E, 0x2B },
{ 0xA5, 0x20 },
{ 0xD9, 0x56 },
{ 0xF8, 0x47 },
OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4034 version
// ****************************************************************** // ******************************************************************
// * Get2DSurfaceDesc // * Get2DSurfaceDesc
// ****************************************************************** // ******************************************************************
@ -97,7 +107,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5849, 10)
{ 0xAE, 0xC2 }, { 0xAE, 0xC2 },
{ 0xAF, 0x0C }, { 0xAF, 0x0C },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 5455 version #if 0 // No longer used, replaced by generic 5455 version
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetScreenSpaceOffset // * D3DDevice_SetScreenSpaceOffset
@ -118,7 +128,7 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5849, 8)
{ 0x47, 0x08 }, { 0x47, 0x08 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4432 version
// ****************************************************************** // ******************************************************************
// * D3DDevice8::SetDepthClipPlanes // * D3DDevice8::SetDepthClipPlanes
// ****************************************************************** // ******************************************************************
@ -143,6 +153,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 5849, 11)
{ 0x88, 0xC2 }, { 0x88, 0xC2 },
{ 0x89, 0x0C }, { 0x89, 0x0C },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * D3DDevice_SetRenderState_StencilFail // * D3DDevice_SetRenderState_StencilFail
@ -164,201 +175,202 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPATable D3D8_5849[] = { OOVPATable D3D8_5849[] = {
REGISTER_OOVPA(CMiniport_InitHardware, 5558, PATCH), REGISTER_OOVPA(CMiniport_InitHardware, 5455, PATCH),
REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH),
REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH),
REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 5788, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewport, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_End, 5558, PATCH), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 5849, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 5849, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED),
REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF),
REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet.
REGISTER_OOVPA(D3DDevice_EndPushBuffer, 5788, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // Not implemented yet.
REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH),
REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF),
REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5788, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH),
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH),
REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH),
REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH),
REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH),
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH),
REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH),
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5558, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED),
REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4627, PATCH),
REGISTER_OOVPA(D3DVertexBuffer_Lock2, 5788, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH),
REGISTER_OOVPA(D3D_SetFence, 5558, XREF), REGISTER_OOVPA(D3D_SetFence, 5558, XREF),
REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH),
REGISTER_OOVPA(D3D_BlockOnTime, 5849, XREF), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF),
REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH),
REGISTER_OOVPA(D3D_AllocContiguousMemory, 5788, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(D3D_AllocContiguousMemory, 5455, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH
REGISTER_OOVPA(Get2DSurfaceDesc, 5849, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH),
REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast),
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetViewport, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH),
REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetTile, 5788, PATCH), REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF),
REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 5849, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 5849, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5558, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetPalette, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH),
REGISTER_OOVPA(MakeRequestedSpace, 5788, XREF), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, XREF),
REGISTER_OOVPA(D3D_Unknown, 5788, XREF), REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED),
REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_AddRef, 5788, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5659, PATCH),
REGISTER_OOVPA(D3D_ClearStateBlockFlags, 5788, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF),
REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF),
REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_GetTile, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH),
REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH),
REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_GetScissors, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 5788, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH),
REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 5849, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED),
REGISTER_OOVPA(D3DDevice_CreatePalette2, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH),
REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH),
REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF),
REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED),
REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF),
REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH),
REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface
REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH),
REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH),
REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface
REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH),
REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH),
REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH),
REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5659, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH),
REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5659, PATCH),
REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH),
REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH),
REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH),
REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH),

View File

@ -0,0 +1,401 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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 libary 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/229 library.
// * [5659] Midway Arcade Treasures Paperboy | 100% | have 212/229 library.
// * [5788] Digimon Battle Chronicle | 100% | have 210/229 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?
// * Following OOVPA revision are not verified
// * D3DCubeTexture_GetCubeMapSurface (4721, 4928, 5233, 5455)
// * D3DDevice_ApplyStateBlock (4039, 4721, 5028, 5120)
// * D3DDevice_BeginPushBuffer (3948, 4039, 4242, 5028)
// * D3DDevice_BeginStateBlock (4039, 4721, 5028, 5120)
// * D3DDevice_BlockOnFence (4039)
// * D3DDevice_CaptureStateBlock (4039, 4432, 4721, 4831, 5028, 5120)
// * D3DDevice_CreateCubeTexture (4721, 4928, 5028, 5233, 5455)
// * D3DDevice_CreateImageSurface (4721, 4928, 5028, 5120, 5233, 5455)
// * D3DDevice_CreatePalette (4721, 4831, 4928, 5120, 5233, 5455)
// * D3DDevice_CreateStateBlock (3948, 4039, 4242, 4432, 4721, 4928, 5028, 5120)
// * D3DDevice_CreateTexture (4721, 4928, 5233, 5455)
// * D3DDevice_CreateVolumeTexture (4721, 4928, 5028, 5120, 5233, 5455)
// * D3DDevice_DeleteStateBlock (4039, 4721, 4831, 5028, 5120)
// * D3DDevice_DrawRectPatch (3948 and higher, only use by 3925?)
// * D3DDevice_EnableOverlay (4039)
// * D3DDevice_EndPushBuffer (3948, 4039, 4242, 5028)
// * D3DDevice_EndStateBlock (4039, 4721, 4831, 5028, 5120)
// * D3DDevice_FlushVertexCache (4039)
// * D3DDevice_GetBackBuffer (4721, 4831, 4928, 5028, 5120, 5233, 5455)
// * D3DDevice_GetBackMaterial (4039)
// * D3DDevice_GetLightEnable (4039)
// * D3DDevice_GetMaterial (4039)
// * D3DDevice_GetModelView (4039)
// * D3DDevice_GetOverlayUpdateStatus (4039, 4242, 4432)
// * D3DDevice_GetProjectionViewportMatrix (4039)
// * D3DDevice_GetPushBufferOffset (3948, 4039, 4242, 5028)
// * D3DDevice_GetRenderTarget (5028)
// * D3DDevice_GetScissors (4039)
// * D3DDevice_GetShaderConstantMode (4039)
// * D3DDevice_GetTile (4039)
// * D3DDevice_GetVertexShaderFunction (4039)
// * D3DDevice_GetVertexShaderInput (4039)
// * D3DDevice_GetVertexShaderType (4039)
// * D3DDevice_InsertCallback (4039)
// * D3DDevice_IsFencePending (4039)
// * D3DDevice_LoadVertexShaderProgram (4039)
// * D3DDevice_PrimeVertexCache (4039)
// * D3DDevice_RunPushBuffer (5028)
// * D3DDevice_RunVertexStateShader (4039)
// * D3DDevice_SetBackBufferScale (4039)
// * D3DDevice_SetBackMaterial (4039)
// * D3DDevice_SetModelView (4039)
// * D3DDevice_SetPixelShaderProgram (4039)
// * D3DDevice_SetVertexData2s (4039)
// * D3DDevice_SetVertexData4s (4039)
// * D3DDevice_SetVertexData4ub (4039)
// * D3DDevice_SetVertexShaderConstant (4928)
// * D3DDevice_SetVertexShaderInput (4039)
// * D3DDevice_SwitchTexture (4039)
// * D3DDevice_UpdateOverlay (4039)
// * D3DPalette_Lock (4721, 4831, 4928, 5028, 5120, 5233)
// * D3DTexture_GetSurfaceLevel (4928, 5455)
// * D3DVertexBuffer_Lock (4721, 4831, 4928, 5120, 5233, 5455)
// * D3D_ClearStateBlockFlags (4039, 4721, 5028, 5120)
// * D3D_RecordStateBlock (4039, 4721, 5028, 5120)
// * CMiniport_IsFlipPending (4039, 4134)
#ifndef D3D8_OOVPA_INL
#define D3D8_OOVPA_INL
#include "../OOVPA.h"
#include "HLEDataBase/D3D8.1.0.3911.inl"
#include "HLEDataBase/D3D8.1.0.3925.inl"
#include "HLEDataBase/D3D8.1.0.3948.inl"
#include "HLEDataBase/D3D8.1.0.4034.inl"
#include "HLEDataBase/D3D8.1.0.4134.inl"
#include "HLEDataBase/D3D8.1.0.4242.inl"
#include "HLEDataBase/D3D8.1.0.4361.inl"
#include "HLEDataBase/D3D8.1.0.4432.inl"
#include "HLEDataBase/D3D8.1.0.4531.inl"
#include "HLEDataBase/D3D8.1.0.4627.inl"
#include "HLEDataBase/D3D8.1.0.4831.inl"
#include "HLEDataBase/D3D8.1.0.4928.inl"
#include "HLEDataBase/D3D8.1.0.5028.inl"
#include "HLEDataBase/D3D8.1.0.5120.inl"
#include "HLEDataBase/D3D8.1.0.5233.inl"
#include "HLEDataBase/D3D8.1.0.5344.inl"
#include "HLEDataBase/D3D8.1.0.5455.inl"
#include "HLEDataBase/D3D8.1.0.5558.inl"
#include "HLEDataBase/D3D8.1.0.5659.inl"
#include "HLEDataBase/D3D8.1.0.5788.inl"
#include "HLEDataBase/D3D8.1.0.5849.inl"
// ******************************************************************
// * D3D8_OOVPA
// ******************************************************************
OOVPATable D3D8_OOVPAV2[] = {
REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034),
REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034/*, 4361, 4627*/, 5455),
REGISTER_OOVPAS(CMiniport_IsFlipPending, UNPATCHED, 3911, 4242, 4627, 4928),
REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911),
REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911/*, 4134*/, 4627/*, 5558*/), // 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, 5659),
REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3911/*, 4361*/, 4627),
REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3911, 4039),
REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4134/*, 4432*/, 4627, 5028),
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/*, 4361, 4627*/),
REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3911/*, 4039, 4134, 5233*/),
REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4034, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134/*, 4627, 5455*/),
REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034/*, 4134, 4627, 5028*/),
REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034/*, 4134*/, 4627, 5120),
REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911/*, 4361*/, 4627),
REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034/*, 4134*/, 4627),//TODO 4721,4928 (from 4627's comment)
REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3911, 4627/*, 5558*/), // 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/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911/*, 4627*/),
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/*, 5028, 5233*/), // 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/*, 4039*/), // (TODO) (from 4034's comment)
REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3911, 5344),
REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3911/*, 4361, 5788*/),
REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3911, 5344),
REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3911, 4034, 4627, 5028),
REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3911, 4039/*, 4134, 4627*/, 5028, 5344/*, 5558, 5788*/),
REGISTER_OOVPAS(D3DDevice_DrawRectPatch, PATCH, 3911), // TODO: Unused? (from 4034's comment)
REGISTER_OOVPAS(D3DDevice_DrawTriPatch, UNPATCHED, 3911),
REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3911/*, 4034, 5028*/),
REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3911, 4039/*, 4134, 4627*/, 5344/*, 5558, 5788*/),
REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 3911, 4134),
REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039/*, 4627, 5028*/, 5344/*, 5558*/),
REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134/*, 4627*/), // Was 4627 (from 5233's comment)
REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3911/*, 4134*/), // Not implemented yet. (from 5788's comment)
REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134),
REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3911/*, 4034, 4361, 4627, 5788*/),
REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3911, 4134),
REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3911, 4034, 4134, 4627/*, 5558*/), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above
REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627/*, 5028, 5344, 5455, 5558, 5788*/), // 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 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/*, 5028, 5788*/),
REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3911),
REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3911/*, 4039, 4432, 5233, 5788*/),
REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3911, 4039/*, 4432, 4627*/),
REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3911/*, 3925, 4034*/),
REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3911),
REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5344),
REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 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, 5659/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134/*, 4432*/, 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, 4039, 4134/*, 4361, 4432*/, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above
REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627/*, 5028*/),
REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5659/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627),
REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 3911, 4134, 4627, 5344, 5558, 5659/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911/*, 4134, 4627, 5028, 5344*/, 5455),
REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4034),
REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5659/*5788*/),
REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3911, 4039, 5028),
REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911/*, 4134, 4627, 5455*/),
REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3911/*, 4134, 4627*/),
REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3911),
REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3911),
REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3911/*, 4034, 4134, 4627, 5344*/, 5455/*, 5788*/), // Was 4627 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4432/*, 5558*/),
REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3911, 5233),
REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3911, 4134/*, 4627*/, 5028),
REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3911),
REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911/*, 4034*/, 5028/*, 5344*/),
REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028/*, 5558*/),
REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4034/*, 4134*/, 4531, 5028, 5455/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 3911/*, 4627*/),
REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028),
REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911/*, 5028*/, 5344), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028),
REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3911/*, 4134, 4627, 5558*/),
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/*, 4361, 4627*/),
REGISTER_OOVPAS(D3DDevice_Release, PATCH, 3911),
REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911/*, 4039*/),
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/*, 4627, 5344*/, 5455),
REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361),
REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134),
REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/),
REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4432/*, 4627, 5788, 5849*/),
REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3911, 4034, 4134),
REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3911, 4627),
REGISTER_OOVPAS(D3DDevice_SetIndices, UNPATCHED, 3911, 4034/*, 4134, 5028, 5558*/),
REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3911/*, 4034, 4134, 5028*/, 5344/*, 5558*/),
REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), // Was 4627 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3911, 4134, 4627),
REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034/*, 4134, 4432, 4627, 5233, 5344, 5558, 5788*/),
REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4034/*, 4134, 4432*/, 4627),
REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911/*, 4039*/, 4831/*, 5233, 5558*/),
REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911/*, 4361, 4627, 5558*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911, 4034/*, 4134, 4531, 5788*/),
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/*, 4134*/, 4627/*, 5028, 5344, 5558*/), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3911, 4034/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3911, 4034/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3911, 4034/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3911, 4034/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 3911, 4034),
REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3911, 4034/*, 4134, 4627*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3911, 4034/*, 4134, 4432*/, 4627),
REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3911, 4034/*, 4134*/, 4627),
REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233/*, 5455, 5558, 5788*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034, 4134, 4627/*, 5233*/, 5344/*, 5455, 5558, 5788*/), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3911, 4034/*, 4134*/),
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/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_Simple, PATCH, 3911, 4034),
REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 3911, 4034),
REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3911, 4034/*, 4134*/, 5849),
REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3911, 4034/*, 4134*/, 5849),
REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3911, 4034/*, 4134, 5028, 5558, 5788*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3911, 4034/*, 4134*/, 5344/*, 5558*/), // Beware of the typo... (from 4627's comment)
REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3911, 4034/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3911, 4034/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3911),
REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3911, 4034, 4134, 4432/*, 4627, 5028*/),
REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039/*, 4134*/, 4627, 5344, 5455/*, 5558*/),
REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233/*, 5344*/),
REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911/*, 4039, 4361, 4627, 5233*/, 5344, 5558), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4034/*, 5233, 5344*/, 5455), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4034/*, 4134, 4361, 4627, 5028*/),
REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3911, 4034, 4134),
REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4627),
REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627),
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, 5659),
REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034/*, 4627*/, 4831/*, 5344*/), // Was 4928 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034/*, 4361*/),
REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4034),
REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034/*, 4134*/),
REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627),
REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4034/*, 4134*/, 4627/*, 5028, 5455, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher.
REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034/*, 4134*/, 5344, 5558), // Was 4134 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3911, 4039), // Was 4627 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134/*, 4361*/),
REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 3911, 4039),
REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3911, 4134/*, 4361*/),
REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3911, 4134),
REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3911, 4039/*, 4361*/),
REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3911, 4034, 4134, 5028, 5455),
REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3911, 4034, 4627),
REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627/*, 5558, 5788*/),
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/*, 4361*/),
REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361),
REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3911, 4039, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3911, 4034/*, 4627, 5028*/, 5344, 5455), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627/*, 5028, 5233*/),
REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3911/*, 4361*/),
REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 3911, 4531,/* 5028,*/ 5233/*, 5344, 5558*/),
REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3911, 4531, 4627/*, 5344*/), // 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/*, 4361*/),
REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3911),
REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3911),
REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3911/*, 4432*/, 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/*, 5788*/),
REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 4627/*, 5788*/),
REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment)
REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5455/*, 5788*/), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment)
REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034),
REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4034/*, 4361*/, 4627, 5028, 5558/*, 5849*/),
REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911),
REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911/*, 4134*/),
REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911/*, 5788*/),
REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028/*, 5233*/), // Used between 4627 to 5233 (from 5344's comment)
REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627),
REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627),
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_KickOffAndWaitForIdle2, PATCH, 4627),
REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4034),
REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911/*, 5788*/),
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(D3D_Unknown, XREF, 5788), // This one D3DDevice_MakeSpace
REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911),
REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028),
REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3911, 4034/*, 4134, 4627, 5028, 5344, 5558, 5788, 5849*/), // Was 5233 (from 5344's comment)
REGISTER_OOVPAS(Lock2DSurface, PATCH, 3911),
REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911),
REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558/*, 5788*/),
REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3911),
REGISTER_OOVPAS(IDirect3DVertexBuffer8_Lock, UNPATCHED, 4627),
};
// ******************************************************************
// * D3D8_OOVPA_SIZE
// ******************************************************************
uint32 D3D8_OOVPA_SIZEV2 = sizeof(D3D8_OOVPAV2);
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,234 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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
// *
// ******************************************************************
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetFormat
// ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetFormat, 4242, 8,
XREF_CDirectSoundVoice_SetFormat,
XRefZero)
{ 0x07, 0x4E },
{ 0x10, 0xE8 },
{ 0x19, 0xD8 },
{ 0x22, 0xFF },
{ 0x2B, 0x0C },
{ 0x34, 0xFF },
{ 0x3F, 0x8B },
{ 0x46, 0x00 },
OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetFormat
// ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4242, 8,
XREF_CDirectSoundBuffer_SetFormat,
XRefOne)
XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFormat ),
{ 0x0C, 0x00 },
{ 0x12, 0x85 },
{ 0x1C, 0x15 },
{ 0x26, 0xEB },
{ 0x30, 0x10 },
{ 0x3A, 0x74 },
{ 0x47, 0x8B },
OOVPA_END;
// ******************************************************************
// * IDirectSoundBuffer_SetFormat
// ******************************************************************
OOVPA_XREF(IDirectSoundBuffer_SetFormat, 4242, 8,
XRefNoSaveIndex,
XRefOne)
XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFormat ),
{ 0x02, 0x24 },
{ 0x06, 0x24 },
{ 0x0A, 0x83 },
{ 0x0E, 0xD9 },
{ 0x12, 0xC8 },
{ 0x19, 0xC2 },
{ 0x1A, 0x08 },
OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSoundStream::SetFormat
// ******************************************************************
OOVPA_XREF(CDirectSoundStream_SetFormat, 4242, 9,
XRefNoSaveIndex,
XRefOne)
XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ),
{ 0x00, 0x56 },
{ 0x0C, 0x00 },
{ 0x14, 0x74 },
{ 0x21, 0xB8 },
{ 0x2A, 0x24 },
{ 0x35, 0xE8 },
{ 0x40, 0x68 },
{ 0x4B, 0x8B },
OOVPA_END;
// ******************************************************************
// * CMcpxVoiceClient::SetLFO
// ******************************************************************
OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4242, 8,
XREF_CMcpxVoiceClient_SetLFO,
XRefZero)
{ 0x1E, 0x48 },
{ 0x3E, 0x31 },
{ 0x5E, 0x35 },
{ 0x7E, 0xE1 },
{ 0x9E, 0x8B },
{ 0xBE, 0x8B },
{ 0xDE, 0x05 },
{ 0xFE, 0x6C },
OOVPA_END;
// ******************************************************************
// * CDirectSoundBuffer::SetLFO
// ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4242, 8,
XREF_CDirectSoundBuffer_SetLFO,
XRefOne)
XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetLFO ),
{ 0x0C, 0x00 },
{ 0x12, 0x85 },
{ 0x1C, 0x15 },
{ 0x26, 0xEB },
{ 0x30, 0x10 },
{ 0x3A, 0x74 },
{ 0x47, 0x8B },
OOVPA_END;
// ******************************************************************
// * CMcpxVoiceClient::SetEG
// ******************************************************************
OOVPA_XREF(CMcpxVoiceClient_SetEG, 4242, 8,
XREF_CMcpxVoiceClient_SetEG,
XRefZero)
{ 0x1E, 0x75 },
{ 0x3E, 0x0F },
{ 0x5E, 0xE3 },
{ 0x7E, 0x4E },
{ 0x9E, 0x40 },
{ 0xBE, 0x50 },
{ 0xDE, 0x1C },
{ 0xFE, 0x1C },
OOVPA_END;
// ******************************************************************
// * CDirectSoundBuffer::SetEG
// ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetEG, 4242, 8,
XREF_CDirectSoundBuffer_SetEG,
XRefOne)
XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetEG ),
{ 0x0C, 0x00 },
{ 0x12, 0x85 },
{ 0x1C, 0x15 },
{ 0x26, 0xEB },
{ 0x30, 0x10 },
{ 0x3A, 0x74 },
{ 0x47, 0x8B },
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;
// ******************************************************************
// * CMcpxStream_Flush
// ******************************************************************
OOVPA_XREF(CMcpxStream_Flush, 4242, 10,
XREF_CMcpxStream_Flush,
XRefZero)
{ 0x00, 0x55 },
{ 0x01, 0x8B },
{ 0x12, 0x33 },
{ 0x3D, 0x83 },
{ 0x3E, 0xFE },
{ 0x3F, 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;

View File

@ -38,79 +38,74 @@
OOVPA_NO_XREF(DirectSoundGetSampleTime, 4361, 8) OOVPA_NO_XREF(DirectSoundGetSampleTime, 4361, 8)
// DirectSoundGetSampleTime+0x00 : xor eax, eax // DirectSoundGetSampleTime+0x00 : xor eax, eax
{ 0x00, 0x33 }, // (Offset,Value)-Pair #1 { 0x00, 0x33 },
{ 0x01, 0xC0 }, // (Offset,Value)-Pair #2 { 0x01, 0xC0 },
// DirectSoundGetSampleTime+0x0A : mov eax, ds:0FE80200Ch // DirectSoundGetSampleTime+0x0A : mov eax, ds:0FE80200Ch
{ 0x0A, 0xA1 }, // (Offset,Value)-Pair #3 { 0x0A, 0xA1 },
{ 0x0B, 0x0C }, // (Offset,Value)-Pair #4 { 0x0B, 0x0C },
{ 0x0C, 0x20 }, // (Offset,Value)-Pair #5 { 0x0C, 0x20 },
{ 0x0D, 0x80 }, // (Offset,Value)-Pair #6 { 0x0D, 0x80 },
{ 0x0E, 0xFE }, // (Offset,Value)-Pair #7 { 0x0E, 0xFE },
// DirectSoundGetSampleTime+0x0F : retn // DirectSoundGetSampleTime+0x0F : retn
{ 0x0F, 0xC3 }, // (Offset,Value)-Pair #8 { 0x0F, 0xC3 },
OOVPA_END; OOVPA_END;
#if 0 // Accurately CDirectSound_CreateSoundBuffer used 4134
// ****************************************************************** // ******************************************************************
// * IDirectSound_CreateSoundBuffer // * IDirectSound_CreateSoundBuffer
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(IDirectSound_CreateSoundBuffer, 4361, 9) OOVPA_NO_XREF(IDirectSound_CreateSoundBuffer, 4361, 9)
// IDirectSound_CreateSoundBuffer+0x2A : push 0x24 // IDirectSound_CreateSoundBuffer+0x2A : push 0x24
{ 0x2A, 0x6A }, // (Offset,Value)-Pair #1 { 0x2A, 0x6A },
{ 0x2B, 0x24 }, // (Offset,Value)-Pair #2 { 0x2B, 0x24 },
// IDirectSound_CreateSoundBuffer+0x3C : call [addr] // IDirectSound_CreateSoundBuffer+0x3C : call [addr]
{ 0x3C, 0xE8 }, // (Offset,Value)-Pair #3 { 0x3C, 0xE8 },
// IDirectSound_CreateSoundBuffer+0x4A : and esi, 0x7FF8FFF2 // IDirectSound_CreateSoundBuffer+0x4A : and esi, 0x7FF8FFF2
{ 0x4A, 0x81 }, // (Offset,Value)-Pair #4 { 0x4A, 0x81 },
{ 0x4B, 0xE6 }, // (Offset,Value)-Pair #5 { 0x4B, 0xE6 },
{ 0x4C, 0xF2 }, // (Offset,Value)-Pair #6 { 0x4C, 0xF2 },
{ 0x4D, 0xFF }, // (Offset,Value)-Pair #7 { 0x4D, 0xFF },
{ 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 { 0x4E, 0xF8 },
{ 0x4F, 0x7F }, // (Offset,Value)-Pair #9 { 0x4F, 0x7F },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** #if 0 // Replaced with OOVPA 4134
// * CDirectSound::CreateSoundStream
// ******************************************************************
#define CDirectSound_CreateSoundStream_4361 CDirectSound_CreateSoundStream_4134
// ******************************************************************
// * DirectSoundCreateStream
// ******************************************************************
#define DirectSoundCreateStream_4361 DirectSoundCreateStream_4134
// ****************************************************************** // ******************************************************************
// * CMcpxStream_Pause // * CMcpxStream_Pause
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CMcpxStream_Pause, 4361, 11, OOVPA_XREF(CMcpxStream_Pause, 4361, 11,
XREF_DSSTREAMPAUSE, XREF_CMcpxStream_Pause,
XRefZero) XRefZero)
// CMcpxStream_Pause+0x1E : or eax, 4 // CMcpxStream_Pause+0x1E : or eax, 4
{ 0x1E, 0x83 }, // (Offset,Value)-Pair #1 { 0x1E, 0x83 },
{ 0x1F, 0xC8 }, // (Offset,Value)-Pair #2 { 0x1F, 0xC8 },
{ 0x20, 0x04 }, // (Offset,Value)-Pair #3 { 0x20, 0x04 },
// CMcpxStream_Pause+0x21 : jmp +0x0D // CMcpxStream_Pause+0x21 : jmp +0x0D
{ 0x21, 0xEB }, // (Offset,Value)-Pair #4 { 0x21, 0xEB },
{ 0x22, 0x0D }, // (Offset,Value)-Pair #5 { 0x22, 0x0D },
// CMcpxStream_Pause+0x29 : movzx eax, word ptr [esi+0x12] // CMcpxStream_Pause+0x29 : movzx eax, word ptr [esi+0x12]
{ 0x29, 0x0F }, // (Offset,Value)-Pair #6 { 0x29, 0x0F },
{ 0x2A, 0xB7 }, // (Offset,Value)-Pair #7 { 0x2A, 0xB7 },
{ 0x2B, 0x46 }, // (Offset,Value)-Pair #8 { 0x2B, 0x46 },
{ 0x2C, 0x12 }, // (Offset,Value)-Pair #9 { 0x2C, 0x12 },
// CMcpxStream_Pause+0x44 : retn 0x04 // CMcpxStream_Pause+0x44 : retn 0x04
{ 0x44, 0xC2 }, // (Offset,Value)-Pair #10 { 0x44, 0xC2 },
{ 0x45, 0x04 }, // (Offset,Value)-Pair #11 { 0x45, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Replaced with generic OOVPA 4134
// ****************************************************************** // ******************************************************************
// * CDirectSoundStream_Pause // * CDirectSoundStream_Pause
// ****************************************************************** // ******************************************************************
@ -120,48 +115,49 @@ OOVPA_XREF(CDirectSoundStream_Pause, 4361, 11,
XRefOne) XRefOne)
// CDirectSoundStream_Pause+0x35 : call [CMcpxStream::Pause] // CDirectSoundStream_Pause+0x35 : call [CMcpxStream::Pause]
XREF_ENTRY( 0x35, XREF_DSSTREAMPAUSE ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x35, XREF_CMcpxStream_Pause ),
// CDirectSoundStream_Pause+0x21 : mov eax, 0x80004005 // CDirectSoundStream_Pause+0x21 : mov eax, 0x80004005
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #2 { 0x21, 0xB8 },
{ 0x22, 0x05 }, // (Offset,Value)-Pair #3 { 0x22, 0x05 },
{ 0x23, 0x40 }, // (Offset,Value)-Pair #4 { 0x23, 0x40 },
{ 0x24, 0x00 }, // (Offset,Value)-Pair #5 { 0x24, 0x00 },
{ 0x25, 0x80 }, // (Offset,Value)-Pair #6 { 0x25, 0x80 },
// CDirectSoundStream_Pause+0x2C : mov ecx, [eax+0x24] // CDirectSoundStream_Pause+0x2C : mov ecx, [eax+0x24]
{ 0x2C, 0x8B }, // (Offset,Value)-Pair #7 { 0x2C, 0x8B },
{ 0x2D, 0x48 }, // (Offset,Value)-Pair #8 { 0x2D, 0x48 },
{ 0x2E, 0x24 }, // (Offset,Value)-Pair #9 { 0x2E, 0x24 },
// CDirectSoundStream_Pause+0x4E : retn 0x08 // CDirectSoundStream_Pause+0x4E : retn 0x08
{ 0x4E, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4E, 0xC2 },
{ 0x4F, 0x08 }, // (Offset,Value)-Pair #11 { 0x4F, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSoundBuffer::SetPlayRegion // * CDirectSoundBuffer::SetPlayRegion
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4361, 10, OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4361, 10,
XREF_DSBUFFERSETPLAYREGIONA, XREF_CDirectSoundBuffer_SetPlayRegion,
XRefZero) XRefZero)
// CDirectSoundBuffer_SetPlayRegion+0x10 : movzx edi, al // CDirectSoundBuffer_SetPlayRegion+0x10 : movzx edi, al
{ 0x10, 0x0F }, // (Offset,Value)-Pair #1 { 0x10, 0x0F },
{ 0x11, 0xB6 }, // (Offset,Value)-Pair #2 { 0x11, 0xB6 },
{ 0x12, 0xF8 }, // (Offset,Value)-Pair #3 { 0x12, 0xF8 },
// CDirectSoundBuffer_SetPlayRegion+0x17 : jz +0x0B // CDirectSoundBuffer_SetPlayRegion+0x17 : jz +0x0B
{ 0x17, 0x74 }, // (Offset,Value)-Pair #4 { 0x17, 0x74 },
{ 0x18, 0x0B }, // (Offset,Value)-Pair #5 { 0x18, 0x0B },
// CDirectSoundBuffer_SetPlayRegion+0x46 : mov esi, 0x88780032 // CDirectSoundBuffer_SetPlayRegion+0x46 : mov esi, 0x88780032
{ 0x46, 0xBE }, // (Offset,Value)-Pair #6 { 0x46, 0xBE },
{ 0x47, 0x32 }, // (Offset,Value)-Pair #7 { 0x47, 0x32 },
{ 0x48, 0x00 }, // (Offset,Value)-Pair #8 { 0x48, 0x00 },
{ 0x49, 0x78 }, // (Offset,Value)-Pair #9 { 0x49, 0x78 },
{ 0x4A, 0x88 }, // (Offset,Value)-Pair #10 { 0x4A, 0x88 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -172,7 +168,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4361, 9,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x19, XREF_DSBUFFERSETPLAYREGIONA ), XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetPlayRegion ),
{ 0x02, 0x24 }, { 0x02, 0x24 },
{ 0x06, 0x24 }, { 0x06, 0x24 },
@ -194,23 +190,23 @@ OOVPA_XREF(CMcpxBuffer_Play, 4361, 11,
// CMcpxBuffer_Play+0x0E : cmp ebx, edi // CMcpxBuffer_Play+0x0E : cmp ebx, edi
{ 0x0E, 0x3B }, // (Offset,Value)-Pair #1 { 0x0E, 0x3B },
{ 0x0F, 0xDF }, // (Offset,Value)-Pair #2 { 0x0F, 0xDF },
// CMcpxBuffer_Play+0x1C : jz +0x09 // CMcpxBuffer_Play+0x1C : jz +0x09
{ 0x1C, 0x74 }, // (Offset,Value)-Pair #3 { 0x1C, 0x74 },
{ 0x1D, 0x09 }, // (Offset,Value)-Pair #4 { 0x1D, 0x09 },
// CMcpxBuffer_Play+0x30 : test byte ptr [esi+0x12], 2 // CMcpxBuffer_Play+0x30 : test byte ptr [esi+0x12], 2
{ 0x30, 0xF6 }, // (Offset,Value)-Pair #5 { 0x30, 0xF6 },
{ 0x31, 0x46 }, // (Offset,Value)-Pair #6 { 0x31, 0x46 },
{ 0x32, 0x12 }, // (Offset,Value)-Pair #7 { 0x32, 0x12 },
{ 0x33, 0x02 }, // (Offset,Value)-Pair #8 { 0x33, 0x02 },
// CMcpxBuffer_Play+0x71 : call dword ptr [eax+0x18] // CMcpxBuffer_Play+0x71 : call dword ptr [eax+0x18]
{ 0x71, 0xFF }, // (Offset,Value)-Pair #9 { 0x71, 0xFF },
{ 0x72, 0x50 }, // (Offset,Value)-Pair #10 { 0x72, 0x50 },
{ 0x73, 0x18 }, // (Offset,Value)-Pair #11 { 0x73, 0x18 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -222,22 +218,22 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 4361, 10,
XRefOne) XRefOne)
// CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play] // CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play]
XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Play ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Play ),
// CDirectSoundBuffer_Play+0x21 : mov eax, 0x80004005 // CDirectSoundBuffer_Play+0x21 : mov eax, 0x80004005
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #2 { 0x21, 0xB8 },
{ 0x22, 0x05 }, // (Offset,Value)-Pair #3 { 0x22, 0x05 },
{ 0x23, 0x40 }, // (Offset,Value)-Pair #4 { 0x23, 0x40 },
{ 0x24, 0x00 }, // (Offset,Value)-Pair #5 { 0x24, 0x00 },
{ 0x25, 0x80 }, // (Offset,Value)-Pair #6 { 0x25, 0x80 },
// CDirectSoundBuffer_Play+0x3D : jz +0x0B // CDirectSoundBuffer_Play+0x3D : jz +0x0B
{ 0x3D, 0x74 }, // (Offset,Value)-Pair #7 { 0x3D, 0x74 },
{ 0x3E, 0x0B }, // (Offset,Value)-Pair #8 { 0x3E, 0x0B },
// CDirectSoundBuffer_Play+0x4E : retn 0x10 // CDirectSoundBuffer_Play+0x4E : retn 0x10
{ 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4E, 0xC2 },
{ 0x4F, 0x10 }, // (Offset,Value)-Pair #10 { 0x4F, 0x10 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -249,47 +245,49 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 4361, 9,
XRefOne) XRefOne)
// IDirectSoundBuffer_Play+0x1D : call [CDirectSoundBuffer::Play] // IDirectSoundBuffer_Play+0x1D : call [CDirectSoundBuffer::Play]
XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ),
// IDirectSoundBuffer_Play+0x0E : push [esp+0x10] // IDirectSoundBuffer_Play+0x0E : push [esp+0x10]
{ 0x0E, 0xFF }, // (Offset,Value)-Pair #2 { 0x0E, 0xFF },
{ 0x0F, 0x74 }, // (Offset,Value)-Pair #3 { 0x0F, 0x74 },
{ 0x10, 0x24 }, // (Offset,Value)-Pair #4 { 0x10, 0x24 },
{ 0x11, 0x10 }, // (Offset,Value)-Pair #5 { 0x11, 0x10 },
// IDirectSoundBuffer_Play+0x17 : sbb ecx, ecx // IDirectSoundBuffer_Play+0x17 : sbb ecx, ecx
{ 0x17, 0x1B }, // (Offset,Value)-Pair #6 { 0x17, 0x1B },
{ 0x18, 0xC9 }, // (Offset,Value)-Pair #7 { 0x18, 0xC9 },
// IDirectSoundBuffer_Play+0x19 : and ecx, eax // IDirectSoundBuffer_Play+0x19 : and ecx, eax
{ 0x19, 0x23 }, // (Offset,Value)-Pair #8 { 0x19, 0x23 },
{ 0x1A, 0xC8 }, // (Offset,Value)-Pair #9 { 0x1A, 0xC8 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * CMcpxBuffer_Stop // * CMcpxBuffer_Stop
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CMcpxBuffer_Stop, 4361, 9, OOVPA_XREF(CMcpxBuffer_Stop, 4361, 9,
XREF_CMcpxBuffer_Stop, XREF_CMcpxBuffer_Stop,
XRefZero) XRefZero)
// CMcpxBuffer_Stop+0x0E : cmp al, 3 // CMcpxBuffer_Stop+0x0E : cmp al, 3
{ 0x0E, 0x3C }, // (Offset,Value)-Pair #1 { 0x0E, 0x3C },
{ 0x0F, 0x03 }, // (Offset,Value)-Pair #2 { 0x0F, 0x03 },
// CMcpxBuffer_Stop+0x17 : jz +0x2A // CMcpxBuffer_Stop+0x17 : jz +0x2A
{ 0x17, 0x74 }, // (Offset,Value)-Pair #3 { 0x17, 0x74 },
{ 0x18, 0x2A }, // (Offset,Value)-Pair #4 { 0x18, 0x2A },
// CMcpxBuffer_Stop+0x19 : test [esp+0Ch+arg_0], 2 // CMcpxBuffer_Stop+0x19 : test [esp+0Ch+arg_0], 2
{ 0x19, 0xF6 }, // (Offset,Value)-Pair #5 { 0x19, 0xF6 },
{ 0x1A, 0x44 }, // (Offset,Value)-Pair #6 { 0x1A, 0x44 },
{ 0x1B, 0x24 }, // (Offset,Value)-Pair #7 { 0x1B, 0x24 },
{ 0x1C, 0x10 }, // (Offset,Value)-Pair #8 { 0x1C, 0x10 },
{ 0x1D, 0x02 }, // (Offset,Value)-Pair #9 { 0x1D, 0x02 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * CDirectSoundBuffer_Stop // * CDirectSoundBuffer_Stop
// ****************************************************************** // ******************************************************************
@ -299,24 +297,25 @@ OOVPA_XREF(CDirectSoundBuffer_Stop, 4361, 10,
XRefOne) XRefOne)
// CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop]
XREF_ENTRY( 0x33, XREF_CMcpxBuffer_Stop), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x33, XREF_CMcpxBuffer_Stop),
// CDirectSoundBuffer_Stop+0x21 : mov eax, 0x80004005 // CDirectSoundBuffer_Stop+0x21 : mov eax, 0x80004005
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #2 { 0x21, 0xB8 },
{ 0x22, 0x05 }, // (Offset,Value)-Pair #3 { 0x22, 0x05 },
{ 0x23, 0x40 }, // (Offset,Value)-Pair #4 { 0x23, 0x40 },
{ 0x24, 0x00 }, // (Offset,Value)-Pair #5 { 0x24, 0x00 },
{ 0x25, 0x80 }, // (Offset,Value)-Pair #6 { 0x25, 0x80 },
// CDirectSoundBuffer_Stop+0x3B : jz +0x0B // CDirectSoundBuffer_Stop+0x3B : jz +0x0B
{ 0x3B, 0x74 }, // (Offset,Value)-Pair #7 { 0x3B, 0x74 },
{ 0x3C, 0x0B }, // (Offset,Value)-Pair #8 { 0x3C, 0x0B },
// CDirectSoundBuffer_Stop+0x4C : retn 0x04 // CDirectSoundBuffer_Stop+0x4C : retn 0x04
{ 0x4C, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4C, 0xC2 },
{ 0x4D, 0x04 }, // (Offset,Value)-Pair #10 { 0x4D, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 //Using generic 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_Stop // * IDirectSoundBuffer_Stop
// ****************************************************************** // ******************************************************************
@ -326,28 +325,29 @@ OOVPA_XREF(IDirectSoundBuffer_Stop, 4361, 8,
XRefOne) XRefOne)
// IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop] // IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop]
XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop),
// IDirectSoundBuffer_Stop+0x06 : and eax, 0xFFFFFFE4 // IDirectSoundBuffer_Stop+0x06 : and eax, 0xFFFFFFE4
{ 0x06, 0x83 }, // (Offset,Value)-Pair #2 { 0x06, 0x83 },
{ 0x07, 0xC0 }, // (Offset,Value)-Pair #3 { 0x07, 0xC0 },
{ 0x08, 0xE4 }, // (Offset,Value)-Pair #4 { 0x08, 0xE4 },
// IDirectSoundBuffer_Stop+0x0B : sbb ecx, ecx // IDirectSoundBuffer_Stop+0x0B : sbb ecx, ecx
{ 0x0B, 0x1B }, // (Offset,Value)-Pair #5 { 0x0B, 0x1B },
{ 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 { 0x0C, 0xC9 },
// IDirectSoundBuffer_Stop+0x0D : and ecx, eax // IDirectSoundBuffer_Stop+0x0D : and ecx, eax
{ 0x0D, 0x23 }, // (Offset,Value)-Pair #7 { 0x0D, 0x23 },
{ 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 { 0x0E, 0xC8 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 4134
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoiceSettings::SetMixBinVolumes // * DirectSound::CDirectSoundVoiceSettings::SetMixBinVolumes
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4361, 7, OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4361, 7,
XREF_DSSETMIXBINVOLUMESC, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes,
XRefZero) XRefZero)
{ 0x03, 0x24 }, { 0x03, 0x24 },
@ -358,16 +358,17 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4361, 7,
{ 0x1C, 0x3B }, { 0x1C, 0x3B },
{ 0x21, 0x5E }, { 0x21, 0x5E },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 4134
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::SetMixBinVolumes // * DirectSound::CDirectSoundVoice::SetMixBinVolumes
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4361, 8, OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4361, 8,
XREF_DSSETMIXBINVOLUMESB, XREF_CDirectSoundVoice_SetMixBinVolumes,
XRefOne) XRefOne)
XREF_ENTRY( 0x0D, XREF_DSSETMIXBINVOLUMESC ), XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes ),
{ 0x02, 0x74 }, { 0x02, 0x74 },
{ 0x06, 0x74 }, { 0x06, 0x74 },
@ -377,16 +378,17 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4361, 8,
{ 0x19, 0x5E }, { 0x19, 0x5E },
{ 0x1A, 0xC2 }, { 0x1A, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 4134
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetMixBinVolumes // * DirectSound::CDirectSoundBuffer::SetMixBinVolumes
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4361, 8, OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4361, 8,
XREF_DSSETMIXBINVOLUMESA, XREF_CDirectSoundBuffer_SetMixBinVolumes,
XRefOne) XRefOne)
XREF_ENTRY( 0x32, XREF_DSSETMIXBINVOLUMESB ), XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBinVolumes ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x12, 0x85 }, { 0x12, 0x85 },
@ -396,7 +398,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4361, 8,
{ 0x3A, 0x74 }, { 0x3A, 0x74 },
{ 0x47, 0x8B }, { 0x47, 0x8B },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundBuffer::PlayEx // * DirectSound::CDirectSoundBuffer::PlayEx
// ****************************************************************** // ******************************************************************
@ -460,6 +462,7 @@ OOVPA_XREF(CDirectSoundBuffer_StopEx, 4361, 8,
{ 0x52, 0x8B }, { 0x52, 0x8B },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_StopEx // * IDirectSoundBuffer_StopEx
// ****************************************************************** // ******************************************************************
@ -478,82 +481,7 @@ OOVPA_XREF(IDirectSoundBuffer_StopEx, 4361, 8,
{ 0x1C, 0xE8 }, { 0x1C, 0xE8 },
{ 0x21, 0xC2 }, { 0x21, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetFormat
// ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetFormat, 4361, 8,
XREF_CDirectSoundVoice_SetFormat,
XRefZero)
{ 0x07, 0x4E },
{ 0x10, 0xE8 },
{ 0x19, 0xD8 },
{ 0x22, 0xFF },
{ 0x2B, 0x0C },
{ 0x34, 0xFF },
{ 0x3F, 0x8B },
{ 0x46, 0x00 },
OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetFormat
// ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4361, 8,
XREF_CDirectSoundBuffer_SetFormat,
XRefOne)
XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFormat ),
{ 0x0C, 0x00 },
{ 0x12, 0x85 },
{ 0x1C, 0x15 },
{ 0x26, 0xEB },
{ 0x30, 0x10 },
{ 0x3A, 0x74 },
{ 0x47, 0x8B },
OOVPA_END;
// ******************************************************************
// * IDirectSoundBuffer_SetFormat
// ******************************************************************
OOVPA_XREF(IDirectSoundBuffer_SetFormat, 4361, 8,
XRefNoSaveIndex,
XRefOne)
XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFormat ),
{ 0x02, 0x24 },
{ 0x06, 0x24 },
{ 0x0A, 0x83 },
{ 0x0E, 0xD9 },
{ 0x12, 0xC8 },
{ 0x19, 0xC2 },
{ 0x1A, 0x08 },
OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSoundStream::SetFormat
// ******************************************************************
OOVPA_XREF(CDirectSoundStream_SetFormat, 4361, 9,
XRefNoSaveIndex,
XRefOne)
XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ),
{ 0x00, 0x56 },
{ 0x0C, 0x00 },
{ 0x14, 0x74 },
{ 0x21, 0xB8 },
{ 0x2A, 0x24 },
{ 0x35, 0xE8 },
{ 0x40, 0x68 },
{ 0x4B, 0x8B },
OOVPA_END;
// ****************************************************************** // ******************************************************************
// * public: long __thiscall DirectSound::CMcpxBuffer::Play(__int64,unsigned long) // * public: long __thiscall DirectSound::CMcpxBuffer::Play(__int64,unsigned long)
@ -573,6 +501,174 @@ OOVPA_XREF(CMcpxBuffer_Play2, 4361, 8,
{ 0x36, 0xC2 }, { 0x36, 0xC2 },
OOVPA_END; 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_DSVOICESETROLLOFFFACTOR,
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::SetDistanceFactor
// ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4361, 12,
XREF_DSVOICESETDISTANCEFACTOR,
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::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;
// ******************************************************************
// * 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;
// ****************************************************************** // ******************************************************************
// * DSound_4361 // * DSound_4361
// ****************************************************************** // ******************************************************************
@ -581,52 +677,71 @@ OOVPATable DSound_4361[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH),
REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4361, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4361, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4361, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -32,44 +32,55 @@
// * // *
// ****************************************************************** // ******************************************************************
//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?)
// ****************************************************************** // ******************************************************************
// * DirectSoundDoWork // * DirectSound::GetCaps
// ****************************************************************** // ******************************************************************
#define DirectSoundDoWork_4432 DirectSoundDoWork_4361 OOVPA_XREF(CDirectSound_GetCaps, 4361, 7,
// ****************************************************************** XREF_CDirectSound_GetCaps,
// * DirectSoundGetSampleTime XRefZero)
// ******************************************************************
#define DirectSoundGetSampleTime_4432 DirectSoundGetSampleTime_4361
{ 0x0C, 0x0F },
{ 0x0D, 0xB6 },
{ 0x0E, 0xC8 },
{ 0x46, 0x8B },
{ 0x4C, 0x8B },
{ 0x69, 0xC2 },
{ 0x6A, 0x08 },
OOVPA_END;
#if 0 // Used 3936
// ****************************************************************** // ******************************************************************
// * IDirectSound_Release // * IDirectSound_Release
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(IDirectSound_Release, 4432, 12) OOVPA_NO_XREF(IDirectSound_Release, 4432, 12)
// IDirectSound_Release+0x04 : lea ecx, [eax-8] // IDirectSound_Release+0x04 : lea ecx, [eax-8]
{ 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x04, 0x8D },
{ 0x05, 0x48 }, // (Offset,Value)-Pair #2 { 0x05, 0x48 },
{ 0x06, 0xF8 }, // (Offset,Value)-Pair #3 { 0x06, 0xF8 },
// IDirectSound_Release+0x07 : neg eax // IDirectSound_Release+0x07 : neg eax
{ 0x07, 0xF7 }, // (Offset,Value)-Pair #4 { 0x07, 0xF7 },
{ 0x08, 0xD8 }, // (Offset,Value)-Pair #5 { 0x08, 0xD8 },
// IDirectSound_Release+0x09 : sbb eax, eax // IDirectSound_Release+0x09 : sbb eax, eax
{ 0x09, 0x1B }, // (Offset,Value)-Pair #6 { 0x09, 0x1B },
{ 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 { 0x0A, 0xC0 },
// IDirectSound_Release+0x0D : mov ecx, [eax] // IDirectSound_Release+0x0D : mov ecx, [eax]
{ 0x0D, 0x8B }, // (Offset,Value)-Pair #8 { 0x0D, 0x8B },
{ 0x0E, 0x08 }, // (Offset,Value)-Pair #9 { 0x0E, 0x08 },
// IDirectSound_Release+0x10 : call dword ptr [ecx+8] // IDirectSound_Release+0x10 : call dword ptr [ecx+8]
{ 0x10, 0xFF }, // (Offset,Value)-Pair #10 { 0x10, 0xFF },
{ 0x11, 0x51 }, // (Offset,Value)-Pair #11 { 0x11, 0x51 },
{ 0x12, 0x08 }, // (Offset,Value)-Pair #12 { 0x12, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 4134
// ****************************************************************** // ******************************************************************
// ****************************************************************** // ******************************************************************
@ -77,75 +88,97 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4432, 10, OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4432, 10,
XREF_DSSETMIXBINSC, XREF_CDirectSoundVoiceSettings_SetMixBins,
XRefZero) XRefZero)
// CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A
{ 0x06, 0x75 }, // (Offset,Value)-Pair #1 { 0x06, 0x75 },
{ 0x07, 0x1A }, // (Offset,Value)-Pair #2 { 0x07, 0x1A },
// CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10 // CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10
{ 0x08, 0xF6 }, // (Offset,Value)-Pair #3 { 0x08, 0xF6 },
{ 0x09, 0x41 }, // (Offset,Value)-Pair #4 { 0x09, 0x41 },
{ 0x0A, 0x08 }, // (Offset,Value)-Pair #5 { 0x0A, 0x08 },
{ 0x0B, 0x10 }, // (Offset,Value)-Pair #6 { 0x0B, 0x10 },
// CDirectSoundVoiceSettings_SetMixBins+0x2B : jbe +0x2B // CDirectSoundVoiceSettings_SetMixBins+0x2B : jbe +0x2B
{ 0x2B, 0x76 }, // (Offset,Value)-Pair #7 { 0x2B, 0x76 },
{ 0x2C, 0x2B }, // (Offset,Value)-Pair #8 { 0x2C, 0x2B },
// CDirectSoundVoiceSettings_SetMixBins+0xB2 : retn 0x04 // CDirectSoundVoiceSettings_SetMixBins+0xB2 : retn 0x04
{ 0xB2, 0xC2 }, // (Offset,Value)-Pair #9 { 0xB2, 0xC2 },
{ 0xB3, 0x04 }, // (Offset,Value)-Pair #10 { 0xB3, 0x04 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSoundCreate, 4432 // * DSound_4432
// ****************************************************************** // ******************************************************************
OOVPATable DSound_4432[] = { OOVPATable DSound_4432[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(DirectSoundGetSampleTime, 4432, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF),
REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH),
REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 4432, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4432, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4134, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

File diff suppressed because it is too large Load Diff

View File

@ -54,56 +54,56 @@ OOVPATable DSound_5028[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(DirectSoundGetSampleTime, 4627, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroomA, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF),
REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF),
REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF),
REGISTER_OOVPA(CDirectSound_SetAllParameters, 4928, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 4831, XREF),
REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF),
REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness...
REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH),
REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4134, XREF),
REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
@ -111,38 +111,40 @@ OOVPATable DSound_5028[] = {
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF),
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetSpeakerConfig, 4627, PATCH), REGISTER_OOVPA(CDirectSound_GetSpeakerConfig, 4627, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF),
REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF),
@ -153,83 +155,85 @@ OOVPATable DSound_5028[] = {
REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPosition, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH),
REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF),
REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF),
REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4721, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 4627, XREF),
REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMode, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMode, 4134, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF),
@ -238,13 +242,15 @@ OOVPATable DSound_5028[] = {
REGISTER_OOVPA(XFileCreateMediaObjectEx, 5028, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectEx, 5028, PATCH),
REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH), REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -37,89 +37,96 @@
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_EnableHeadphones, 5233, 8, OOVPA_XREF(CDirectSound_EnableHeadphones, 5233, 8,
XREF_DSENABLEHEADPHONES, XREF_CDirectSound_EnableHeadphones,
XRefZero) XRefZero)
{ 0x16, 0x45 }, // (Offset,Value)-Pair #1 { 0x16, 0x45 },
{ 0x1D, 0x0B }, // (Offset,Value)-Pair #2 { 0x1D, 0x0B },
{ 0x2A, 0x05 }, // (Offset,Value)-Pair #3 { 0x2A, 0x05 },
{ 0x46, 0x95 }, // (Offset,Value)-Pair #4 { 0x46, 0x95 },
{ 0x56, 0x80 }, // (Offset,Value)-Pair #5 { 0x56, 0x80 },
{ 0x5D, 0x7F }, // (Offset,Value)-Pair #6 { 0x5D, 0x7F },
{ 0x74, 0xA4 }, // (Offset,Value)-Pair #7 { 0x74, 0xA4 },
{ 0x99, 0x08 }, // (Offset,Value)-Pair #8 { 0x99, 0x08 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSound8_EnableHeadphones // * IDirectSound_EnableHeadphones
// ****************************************************************** // ******************************************************************
OOVPA_XREF(IDirectSound8_EnableHeadphones, 5233, 8, OOVPA_XREF(IDirectSound_EnableHeadphones, 5233, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x15, XREF_DSENABLEHEADPHONES ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x15, XREF_CDirectSound_EnableHeadphones ),
// IDirectSound8_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 // IDirectSound_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8
{ 0x0A, 0x83 }, // (Offset,Value)-Pair #2 { 0x0A, 0x83 },
{ 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 { 0x0B, 0xC0 },
{ 0x0C, 0xF8 }, // (Offset,Value)-Pair #4 { 0x0C, 0xF8 },
// IDirectSound8_EnableHeadphones+0x0F : sbb ecx, ecx // IDirectSound_EnableHeadphones+0x0F : sbb ecx, ecx
{ 0x0F, 0x1B }, // (Offset,Value)-Pair #5 { 0x0F, 0x1B },
{ 0x10, 0xC9 }, // (Offset,Value)-Pair #6 { 0x10, 0xC9 },
// IDirectSound8_EnableHeadphones+0x19 : retn 0x08 // IDirectSound_EnableHeadphones+0x19 : retn 0x08
{ 0x19, 0xC2 }, // (Offset,Value)-Pair #7 { 0x19, 0xC2 },
{ 0x1A, 0x08 }, // (Offset,Value)-Pair #8 { 0x1A, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSoundStream_FlushEx // * CDirectSoundStream_FlushEx
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundStream_FlushEx, 5233, 11, OOVPA_XREF(CDirectSoundStream_FlushEx, 5233, 15,
XREF_DSFLUSHEX2, XREF_DSFLUSHEX2,
XRefZero) XRefZero)
{ 0x24, 0xB8 }, // (Offset,Value)-Pair #1 { 0x24, 0xB8 },
{ 0x25, 0x05 }, // (Offset,Value)-Pair #2 { 0x25, 0x05 },
{ 0x26, 0x40 }, // (Offset,Value)-Pair #3 { 0x26, 0x40 },
{ 0x27, 0x00 }, // (Offset,Value)-Pair #4 { 0x27, 0x00 },
{ 0x28, 0x80 }, // (Offset,Value)-Pair #5 { 0x28, 0x80 },
{ 0x36, 0x74 }, // (Offset,Value)-Pair #6 { 0x29, 0xEB },
{ 0x37, 0x12 }, // (Offset,Value)-Pair #7 { 0x2A, 0x3A },
{ 0x2B, 0x83 },
{ 0x2C, 0x7D },
{ 0x3E, 0xFF }, // (Offset,Value)-Pair #8 { 0x36, 0x74 },
{ 0x40, 0x0C }, // (Offset,Value)-Pair #9 { 0x37, 0x12 },
{ 0x67, 0xC2 }, // (Offset,Value)-Pair #10 { 0x3E, 0xFF },
{ 0x68, 0x10 }, // (Offset,Value)-Pair #11 { 0x40, 0x0C },
{ 0x67, 0xC2 },
{ 0x68, 0x10 },
OOVPA_END; OOVPA_END;
#if 0 // Used 4627
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_StopEx // * IDirectSoundStream_FlushEx
// ****************************************************************** // ******************************************************************
OOVPA_XREF(IDirectSoundBuffer_StopEx, 5233, 9, OOVPA_XREF(IDirectSoundStream_FlushEx, 5233, 9,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x11, XREF_DSFLUSHEX2 ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x11, XREF_DSFLUSHEX2 ),
{ 0x00, 0xFF }, // (Offset,Value)-Pair #2 { 0x00, 0xFF },
{ 0x03, 0x10 }, // (Offset,Value)-Pair #3 { 0x03, 0x10 },
{ 0x04, 0xFF }, // (Offset,Value)-Pair #4 { 0x04, 0xFF },
{ 0x07, 0x10 }, // (Offset,Value)-Pair #5 { 0x07, 0x10 },
{ 0x08, 0xFF }, // (Offset,Value)-Pair #6 { 0x08, 0xFF },
{ 0x0B, 0x10 }, // (Offset,Value)-Pair #7 { 0x0B, 0x10 },
{ 0x15, 0xC2 }, // (Offset,Value)-Pair #8 { 0x15, 0xC2 },
{ 0x16, 0x10 }, // (Offset,Value)-Pair #9 { 0x16, 0x10 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// CMcpxAPU::SynchPlayback // CMcpxAPU::SynchPlayback
@ -129,14 +136,14 @@ OOVPA_XREF(CMcpxAPU_SynchPlayback, 5233, 8,
XREF_DSSYNCHPLAYBACKB, XREF_DSSYNCHPLAYBACKB,
XRefZero) XRefZero)
{ 0x0C, 0x74 }, // (Offset,Value)-Pair #1 { 0x0C, 0x74 },
{ 0x1A, 0x1A }, // (Offset,Value)-Pair #2 { 0x1A, 0x1A },
{ 0x25, 0x53 }, // (Offset,Value)-Pair #3 { 0x25, 0x53 },
{ 0x37, 0xF2 }, // (Offset,Value)-Pair #4 { 0x37, 0xF2 },
{ 0x58, 0xBC }, // (Offset,Value)-Pair #5 { 0x58, 0xBC },
{ 0x84, 0x43 }, // (Offset,Value)-Pair #6 { 0x84, 0x43 },
{ 0x9E, 0x64 }, // (Offset,Value)-Pair #7 { 0x9E, 0x64 },
{ 0xFF, 0x00 }, // (Offset,Value)-Pair #8 { 0xFF, 0x00 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -147,22 +154,22 @@ OOVPA_XREF(CDirectSound_SynchPlayback, 5233, 10,
XREF_DSSYNCHPLAYBACKA, XREF_DSSYNCHPLAYBACKA,
XRefOne) XRefOne)
XREF_ENTRY( 0x08, XREF_DSSYNCHPLAYBACKB ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x08, XREF_DSSYNCHPLAYBACKB ),
// CDirectSound_SynchPlayback+0x00 : mov eax, [esp+0x04] // CDirectSound_SynchPlayback+0x00 : mov eax, [esp+0x04]
{ 0x00, 0x8B }, // (Offset,Value)-Pair #2 { 0x00, 0x8B },
{ 0x01, 0x44 }, // (Offset,Value)-Pair #3 { 0x01, 0x44 },
{ 0x02, 0x24 }, // (Offset,Value)-Pair #4 { 0x02, 0x24 },
{ 0x03, 0x04 }, // (Offset,Value)-Pair #5 { 0x03, 0x04 },
// CDirectSound_SynchPlayback+0x04 : mov ecx, [eax+0x0C] // CDirectSound_SynchPlayback+0x04 : mov ecx, [eax+0x0C]
{ 0x04, 0x8B }, // (Offset,Value)-Pair #6 { 0x04, 0x8B },
{ 0x05, 0x48 }, // (Offset,Value)-Pair #7 { 0x05, 0x48 },
{ 0x06, 0x0C }, // (Offset,Value)-Pair #8 { 0x06, 0x0C },
// CDirectSound_SynchPlayback+0x0C : retn 0x04 // CDirectSound_SynchPlayback+0x0C : retn 0x04
{ 0x0C, 0xC2 }, // (Offset,Value)-Pair #9 { 0x0C, 0xC2 },
{ 0x0D, 0x04 }, // (Offset,Value)-Pair #10 { 0x0D, 0x04 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -173,43 +180,38 @@ OOVPA_XREF(IDirectSound_SynchPlayback, 5233, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x11, XREF_DSSYNCHPLAYBACKA ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x11, XREF_DSSYNCHPLAYBACKA ),
// IDirectSound_SynchPlayback+0x06 : add eax, 0xFFFFFFF8 // IDirectSound_SynchPlayback+0x06 : add eax, 0xFFFFFFF8
{ 0x06, 0x83 }, // (Offset,Value)-Pair #2 { 0x06, 0x83 },
{ 0x07, 0xC0 }, // (Offset,Value)-Pair #3 { 0x07, 0xC0 },
{ 0x08, 0xF8 }, // (Offset,Value)-Pair #4 { 0x08, 0xF8 },
// IDirectSound_SynchPlayback+0x0B : sbb ecx, ecx // IDirectSound_SynchPlayback+0x0B : sbb ecx, ecx
{ 0x0B, 0x1B }, // (Offset,Value)-Pair #5 { 0x0B, 0x1B },
{ 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 { 0x0C, 0xC9 },
// IDirectSound_SynchPlayback+0x15 : retn 0x04 // IDirectSound_SynchPlayback+0x15 : retn 0x04
{ 0x15, 0xC2 }, // (Offset,Value)-Pair #7 { 0x15, 0xC2 },
{ 0x16, 0x04 }, // (Offset,Value)-Pair #8 { 0x16, 0x04 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetFormat
// ******************************************************************
#define CDirectSoundVoice_SetFormat_5233 CDirectSoundVoice_SetFormat_4721
// ****************************************************************** // ******************************************************************
// CDirectSoundVoice::SetMode // CDirectSoundVoice::SetMode
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetMode, 5233, 8, OOVPA_XREF(CDirectSoundVoice_SetMode, 5233, 8,
XREF_DSBUFFERSETMODEB, XREF_CDirectSoundVoice_SetMode,
XRefZero) XRefZero)
{ 0x00, 0xF6 }, // (Offset,Value)-Pair #1 { 0x00, 0xF6 },
{ 0x07, 0x24 }, // (Offset,Value)-Pair #2 { 0x07, 0x24 },
{ 0x0B, 0x10 }, // (Offset,Value)-Pair #3 { 0x0B, 0x10 },
{ 0x0E, 0xB4 }, // (Offset,Value)-Pair #4 { 0x0E, 0xB4 },
{ 0x18, 0x3C }, // (Offset,Value)-Pair #5 { 0x18, 0x3C },
{ 0x1A, 0x06 }, // (Offset,Value)-Pair #6 { 0x1A, 0x06 },
{ 0x21, 0x33 }, // (Offset,Value)-Pair #7 { 0x21, 0x33 },
{ 0x24, 0x0C }, // (Offset,Value)-Pair #8 { 0x24, 0x0C },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -217,20 +219,20 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetMode, 5233, 8, OOVPA_XREF(CDirectSoundBuffer_SetMode, 5233, 8,
XREF_DSBUFFERSETMODEA, XREF_CDirectSoundBuffer_SetMode,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_DSBUFFERSETMODEB ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMode ),
{ 0x01, 0xE8 }, // (Offset,Value)-Pair #2 { 0x01, 0xE8 },
{ 0x15, 0x0B }, // (Offset,Value)-Pair #3 { 0x15, 0x0B },
{ 0x22, 0x05 }, // (Offset,Value)-Pair #4 { 0x22, 0x05 },
{ 0x27, 0x26 }, // (Offset,Value)-Pair #5 { 0x27, 0x26 },
{ 0x34, 0x14 }, // (Offset,Value)-Pair #6 { 0x34, 0x14 },
{ 0x3F, 0x0B }, // (Offset,Value)-Pair #7 { 0x3F, 0x0B },
{ 0x50, 0x0C }, // (Offset,Value)-Pair #8 { 0x50, 0x0C },
OOVPA_END; OOVPA_END;
#if 0 // Duplicate OOVPA, replacing with generic 4039
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetMode // * IDirectSoundBuffer_SetMode
// ****************************************************************** // ******************************************************************
@ -239,22 +241,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 5233, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), // (Offset,Value)-Pair #1 XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetMode ),
// IDirectSound8_EnableHeadphones+0x0E : add eax, 0xFFFFFFE4 // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4
{ 0x0E, 0x83 }, // (Offset,Value)-Pair #2 { 0x0E, 0x83 },
{ 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 { 0x0F, 0xC0 },
{ 0x10, 0xE4 }, // (Offset,Value)-Pair #4 { 0x10, 0xE4 },
// IDirectSound8_EnableHeadphones+0x13 : sbb ecx, ecx // IDirectSoundBuffer_SetMode+0x13 : sbb ecx, ecx
{ 0x13, 0x1B }, // (Offset,Value)-Pair #5 { 0x13, 0x1B },
{ 0x14, 0xC9 }, // (Offset,Value)-Pair #6 { 0x14, 0xC9 },
// IDirectSound8_EnableHeadphones+0x19 : retn 0x0C // IDirectSoundBuffer_SetMode+0x19 : retn 0x0C
{ 0x1D, 0xC2 }, // (Offset,Value)-Pair #7 { 0x1D, 0xC2 },
{ 0x1E, 0x0C }, // (Offset,Value)-Pair #8 { 0x1E, 0x0C },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoice::SetVolume // * CDirectSoundVoice::SetVolume
// ****************************************************************** // ******************************************************************
@ -263,7 +265,7 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 5233, 8,
XREF_CDirectSoundVoice_SetVolume, XREF_CDirectSoundVoice_SetVolume,
XRefOne) XRefOne)
XREF_ENTRY( 0x15, XREF_DSSTREAMSETVOLUME ), XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ),
{ 0x02, 0x24 }, { 0x02, 0x24 },
{ 0x06, 0x10 }, { 0x06, 0x10 },
@ -301,7 +303,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 5233, 11,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_DSBUFFERSETFREQUENCYB ), XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFrequency ),
{ 0x0E, 0xB6 }, { 0x0E, 0xB6 },
// je XXXXXXXX + 0x0B // je XXXXXXXX + 0x0B
@ -321,6 +323,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 5233, 11,
{ 0x50, 0x08 }, { 0x50, 0x08 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 4134
// ****************************************************************** // ******************************************************************
// * CDirectSoundStream::SetMixBins // * CDirectSoundStream::SetMixBins
// ****************************************************************** // ******************************************************************
@ -329,7 +332,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5233, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_DSSETMIXBINSB ), XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBins ),
{ 0x0E, 0xB6 }, { 0x0E, 0xB6 },
{ 0x15, 0x0B }, { 0x15, 0x0B },
@ -339,7 +342,9 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5233, 8,
{ 0x4D, 0x5F }, { 0x4D, 0x5F },
{ 0x50, 0x08 }, { 0x50, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Don't use. Duplicate detection CDirectSoundVoice_SetConeAngles.
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoice::SetRolloffCurve // * CDirectSoundVoice::SetRolloffCurve
// ****************************************************************** // ******************************************************************
@ -357,174 +362,174 @@ OOVPA_XREF(CDirectSoundVoice_SetRolloffCurve, 5233, 8,
{ 0x34, 0x10 }, { 0x34, 0x10 },
{ 0x3E, 0x33 }, { 0x3E, 0x33 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DSound_5233 // * DSound_5233
// ****************************************************************** // ******************************************************************
OOVPATable DSound_5233[] = { OOVPATable DSound_5233[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(DirectSoundGetSampleTime, 4627, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(CMcpxAPU_SynchPlayback, 5233, XREF), REGISTER_OOVPA(CMcpxAPU_SynchPlayback, 5233, XREF),
REGISTER_OOVPA(CDirectSound_SynchPlayback, 5233, XREF), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5233, XREF),
REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH), REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH),
REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH),
REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF),
REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 5233, PATCH),
REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF),
REGISTER_OOVPA(IDirectSound8_EnableHeadphones, 5233, PATCH), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF),
REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using)
REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5233, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF),
REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -35,15 +35,17 @@
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::SetMinDistance // * DirectSound::CDirectSoundVoice::SetMinDistance
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 5344, 7, OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 5344, 9,
XREF_DSVOICESETMINDISTANCE, XREF_CDirectSoundVoice_SetMinDistance,
XRefZero) XRefZero)
{ 0x05, 0x41 }, { 0x05, 0x41 },
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x13, 0x38 }, { 0x13, 0x38 },
{ 0x1A, 0x00 }, { 0x14, 0x8B },
{ 0x1D, 0x80 },
{ 0x1F, 0x02 },
{ 0x21, 0xF6 }, { 0x21, 0xF6 },
{ 0x28, 0x51 }, { 0x28, 0x51 },
{ 0x2F, 0xC0 }, { 0x2F, 0xC0 },
@ -53,11 +55,11 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5344, 11, OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5344, 11,
XREF_DSBUFFERSETMINDISTANCE, XREF_CDirectSoundBuffer_SetMinDistance,
XRefOne) XRefOne)
// CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance]
XREF_ENTRY( 0x3A, XREF_DSVOICESETMINDISTANCE ), XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMinDistance ),
{ 0x00, 0x56 }, { 0x00, 0x56 },
// CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h
@ -84,7 +86,7 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 5344, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x3E, XREF_DSVOICESETMINDISTANCE ), XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMinDistance ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x16, 0x68 }, { 0x16, 0x68 },
@ -100,7 +102,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5344, 8, OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5344, 8,
XREF_DSSETI3DL2LISTENER, XREF_CDirectSound_SetI3DL2Listener,
XRefZero) XRefZero)
{ 0x1E, 0x15 }, { 0x1E, 0x15 },
@ -116,7 +118,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoice::SetDistanceFactor // * CDirectSoundVoice::SetDistanceFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, 7, OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, 9,
XREF_DSVOICESETDISTANCEFACTOR, XREF_DSVOICESETDISTANCEFACTOR,
XRefZero) XRefZero)
@ -128,6 +130,8 @@ OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, 7,
{ 0x12, 0x50 }, { 0x12, 0x50 },
{ 0x13, 0x44 }, { 0x13, 0x44 },
{ 0x14, 0x8B }, { 0x14, 0x8B },
{ 0x1D, 0x80 },
{ 0x1F, 0x02 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -171,17 +175,29 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::SetDistanceFactor // * DirectSound::CDirectSound::SetDistanceFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetDistanceFactor, 5344, 9, OOVPA_XREF(CDirectSound_SetDistanceFactor, 5344, 17,
XREF_SETDISTANCEFACTORA, XREF_CDirectSound_SetDistanceFactor,
XRefZero) XRefZero)
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x16, 0x68 }, { 0x16, 0x68 },
{ 0x22, 0x05 }, { 0x22, 0x05 },
{ 0x2E, 0x08 }, { 0x2E, 0x08 },
{ 0x33, 0x89 },
{ 0x34, 0x50 },
{ 0x35, 0x6C }, { 0x35, 0x6C },
{ 0x36, 0x8B },
{ 0x37, 0x41 },
{ 0x38, 0x08 },
{ 0x39, 0x83 },
{ 0x3A, 0x48 }, { 0x3A, 0x48 },
{ 0x3B, 0x34 },
{ 0x3C, 0x08 },
{ 0x4A, 0x85 }, { 0x4A, 0x85 },
{ 0x53, 0xFF }, { 0x53, 0xFF },
{ 0x5E, 0x00 }, { 0x5E, 0x00 },
@ -190,7 +206,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::SetDopplerFactor // * DirectSound::CDirectSoundVoice::SetDopplerFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, 9, OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, 12,
XREF_CDirectSoundVoice_SetDopplerFactor, XREF_CDirectSoundVoice_SetDopplerFactor,
XRefZero) XRefZero)
@ -206,6 +222,10 @@ OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, 9,
{ 0x12, 0x50 }, { 0x12, 0x50 },
{ 0x13, 0x4C }, { 0x13, 0x4C },
{ 0x14, 0x8B },
{ 0x1D, 0x80 },
{ 0x1F, 0x03 },
// CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch
{ 0x31, 0x0C }, { 0x31, 0x0C },
{ 0x32, 0x00 } { 0x32, 0x00 }
@ -216,7 +236,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetDopplerFactor, 5344, 9, OOVPA_XREF(CDirectSound_SetDopplerFactor, 5344, 9,
XREF_SETDOPPLERFACTOR, XREF_CDirectSound_SetDopplerFactor,
XRefZero) XRefZero)
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -234,15 +254,17 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::SetMaxDistance // * DirectSound::CDirectSoundVoice::SetMaxDistance
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 5344, 7, OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 5344, 9,
XREF_DSVOICESETMAXDISTANCE, XREF_CDirectSoundVoice_SetMaxDistance,
XRefZero) XRefZero)
{ 0x05, 0x41 }, { 0x05, 0x41 },
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x13, 0x3C }, { 0x13, 0x3C },
{ 0x1A, 0x00 }, { 0x14, 0x8B },
{ 0x1D, 0x80 },
{ 0x1F, 0x02 },
{ 0x21, 0xF6 }, { 0x21, 0xF6 },
{ 0x28, 0x51 }, { 0x28, 0x51 },
{ 0x2F, 0xC0 }, { 0x2F, 0xC0 },
@ -252,11 +274,11 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5344, 11, OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5344, 11,
XREF_DSBUFFERSETMAXDISTANCE, XREF_CDirectSoundBuffer_SetMaxDistance,
XRefOne) XRefOne)
// CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance]
XREF_ENTRY( 0x3A, XREF_DSVOICESETMAXDISTANCE ), XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMaxDistance ),
{ 0x00, 0x56 }, { 0x00, 0x56 },
// CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h
@ -274,7 +296,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5344, 11,
{ 0x54, 0x0C }, { 0x54, 0x0C },
{ 0x55, 0x00 } { 0x55, 0x00 }
OOVPA_END; OOVPA_END;
#if 0 // Duplicate OOVPA, replacing with generic OOVPA
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetMaxDistance // * IDirectSoundBuffer_SetMaxDistance
// ****************************************************************** // ******************************************************************
@ -284,7 +306,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5344, 11,
XRefOne) XRefOne)
// IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance]
XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMAXDISTANCE ), XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance ),
{ 0x00, 0xFF }, { 0x00, 0xFF },
// IDirectSoundBuffer_SetMaxDistance+0x04 : fld [esp+4+arg_4] // IDirectSoundBuffer_SetMaxDistance+0x04 : fld [esp+4+arg_4]
@ -302,26 +324,43 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5344, 11,
{ 0x22, 0x0C }, { 0x22, 0x0C },
{ 0x23, 0x00 } { 0x23, 0x00 }
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::SetRolloffFactor // * DirectSound::CDirectSound::SetRolloffFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 9, OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 17,
XREF_SETROLLOFFFACTORA, XREF_CDirectSound_SetRolloffFactor,
XRefZero) XRefZero)
// CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005
{ 0x0C, 0x00 }, { 0x21, 0xB8 },
{ 0x16, 0x68 },
{ 0x22, 0x05 }, { 0x22, 0x05 },
{ 0x2E, 0x08 }, { 0x23, 0x40 },
{ 0x24, 0x00 },
{ 0x25, 0x80 },
// CDirectSound_SetRolloffFactor+0x33 : mov [eax+70h], edx
{ 0x33, 0x89 },
{ 0x34, 0x50 },
{ 0x35, 0x70 }, { 0x35, 0x70 },
// CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8]
{ 0x36, 0x8B },
{ 0x37, 0x41 },
{ 0x38, 0x08 },
// CDirectSound_SetRolloffFactor+0x39 : or dword ptr [eax+34h], 10h
{ 0x39, 0x83 },
{ 0x3A, 0x48 }, { 0x3A, 0x48 },
{ 0x4A, 0x85 }, { 0x3B, 0x34 },
{ 0x53, 0xFF }, { 0x3C, 0x10 },
{ 0x5E, 0x00 },
// CDirectSound_SetRolloffFactor+0x4C : jz +0x0B
{ 0x4C, 0x74 },
{ 0x4D, 0x0B },
OOVPA_END; OOVPA_END;
#if 0 // Used 4134
// ****************************************************************** // ******************************************************************
// * IDirectSound_SetRolloffFactor // * IDirectSound_SetRolloffFactor
// ****************************************************************** // ******************************************************************
@ -330,7 +369,7 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 5344, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), XREF_ENTRY( 0x1D, XREF_CDirectSound_SetRolloffFactor ),
{ 0x03, 0x0C }, { 0x03, 0x0C },
{ 0x08, 0x8B }, { 0x08, 0x8B },
@ -340,48 +379,52 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 5344, 8,
{ 0x1C, 0xE8 }, { 0x1C, 0xE8 },
{ 0x21, 0xC2 }, { 0x21, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// CDirectSoundVoice::SetMode // CDirectSoundVoice::SetMode
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 8, OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 11,
XREF_DSBUFFERSETMODEB, XREF_CDirectSoundVoice_SetMode,
XRefZero) XRefZero)
{ 0x09, 0xB4 }, // (Offset,Value)-Pair #1 { 0x09, 0xB4 },
{ 0x10, 0x08 }, // (Offset,Value)-Pair #2 { 0x10, 0x08 },
{ 0x13, 0x40 }, // (Offset,Value)-Pair #3 { 0x13, 0x40 },
{ 0x15, 0x41 }, // (Offset,Value)-Pair #4 { 0x14, 0x8B },
{ 0x18, 0x80 }, // (Offset,Value)-Pair #5 { 0x15, 0x41 },
{ 0x19, 0xB4 }, // (Offset,Value)-Pair #6 { 0x18, 0x80 },
{ 0x2E, 0x33 }, // (Offset,Value)-Pair #7 { 0x19, 0xB4 },
{ 0x31, 0x0C }, // (Offset,Value)-Pair #8 { 0x1D, 0x80 },
{ 0x1F, 0x02 },
{ 0x2E, 0x33 },
{ 0x31, 0x0C },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSound::SetPositionA // * CDirectSound_SetPosition
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetPositionA, 5344, 10, OOVPA_XREF(CDirectSound_SetPosition, 5344, 10,
XREF_DSSETPOSITIONA, XREF_CDirectSound_SetPosition,
XRefZero) XRefZero)
// CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08]
{ 0x2B, 0x8B }, // (Offset,Value)-Pair #1 { 0x2B, 0x8B },
{ 0x2C, 0x4D }, // (Offset,Value)-Pair #2 { 0x2C, 0x4D },
{ 0x2D, 0x08 }, // (Offset,Value)-Pair #3 { 0x2D, 0x08 },
// CDirectSound_SetPositionA+0x37 : mov [edx+0x3C], edi // CDirectSound_SetPosition+0x37 : mov [edx+0x3C], edi
{ 0x37, 0x89 }, // (Offset,Value)-Pair #4 { 0x37, 0x89 },
{ 0x38, 0x7A }, // (Offset,Value)-Pair #5 { 0x38, 0x7A },
{ 0x39, 0x3C }, // (Offset,Value)-Pair #6 { 0x39, 0x3C },
// CDirectSound_SetPositionA+0x4C : or dword ptr [eax+34h], 1 // CDirectSound_SetPosition+0x4C : or dword ptr [eax+34h], 1
{ 0x4C, 0x83 }, // (Offset,Value)-Pair #7 { 0x4C, 0x83 },
{ 0x4D, 0x48 }, // (Offset,Value)-Pair #8 { 0x4D, 0x48 },
{ 0x4E, 0x34 }, // (Offset,Value)-Pair #9 { 0x4E, 0x34 },
{ 0x4F, 0x01 }, // (Offset,Value)-Pair #10 { 0x4F, 0x01 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -389,30 +432,30 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetVelocity, 5344, 14, OOVPA_XREF(CDirectSound_SetVelocity, 5344, 14,
XREF_DSSETVELOCITYA, XREF_CDirectSound_SetVelocity,
XRefZero) XRefZero)
// CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005
{ 0x24, 0xB8 }, // (Offset,Value)-Pair #1 { 0x24, 0xB8 },
{ 0x25, 0x05 }, // (Offset,Value)-Pair #2 { 0x25, 0x05 },
{ 0x26, 0x40 }, // (Offset,Value)-Pair #3 { 0x26, 0x40 },
{ 0x27, 0x00 }, // (Offset,Value)-Pair #4 { 0x27, 0x00 },
{ 0x28, 0x80 }, // (Offset,Value)-Pair #5 { 0x28, 0x80 },
// CDirectSound_SetVelocity+0x37 : mov [edx+0x48], edi // CDirectSound_SetVelocity+0x37 : mov [edx+0x48], edi
{ 0x37, 0x89 }, // (Offset,Value)-Pair #6 { 0x37, 0x89 },
{ 0x38, 0x7A }, // (Offset,Value)-Pair #7 { 0x38, 0x7A },
{ 0x39, 0x48 }, // (Offset,Value)-Pair #8 { 0x39, 0x48 },
// CDirectSound_SetVelocity+0x4C : or dword ptr [eax+34h], 2 // CDirectSound_SetVelocity+0x4C : or dword ptr [eax+34h], 2
{ 0x4C, 0x83 }, // (Offset,Value)-Pair #9 { 0x4C, 0x83 },
{ 0x4D, 0x48 }, // (Offset,Value)-Pair #10 { 0x4D, 0x48 },
{ 0x4E, 0x34 }, // (Offset,Value)-Pair #11 { 0x4E, 0x34 },
{ 0x4F, 0x02 }, // (Offset,Value)-Pair #12 { 0x4F, 0x02 },
// CDirectSound_SetVelocity+0x70 : retn 0x14 // CDirectSound_SetVelocity+0x70 : retn 0x14
{ 0x70, 0xC2 }, // (Offset,Value)-Pair #13 { 0x70, 0xC2 },
{ 0x71, 0x14 }, // (Offset,Value)-Pair #14 { 0x71, 0x14 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -420,7 +463,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 5344, 7, OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 5344, 7,
XREF_DSSETMIXBINSC, XREF_CDirectSoundVoiceSettings_SetMixBins,
XRefZero) XRefZero)
{ 0x10, 0x10 }, { 0x10, 0x10 },
@ -437,7 +480,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetPosition, 5344, 8, OOVPA_XREF(CDirectSoundVoice_SetPosition, 5344, 8,
XREF_DSVOICESETPOSITION, XREF_CDirectSoundVoice_SetPosition,
XRefZero) XRefZero)
// CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4]
@ -460,7 +503,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5344, 8, OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5344, 8,
XREF_DSVOICESETVELOCITY, XREF_CDirectSoundVoice_SetVelocity,
XRefZero) XRefZero)
// CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4]
@ -501,7 +544,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 5344, 10, OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 5344, 10,
XREF_DSVOICESETI3DL2SOURCE, XREF_CDirectSoundVoice_SetI3DL2Source,
XRefZero) XRefZero)
// CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx] // CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx]
@ -526,28 +569,32 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSound::CommitDeferredSettings // * CDirectSound::CommitDeferredSettings
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 5344, 11) OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5344, 11,
XREF_CDirectSound_CommitDeferredSettings,
XRefZero)
// CDirectSound_CommitDeferredSettings+0x11 : movzx eax, al // CDirectSound_CommitDeferredSettings+0x11 : movzx eax, al
{ 0x11, 0x0F }, // (Offset,Value)-Pair #1 { 0x11, 0x0F },
{ 0x12, 0xB6 }, // (Offset,Value)-Pair #2 { 0x12, 0xB6 },
{ 0x13, 0xC0 }, // (Offset,Value)-Pair #3 { 0x13, 0xC0 },
// CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005
{ 0x28, 0xB8 }, // (Offset,Value)-Pair #4 { 0x28, 0xB8 },
{ 0x29, 0x05 }, // (Offset,Value)-Pair #5 { 0x29, 0x05 },
{ 0x2A, 0x40 }, // (Offset,Value)-Pair #6 { 0x2A, 0x40 },
{ 0x2C, 0x80 }, // (Offset,Value)-Pair #7 { 0x2C, 0x80 },
// CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x34], edi // CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x34], edi
{ 0x6E, 0x89 }, // (Offset,Value)-Pair #8 { 0x6E, 0x89 },
{ 0x6F, 0x78 }, // (Offset,Value)-Pair #9 { 0x6F, 0x78 },
{ 0x70, 0x34 }, // (Offset,Value)-Pair #10 { 0x70, 0x34 },
// CDirectSound_CommitDeferredSettings+0x97 : leave // CDirectSound_CommitDeferredSettings+0x97 : leave
{ 0x97, 0xC9 }, // (Offset,Value)-Pair #11 { 0x97, 0xC9 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 4134
// ****************************************************************** // ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetFilter // * DirectSound::CMcpxVoiceClient::SetFilter
// ****************************************************************** // ******************************************************************
@ -565,7 +612,9 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 5344, 8,
{ 0x5E, 0x3E }, { 0x5E, 0x3E },
{ 0x7E, 0x0B }, { 0x7E, 0x0B },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 4361
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundBuffer::StopEx // * DirectSound::CDirectSoundBuffer::StopEx
// ****************************************************************** // ******************************************************************
@ -584,7 +633,8 @@ OOVPA_XREF(CDirectSoundBuffer_StopEx, 5344, 9,
{ 0x41, 0x85 }, { 0x41, 0x85 },
{ 0x47, 0x68 }, { 0x47, 0x68 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSound_SetEffectData // * IDirectSound_SetEffectData
// ****************************************************************** // ******************************************************************
@ -598,7 +648,7 @@ OOVPA_NO_XREF(IDirectSound_SetEffectData, 5344, 7)
{ 0x26, 0x5D }, { 0x26, 0x5D },
{ 0x28, 0x18 }, { 0x28, 0x18 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::EnableHeadphones // * DirectSound::CDirectSound::EnableHeadphones
// ****************************************************************** // ******************************************************************
@ -626,24 +676,24 @@ OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 5344, 10,
XREF_CDirectSoundVoice_SetAllParameters, XREF_CDirectSoundVoice_SetAllParameters,
XRefZero) XRefZero)
{ 0x00, 0x8B },
{ 0x0C, 0x50 }, { 0x0C, 0x50 },
{ 0x10, 0xB4 }, { 0x10, 0xB4 },
{ 0x14, 0xD9 },
{ 0x1E, 0x92 },
{ 0x13, 0x00 }, { 0x13, 0x00 },
{ 0x14, 0xD9 }, { 0x14, 0xD9 },
{ 0x15, 0x5A }, { 0x15, 0x5A },
{ 0x16, 0x08 }, { 0x16, 0x08 },
{ 0x17, 0xD9 }, { 0x17, 0xD9 },
{ 0x1E, 0x92 },
{ 0x21, 0x00 }, { 0x21, 0x00 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoice::SetConeOutsideVolume // * CDirectSoundVoice::SetConeOutsideVolume
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 9, OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 12,
XREF_DSVOICESETCONEOUTSIDEVOLUME, XREF_CDirectSoundVoice_SetConeOutsideVolume,
XRefZero) XRefZero)
// CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4]
@ -657,6 +707,10 @@ OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 9,
{ 0x12, 0x50 }, { 0x12, 0x50 },
{ 0x13, 0x34 }, { 0x13, 0x34 },
{ 0x14, 0x8B },
{ 0x1D, 0x80 },
{ 0x1F, 0x02 },
// CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch
{ 0x31, 0x0C }, { 0x31, 0x0C },
{ 0x32, 0x00 } { 0x32, 0x00 }
@ -665,7 +719,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::SetRolloffFactor // * DirectSound::CDirectSoundVoice::SetRolloffFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, 9, OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, 12,
XREF_DSVOICESETROLLOFFFACTOR, XREF_DSVOICESETROLLOFFFACTOR,
XRefZero) XRefZero)
@ -681,6 +735,10 @@ OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, 9,
{ 0x12, 0x50 }, { 0x12, 0x50 },
{ 0x13, 0x48 }, { 0x13, 0x48 },
{ 0x14, 0x8B },
{ 0x1D, 0x80 },
{ 0x1F, 0x03 },
// CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch
{ 0x31, 0x0C }, { 0x31, 0x0C },
{ 0x32, 0x00 } { 0x32, 0x00 }
@ -739,7 +797,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 5344, 9, OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 5344, 9,
XREF_DSVOICESETCONEANGLES, XREF_CDirectSoundVoice_SetConeAngles,
XRefZero) XRefZero)
// CDirectSoundVoice_SetConeAngles+0x0D : mov edx, [esp+arg_4] // CDirectSoundVoice_SetConeAngles+0x0D : mov edx, [esp+arg_4]
@ -801,7 +859,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 5344, 8, OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 5344, 8,
XREF_DSVOICESETCONEORIENTATION, XREF_CDirectSoundVoice_SetConeOrientation,
XRefZero) XRefZero)
// CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4]
@ -826,166 +884,175 @@ OOVPATable DSound_5344[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(DirectSoundGetSampleTime, 4627, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(CMcpxAPU_SynchPlayback, 5233, XREF), REGISTER_OOVPA(CMcpxAPU_SynchPlayback, 5233, XREF),
REGISTER_OOVPA(CDirectSound_SynchPlayback, 5344, XREF), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5344, XREF),
REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH), REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH),
REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 5344, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 5344, XREF),
REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5344, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetPositionA, 5344, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 5344, XREF),
REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF),
REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF),
REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5344, XREF), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5344, XREF),
REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5344, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5344, XREF),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5344, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5344, XREF),
REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5344, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5344, XREF),
REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5344, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 5344, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 5344, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5344, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5344, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5344, XREF),
REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 5344, PATCH), // Was 4134 REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), // Was 4134
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5344, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5344, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5344, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5344, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF),
REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH),
REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH),
REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF),
REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -35,7 +35,9 @@
// ****************************************************************** // ******************************************************************
// * CDirectSound::SynchPlayback // * CDirectSound::SynchPlayback
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(CDirectSound_SynchPlayback, 5558, 7) OOVPA_XREF(CDirectSound_SynchPlayback, 5558, 7,
XREF_DSSYNCHPLAYBACKA,
XRefZero)
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x12, 0x85 }, { 0x12, 0x85 },
@ -49,78 +51,101 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSound::CommitDeferredSettings // * CDirectSound::CommitDeferredSettings
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 5558, 11) OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5558, 11,
XREF_CDirectSound_CommitDeferredSettings,
XRefZero)
// CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al
{ 0x10, 0x0F }, // (Offset,Value)-Pair #1 { 0x10, 0x0F },
{ 0x11, 0xB6 }, // (Offset,Value)-Pair #2 { 0x11, 0xB6 },
{ 0x12, 0xC0 }, // (Offset,Value)-Pair #3 { 0x12, 0xC0 },
// CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005
{ 0x27, 0xB8 }, // (Offset,Value)-Pair #4 { 0x27, 0xB8 },
{ 0x28, 0x05 }, // (Offset,Value)-Pair #5 { 0x28, 0x05 },
{ 0x29, 0x40 }, // (Offset,Value)-Pair #6 { 0x29, 0x40 },
{ 0x2B, 0x80 }, // (Offset,Value)-Pair #7 { 0x2B, 0x80 },
// CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x30], edi // CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x30], edi
{ 0x6D, 0x89 }, // (Offset,Value)-Pair #8 { 0x6D, 0x89 },
{ 0x6E, 0x78 }, // (Offset,Value)-Pair #9 { 0x6E, 0x78 },
{ 0x6F, 0x30 }, // (Offset,Value)-Pair #10 { 0x6F, 0x30 },
// CDirectSound_CommitDeferredSettings+0x96 : leave // CDirectSound_CommitDeferredSettings+0x96 : leave
{ 0x96, 0xC9 }, // (Offset,Value)-Pair #11 { 0x96, 0xC9 },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSound::SetDistanceFactorA // * CDirectSound::SetDistanceFactorA
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetDistanceFactorA, 5558, 11, OOVPA_XREF(CDirectSound_SetDistanceFactor, 5558, 17,
XREF_SETDISTANCEFACTORA, XREF_CDirectSound_SetDistanceFactor,
XRefZero) XRefZero)
// CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x21, 0xB8 },
{ 0x22, 0x05 }, // (Offset,Value)-Pair #2 { 0x22, 0x05 },
{ 0x23, 0x40 }, // (Offset,Value)-Pair #3 { 0x23, 0x40 },
{ 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x24, 0x00 },
{ 0x25, 0x80 }, // (Offset,Value)-Pair #5 { 0x25, 0x80 },
// CDirectSound_SetDistanceFactorA+0x39 : or dword ptr[eax+0x30], 0x08 // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx
{ 0x39, 0x83 }, // (Offset,Value)-Pair #6 { 0x33, 0x89 },
{ 0x3A, 0x48 }, // (Offset,Value)-Pair #7 { 0x34, 0x50 },
{ 0x3B, 0x30 }, // (Offset,Value)-Pair #8 { 0x35, 0x68 },
{ 0x3C, 0x08 }, // (Offset,Value)-Pair #9
// CDirectSound_SetDistanceFactorA+0x4C : jz +0x0B // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8]
{ 0x4C, 0x74 }, // (Offset,Value)-Pair #10 { 0x36, 0x8B },
{ 0x4D, 0x0B }, // (Offset,Value)-Pair #11 { 0x37, 0x41 },
{ 0x38, 0x08 },
// CDirectSound_SetDistanceFactor+0x39 : or dword ptr[eax+0x30], 0x08
{ 0x39, 0x83 },
{ 0x3A, 0x48 },
{ 0x3B, 0x30 },
{ 0x3C, 0x08 },
// CDirectSound_SetDistanceFactor+0x4C : jz +0x0B
{ 0x4C, 0x74 },
{ 0x4D, 0x0B },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSound::SetRolloffFactor // * CDirectSound::SetRolloffFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetRolloffFactor, 5558, 11, OOVPA_XREF(CDirectSound_SetRolloffFactor, 5558, 17,
XREF_SETROLLOFFFACTORA, XREF_CDirectSound_SetRolloffFactor,
XRefZero) XRefZero)
// CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x21, 0xB8 },
{ 0x22, 0x05 }, // (Offset,Value)-Pair #2 { 0x22, 0x05 },
{ 0x23, 0x40 }, // (Offset,Value)-Pair #3 { 0x23, 0x40 },
{ 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x24, 0x00 },
{ 0x25, 0x80 }, // (Offset,Value)-Pair #5 { 0x25, 0x80 },
// CDirectSound_SetRolloffFactor+0x33 : mov [eax+6Ch], edx
{ 0x33, 0x89 },
{ 0x34, 0x50 },
{ 0x35, 0x6C },
// CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8]
{ 0x36, 0x8B },
{ 0x37, 0x41 },
{ 0x38, 0x08 },
// CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x30], 0x10 // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x30], 0x10
{ 0x39, 0x83 }, // (Offset,Value)-Pair #6 { 0x39, 0x83 },
{ 0x3A, 0x48 }, // (Offset,Value)-Pair #7 { 0x3A, 0x48 },
{ 0x3B, 0x30 }, // (Offset,Value)-Pair #8 { 0x3B, 0x30 },
{ 0x3C, 0x10 }, // (Offset,Value)-Pair #9 { 0x3C, 0x10 },
// CDirectSound_SetRolloffFactor+0x4C : jz +0x0B // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B
{ 0x4C, 0x74 }, // (Offset,Value)-Pair #10 { 0x4C, 0x74 },
{ 0x4D, 0x0B }, // (Offset,Value)-Pair #11 { 0x4D, 0x0B },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -128,41 +153,41 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetDopplerFactor, 5558, 14, OOVPA_XREF(CDirectSound_SetDopplerFactor, 5558, 14,
XREF_SETDOPPLERFACTOR, XREF_CDirectSound_SetDopplerFactor,
XRefZero) XRefZero)
// CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x21, 0xB8 },
{ 0x22, 0x05 }, // (Offset,Value)-Pair #2 { 0x22, 0x05 },
{ 0x23, 0x40 }, // (Offset,Value)-Pair #3 { 0x23, 0x40 },
{ 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x24, 0x00 },
{ 0x25, 0x80 }, // (Offset,Value)-Pair #5 { 0x25, 0x80 },
// CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx
{ 0x33, 0x89 }, // (Offset,Value)-Pair #6 { 0x33, 0x89 },
{ 0x34, 0x50 }, // (Offset,Value)-Pair #7 { 0x34, 0x50 },
{ 0x35, 0x70 }, // (Offset,Value)-Pair #8 { 0x35, 0x70 },
// CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0x30], 0x20 // CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0x30], 0x20
{ 0x39, 0x83 }, // (Offset,Value)-Pair #9 { 0x39, 0x83 },
{ 0x3A, 0x48 }, // (Offset,Value)-Pair #10 { 0x3A, 0x48 },
{ 0x3B, 0x30 }, // (Offset,Value)-Pair #11 { 0x3B, 0x30 },
{ 0x3C, 0x20 }, // (Offset,Value)-Pair #12 { 0x3C, 0x20 },
// CDirectSound_SetDopplerFactor+0x4C : jz +0x0B // CDirectSound_SetDopplerFactor+0x4C : jz +0x0B
{ 0x4C, 0x74 }, // (Offset,Value)-Pair #13 { 0x4C, 0x74 },
{ 0x4D, 0x0B }, // (Offset,Value)-Pair #14 { 0x4D, 0x0B },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * IDirectSound_SetMixBinHeadroom // * IDirectSound_SetMixBinHeadroom
// ****************************************************************** // ******************************************************************
OOVPA_XREF(IDirectSound8_SetMixBinHeadroom, 5558, 9, OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 5558, 9,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), XREF_ENTRY( 0x19, XREF_CDirectSound_SetMixBinHeadroom ),
{ 0x02, 0x24 }, { 0x02, 0x24 },
{ 0x06, 0x24 }, { 0x06, 0x24 },
@ -179,7 +204,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5558, 8, OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5558, 8,
XREF_DSSETI3DL2LISTENER, XREF_CDirectSound_SetI3DL2Listener,
XRefZero) XRefZero)
{ 0x1D, 0xFF }, { 0x1D, 0xFF },
@ -229,6 +254,7 @@ OOVPA_XREF(CHRTFSource_SetFullHRTF5Channel, 5558, 9,
{ 0x6E, 0xC3 }, { 0x6E, 0xC3 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to generic OOVPA 4134
// ****************************************************************** // ******************************************************************
// * DirectSoundUseFullHRTF // * DirectSoundUseFullHRTF
// ****************************************************************** // ******************************************************************
@ -247,7 +273,9 @@ OOVPA_XREF(DirectSoundUseFullHRTF, 5558, 8,
{ 0x18, 0xFF }, { 0x18, 0xFF },
{ 0x1E, 0xC3 }, { 0x1E, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Duplicate OOVPA found in 4134
// ****************************************************************** // ******************************************************************
// * DirectSoundDoWork // * DirectSoundDoWork
// ****************************************************************** // ******************************************************************
@ -261,6 +289,7 @@ OOVPA_NO_XREF(DirectSoundDoWork, 5558, 7)
{ 0x22, 0xFF }, { 0x22, 0xFF },
{ 0x28, 0xC3 }, { 0x28, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetBufferData // * DirectSound::CDirectSoundBuffer::SetBufferData
@ -335,6 +364,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 5558, 8,
{ 0x4B, 0xC7 }, { 0x4B, 0xC7 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetCurrentPosition // * IDirectSoundBuffer_SetCurrentPosition
// ****************************************************************** // ******************************************************************
@ -353,13 +383,14 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 5558, 8,
{ 0x19, 0xC2 }, { 0x19, 0xC2 },
{ 0x1A, 0x08 }, { 0x1A, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoiceSettings::SetMixBins // * CDirectSoundVoiceSettings::SetMixBins
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 5558, 7, OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 5558, 7,
XREF_DSSETMIXBINSC, XREF_CDirectSoundVoiceSettings_SetMixBins,
XRefZero) XRefZero)
{ 0x1B, 0xEB }, { 0x1B, 0xEB },
@ -376,10 +407,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetMixBins, 5558, 8, OOVPA_XREF(CDirectSoundVoice_SetMixBins, 5558, 8,
XREF_DSSETMIXBINSB, XREF_CDirectSoundVoice_SetMixBins,
XRefOne) XRefOne)
XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSC ), XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBins ),
{ 0x02, 0x74 }, { 0x02, 0x74 },
{ 0x06, 0x74 }, { 0x06, 0x74 },
@ -395,10 +426,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 5558, 8, OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 5558, 8,
XREF_DSSETMIXBINSA, XREF_CDirectSoundBuffer_SetMixBins,
XRefOne) XRefOne)
XREF_ENTRY( 0x32, XREF_DSSETMIXBINSB ), XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBins ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x12, 0x85 }, { 0x12, 0x85 },
@ -409,6 +440,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 5558, 8,
{ 0x47, 0x8B }, { 0x47, 0x8B },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 4039
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetMixBins // * IDirectSoundBuffer_SetMixBins
// ****************************************************************** // ******************************************************************
@ -417,7 +449,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBins ),
{ 0x02, 0x24 }, { 0x02, 0x24 },
{ 0x06, 0x24 }, { 0x06, 0x24 },
@ -427,13 +459,14 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 5558, 8,
{ 0x19, 0xC2 }, { 0x19, 0xC2 },
{ 0x1A, 0x08 }, { 0x1A, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSoundBuffer::SetPlayRegion // * CDirectSoundBuffer::SetPlayRegion
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 5558, 8, OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 5558, 8,
XREF_DSBUFFERSETPLAYREGIONA, XREF_CDirectSoundBuffer_SetPlayRegion,
XRefZero) XRefZero)
{ 0x0F, 0x00 }, { 0x0F, 0x00 },
@ -466,18 +499,22 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * public: long __thiscall DirectSound::CMcpxBuffer::Play(__int64,unsigned long) // * public: long __thiscall DirectSound::CMcpxBuffer::Play(__int64,unsigned long)
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CMcpxBuffer_Play2, 5558, 8, OOVPA_XREF(CMcpxBuffer_Play2, 5558, 12,
XREF_CMcpxBuffer_Play2, XREF_CMcpxBuffer_Play2,
XRefZero) XRefZero)
{ 0x06, 0x56 }, { 0x00, 0x55 },
{ 0x0E, 0xF1 }, { 0x01, 0x8B },
{ 0x16, 0xFF }, { 0x02, 0xEC },
{ 0x18, 0x0C },
{ 0x19, 0xFF },
{ 0x1A, 0x75 },
{ 0x1B, 0x08 },
{ 0x1C, 0x6A },
{ 0x1D, 0x03 }, { 0x1D, 0x03 },
{ 0x1E, 0xFF }, { 0x1E, 0xFF },
{ 0x26, 0x75 }, { 0x1F, 0x50 },
{ 0x2F, 0x8B },
{ 0x36, 0xC2 }, { 0x36, 0xC2 },
OOVPA_END; OOVPA_END;
@ -530,35 +567,25 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 5558, 11,
XRefZero) XRefZero)
// CMcpxBuffer_GetStatus+0x04 : mov ecx, eax // CMcpxBuffer_GetStatus+0x04 : mov ecx, eax
{ 0x04, 0x8B }, // (Offset,Value)-Pair #1 { 0x04, 0x8B },
{ 0x05, 0xC8 }, // (Offset,Value)-Pair #2 { 0x05, 0xC8 },
// CMcpxBuffer_GetStatus+0x0C : jnz +0x1B // CMcpxBuffer_GetStatus+0x0C : jnz +0x1B
{ 0x0C, 0x75 }, // (Offset,Value)-Pair #3 { 0x0C, 0x75 },
{ 0x0D, 0x1B }, // (Offset,Value)-Pair #4 { 0x0D, 0x1B },
// CMcpxBuffer_GetStatus+0x12 : test ax, 0x444 // CMcpxBuffer_GetStatus+0x12 : test ax, 0x444
{ 0x12, 0x66 }, // (Offset,Value)-Pair #5 { 0x12, 0x66 },
{ 0x13, 0xA9 }, // (Offset,Value)-Pair #6 { 0x13, 0xA9 },
{ 0x14, 0x44 }, // (Offset,Value)-Pair #7 { 0x14, 0x44 },
// CMcpxBuffer_GetStatus+0x29 : mov ecx, 0x8001 // CMcpxBuffer_GetStatus+0x29 : mov ecx, 0x8001
{ 0x29, 0xB9 }, // (Offset,Value)-Pair #8 { 0x29, 0xB9 },
{ 0x2A, 0x01 }, // (Offset,Value)-Pair #9 { 0x2A, 0x01 },
{ 0x2B, 0x80 }, // (Offset,Value)-Pair #10 { 0x2B, 0x80 },
{ 0x2C, 0x00 }, // (Offset,Value)-Pair #11 { 0x2C, 0x00 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * WaveFormat::CreateXboxAdpcmFormat
// ******************************************************************
#define WaveFormat_CreateXboxAdpcmFormat_5558 WaveFormat_CreateXboxAdpcmFormat_5344
// ******************************************************************
// * XAudioCreateAdpcmFormat
// ******************************************************************
#define XAudioCreateAdpcmFormat_5558 XAudioCreateAdpcmFormat_5344
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoice::SetFormat // * CDirectSoundVoice::SetFormat
// ****************************************************************** // ******************************************************************
@ -688,7 +715,7 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 5558, 8,
{ 0x46, 0x74 }, { 0x46, 0x74 },
{ 0x53, 0x8B }, { 0x53, 0x8B },
OOVPA_END; OOVPA_END;
#if 0 // Duplicate OOVPA, replacing with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetMinDistance // * IDirectSoundBuffer_SetMinDistance
// ****************************************************************** // ******************************************************************
@ -698,7 +725,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5558, 11,
XRefOne) XRefOne)
// IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance]
XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMINDISTANCE ), XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMinDistance ),
{ 0x00, 0xFF }, { 0x00, 0xFF },
// IDirectSoundBuffer_SetMinDistance+0x04 : fld [esp+4+arg_4] // IDirectSoundBuffer_SetMinDistance+0x04 : fld [esp+4+arg_4]
@ -716,7 +743,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5558, 11,
{ 0x22, 0x0C }, { 0x22, 0x0C },
{ 0x23, 0x00 } { 0x23, 0x00 }
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoice::CommitDeferredSettings // * CDirectSoundVoice::CommitDeferredSettings
// ****************************************************************** // ******************************************************************
@ -789,7 +816,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetPosition, 5558, 7, OOVPA_XREF(CDirectSoundVoice_SetPosition, 5558, 7,
XREF_DSVOICESETPOSITION, XREF_CDirectSoundVoice_SetPosition,
XRefZero) XRefZero)
{ 0x09, 0x8B }, { 0x09, 0x8B },
@ -806,10 +833,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetPosition, 5558, 9, OOVPA_XREF(CDirectSoundBuffer_SetPosition, 5558, 9,
XREF_DSBUFFERSETPOSITION, XREF_CDirectSoundBuffer_SetPosition,
XRefOne) XRefOne)
XREF_ENTRY( 0x4A, XREF_DSVOICESETPOSITION ), XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetPosition ),
{ 0x0F, 0x00 }, { 0x0F, 0x00 },
{ 0x18, 0x0B }, { 0x18, 0x0B },
@ -829,7 +856,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPosition, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x2D, XREF_DSBUFFERSETPOSITION ), XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetPosition ),
{ 0x05, 0x18 }, { 0x05, 0x18 },
{ 0x0C, 0x83 }, { 0x0C, 0x83 },
@ -845,7 +872,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5558, 7, OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5558, 7,
XREF_DSVOICESETVELOCITY, XREF_CDirectSoundVoice_SetVelocity,
XRefZero) XRefZero)
{ 0x09, 0x8B }, { 0x09, 0x8B },
@ -862,10 +889,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 5558, 9, OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 5558, 9,
XREF_DSBUFFERSETVELOCITY, XREF_CDirectSoundBuffer_SetVelocity,
XRefOne) XRefOne)
XREF_ENTRY( 0x4A, XREF_DSVOICESETVELOCITY ), XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetVelocity ),
{ 0x0F, 0x00 }, { 0x0F, 0x00 },
{ 0x18, 0x0B }, { 0x18, 0x0B },
@ -884,7 +911,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x2D, XREF_DSBUFFERSETVELOCITY ), XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetVelocity ),
{ 0x05, 0x18 }, { 0x05, 0x18 },
{ 0x0C, 0x83 }, { 0x0C, 0x83 },
@ -913,6 +940,7 @@ OOVPA_XREF(CMcpxStream_Pause, 5558, 7,
} }
};*/ };*/
#if 0 // Replaced with generic OOVPA 4134
// ****************************************************************** // ******************************************************************
// * CDirectSoundStream::Pause // * CDirectSoundStream::Pause
// ****************************************************************** // ******************************************************************
@ -921,7 +949,7 @@ OOVPA_XREF(CDirectSoundStream_Pause, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x35, XREF_DSSTREAMPAUSE ), XREF_ENTRY( 0x35, XREF_CMcpxStream_Pause ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x14, 0x74 }, { 0x14, 0x74 },
@ -931,19 +959,25 @@ OOVPA_XREF(CDirectSoundStream_Pause, 5558, 8,
{ 0x44, 0xFF }, { 0x44, 0xFF },
{ 0x4B, 0xC7 }, { 0x4B, 0xC7 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSoundVoice::SetDistanceFactor // * CDirectSoundVoice::SetDistanceFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5558, 7, OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5558, 12,
XREF_DSVOICESETDISTANCEFACTOR, XREF_DSVOICESETDISTANCEFACTOR,
XRefZero) XRefZero)
{ 0x05, 0x41 }, { 0x05, 0x41 },
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x10, 0x08 },
{ 0x11, 0x89 },
{ 0x12, 0x50 },
{ 0x13, 0x44 }, { 0x13, 0x44 },
{ 0x1A, 0x00 }, { 0x14, 0x8B },
{ 0x1D, 0x80 },
{ 0x1F, 0x02 },
{ 0x21, 0xF6 }, { 0x21, 0xF6 },
{ 0x28, 0x51 }, { 0x28, 0x51 },
{ 0x2F, 0xC0 }, { 0x2F, 0xC0 },
@ -1045,7 +1079,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 5558, 7, OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 5558, 7,
XREF_DSVOICESETI3DL2SOURCE, XREF_CDirectSoundVoice_SetI3DL2Source,
XRefZero) XRefZero)
{ 0x18, 0x00 }, { 0x18, 0x00 },
@ -1062,10 +1096,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 5558, 8, OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 5558, 8,
XREF_DSBUFFERSETI3DL2SOURCE, XREF_CDirectSoundBuffer_SetI3DL2Source,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_DSVOICESETI3DL2SOURCE ), XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetI3DL2Source ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x14, 0x74 }, { 0x14, 0x74 },
@ -1084,7 +1118,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 5558, 9,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x19, XREF_DSBUFFERSETI3DL2SOURCE ), XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetI3DL2Source ),
{ 0x02, 0x24 }, { 0x02, 0x24 },
{ 0x06, 0x24 }, { 0x06, 0x24 },
@ -1209,7 +1243,7 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 5558, 7,
{ 0x40, 0xF8 }, { 0x40, 0xF8 },
{ 0x4E, 0x8B }, { 0x4E, 0x8B },
OOVPA_END; OOVPA_END;
#if 0 //Replaced with generic 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_GetCurrentPosition@12 // * IDirectSoundBuffer_GetCurrentPosition@12
// ****************************************************************** // ******************************************************************
@ -1229,12 +1263,9 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 5558, 9,
{ 0x1D, 0xC2 }, { 0x1D, 0xC2 },
{ 0x1E, 0x0C }, { 0x1E, 0x0C },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** #if 0 // Replaced with generic OOVPA 4134
// * DirectSound::CDirectSoundStream::SetFormat
// ******************************************************************
#define CDirectSoundStream_SetFormat_5558 CDirectSoundStream_SetFormat_4361
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundStream::SetMixBins // * DirectSound::CDirectSoundStream::SetMixBins
// ****************************************************************** // ******************************************************************
@ -1243,7 +1274,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5558, 9,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_DSSETMIXBINSB ), XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBins ),
{ 0x00, 0x56 }, { 0x00, 0x56 },
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -1254,13 +1285,14 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5558, 9,
{ 0x40, 0x68 }, { 0x40, 0x68 },
{ 0x4B, 0x8B }, { 0x4B, 0x8B },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::SetMixBinHeadroom // * DirectSound::CDirectSound::SetMixBinHeadroom
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 5558, 8, OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 5558, 8,
XREF_DSSETMIXBINHEADROOMA, XREF_CDirectSound_SetMixBinHeadroom,
XRefZero) XRefZero)
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -1273,32 +1305,12 @@ OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 5558, 8,
{ 0x5E, 0x00 }, { 0x5E, 0x00 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * IDirectSound_SetMixBinHeadroom
// ******************************************************************
OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 5558, 9,
XRefNoSaveIndex,
XRefOne)
XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ),
{ 0x02, 0x24 },
{ 0x06, 0x24 },
{ 0x0A, 0xFF },
{ 0x0E, 0x83 },
{ 0x12, 0xD9 },
{ 0x16, 0xC8 },
{ 0x1D, 0xC2 },
{ 0x1E, 0x0C },
OOVPA_END;
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::EnableHeadphones // * DirectSound::CDirectSound::EnableHeadphones
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_EnableHeadphones, 5558, 8, OOVPA_XREF(CDirectSound_EnableHeadphones, 5558, 8,
XREF_DSENABLEHEADPHONES, XREF_CDirectSound_EnableHeadphones,
XRefZero) XRefZero)
{ 0x1E, 0x3B }, { 0x1E, 0x3B },
@ -1310,16 +1322,16 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 5558, 8,
{ 0xDE, 0x59 }, { 0xDE, 0x59 },
{ 0xFE, 0x75 }, { 0xFE, 0x75 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSound_EnableHeadphones // * IDirectSound_EnableHeadphones
// ****************************************************************** // ******************************************************************
OOVPA_XREF(IDirectSound8_EnableHeadphones, 5558, 8, OOVPA_XREF(IDirectSound_EnableHeadphones, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x15, XREF_DSENABLEHEADPHONES ), XREF_ENTRY( 0x15, XREF_CDirectSound_EnableHeadphones ),
{ 0x02, 0x24 }, { 0x02, 0x24 },
{ 0x06, 0x24 }, { 0x06, 0x24 },
@ -1329,7 +1341,7 @@ OOVPA_XREF(IDirectSound8_EnableHeadphones, 5558, 8,
{ 0x19, 0xC2 }, { 0x19, 0xC2 },
{ 0x1A, 0x08 }, { 0x1A, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::GetOutputLevels // * DirectSound::CDirectSound::GetOutputLevels
// ****************************************************************** // ******************************************************************
@ -1387,7 +1399,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetPosition, 5558, 7, OOVPA_XREF(CDirectSound_SetPosition, 5558, 7,
XREF_DSSETPOSITIONA, XREF_CDirectSound_SetPosition,
XRefZero) XRefZero)
{ 0x0F, 0x00 }, { 0x0F, 0x00 },
@ -1398,7 +1410,7 @@ OOVPA_XREF(CDirectSound_SetPosition, 5558, 7,
{ 0x58, 0xE8 }, { 0x58, 0xE8 },
{ 0x67, 0x15 }, { 0x67, 0x15 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSound_SetPosition // * IDirectSound_SetPosition
// ****************************************************************** // ******************************************************************
@ -1407,7 +1419,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), XREF_ENTRY( 0x2D, XREF_CDirectSound_SetPosition ),
{ 0x05, 0x18 }, { 0x05, 0x18 },
{ 0x0C, 0x83 }, { 0x0C, 0x83 },
@ -1417,13 +1429,13 @@ OOVPA_XREF(IDirectSound_SetPosition, 5558, 8,
{ 0x28, 0xD9 }, { 0x28, 0xD9 },
{ 0x31, 0x5D }, { 0x31, 0x5D },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::SetVelocity // * DirectSound::CDirectSound::SetVelocity
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetVelocity, 5558, 7, OOVPA_XREF(CDirectSound_SetVelocity, 5558, 7,
XREF_DSSETVELOCITYA, XREF_CDirectSound_SetVelocity,
XRefZero) XRefZero)
{ 0x0F, 0x00 }, { 0x0F, 0x00 },
@ -1443,7 +1455,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ),
{ 0x05, 0x18 }, { 0x05, 0x18 },
{ 0x0C, 0x83 }, { 0x0C, 0x83 },
@ -1459,7 +1471,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_CreateSoundStream, 5558, 7, OOVPA_XREF(CDirectSound_CreateSoundStream, 5558, 7,
XREF_DSCREATESOUNDSTREAM, XREF_CDirectSound_CreateSoundStream,
XRefZero) XRefZero)
{ 0x11, 0xD8 }, { 0x11, 0xD8 },
@ -1470,7 +1482,7 @@ OOVPA_XREF(CDirectSound_CreateSoundStream, 5558, 7,
{ 0x70, 0x85 }, { 0x70, 0x85 },
{ 0x83, 0xFF }, { 0x83, 0xFF },
OOVPA_END; OOVPA_END;
#if 0 //Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSound_CreateSoundStream // * IDirectSound_CreateSoundStream
// ****************************************************************** // ******************************************************************
@ -1479,7 +1491,7 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 5558, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDSTREAM ), XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundStream ),
{ 0x03, 0x10 }, { 0x03, 0x10 },
{ 0x08, 0xFF }, { 0x08, 0xFF },
@ -1489,7 +1501,7 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 5558, 8,
{ 0x1C, 0xE8 }, { 0x1C, 0xE8 },
{ 0x21, 0xC2 }, { 0x21, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundStream::SetRolloffCurve // * DirectSound::CDirectSoundStream::SetRolloffCurve
// ****************************************************************** // ******************************************************************
@ -1514,7 +1526,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetAllParameters, 5558, 8, OOVPA_XREF(CDirectSound_SetAllParameters, 5558, 8,
XREF_DSSETALLPARAMETERSA, XREF_CDirectSound_SetAllParameters,
XRefZero) XRefZero)
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -1527,6 +1539,7 @@ OOVPA_XREF(CDirectSound_SetAllParameters, 5558, 8,
{ 0x2B, 0x8B }, { 0x2B, 0x8B },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 4134, this OOVPA is not a reliable signature
// ****************************************************************** // ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetFilter // * DirectSound::CMcpxVoiceClient::SetFilter
// ****************************************************************** // ******************************************************************
@ -1546,31 +1559,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 5558, 10,
{ 0x1D, 0xFF }, { 0x1D, 0xFF },
{ 0x1F, 0x00 }, { 0x1F, 0x00 },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetEG
// ******************************************************************
#define CMcpxVoiceClient_SetEG_5558 CMcpxVoiceClient_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetEG
// ******************************************************************
#define CDirectSoundVoice_SetEG_5558 CDirectSoundVoice_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundStream::SetEG
// ******************************************************************
#define CDirectSoundStream_SetEG_5558 CDirectSoundStream_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetEG
// ******************************************************************
#define CDirectSoundBuffer_SetEG_5558 CDirectSoundBuffer_SetEG_4627
// ******************************************************************
// * IDirectSoundBuffer_SetEG
// ******************************************************************
#define IDirectSoundBuffer_SetEG_5558 IDirectSoundBuffer_SetEG_4627
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::Use3DVoiceData // * DirectSound::CDirectSoundVoice::Use3DVoiceData
@ -1658,95 +1647,99 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, XREF),
REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH),
REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, XREF),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5558, XREF),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 5233, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF),
REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5344, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF),
REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF),
REGISTER_OOVPA(DirectSoundUseFullHRTF, 5558, PATCH), REGISTER_OOVPA(DirectSoundUseFullHRTF, 4134, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 5558, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5558, XREF), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF),
REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5558, PATCH), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH),
@ -1761,54 +1754,62 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using)
REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Lock, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFormat, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF),
REGISTER_OOVPA(IDirectSound8_EnableHeadphones, 5558, PATCH), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF),
REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH),
REGISTER_OOVPA(XAudioDownloadEffectsImage, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetPosition, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 5558, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -41,23 +41,23 @@ OOVPA_XREF(CMcpxBuffer_SetBufferData, 5788, 9,
XRefZero) XRefZero)
// CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx
{ 0x1E, 0x3B }, // (Offset,Value)-Pair #1 { 0x1E, 0x3B },
{ 0x1F, 0xC3 }, // (Offset,Value)-Pair #2 { 0x1F, 0xC3 },
// CMcpxBuffer_SetBufferData+0x20 : jz +0x0C // CMcpxBuffer_SetBufferData+0x20 : jz +0x0C
{ 0x20, 0x74 }, // (Offset,Value)-Pair #3 { 0x20, 0x74 },
{ 0x21, 0x0C }, // (Offset,Value)-Pair #4 { 0x21, 0x0C },
// CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xBC], ecx // CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xBC], ecx
{ 0x45, 0x89 }, // (Offset,Value)-Pair #5 { 0x45, 0x89 },
{ 0x46, 0x8E }, // (Offset,Value)-Pair #6 { 0x46, 0x8E },
{ 0x47, 0xBC }, // (Offset,Value)-Pair #7 { 0x47, 0xBC },
// CMcpxBuffer_SetBufferData+0x89 : retn 0x08 // CMcpxBuffer_SetBufferData+0x89 : retn 0x08
{ 0x89, 0xC2 }, // (Offset,Value)-Pair #8 { 0x89, 0xC2 },
{ 0x8A, 0x08 }, // (Offset,Value)-Pair #9 { 0x8A, 0x08 },
OOVPA_END; OOVPA_END;
#if 0 // Used CMcpxBuffer_Play 4831
// ****************************************************************** // ******************************************************************
// * DirectSound::CMcpxBuffer::Play // * DirectSound::CMcpxBuffer::Play
// ****************************************************************** // ******************************************************************
@ -74,7 +74,7 @@ OOVPA_XREF(CMcpxBuffer_Play2, 5788, 7,
{ 0xAE, 0x04 }, { 0xAE, 0x04 },
{ 0xAF, 0x00 }, { 0xAF, 0x00 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundBuffer::Play // * DirectSound::CDirectSoundBuffer::Play
// ****************************************************************** // ******************************************************************
@ -99,7 +99,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5788, 7, OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5788, 7,
XREF_COMMITDEFERREDSETTINGSA, XREF_CDirectSound_CommitDeferredSettings,
XRefZero) XRefZero)
{ 0x12, 0xC0 }, { 0x12, 0xC0 },
@ -116,7 +116,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 5788, 7, OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 5788, 7,
XREF_DSBUFFERSETCURRENTPOSITIONB, XREF_CMcpxBuffer_SetCurrentPosition,
XRefZero) XRefZero)
{ 0x1D, 0x00 }, { 0x1D, 0x00 },
@ -133,10 +133,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 5788, 8, OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 5788, 8,
XREF_DSBUFFERSETCURRENTPOSITIONA, XREF_CDirectSoundBuffer_SetCurrentPosition,
XRefOne) XRefOne)
XREF_ENTRY( 0x35, XREF_DSBUFFERSETCURRENTPOSITIONB ), XREF_ENTRY( 0x35, XREF_CMcpxBuffer_SetCurrentPosition ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x14, 0x74 }, { 0x14, 0x74 },
@ -147,6 +147,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 5788, 8,
{ 0x4B, 0xC7 }, { 0x4B, 0xC7 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetCurrentPosition // * IDirectSoundBuffer_SetCurrentPosition
// ****************************************************************** // ******************************************************************
@ -155,7 +156,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 5788, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA ), XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetCurrentPosition ),
{ 0x02, 0x24 }, { 0x02, 0x24 },
{ 0x06, 0x24 }, { 0x06, 0x24 },
@ -165,13 +166,14 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 5788, 8,
{ 0x19, 0xC2 }, { 0x19, 0xC2 },
{ 0x1A, 0x08 }, { 0x1A, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSound::SetRolloffFactor // * DirectSound::CDirectSound::SetRolloffFactor
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetRolloffFactor, 5788, 9, OOVPA_XREF(CDirectSound_SetRolloffFactor, 5788, 9,
XREF_SETROLLOFFFACTORA, XREF_CDirectSound_SetRolloffFactor,
XRefZero) XRefZero)
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -190,7 +192,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetDopplerFactor, 5788, 9, OOVPA_XREF(CDirectSound_SetDopplerFactor, 5788, 9,
XREF_SETDOPPLERFACTOR, XREF_CDirectSound_SetDopplerFactor,
XRefZero) XRefZero)
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -209,10 +211,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5788, 8, OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5788, 8,
XREF_DSBUFFERSETMAXDISTANCE, XREF_CDirectSoundBuffer_SetMaxDistance,
XRefOne) XRefOne)
XREF_ENTRY( 0x3A, XREF_DSVOICESETMAXDISTANCE ), XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMaxDistance ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x14, 0x74 }, { 0x14, 0x74 },
@ -228,10 +230,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5788, 8, OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5788, 8,
XREF_DSBUFFERSETMINDISTANCE, XREF_CDirectSoundBuffer_SetMinDistance,
XRefOne) XRefOne)
XREF_ENTRY( 0x3A, XREF_DSVOICESETMINDISTANCE ), XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMinDistance ),
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
{ 0x14, 0x74 }, { 0x14, 0x74 },
@ -241,7 +243,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5788, 8,
{ 0x40, 0x8B }, { 0x40, 0x8B },
{ 0x4F, 0x8B }, { 0x4F, 0x8B },
OOVPA_END; OOVPA_END;
#if 0 // Duplicate OOVPA, replacing with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetMaxDistance // * IDirectSoundBuffer_SetMaxDistance
// ****************************************************************** // ******************************************************************
@ -250,7 +252,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5788, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMAXDISTANCE ), XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance ),
{ 0x03, 0x0C }, { 0x03, 0x0C },
{ 0x08, 0x8B }, { 0x08, 0x8B },
@ -260,7 +262,8 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5788, 8,
{ 0x1C, 0xE8 }, { 0x1C, 0xE8 },
{ 0x21, 0xC2 }, { 0x21, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Duplicate OOVPA, replacing with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetMinDistance // * IDirectSoundBuffer_SetMinDistance
// ****************************************************************** // ******************************************************************
@ -269,7 +272,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5788, 8,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMINDISTANCE ), XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMinDistance ),
{ 0x03, 0x0C }, { 0x03, 0x0C },
{ 0x08, 0x8B }, { 0x08, 0x8B },
@ -279,7 +282,8 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5788, 8,
{ 0x1C, 0xE8 }, { 0x1C, 0xE8 },
{ 0x21, 0xC2 }, { 0x21, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Not 5788
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::SetVolume // * DirectSound::CDirectSoundVoice::SetVolume
// ****************************************************************** // ******************************************************************
@ -296,7 +300,8 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 5788, 7,
{ 0x19, 0xC2 }, { 0x19, 0xC2 },
{ 0x1A, 0x08 }, { 0x1A, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Used 5233
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetVolume // * DirectSound::CDirectSoundBuffer::SetVolume
// ****************************************************************** // ******************************************************************
@ -315,7 +320,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 5788, 8,
{ 0x3A, 0x74 }, { 0x3A, 0x74 },
{ 0x47, 0x8B }, { 0x47, 0x8B },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundStream::SetVolume // * DirectSound::CDirectSoundStream::SetVolume
// ****************************************************************** // ******************************************************************
@ -438,7 +443,7 @@ OOVPA_XREF(DirectSoundCreateStream, 5788, 9,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDSTREAM ), XREF_ENTRY( 0x2F, XREF_CDirectSound_CreateSoundStream ),
{ 0x09, 0x56 }, { 0x09, 0x56 },
{ 0x14, 0x45 }, { 0x14, 0x45 },
@ -449,16 +454,16 @@ OOVPA_XREF(DirectSoundCreateStream, 5788, 9,
{ 0x4E, 0x5F }, { 0x4E, 0x5F },
{ 0x56, 0x00 }, { 0x56, 0x00 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced by generic 4039
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundStream::SetMixBinVolumes // * DirectSound::CDirectSoundStream::SetMixBinVolumes
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes2, 5788, 9, OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 5788, 9,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_DSSETMIXBINVOLUMESB ), XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBinVolumes ),
{ 0x00, 0x56 }, { 0x00, 0x56 },
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -469,13 +474,13 @@ OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes2, 5788, 9,
{ 0x40, 0x68 }, { 0x40, 0x68 },
{ 0x4B, 0x8B }, { 0x4B, 0x8B },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * DirectSound::CMcpxStream::Pause // * DirectSound::CMcpxStream::Pause
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CMcpxStream_Pause, 5788, 7, OOVPA_XREF(CMcpxStream_Pause, 5788, 7,
XREF_DSSTREAMPAUSE, XREF_CMcpxStream_Pause,
XRefZero) XRefZero)
{ 0x10, 0x07 }, { 0x10, 0x07 },
@ -504,18 +509,12 @@ OOVPA_XREF(CDirectSoundStream_FlushEx, 5788, 7,
{ 0x62, 0x8B }, { 0x62, 0x8B },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * IDirectSound_SetEffectData
// ******************************************************************
// * No XRefs! Woohoo!
// ******************************************************************
#define IDirectSound_SetEffectData_5788 IDirectSound_SetEffectData_5344
// ****************************************************************** // ******************************************************************
// * DirectSound::CMemoryManager::PoolAlloc // * DirectSound::CMemoryManager::PoolAlloc
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(CMemoryManager_PoolAlloc, 5788, 10) OOVPA_NO_XREF(DS_CMemoryManager_PoolAlloc, 5788, 11)
{ 0x00, 0x56 },
{ 0x24, 0x83 }, { 0x24, 0x83 },
{ 0x25, 0x7C }, { 0x25, 0x7C },
{ 0x26, 0x24 }, { 0x26, 0x24 },
@ -544,35 +543,11 @@ OOVPA_NO_XREF(XFileCreateMediaObjectAsync, 5788, 8)
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundStream::SetPitch // * Rollback support signature(s)
// ****************************************************************** // ******************************************************************
#define CDirectSoundStream_SetPitch_5788 CDirectSoundStream_SetPitch_4627 #define CDirectSoundBuffer_SetBufferData_5788 CDirectSoundBuffer_SetBufferData_4134
#define IDirectSoundBuffer_SetBufferData_5788 IDirectSoundBuffer_SetBufferData_4134
// ****************************************************************** #define XAudioDownloadEffectsImage_5788 XAudioDownloadEffectsImage_4627
// * DirectSound::CDirectSound::SetAllParameters
// ******************************************************************
#define CDirectSound_SetAllParameters_5788 CDirectSound_SetAllParameters_5558
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetFilter
// ******************************************************************
#define CMcpxVoiceClient_SetFilter_5788 CMcpxVoiceClient_SetFilter_5558
// ******************************************************************
// DirectSound_CDirectSoundVoice::SetMode
// ******************************************************************
#define CDirectSoundVoice_SetMode_5788 CDirectSoundVoice_SetMode_5344
// ******************************************************************
// DirectSound_CDirectSoundBuffer::SetMode
// ******************************************************************
#define CDirectSoundBuffer_SetMode_5788 CDirectSoundBuffer_SetMode_5233
// ******************************************************************
// * IDirectSoundBuffer_SetMode
// ******************************************************************
#define IDirectSoundBuffer_SetMode_5788 IDirectSoundBuffer_SetMode_5233
// ****************************************************************** // ******************************************************************
// * DSound_5788 // * DSound_5788
@ -587,54 +562,56 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF),
REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF),
REGISTER_OOVPA(DirectSoundUseFullHRTF, 5558, PATCH), REGISTER_OOVPA(DirectSoundUseFullHRTF, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Lock, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF),
@ -642,48 +619,50 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetPosition, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, XREF),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF),
REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF),
REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // This is actually the XREF we are using REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // This is actually the XREF we are using
REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5788, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH),
@ -699,58 +678,60 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 5558, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH),
REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH),
REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH),
REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF),
REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF),
REGISTER_OOVPA(IDirectSound8_EnableHeadphones, 5558, PATCH), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH),
REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF),
REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF),
REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH),
REGISTER_OOVPA(IDirectSound_SetEffectData, 5788, PATCH), REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH),
REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(DS_CMemoryManager_PoolAlloc, 5788, XREF),
REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH),
REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5558, XREF), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF),
REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5558, PATCH), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFormat, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 5788, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play2, 5788, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetAllParameters, 5788, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5788, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5788, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -39,7 +39,7 @@
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetRolloffFactor, 5849, 20, OOVPA_XREF(CDirectSound_SetRolloffFactor, 5849, 20,
XREF_SETROLLOFFFACTORA, XREF_CDirectSound_SetRolloffFactor,
XRefZero) XRefZero)
{ 0x00, 0x56 }, { 0x00, 0x56 },
@ -63,7 +63,7 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 5849, 20,
{ 0x3C, 0x10 }, { 0x3C, 0x10 },
{ 0x5C, 0xC2 }, { 0x5C, 0xC2 },
OOVPA_END; OOVPA_END;
#if 0 // Duplicate OOVPA base on 4134
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundStream::SetPitch // * DirectSound::CDirectSoundStream::SetPitch
// ****************************************************************** // ******************************************************************
@ -72,7 +72,7 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 5849, 12,
XRefNoSaveIndex, XRefNoSaveIndex,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_DSBUFFERSETPITCHB ), XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetPitch ),
{ 0x00, 0x56 }, { 0x00, 0x56 },
{ 0x0C, 0x00 }, { 0x0C, 0x00 },
@ -86,77 +86,7 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 5849, 12,
{ 0x50, 0x08 }, { 0x50, 0x08 },
{ 0x51, 0x00 }, { 0x51, 0x00 },
OOVPA_END; OOVPA_END;
#endif
// ******************************************************************
// * DirectSound::CDirectSound::SetAllParameters
// ******************************************************************
#define CDirectSound_SetAllParameters_5849 CDirectSound_SetAllParameters_5558
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetFilter
// ******************************************************************
#define CMcpxVoiceClient_SetFilter_5849 CMcpxVoiceClient_SetFilter_5558
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetEG
// ******************************************************************
#define CMcpxVoiceClient_SetEG_5849 CMcpxVoiceClient_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetEG
// ******************************************************************
#define CDirectSoundVoice_SetEG_5849 CDirectSoundVoice_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundStream::SetEG
// ******************************************************************
#define CDirectSoundStream_SetEG_5849 CDirectSoundStream_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetEG
// ******************************************************************
#define CDirectSoundBuffer_SetEG_5849 CDirectSoundBuffer_SetEG_4627
// ******************************************************************
// * IDirectSoundBuffer_SetEG
// ******************************************************************
#define IDirectSoundBuffer_SetEG_5849 IDirectSoundBuffer_SetEG_4627
// ******************************************************************
// CDirectSoundVoice::SetMode
// ******************************************************************
#define CDirectSoundVoice_SetMode_5849 CDirectSoundVoice_SetMode_5344
// ******************************************************************
// CDirectSoundBuffer::SetMode
// ******************************************************************
#define CDirectSoundBuffer_SetMode_5849 CDirectSoundBuffer_SetMode_5233
// ******************************************************************
// * IDirectSoundBuffer_SetMode
// ******************************************************************
#define IDirectSoundBuffer_SetMode_5849 IDirectSoundBuffer_SetMode_5233
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetI3DL2Source
// ******************************************************************
#define CDirectSoundVoice_SetI3DL2Source_5849 CDirectSoundVoice_SetI3DL2Source_5558
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetI3DL2Source
// ******************************************************************
#define CDirectSoundBuffer_SetI3DL2Source_5849 CDirectSoundBuffer_SetI3DL2Source_5558
// ******************************************************************
// * IDirectSoundBuffer_SetI3DL2Source
// ******************************************************************
#define IDirectSoundBuffer_SetI3DL2Source_5849 IDirectSoundBuffer_SetI3DL2Source_5558
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetAllParameters
// ******************************************************************
#define CDirectSoundVoice_SetAllParameters_5849 CDirectSoundVoice_SetAllParameters_5558
// ****************************************************************** // ******************************************************************
// * DSound_5849 // * DSound_5849
// ****************************************************************** // ******************************************************************
@ -171,42 +101,44 @@ OOVPATable DSound_5849[] = {
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5788, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH),
@ -214,33 +146,35 @@ OOVPATable DSound_5849[] = {
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetPosition, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH),
REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, XREF),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF),
REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF),
REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5788, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH),
@ -253,60 +187,63 @@ OOVPATable DSound_5849[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 5558, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH),
REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF),
REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF),
REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH),
REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF),
REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH),
REGISTER_OOVPA(DS_CMemoryManager_PoolAlloc, 5788, XREF),
REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFormat, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 5849, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play2, 5788, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH),
REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetAllParameters, 5849, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF),
REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5849, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 5849, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 5849, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 5849, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 5849, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 5849, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5849, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5849, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5849, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5849, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5849, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5849, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5849, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH) REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,470 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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 libary 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.
// * [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.
// 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
// * IDirectSound_SynchPlayback
// * IDirectSoundBuffer_GetVoiceProperties
// * IDirectSoundBuffer_SetFormat
// * IDirectSoundBuffer_SetDistanceFactor
// * IDirectSoundBuffer_SetDopplerFactor
// * IDirectSoundBuffer_SetRolloffFactor
// * IDirectSoundBuffer_SetRolloffCurve
// * IDirectSoundBuffer_Pause
// * IDirectSoundBuffer_PauseEx
// * IDirectSoundBuffer_SetPlayRegion (Introduce in 4039, last known earliest revision)
// * IDirectSoundStream_FlushEx
// * IDirectSoundStream_GetVoiceProperties
// * IDirectSoundStream_PauseEx
// * IDirectSoundStream_SetDistanceFactor
// * IDirectSoundStream_SetDopplerFactor
// * IDirectSoundStream_SetFormat
// * IDirectSoundStream_SetRolloffCurve
// * IDirectSoundStream_SetRolloffFactor
// * DirectSoundDumpMemoryUsage
// * DirectSoundGetSampleTime
// * DirectSoundOverrideSpeakerConfig
// * XAudioDownloadEffectsImage
// * XAudioGetSpeakerConfig
// * XAudioSetEffectData
// * DirectSoundUseFullHRTF4Channel
// * DirectSoundUseLightHRTF4Channel
// * 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_DS_CRefCount_Release
// * CDirectSound_Release (Is unique, however need multiple OOVPAs to register all revisions)
// * Using XREF_DS_CRefCount_Release
// * 4039 verification needed:
// * DirectSoundUseLightHRTF
// * IDirectSound_CommitEffectData
// * IDirectSound_GetEffectData
// * IDirectSound_GetSpeakerConfig
// * IDirectSound_GetTime (It is generic)
// * IDirectSound_SetAllParameters
// * IDirectSound_SetEffectData
// * IDirectSound_SetMixBinHeadroom
// * IDirectSoundBuffer_PlayEx
// * IDirectSoundBuffer_SetNotificationPositions
// * CDirectSoundStream_SetFormat
// * CDirectSoundStream_SetHeadroom
// * CDirectSoundStream_SetI3DL2Source
// * CDirectSoundStream_SetRolloffCurve
// * CDirectSoundStream_SetRolloffFactor
// * IDirectSoundStream_SetHeadroom
// * 4134 verification needed: (Verifying with Blood Omen 2 title is done, need different title to find the remaining...)
// * CDirectSoundBuffer_SetEG
// * IDirectSoundBuffer_SetEG
// * CMcpxVoiceClient_SetLFO
// * CDirectSoundStream_SetConeAngles
// * CDirectSoundStream_SetFrequency
// * CDirectSoundStream_SetHeadroom
// * CDirectSoundStream_SetLFO
// * CDirectSoundStream_SetMixBinVolumes_8
// * CDirectSoundStream_SetOutputBuffer
// * CDirectSoundBuffer_PlayEx
// * CDirectSoundBuffer_SetNotificationPositions
// * CDirectSoundBuffer_StopEx
// * CDirectSound_CommitEffectData
// * CDirectSound_EnableHeadphones
// * CDirectSound_GetEffectData
// * CDirectSound_SetMixBinHeadroom
// * DirectSoundCreateBuffer
// * DirectSoundUseLightHRTF
// * IsValidFormat
// * XAudioCreateAdpcmFormat
// * XAudioCreatePcmFormat
// * 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.
#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.4627.inl"
#include "DSound.1.0.5028.inl"
#include "DSound.1.0.5233.inl"
#include "DSound.1.0.5344.inl"
#include "DSound.1.0.5558.inl"
#include "DSound.1.0.5788.inl"
#include "DSound.1.0.5849.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, 5233),
REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721, 4831, 5558),
REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831),
REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z
REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z
REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788),
REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788),
REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z
REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z
REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039, 4134, 4242),
REGISTER_OOVPAS(CMcpxStream_GetStatus, XREF, 4134),
REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, /*4361,*/ 4831, 5788),
REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936),
REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911, 3936),
REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3911),
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 /*, 5344, 5558*/),
REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3911),
REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4242),
REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3911),
REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3911),
REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(DS_CRefCount_AddRef, XREF, 3911, 4039),
REGISTER_OOVPAS(DS_CRefCount_Release, XREF, 3911, 4039),
REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558),
REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3911, 4039, 4134, 5344, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3911, 4039, 4134, 5344, 5558),
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, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 3911, 4039),
REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 3911, 4039),
REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3911, 4039, 4134, 4627, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3911, 4039, 4134, 5344, 5558),
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, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3911, 4039),
REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3911, 4039, 4134, 5233, 5344),
REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 3911, 4039),
REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3911, 4039),
REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344),
REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment)
REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3911, 4039, 4134, 5344),
REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134, 5233),
REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721),
REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928),
REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 4361, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4039, 4242),
REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4242, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134, 5344, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4039, 4242),
REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 3911, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3911, 4039, 4134, 5344, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3911, 4039, 4134, 5344, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4039, 4134, 5233),
REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3911, 4627), // 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, 4361, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3911, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627),
REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3911, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4039, 4134, 5233),
REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4361),
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),
REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788),
REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4134 /*, 4361, 5558*/),
REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911, 4039),
REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242),
REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 4039, 5233),
REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 4627, 5558),
REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 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, 5344),
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), //Then it has changed in XDK 4039 and higher.
REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4039, 4627),
REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558),
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, XREF, 5558),
REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788),
REGISTER_OOVPAS(CDirectSound_CommitEffectData, XREF, 3911),
REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3911, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039),
REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4039, 4627, 5233, 5344, 5558),
REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4039, 4134, 4361),
REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911),
REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558),
REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4627),
REGISTER_OOVPAS(CDirectSound_GetTime, XREF, 3911),
REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3911, 4134, 4831, 5558),
REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831),
REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558, 5788),
REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134),
REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4039, 4134, 5344, 5558),
REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4627, 5558),
REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3911, 4039, 4134, 5344, 5558, 5788, 5849),
REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3911, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928),
REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3911, 4134, 5558, 5788),
REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3911, 4039, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3911 /*, 4134, 5558, 5788*/),
REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4039, 5344, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3911, 4039, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3911 /*,5344, 5788*/),
REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3911 /*, 5558, 5788*/),
REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4039 /*, 4134, 5558*/),
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, 4361),
REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3911, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627),
REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788),
REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3911, 5558),
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),
REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627),
REGISTER_OOVPAS(IDirectSoundStream_Pause, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch?
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_SetEG, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911),
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),
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),
REGISTER_OOVPAS(IDirectSoundStream_SetPosition, UNPATCHED, 3911),
REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, UNPATCHED, 3911),
REGISTER_OOVPAS(IDirectSoundStream_SetVolume, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_CommitEffectData, PATCH, 3911),
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 /*, 3936, 4627, 5233, 5558*/),
REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_GetEffectData, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558),
REGISTER_OOVPAS(IDirectSound_GetSpeakerConfig, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_GetTime, UNPATCHED, 3911),
REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3911 /*, 4134*/),
REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3911 /*, 4134*/),
REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 3911 /*, 4134, 5344*/),
REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3911 /*, 4134*/),
REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3911 /*, 4627, 5558*/),
REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3911),
REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3911/*, 4134, 5344*/),
REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3911 /*, 5558*/),
REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233),
REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 4039, 4134, 5558),
REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 4039, 5558),
REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 3911, 4039, 4242),
REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4039, 4134, 5788),
REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134),
REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361),
REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911),
REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 5344),
REGISTER_OOVPAS(XAudioDownloadEffectsImage, PATCH, 4627, 5558, 5788),
REGISTER_OOVPAS(IsValidFormat, UNPATCHED, 3911),
REGISTER_OOVPAS(XAudioCreatePcmFormat, UNPATCHED, 3911),
REGISTER_OOVPAS(XAudioCreateAdpcmFormat, PATCH, 3911, 5344),
REGISTER_OOVPAS(XFileCreateMediaObjectAsync, PATCH, 5788),
REGISTER_OOVPAS(XFileCreateMediaObjectEx, PATCH, 4627, 5028),
REGISTER_OOVPAS(XWaveFileCreateMediaObject, PATCH, 4627),
REGISTER_OOVPAS(DS_CMemoryManager_PoolAlloc, XREF, 4134, 5788), // For reference purpose only, does not have XREF value.
};
// ******************************************************************
// * DSOUND_OOVPA_SIZE
// ******************************************************************
uint32 DSound_OOVPA_SIZEV2 = sizeof(DSound_OOVPAV2);
#endif

View File

@ -76,7 +76,6 @@ OOVPA_NO_XREF(XGSwizzleBox, 3911, 8)
{ 0xFE, 0x45 }, { 0xFE, 0x45 },
OOVPA_END; OOVPA_END;
/* Leave unpatched
// ****************************************************************** // ******************************************************************
// * XGUnswizzleRect // * XGUnswizzleRect
// ****************************************************************** // ******************************************************************
@ -91,7 +90,6 @@ OOVPA_NO_XREF(XGUnswizzleRect, 3911, 8)
{ 0xDE, 0x89 }, { 0xDE, 0x89 },
{ 0xFE, 0x60 }, { 0xFE, 0x60 },
OOVPA_END; OOVPA_END;
*/
// ****************************************************************** // ******************************************************************
// * XGWriteSurfaceOrTextureToXPR // * XGWriteSurfaceOrTextureToXPR
@ -152,6 +150,29 @@ OOVPA_NO_XREF(XGUnswizzleBox, 3911, 8)
{ 0xFE, 0x20 }, { 0xFE, 0x20 },
OOVPA_END; 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;
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * XGCompressRect // * XGCompressRect
// ****************************************************************** // ******************************************************************
@ -166,7 +187,7 @@ OOVPA_NO_XREF(XGCompressRect, 3911, 8)
{ 0xBE, 0x80 }, { 0xBE, 0x80 },
{ 0xDA, 0xAF }, { 0xDA, 0xAF },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XGSetIndexBufferHeader // * XGSetIndexBufferHeader
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,81 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XG.1.0.4134.cpp
// *
// * 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

@ -86,6 +86,7 @@ OOVPA_NO_XREF(XGSwizzleRect, 4361, 10)
{ 0xED, 0x0B }, { 0xED, 0x0B },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // No longer used, replaced by generic 4134 version
// ****************************************************************** // ******************************************************************
// * XGSetVertexBufferHeader // * XGSetVertexBufferHeader
// ****************************************************************** // ******************************************************************
@ -100,6 +101,7 @@ OOVPA_NO_XREF(XGSetVertexBufferHeader, 4361, 8) // 4134
{ 0x13, 0x48 }, { 0x13, 0x48 },
{ 0x16, 0x18 }, { 0x16, 0x18 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 3911 #if 0 // Moved to 3911
// ****************************************************************** // ******************************************************************
// * XGCompressRect // * XGCompressRect
@ -116,7 +118,7 @@ OOVPA_NO_XREF(XGCompressRect, 4361, 8)
{ 0xFE, 0x8B }, { 0xFE, 0x8B },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // Moved to 4134
// ****************************************************************** // ******************************************************************
// * XGSetIndexBufferHeader // * XGSetIndexBufferHeader
// ****************************************************************** // ******************************************************************
@ -138,6 +140,7 @@ OOVPA_NO_XREF(XGSetIndexBufferHeader, 4361, 13)
{ 0x16, 0x18 }, { 0x16, 0x18 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XFONT_OpenBitmapFontFromMemory // * XFONT_OpenBitmapFontFromMemory
@ -165,8 +168,8 @@ OOVPATable XG_4361[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -45,8 +45,8 @@ OOVPATable XG_4432[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),

View File

@ -83,8 +83,8 @@ OOVPATable XG_4627[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -42,8 +42,8 @@ OOVPATable XG_5028[] = {
// REGISTER_OOVPA(XGUnswizzleRect, 3911, DISABLED), // TODO : Uncomment // REGISTER_OOVPA(XGUnswizzleRect, 3911, DISABLED), // TODO : Uncomment
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -43,8 +43,8 @@ OOVPATable XG_5233[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -43,8 +43,8 @@ OOVPATable XG_5344[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -73,8 +73,8 @@ OOVPATable XG_5558[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -60,8 +60,8 @@ OOVPATable XG_5788[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -43,8 +43,8 @@ OOVPATable XG_5849[] = {
REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH),
REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH),
REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH),
REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF),
REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF),
REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED),
REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF),

View File

@ -0,0 +1,89 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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
// *
// ******************************************************************
// TODO: Known Xgraphics OOVPA issue list
// * 3922 XGCompressRect is XREF in v1 database, any reason for this?
// * 4034 is not verified each OOVPA.
// * Following OOVPA revision are not verified
// * XGCompressRect (4242, 4721, 5028, 5120)
// * XGSetIndexBufferHeader (4039)
// * XGSetVertexBufferHeader (4039)
// * XGSwizzleBox (4242)
// * XGUnswizzleBox (4039)
// * XGWriteSurfaceOrTextureToXPR (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 "HLEDataBase/XG.1.0.3911.inl"
#include "HLEDataBase/XG.1.0.4034.inl"
#include "HLEDataBase/XG.1.0.4134.inl"
#include "HLEDataBase/XG.1.0.4361.inl"
#include "HLEDataBase/XG.1.0.4432.inl"
#include "HLEDataBase/XG.1.0.4627.inl"
#include "HLEDataBase/XG.1.0.5028.inl"
#include "HLEDataBase/XG.1.0.5233.inl"
#include "HLEDataBase/XG.1.0.5344.inl"
#include "HLEDataBase/XG.1.0.5558.inl"
#include "HLEDataBase/XG.1.0.5788.inl"
#include "HLEDataBase/XG.1.0.5849.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/*4361*/),
REGISTER_OOVPAS(XGSetTextureHeader, PATCH, 3911),
REGISTER_OOVPAS(XGSetVertexBufferHeader, XREF, 3911, 4134/*4361*/),
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_SIZE
// ******************************************************************
uint32 XGRAPHC_OOVPA_SIZEV2 = sizeof(XGRAPHC_OOVPAV2);
#endif

View File

@ -41,7 +41,7 @@ OOVPA_XREF(XNetStartup, 3911, 9,
XRefOne) XRefOne)
// XNetStartup+0x07 : call [XnInit] // XNetStartup+0x07 : call [XnInit]
XREF_ENTRY( 0x07, XREF_XNINIT ), XREF_ENTRY( 0x07, XREF_XnInit ),
// XNetStartup+0x00 : push 0 // XNetStartup+0x00 : push 0
{ 0x00, 0x6A }, { 0x00, 0x6A },
@ -67,7 +67,7 @@ OOVPA_XREF(WSAStartup, 3911, 11,
XRefOne) XRefOne)
// WSAStartup+0x07 : call [XnInit] // WSAStartup+0x07 : call [XnInit]
XREF_ENTRY( 0x07, XREF_XNINIT ), XREF_ENTRY( 0x07, XREF_XnInit ),
// WSAStartup+0x01 : push 1; xor ebx, ebx // WSAStartup+0x01 : push 1; xor ebx, ebx
{ 0x01, 0x6A }, { 0x01, 0x6A },
@ -87,9 +87,10 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * XnInit // * XnInit
// ****************************************************************** // ******************************************************************
// For only XNETS library, XNET library is different OOVPA.
OOVPA_XREF(XnInit, 3911, 11, OOVPA_XREF(XnInit, 3911, 11,
XREF_XNINIT, XREF_XnInit,
XRefZero) XRefZero)
// XnInit+0x31 : push 0x3554454E // XnInit+0x31 : push 0x3554454E
@ -110,6 +111,31 @@ OOVPA_XREF(XnInit, 3911, 11,
{ 0xBE, 0x08 }, { 0xBE, 0x08 },
OOVPA_END; 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;
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * XNetGetEthernetLinkStatus // * XNetGetEthernetLinkStatus
// ****************************************************************** // ******************************************************************
@ -131,7 +157,7 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 3911, 8)
// XNetStartup+0x3F : retn // XNetStartup+0x3F : retn
{ 0x3F, 0xC3 }, { 0x3F, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CXnSock::socket // * CXnSock::socket
@ -228,7 +254,8 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CXnSock::send // * CXnSock::send
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(send, 3911, 14) // Up to 5849 //Generic OOVPA as of 3911 and newer.
OOVPA_NO_XREF(send, 3911, 14)
{ 0x00, 0x55 }, { 0x00, 0x55 },
{ 0x01, 0x8B }, { 0x01, 0x8B },
@ -272,7 +299,8 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CXnSock::recv // * CXnSock::recv
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(recv, 3911, 14) // Up to 5849 //Generic OOVPA as of 3911 and newer.
OOVPA_NO_XREF(recv, 3911, 14)
{ 0x00, 0x55 }, { 0x00, 0x55 },
{ 0x01, 0x8B }, { 0x01, 0x8B },

View File

@ -0,0 +1,140 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XNet.1.0.4361.cpp
// *
// * 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, 9,
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, 8,
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;
#if 0 // No longer used, replaced by generic 3911 version
// ******************************************************************
// * XNetGetEthernetLinkStatus
// ******************************************************************
OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4361, 13)
{ 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 },
OOVPA_END;
#endif

View File

@ -32,12 +32,13 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // No longer used, replaced by generic 4361 version
// ****************************************************************** // ******************************************************************
// * XnInit // * XnInit
// ****************************************************************** // ******************************************************************
OOVPA_XREF(XnInit, 4627, 18, OOVPA_XREF(XnInit, 4627, 18,
XREF_XNINIT, XREF_XnInit,
XRefZero) XRefZero)
// XnInit+0x0000 : push ebp // XnInit+0x0000 : push ebp
@ -70,7 +71,8 @@ OOVPA_XREF(XnInit, 4627, 18,
{ 0x0204, 0x18 }, { 0x0204, 0x18 },
{ 0x0205, 0x00 }, { 0x0205, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4361 version
// ****************************************************************** // ******************************************************************
// * XNetStartup // * XNetStartup
// ****************************************************************** // ******************************************************************
@ -80,7 +82,7 @@ OOVPA_XREF(XNetStartup, 4627, 8,
XRefOne) XRefOne)
// XNetStartup+0x0F : call [XnInit] // XNetStartup+0x0F : call [XnInit]
XREF_ENTRY( 0x10, XREF_XNINIT ), XREF_ENTRY( 0x10, XREF_XnInit ),
// XNetStartup+0x00 : xor eax, eax // XNetStartup+0x00 : xor eax, eax
{ 0x00, 0x33 }, { 0x00, 0x33 },
@ -99,7 +101,8 @@ OOVPA_XREF(XNetStartup, 4627, 8,
{ 0x14, 0xC2 }, { 0x14, 0xC2 },
{ 0x15, 0x04 }, { 0x15, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4361 version
// ****************************************************************** // ******************************************************************
// * WSAStartup // * WSAStartup
// ****************************************************************** // ******************************************************************
@ -109,7 +112,7 @@ OOVPA_XREF(WSAStartup, 4627, 9,
XRefOne) XRefOne)
// WSAStartup+0x0F : call [XnInit] // WSAStartup+0x0F : call [XnInit]
XREF_ENTRY( 0x14, XREF_XNINIT ), XREF_ENTRY( 0x14, XREF_XnInit ),
// WSAStartup+0x00 : push [esp+0x08] // WSAStartup+0x00 : push [esp+0x08]
{ 0x00, 0xFF }, { 0x00, 0xFF },
@ -123,6 +126,7 @@ OOVPA_XREF(WSAStartup, 4627, 9,
{ 0x06, 0x24 }, { 0x06, 0x24 },
{ 0x07, 0x08 }, { 0x07, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CXnSock::socket // * CXnSock::socket
@ -185,8 +189,9 @@ OOVPA_NO_XREF(socket, 4627, 20)
{ 0x012F, 0x00 }, { 0x012F, 0x00 },
OOVPA_END; OOVPA_END;
#endif #endif
// ****************************************************************** // ******************************************************************
// * connect // * CXnSock::connect
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(connect, 4627, 24) OOVPA_NO_XREF(connect, 4627, 24)
@ -232,7 +237,7 @@ OOVPA_NO_XREF(connect, 4627, 24)
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * send // * CXnSock::send
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(send, 4627, 24) OOVPA_NO_XREF(send, 4627, 24)
@ -278,7 +283,7 @@ OOVPA_NO_XREF(send, 4627, 24)
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
// * recv // * CXnSock::recv
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(recv, 4627, 24) OOVPA_NO_XREF(recv, 4627, 24)
@ -326,7 +331,8 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CXnSock::ioctlsocket // * CXnSock::ioctlsocket
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(ioctlsocket, 4627, 12) // Up to 5849 //Generic OOVPA as of 4627 and newer.
OOVPA_NO_XREF(ioctlsocket, 4627, 12)
{ 0x0C, 0x99 }, { 0x0C, 0x99 },
{ 0x1D, 0x83 }, { 0x1D, 0x83 },
@ -343,6 +349,7 @@ OOVPA_NO_XREF(ioctlsocket, 4627, 12) // Up to 5849
{ 0x57, 0x15 }, { 0x57, 0x15 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4627 version #if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * ioctlsocket // * ioctlsocket
@ -372,7 +379,8 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CXnSock::bind // * CXnSock::bind
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(bind, 4627, 12) // Up to 5849 //Generic OOVPA as of 4627 and newer.
OOVPA_NO_XREF(bind, 4627, 12)
{ 0x00, 0x56 }, { 0x00, 0x56 },
{ 0x1D, 0xE8 }, { 0x1D, 0xE8 },
@ -393,7 +401,8 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CXnSock::listen // * CXnSock::listen
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(listen, 4627, 12) // Up to 5849 //Generic OOVPA as of 4627 and newer.
OOVPA_NO_XREF(listen, 4627, 12)
{ 0x09, 0xBF }, { 0x09, 0xBF },
{ 0x1B, 0x83 }, { 0x1B, 0x83 },
@ -411,14 +420,29 @@ OOVPA_NO_XREF(listen, 4627, 12) // Up to 5849
{ 0x55, 0xE8 }, { 0x55, 0xE8 },
OOVPA_END; 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;
// ****************************************************************** // ******************************************************************
// * XNet_4627 // * XNet_4627
// ****************************************************************** // ******************************************************************
OOVPATable XNet_4627[] = { OOVPATable XNet_4627[] = {
REGISTER_OOVPA(XnInit, 4627, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 4627, PATCH), // same as xonline 4361 REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 4627, PATCH), // same as xonline 4361 REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(socket, 4627, PATCH),
REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH),
REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH),

View File

@ -0,0 +1,55 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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

@ -0,0 +1,52 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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

@ -0,0 +1,86 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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
// [revi] Title Name | Verify | Comments
//-------------------------------------------------------------------
// * [3911] Halo | 100% | None
// * [4039] Tony Hawk's Pro Skater 3 | 10/11 | Need verify non-exist function is there or not
// * [4361] MotoGP | 100% | None
// * [4721] TimeSplitters 2 | 8/11 | Need verify too
// * [5344] Stake | 10/11 | Use XNETN library. Need verify too
// TODO: Known XNET OOVPA issue list
// * XnInit 3911 is for only XNETS library. XNET library is different one.
// * Following OOVPA revision are not verified
// * connect (4721)
// * listen (4039, 4721)
// * send (4721)
// * XNetGetEthernetLinkStatus (5344)
#ifndef XNET_OOVPA_INL
#define XNET_OOVPA_INL
#include "../OOVPA.h"
#include "HLEDataBase/XNet.1.0.3911.inl"
#include "HLEDataBase/XNet.1.0.4361.inl"
#include "HLEDataBase/XNet.1.0.4627.inl"
#include "HLEDataBase/XNet.1.0.5120.inl"
#include "HLEDataBase/XNet.1.0.5455.inl"
// ******************************************************************
// * XNET_OOVPA
// ******************************************************************
OOVPATable XNET_OOVPAV2[] = {
REGISTER_OOVPAS(XnInit, XREF, 3911, 4361/*, 4627*/), // 3911 is only XNETS library, XNET library is different OOVPA.
REGISTER_OOVPAS(WSAStartup, PATCH, 3911, 4361/*, 4627*/),
REGISTER_OOVPAS(XNetStartup, PATCH, 3911, 4361/*, 4627*/),
REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911/*, 4361*/, 4627),
REGISTER_OOVPAS(bind, PATCH, 3911, 4627),
REGISTER_OOVPAS(connect, PATCH, 3911/*, 4627*/, 5120),
REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627),
REGISTER_OOVPAS(listen, PATCH, 3911, 4627),
REGISTER_OOVPAS(recv, PATCH, 3911/*, 4627*/),
REGISTER_OOVPAS(send, PATCH, 3911/*, 4627*/),
REGISTER_OOVPAS(socket, PATCH, 3911, 4627, 5455),
};
// ******************************************************************
// * XNET_OOVPA_SIZE
// ******************************************************************
uint32 XNET_OOVPA_SIZEV2 = sizeof(XNET_OOVPAV2);
#endif

View File

@ -32,6 +32,7 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // Moved to XNet 4361
// ****************************************************************** // ******************************************************************
// * XNetStartup // * XNetStartup
// ****************************************************************** // ******************************************************************
@ -41,7 +42,7 @@ OOVPA_XREF(XNetStartup, 4361, 8,
XRefOne) XRefOne)
// XNetStartup+0x0F : call [XnInit] // XNetStartup+0x0F : call [XnInit]
XREF_ENTRY( 0x10, XREF_XNINIT ), XREF_ENTRY( 0x10, XREF_XnInit ),
// XNetStartup+0x00 : xor eax, eax // XNetStartup+0x00 : xor eax, eax
{ 0x00, 0x33 }, { 0x00, 0x33 },
@ -60,7 +61,8 @@ OOVPA_XREF(XNetStartup, 4361, 8,
{ 0x14, 0xC2 }, { 0x14, 0xC2 },
{ 0x15, 0x04 }, { 0x15, 0x04 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to XNet 4361
// ****************************************************************** // ******************************************************************
// * WSAStartup // * WSAStartup
// ****************************************************************** // ******************************************************************
@ -70,7 +72,7 @@ OOVPA_XREF(WSAStartup, 4361, 9,
XRefOne) XRefOne)
// WSAStartup+0x0F : call [XnInit] // WSAStartup+0x0F : call [XnInit]
XREF_ENTRY( 0x14, XREF_XNINIT ), XREF_ENTRY( 0x14, XREF_XnInit ),
// WSAStartup+0x00 : push [esp+0x08] // WSAStartup+0x00 : push [esp+0x08]
{ 0x00, 0xFF }, { 0x00, 0xFF },
@ -84,13 +86,14 @@ OOVPA_XREF(WSAStartup, 4361, 9,
{ 0x06, 0x24 }, { 0x06, 0x24 },
{ 0x07, 0x08 }, { 0x07, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic XNet 4361 version
// ****************************************************************** // ******************************************************************
// * XnInit // * XnInit
// ****************************************************************** // ******************************************************************
OOVPA_XREF(XnInit, 4361, 10, OOVPA_XREF(XnInit, 4361, 10,
XREF_XNINIT, XREF_XnInit,
XRefZero) XRefZero)
// XnInit+0x03 : sub esp, 0x0214 // XnInit+0x03 : sub esp, 0x0214
@ -109,6 +112,7 @@ OOVPA_XREF(XnInit, 4361, 10,
{ 0xBD, 0xEC }, { 0xBD, 0xEC },
{ 0xBE, 0x01 }, { 0xBE, 0x01 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to XNet 3911 #if 0 // Moved to XNet 3911
// ****************************************************************** // ******************************************************************
// * CXnSock::socket // * CXnSock::socket
@ -205,6 +209,7 @@ OOVPA_NO_XREF(ioctlsocket, 4361, 10)
{ 0xC6, 0x0C }, { 0xC6, 0x0C },
OOVPA_END; OOVPA_END;
#endif #endif
// ****************************************************************** // ******************************************************************
// * CXo::XOnlineLogon // * CXo::XOnlineLogon
// ****************************************************************** // ******************************************************************
@ -245,6 +250,7 @@ OOVPA_XREF(XOnlineLogon, 4361, 5,
{ 0x0A, 0xE9 }, { 0x0A, 0xE9 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic XNet 3911 version
// ****************************************************************** // ******************************************************************
// * XNetGetEthernetLinkStatus // * XNetGetEthernetLinkStatus
// ****************************************************************** // ******************************************************************
@ -266,6 +272,7 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4361, 13)
{ 0x27, 0x75 }, { 0x27, 0x75 },
{ 0x2C, 0x15 }, { 0x2C, 0x15 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XOnline_4361 // * XOnline_4361
@ -277,7 +284,7 @@ OOVPATable XOnline_4361[] = {
REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(CXo_XOnlineLogon, 4361, XREF), REGISTER_OOVPA(CXo_XOnlineLogon, 4361, XREF),
REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH),
REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4361, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 3911, PATCH),
REGISTER_OOVPA(socket, 3911, PATCH), REGISTER_OOVPA(socket, 3911, PATCH),
REGISTER_OOVPA(bind, 3911, PATCH), REGISTER_OOVPA(bind, 3911, PATCH),
REGISTER_OOVPA(listen, 3911, PATCH), REGISTER_OOVPA(listen, 3911, PATCH),

View File

@ -32,33 +32,35 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // Belongs in XNet lib
// ****************************************************************** // ******************************************************************
// * XnInit -> Belongs in XNet lib // * XnInit
// ****************************************************************** // ******************************************************************
//OOVPA_XREF(XnInit, 4627, 12, OOVPA_XREF(XnInit, 4627, 12,
//
// XREF_XNINIT,
// XRefZero)
//
// // XnInit+0x03 : sub esp, 0x0218
// { 0x03, 0x81 },
// { 0x04, 0xEC },
// { 0x05, 0x18 },
// { 0x06, 0x02 },
//
// // XnInit+0x19 : cmpxchg [ecx], edx
// { 0x19, 0x0F },
// { 0x1A, 0xB1 },
// { 0x1B, 0x11 },
//
// // XnInit+0x3C : push 0x4454454E
// { 0x3C, 0x68 },
// { 0x3D, 0x4E },
// { 0x3E, 0x45 },
// { 0x3F, 0x54 },
// { 0x40, 0x44 },
//OOVPA_END;
XREF_XnInit,
XRefZero)
XnInit+0x03 : sub esp, 0x0218
{ 0x03, 0x81 },
{ 0x04, 0xEC },
{ 0x05, 0x18 },
{ 0x06, 0x02 },
XnInit+0x19 : cmpxchg [ecx], edx
{ 0x19, 0x0F },
{ 0x1A, 0xB1 },
{ 0x1B, 0x11 },
XnInit+0x3C : push 0x4454454E
{ 0x3C, 0x68 },
{ 0x3D, 0x4E },
{ 0x3E, 0x45 },
{ 0x3F, 0x54 },
{ 0x40, 0x44 },
OOVPA_END;
#endif
#if 0 // Moved to XNet 4627
// ****************************************************************** // ******************************************************************
// * XNetGetEthernetLinkStatus // * XNetGetEthernetLinkStatus
// ****************************************************************** // ******************************************************************
@ -73,6 +75,7 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4627, 8)
{ 0x3D, 0x24 }, { 0x3D, 0x24 },
{ 0x46, 0x5B }, { 0x46, 0x5B },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XoUpdateLaunchNewImageInternal // * XoUpdateLaunchNewImageInternal
@ -96,7 +99,8 @@ OOVPA_XREF(XoUpdateLaunchNewImageInternal, 4627, 11,
{ 0x65, 0xE8 }, { 0x65, 0xE8 },
OOVPA_END; OOVPA_END;
/*
#if 0 // No longer used, replaced by generic 4627 version
// ****************************************************************** // ******************************************************************
// * XoUpdateLaunchNewImageInternal // * XoUpdateLaunchNewImageInternal
// ****************************************************************** // ******************************************************************
@ -114,7 +118,8 @@ OOVPA_XREF(XoUpdateLaunchNewImageInternal, 4627, 8,
{ 0xDE, 0xE8 }, { 0xDE, 0xE8 },
{ 0xFE, 0x15 }, { 0xFE, 0x15 },
OOVPA_END; OOVPA_END;
*/ #endif
// ****************************************************************** // ******************************************************************
// * CXo::XOnlineLogon // * CXo::XOnlineLogon
// ****************************************************************** // ******************************************************************
@ -145,7 +150,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPATable XOnline_4627[] ={ OOVPATable XOnline_4627[] ={
REGISTER_OOVPA(XnInit, 4627, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 4361, PATCH), REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(socket, 4627, PATCH),

View File

@ -0,0 +1,60 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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

@ -64,7 +64,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPATable XOnline_5028[] ={ OOVPATable XOnline_5028[] ={
REGISTER_OOVPA(XnInit, 4627, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 4361, PATCH), REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(socket, 4627, PATCH),
@ -76,7 +76,7 @@ OOVPATable XOnline_5028[] ={
REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH),
REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH),
REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 4627, XREF), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 4627, XREF),
REGISTER_OOVPA(CXo_XOnlineLogon, 5028, XREF), REGISTER_OOVPA(CXo_XOnlineLogon, 4831, XREF),
REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH),
}; };

View File

@ -32,6 +32,7 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // No longer used, replaced by generic XNet 4361 version
// ****************************************************************** // ******************************************************************
// * XNetStartup // * XNetStartup
// ****************************************************************** // ******************************************************************
@ -46,6 +47,7 @@ OOVPA_NO_XREF(XNetStartup, 5233, 8)
{ 0x15, 0x04 }, { 0x15, 0x04 },
{ 0x16, 0x00 }, { 0x16, 0x00 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CXo::XOnlineLogon // * CXo::XOnlineLogon
@ -64,6 +66,7 @@ OOVPA_XREF(CXo_XOnlineLogon, 5233, 8,
{ 0xDE, 0xF9 }, { 0xDE, 0xF9 },
{ 0xFE, 0x33 }, { 0xFE, 0x33 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic 4361 version #if 0 // No longer used, replaced by generic 4361 version
// ****************************************************************** // ******************************************************************
// * XOnlineLogon // * XOnlineLogon
@ -84,6 +87,7 @@ OOVPA_XREF(XOnlineLogon, 5233, 8,
{ 0x0A, 0xE9 }, { 0x0A, 0xE9 },
OOVPA_END; OOVPA_END;
#endif #endif
#if 0 // Moved to XNet 5120
// ****************************************************************** // ******************************************************************
// * CXnSock::connect // * CXnSock::connect
// ****************************************************************** // ******************************************************************
@ -104,20 +108,21 @@ OOVPA_NO_XREF(connect, 5233, 12) // Up to 5849
{ 0x61, 0xE8 }, { 0x61, 0xE8 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XOnline_5233 // * XOnline_5233
// ****************************************************************** // ******************************************************************
OOVPATable XOnline_5233[] = { OOVPATable XOnline_5233[] = {
REGISTER_OOVPA(XnInit, 4627, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 5233, PATCH), REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(socket, 4627, PATCH),
REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH),
REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH),
REGISTER_OOVPA(ioctlsocket, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH),
REGISTER_OOVPA(connect, 5233, PATCH), REGISTER_OOVPA(connect, 5120, PATCH),
REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(send, 3911, PATCH),
REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH),
REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH),

View File

@ -37,14 +37,14 @@
// ****************************************************************** // ******************************************************************
OOVPATable XOnline_5344[] = { OOVPATable XOnline_5344[] = {
REGISTER_OOVPA(XnInit, 4627, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 5233, PATCH), REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(socket, 4627, PATCH),
REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH),
REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH),
REGISTER_OOVPA(ioctlsocket, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH),
REGISTER_OOVPA(connect, 5233, PATCH), REGISTER_OOVPA(connect, 5120, PATCH),
REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(send, 3911, PATCH),
REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH),
REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH),

View File

@ -0,0 +1,58 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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

@ -59,6 +59,7 @@ OOVPA_XREF(CXo_XOnlineLogon, 5558, 14,
{ 0x32, 0xE9 }, { 0x32, 0xE9 },
OOVPA_END; OOVPA_END;
#if 0 // No longer used, replaced by generic XNet 4361 version
// ****************************************************************** // ******************************************************************
// * WSAStartup // * WSAStartup
// ****************************************************************** // ******************************************************************
@ -72,7 +73,8 @@ OOVPA_NO_XREF(WSAStartup, 5558, 7)
{ 0x18, 0xC2 }, { 0x18, 0xC2 },
{ 0x1A, 0x00 }, { 0x1A, 0x00 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to XNet 5455
// ****************************************************************** // ******************************************************************
// * CXnSock::socket // * CXnSock::socket
// ****************************************************************** // ******************************************************************
@ -90,7 +92,7 @@ OOVPA_NO_XREF(socket, 5558, 10) // Up to 5849
{ 0xBE, 0xFF }, { 0xBE, 0xFF },
{ 0xBF, 0x15 }, { 0xBF, 0x15 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 4361 version #if 0 // No longer used, replaced by generic 4361 version
// ****************************************************************** // ******************************************************************
// * XOnlineLogon // * XOnlineLogon
@ -119,19 +121,19 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPATable XOnline_5558[] = { OOVPATable XOnline_5558[] = {
REGISTER_OOVPA(XnInit, 4627, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 5233, PATCH), REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 5558, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(socket, 5558, PATCH), REGISTER_OOVPA(socket, 5455, PATCH),
REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH),
REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH),
REGISTER_OOVPA(ioctlsocket, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH),
REGISTER_OOVPA(connect, 5233, PATCH), REGISTER_OOVPA(connect, 5120, PATCH),
REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(send, 3911, PATCH),
REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH),
REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH),
REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 4627, XREF), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 4627, XREF),
REGISTER_OOVPA(CXo_XOnlineLogon, 5558, XREF), REGISTER_OOVPA(CXo_XOnlineLogon, 5455, XREF),
REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH),
}; };

View File

@ -0,0 +1,56 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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

@ -32,12 +32,13 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // No longer used, replaced by generic XNet 4361 version
// ****************************************************************** // ******************************************************************
// * XnInit // * XnInit
// ****************************************************************** // ******************************************************************
OOVPA_XREF(XnInit, 5788, 8, OOVPA_XREF(XnInit, 5788, 8,
XREF_XNINIT, XREF_XnInit,
XRefZero) XRefZero)
{ 0x1E, 0x3B }, { 0x1E, 0x3B },
@ -49,6 +50,7 @@ OOVPA_XREF(XnInit, 5788, 8,
{ 0xDE, 0xFE }, { 0xDE, 0xFE },
{ 0xFE, 0x48 }, { 0xFE, 0x48 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XoUpdateLaunchNewImageInternal // * XoUpdateLaunchNewImageInternal
@ -82,19 +84,19 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPATable XOnline_5788[] = { OOVPATable XOnline_5788[] = {
REGISTER_OOVPA(XnInit, 5788, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 5233, PATCH), REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 5558, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH),
REGISTER_OOVPA(socket, 5558, PATCH), REGISTER_OOVPA(socket, 5455, PATCH),
REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH),
REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH),
REGISTER_OOVPA(ioctlsocket, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH),
REGISTER_OOVPA(connect, 5233, PATCH), REGISTER_OOVPA(connect, 5120, PATCH),
REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(send, 3911, PATCH),
REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH),
REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 5788, XREF), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 5788, XREF),
REGISTER_OOVPA(CXo_XOnlineLogon, 5558, XREF), REGISTER_OOVPA(CXo_XOnlineLogon, 5455, XREF),
REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH),
}; };

View File

@ -32,7 +32,6 @@
// * // *
// ****************************************************************** // ******************************************************************
// ****************************************************************** // ******************************************************************
// * CXo::XOnlineLogon // * CXo::XOnlineLogon
// ****************************************************************** // ******************************************************************
@ -65,16 +64,16 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPATable XOnline_5849[] = { OOVPATable XOnline_5849[] = {
REGISTER_OOVPA(XnInit, 5788, XREF), REGISTER_OOVPA(XnInit, 4361, XREF),
REGISTER_OOVPA(XNetStartup, 5233, PATCH), REGISTER_OOVPA(XNetStartup, 4361, PATCH),
REGISTER_OOVPA(WSAStartup, 5558, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH),
REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH),
REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 5788, XREF), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 5788, XREF),
REGISTER_OOVPA(socket, 5558, PATCH), REGISTER_OOVPA(socket, 5455, PATCH),
REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH),
REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH),
REGISTER_OOVPA(ioctlsocket, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH),
REGISTER_OOVPA(connect, 5233, PATCH), REGISTER_OOVPA(connect, 5120, PATCH),
REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(send, 3911, PATCH),
REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH),
REGISTER_OOVPA(CXo_XOnlineLogon, 5849, XREF), REGISTER_OOVPA(CXo_XOnlineLogon, 5849, XREF),

View File

@ -0,0 +1,102 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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
// [revi] Title Name | Verify | Comments
//-------------------------------------------------------------------
// * [4831] NBA2K3 | 100% | None
// * [4928] Unreal Championship | 100% | None
// * [5028] Capcom vs. SNK 2 EO | 100% | None
// * [5120] Muzzle Flash | 11/14 | Need verify non-exist function is there or not
// * [5233] MotoGP 2 | 11/14 | Need verify non-exist function is there or not
// * [5344] Burnout 2 | 11/14 | Check the Dxbx Patterns
// * [5455] Ghost Recon Island Thunder | 100% | None
// * [5558] XIII | 100% | None
// * [5659] Plus Plum 2 | 100% | None
// * [5788] All-Star Baseball '05 | 100% | None
// * [5849] Kingdom Under Fire: The Crusaders | 100% | None
// 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 "HLEDataBase/XOnline.1.0.4361.inl"
#include "HLEDataBase/XOnline.1.0.4627.inl"
#include "HLEDataBase/XOnline.1.0.4831.inl"
#include "HLEDataBase/XOnline.1.0.5028.inl"
#include "HLEDataBase/XOnline.1.0.5233.inl"
#include "HLEDataBase/XOnline.1.0.5344.inl"
#include "HLEDataBase/XOnline.1.0.5455.inl"
#include "HLEDataBase/XOnline.1.0.5558.inl"
#include "HLEDataBase/XOnline.1.0.5659.inl"
#include "HLEDataBase/XOnline.1.0.5788.inl"
#include "HLEDataBase/XOnline.1.0.5849.inl"
// ******************************************************************
// * XONLINES_OOVPA
// ******************************************************************
OOVPATable XONLINES_OOVPAV2[] = {
// XOnline section
REGISTER_OOVPAS(CXo_XOnlineLogon, XREF, 4361, 4627, 4831/*, 5028*/, 5233, 5455, 5558, 5849),
REGISTER_OOVPAS(XOnlineLogon, PATCH, 4361),
REGISTER_OOVPAS(XoUpdateLaunchNewImageInternal, XREF, 4627, 5659, 5788),
// XNet section
REGISTER_OOVPAS(XnInit, XREF, 4361/*, 4627, 5788*/),
REGISTER_OOVPAS(WSAStartup, PATCH, 4361/*, 5558*/),
REGISTER_OOVPAS(XNetStartup, PATCH, 4361/*, 5233*/),
REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911/*, 4361*/, 4627), //NOTE: Found in .text section, confirmed it is correct.
REGISTER_OOVPAS(bind, PATCH, 3911, 4627),
REGISTER_OOVPAS(connect, PATCH, 3911, 5120/*, 5233*/),
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/*, 5558*/),
};
// ******************************************************************
// * XONLINES_OOVPA_SIZE
// ******************************************************************
uint32 XONLINES_OOVPA_SIZEV2 = sizeof(XONLINES_OOVPAV2);
#endif

View File

@ -57,31 +57,6 @@ OOVPA_NO_XREF(XACTEngineCreate, 4627, 11)
{ 0x9B, 0x08 }, { 0x9B, 0x08 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * 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::RegisterWaveBank // * XACT::CEngine::RegisterWaveBank
// ****************************************************************** // ******************************************************************
@ -150,33 +125,6 @@ OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4627, 8,
{ 0x8E, 0x0C }, { 0x8E, 0x0C },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * XACT::CEngine::RegisterStreamedWaveBank
// ******************************************************************
OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4928, 13,
XREF_XACT_CEngine_RegisterStreamedWaveBank,
XRefZero)
// XACT_CEngine_RegisterStreamedWaveBank+0x07 : push 0x7C
{ 0x07, 0x6A },
{ 0x08, 0x7C },
// XACT_CEngine_RegisterStreamedWaveBank+0x30 : add esi, 0x8007000E
{ 0x30, 0x81 },
{ 0x31, 0xC7 },
{ 0x32, 0x0E },
{ 0x33, 0x00 },
{ 0x34, 0x07 },
{ 0x35, 0x80 },
// XACT_CEngine_RegisterStreamedWaveBank+0x50 : add ecx, 0x44
{ 0x50, 0x83 },
{ 0x51, 0xC1 },
{ 0x52, 0x44 },
// XACT_CEngine_RegisterStreamedWaveBank+0x71 : retn 0x0C
{ 0x71, 0xC2 },
{ 0x72, 0x0C },
OOVPA_END;
// ****************************************************************** // ******************************************************************
// * IXACTEngine_RegisterStreamedWaveBank // * IXACTEngine_RegisterStreamedWaveBank
// ****************************************************************** // ******************************************************************
@ -197,31 +145,6 @@ OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4627, 9,
{ 0x1E, 0x0C }, { 0x1E, 0x0C },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * IXACTEngine_RegisterStreamedWaveBank
// ******************************************************************
OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4928, 10,
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 // * XACT::CEngine::CreateSoundBank
// ****************************************************************** // ******************************************************************
@ -240,32 +163,6 @@ OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4627, 8,
{ 0x7E, 0x10 }, { 0x7E, 0x10 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * XACT::CEngine::CreateSoundBank
// ******************************************************************
OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4928, 13,
XREF_XACT_CEngine_CreateSoundBank,
XRefZero)
// XACT::CEngine::CreateSoundBank+0x02 : push 0x34
{ 0x02, 0x6A },
{ 0x03, 0x34 },
// XACT::CEngine::CreateSoundBank+0x2B : add edi, 0x8007000E
{ 0x2B, 0x81 },
{ 0x2C, 0xC7 },
{ 0x2D, 0x0E },
{ 0x2E, 0x00 },
{ 0x2F, 0x07 },
{ 0x30, 0x80 },
// XACT::CEngine::CreateSoundBank+0x4F : add ecx, 0x4C
{ 0x4F, 0x83 },
{ 0x50, 0xC1 },
{ 0x51, 0x4C },
// XACT::CEngine::CreateSoundBank+0x73 : retn 0x10
{ 0x73, 0xC2 },
{ 0x74, 0x10 },
OOVPA_END;
// ****************************************************************** // ******************************************************************
// * IXACTEngine_CreateSoundBank // * IXACTEngine_CreateSoundBank
// ****************************************************************** // ******************************************************************
@ -285,30 +182,6 @@ OOVPA_XREF(IXACTEngine_CreateSoundBank, 4627, 8,
{ 0x21, 0xC2 }, { 0x21, 0xC2 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * IXACTEngine_CreateSoundBank
// ******************************************************************
OOVPA_XREF(IXACTEngine_CreateSoundBank, 4928, 10,
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::DownloadEffectsImage // * XACT::CEngine::DownloadEffectsImage
// ****************************************************************** // ******************************************************************
@ -524,28 +397,6 @@ OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 4627, 8,
{ 0x46, 0x08 }, { 0x46, 0x08 },
OOVPA_END; 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 // * IXACTEngine_UnRegisterWaveBank
// ****************************************************************** // ******************************************************************
@ -565,44 +416,19 @@ OOVPA_XREF(IXACTEngine_UnRegisterWaveBank, 4627, 8,
{ 0x1A, 0x08 }, { 0x1A, 0x08 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * IXACTEngine_UnRegisterWaveBank
// ******************************************************************
OOVPA_XREF(IXACTEngine_UnRegisterWaveBank, 4928, 8,
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;
// ****************************************************************** // ******************************************************************
// * XactEng_4627 // * XactEng_4627
// ****************************************************************** // ******************************************************************
OOVPATable XactEng_4627[] = { OOVPATable XactEng_4627[] = {
REGISTER_OOVPA(XACTEngineCreate, 4627, PATCH), REGISTER_OOVPA(XACTEngineCreate, 4627, PATCH),
REGISTER_OOVPA(XACTEngineCreate, 4928, PATCH),
REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 4627, XREF), REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 4627, PATCH), REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4627, XREF), REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4627, XREF),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4627, PATCH), REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4627, PATCH),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4627, XREF), REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4627, XREF),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4627, PATCH), REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4627, PATCH),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF), REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4627, XREF), REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4627, XREF),
@ -615,9 +441,7 @@ OOVPATable XactEng_4627[] = {
REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_GetNotification, 4627, PATCH), REGISTER_OOVPA(IXACTEngine_GetNotification, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 4627, XREF), REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 4627, XREF),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4627, PATCH), REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4627, PATCH),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH),
}; };
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,42 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.4928.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>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef XACTENG_4928_H
#define XACTENG_4928_H
#include "OOVPA.h"
extern OOVPATable XactEng_4928[];
extern uint32 XactEng_4928_SIZE;
#endif

View File

@ -0,0 +1,415 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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;
#if 0 // No longer used, replaced by another 4928 version
// ******************************************************************
// * XACT::CEngine::RegisterStreamedWaveBank
// ******************************************************************
OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4928, 13,
XREF_XACT_CEngine_RegisterStreamedWaveBank,
XRefZero)
// XACT_CEngine_RegisterStreamedWaveBank+0x07 : push 0x7C
{ 0x07, 0x6A },
{ 0x08, 0x7C },
// XACT_CEngine_RegisterStreamedWaveBank+0x30 : add esi, 0x8007000E
{ 0x30, 0x81 },
{ 0x31, 0xC7 },
{ 0x32, 0x0E },
{ 0x33, 0x00 },
{ 0x34, 0x07 },
{ 0x35, 0x80 },
// XACT_CEngine_RegisterStreamedWaveBank+0x50 : add ecx, 0x44
{ 0x50, 0x83 },
{ 0x51, 0xC1 },
{ 0x52, 0x44 },
// XACT_CEngine_RegisterStreamedWaveBank+0x71 : retn 0x0C
{ 0x71, 0xC2 },
{ 0x72, 0x0C },
OOVPA_END;
#endif
// ******************************************************************
// * IXACTEngine_RegisterStreamedWaveBank
// ******************************************************************
OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4928, 10,
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;
#if 0 // No longer used, replaced by another 4928 version
// ******************************************************************
// * XACT::CEngine::CreateSoundBank
// ******************************************************************
OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4928, 13,
XREF_XACT_CEngine_CreateSoundBank,
XRefZero)
// XACT::CEngine::CreateSoundBank+0x02 : push 0x34
{ 0x02, 0x6A },
{ 0x03, 0x34 },
// XACT::CEngine::CreateSoundBank+0x2B : add edi, 0x8007000E
{ 0x2B, 0x81 },
{ 0x2C, 0xC7 },
{ 0x2D, 0x0E },
{ 0x2E, 0x00 },
{ 0x2F, 0x07 },
{ 0x30, 0x80 },
// XACT::CEngine::CreateSoundBank+0x4F : add ecx, 0x4C
{ 0x4F, 0x83 },
{ 0x50, 0xC1 },
{ 0x51, 0x4C },
// XACT::CEngine::CreateSoundBank+0x73 : retn 0x10
{ 0x73, 0xC2 },
{ 0x74, 0x10 },
OOVPA_END;
#endif
// ******************************************************************
// * IXACTEngine_CreateSoundBank
// ******************************************************************
OOVPA_XREF(IXACTEngine_CreateSoundBank, 4928, 10,
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, 8,
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, 9,
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, 9,
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, 9,
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, 8,
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;
// ******************************************************************
// * XactEng_4928
// ******************************************************************
OOVPATable XactEng_4928[] = {
REGISTER_OOVPA(XACTEngineCreate, 4928, PATCH),
REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF),
REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH),
// ******************************************************************
// Provisional registration functions in XDK 4928
// TODO: Need test cases
// ******************************************************************
REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 4627, PATCH),
REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH),
// ******************************************************************
};
// ******************************************************************
// * XACTENG_4928_SIZE
// ******************************************************************
uint32 XactEng_4928_SIZE = sizeof(XactEng_4928);

View File

@ -0,0 +1,130 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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, 10,
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

@ -0,0 +1,42 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5233.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>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef XACTENG_5233_H
#define XACTENG_5233_H
#include "OOVPA.h"
extern OOVPATable XactEng_5233[];
extern uint32 XactEng_5233_SIZE;
#endif

View File

@ -0,0 +1,225 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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
// *
// ******************************************************************
#if 0 // Moved to 5120
// *****************************************************************
// * 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;
#endif
// ******************************************************************
// * 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;
#if 0 // Moved to 5120
// ******************************************************************
// * 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;
#endif
#if 0 // Moved to 5120
// ******************************************************************
// * 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;
#endif
// ******************************************************************
// * 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;
#if 0 // Moved to 5120
// ******************************************************************
// * IXACTEngine_RegisterWaveBank
// ******************************************************************
OOVPA_XREF(IXACTEngine_RegisterWaveBank, 5120, 10,
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;
#endif
// ******************************************************************
// * XactEng_5233
// ******************************************************************
OOVPATable XactEng_5233[] = {
REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH),
REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4928, XREF), // For 5120
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5120, XREF),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH),
// ******************************************************************
// Provisional registration functions in XDK 5233
// TODO: Need test cases
// ******************************************************************
REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF),
REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH),
// ******************************************************************
};
// ******************************************************************
// * XACTENG_5233_SIZE
// ******************************************************************
uint32 XactEng_5233_SIZE = sizeof(XactEng_5233);

View File

@ -0,0 +1,42 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5344.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>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef XACTENG_5344_H
#define XACTENG_5344_H
#include "OOVPA.h"
extern OOVPATable XactEng_5344[];
extern uint32 XactEng_5344_SIZE;
#endif

View File

@ -0,0 +1,168 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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, 11,
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, 11,
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;
// ******************************************************************
// * XactEng_5344
// ******************************************************************
OOVPATable XactEng_5344[] = {
REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH),
REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF),
REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF),
REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_Play, 5344, XREF),
REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet.
// ******************************************************************
// Provisional registration functions in XDK 5344
// TODO: Need test cases
// ******************************************************************
REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH),
// ******************************************************************
};
// ******************************************************************
// * XACTENG_5344_SIZE
// ******************************************************************
uint32 XactEng_5344_SIZE = sizeof(XactEng_5344);

View File

@ -0,0 +1,42 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5558.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>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef XACTENG_5558_H
#define XACTENG_5558_H
#include "OOVPA.h"
extern OOVPATable XactEng_5558[];
extern uint32 XactEng_5558_SIZE;
#endif

View File

@ -0,0 +1,98 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->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;
// ******************************************************************
// * XactEng_5558
// ******************************************************************
OOVPATable XactEng_5558[] = {
REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH),
REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF),
REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF),
REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_Play, 5558, XREF),
REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet.
// ******************************************************************
// Provisional registration functions in XDK 5558
// TODO: Need test cases
// ******************************************************************
REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH),
// ******************************************************************
};
// ******************************************************************
// * XACTENG_5558_SIZE
// ******************************************************************
uint32 XactEng_5558_SIZE = sizeof(XactEng_5558);

View File

@ -0,0 +1,42 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5788.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>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef XACTENG_5788_H
#define XACTENG_5788_H
#include "OOVPA.h"
extern OOVPATable XactEng_5788[];
extern uint32 XactEng_5788_SIZE;
#endif

View File

@ -0,0 +1,74 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XactEng.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) 2017 jarupxx
// *
// * All rights reserved
// *
// ******************************************************************
// ******************************************************************
// * XactEng_5788
// ******************************************************************
OOVPATable XactEng_5788[] = {
REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH),
REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF),
REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF),
REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_Play, 5558, XREF),
REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet.
// ******************************************************************
// Provisional registration functions in XDK 5788
// TODO: Need test cases
// ******************************************************************
REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH),
// ******************************************************************
};
// ******************************************************************
// * XACTENG_5788_SIZE
// ******************************************************************
uint32 XactEng_5788_SIZE = sizeof(XactEng_5788);

View File

@ -32,6 +32,7 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // No longer used, replaced by generic 5120 version
// ***************************************************************** // *****************************************************************
// * XACTEngineCreate // * XACTEngineCreate
// ****************************************************************** // ******************************************************************
@ -55,13 +56,42 @@ OOVPA_NO_XREF(XACTEngineCreate, 5849, 11)
{ 0xA2, 0xC2 }, { 0xA2, 0xC2 },
{ 0xA3, 0x08 }, { 0xA3, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XactEng_5849 // * XactEng_5849
// ****************************************************************** // ******************************************************************
OOVPATable XactEng_5849[] = { OOVPATable XactEng_5849[] = {
REGISTER_OOVPA(XACTEngineCreate, 5849, PATCH),
REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH),
REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF),
REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF),
REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH),
REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF),
REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF),
REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH),
REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF),
REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH),
REGISTER_OOVPA(XACT_CSoundBank_Play, 5558, XREF),
REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet.
// ******************************************************************
// Provisional registration functions in XDK 5849
// TODO: Need test cases
// ******************************************************************
REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH),
// ******************************************************************
}; };
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,98 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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
// *
// ******************************************************************
// TODO: Known XactEng OOVPA issue list
// * 4627 and 5028 are not verified each OOVPA. (Last known revision found is 4928. revision 5028 is obscure)
// * Following OOVPA revision are not verified
// * XACT_CEngine_CreateSoundSource (5455)
// * XACT_CEngine_DownloadEffectsImage (5455)
// * XACT_CSoundBank_GetSoundCueIndexFromFriendlyName (5455)
// * XACT_CSoundBank_Play (5455)
// * IXACTEngine_CreateSoundSource (5455)
// * IXACTEngine_DownloadEffectsImage (5455)
// * IXACTEngine_RegisterWaveBank (5455)
// * IXACTSoundBank_GetSoundCueIndexFromFriendlyName (5455)
// * IXACTSoundBank_Play (4928 to 5849)
#ifndef XACTENG_OOVPA_INL
#define XACTENG_OOVPA_INL
#include "../OOVPA.h"
#include "HLEDataBase/XactEng.1.0.4627.inl"
#include "HLEDataBase/XactEng.1.0.4928.inl"
#include "HLEDataBase/XactEng.1.0.5120.inl"
#include "HLEDataBase/XactEng.1.0.5233.inl"
#include "HLEDataBase/XactEng.1.0.5344.inl"
#include "HLEDataBase/XactEng.1.0.5558.inl"
#include "HLEDataBase/XactEng.1.0.5788.inl"
#include "HLEDataBase/XactEng.1.0.5849.inl"
// ******************************************************************
// * XACTENG_OOVPA
// ******************************************************************
OOVPATable XACTENG_OOVPAV2[] = {
REGISTER_OOVPAS(XACTEngineCreate, PATCH, 4627, 4928, 5120),
REGISTER_OOVPAS(XACTEngineDoWork, PATCH, 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, PATCH, 4627, 4928),
REGISTER_OOVPAS(IXACTEngine_CreateSoundSource, PATCH, 4627, 4928),
REGISTER_OOVPAS(IXACTEngine_DownloadEffectsImage, PATCH, 4627, 5344),
REGISTER_OOVPAS(IXACTEngine_GetNotification, PATCH, 4627, 4928),
REGISTER_OOVPAS(IXACTEngine_RegisterNotification, PATCH, 4627, 4928),
REGISTER_OOVPAS(IXACTEngine_RegisterStreamedWaveBank, PATCH, 4627, 4928),
REGISTER_OOVPAS(IXACTEngine_RegisterWaveBank, PATCH, 4627, 5120),
REGISTER_OOVPAS(IXACTEngine_UnRegisterWaveBank, PATCH, 4627, 4928),
REGISTER_OOVPAS(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, PATCH, 4627, 4928),
REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627),
REGISTER_OOVPAS(IXACTSoundBank_PlayEx, XREF, 5344), // Not Implemented yet.
};
// ******************************************************************
// * XACTENG_OOVPA_SIZE
// ******************************************************************
uint32 XACTENG_OOVPA_SIZEV2 = sizeof(XACTENG_OOVPAV2);
#endif

View File

@ -111,6 +111,36 @@ OOVPA_NO_XREF(CreateMutex, 3911, 13)
{ 0x49, 0x10 }, { 0x49, 0x10 },
OOVPA_END; OOVPA_END;
// ******************************************************************
// * CreateThread
// ******************************************************************
OOVPA_NO_XREF(CreateThread, 3911, 21)
{ 0x00, 0x55 },
{ 0x01, 0x8B },
{ 0x02, 0xEC },
{ 0x03, 0x8B },
{ 0x04, 0x45 },
{ 0x05, 0x0C },
{ 0x06, 0x85 },
{ 0x07, 0xC0 },
{ 0x08, 0x75 },
{ 0x09, 0x05 },
{ 0x0A, 0xA1 },
{ 0x0B, 0x30 },
{ 0x0C, 0x01 },
{ 0x0D, 0x01 },
{ 0x0E, 0x00 },
{ 0x0F, 0x8B },
{ 0x10, 0x4D },
{ 0x11, 0x18 },
{ 0x12, 0x68 },
{ 0x32, 0x50 },
{ 0x33, 0x6A },
OOVPA_END;
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * CreateThread // * CreateThread
// ****************************************************************** // ******************************************************************
@ -130,6 +160,7 @@ OOVPA_NO_XREF(CreateThread, 3911, 8)
{ 0x51, 0xC2 }, { 0x51, 0xC2 },
{ 0x52, 0x18 }, { 0x52, 0x18 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * SetThreadPriority // * SetThreadPriority
@ -214,6 +245,7 @@ OOVPA_NO_XREF(XapiInitProcess, 3911, 7)
{ 0x43, 0x0A }, { 0x43, 0x0A },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 3950
// ****************************************************************** // ******************************************************************
// * XapiInitProcess // * XapiInitProcess
// ****************************************************************** // ******************************************************************
@ -234,6 +266,7 @@ OOVPA_NO_XREF(XapiInitProcess, 3950, 7)
{ 0x43, 0x75 }, { 0x43, 0x75 },
{ 0x44, 0x0A }, { 0x44, 0x0A },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XapiBootDash // * XapiBootDash
@ -299,7 +332,7 @@ OOVPA_NO_XREF(GetTimeZoneInformation, 3911, 7)
{ 0xF7, 0x99 }, { 0xF7, 0x99 },
OOVPA_END; OOVPA_END;
/* not necessary? // not necessary?
// ****************************************************************** // ******************************************************************
// * XCalculateSignatureBegin // * XCalculateSignatureBegin
// ****************************************************************** // ******************************************************************
@ -323,7 +356,6 @@ OOVPA_NO_XREF(XCalculateSignatureBegin, 3911, 10)
{ 0x3B, 0xC2 }, { 0x3B, 0xC2 },
{ 0x3C, 0x04 }, { 0x3C, 0x04 },
OOVPA_END; OOVPA_END;
*/
// ****************************************************************** // ******************************************************************
// * XGetDevices // * XGetDevices
@ -409,7 +441,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(XID_fCloseDevice, 3911, 10, OOVPA_XREF(XID_fCloseDevice, 3911, 10,
XREF_FCLOSEDEVICE, XREF_XID_fCloseDevice,
XRefZero) XRefZero)
// XID_fCloseDevice+0x19 : jz +0x5C // XID_fCloseDevice+0x19 : jz +0x5C
@ -440,7 +472,7 @@ OOVPA_XREF(XInputClose, 3911, 8,
XRefOne) XRefOne)
// XInputClose+0x05 : call [fCloseDevice] // XInputClose+0x05 : call [fCloseDevice]
XREF_ENTRY( 0x05, XREF_FCLOSEDEVICE ), XREF_ENTRY( 0x05, XREF_XID_fCloseDevice ),
// XInputClose+0x00 : mov ecx, [esp+0x04] // XInputClose+0x00 : mov ecx, [esp+0x04]
{ 0x00, 0x8B }, { 0x00, 0x8B },
@ -901,6 +933,25 @@ OOVPA_NO_XREF(CloseHandle, 3911, 8)
{ 0x1A, 0xC0 }, { 0x1A, 0xC0 },
OOVPA_END; OOVPA_END;
// Generic OOVPA as of 3911 and newer.
// ******************************************************************
// * ExitThread
// ******************************************************************
OOVPA_NO_XREF(ExitThread, 3911, 10)
{ 0x00, 0x6A },
{ 0x01, 0x00 },
{ 0x02, 0xE8 },
{ 0x07, 0xFF },
{ 0x08, 0x74 },
{ 0x09, 0x24 },
{ 0x0A, 0x04 },
{ 0x0B, 0xFF },
{ 0x0C, 0x15 },
{ 0x11, 0xCC },
OOVPA_END;
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * ExitThread // * ExitThread
// ****************************************************************** // ******************************************************************
@ -912,6 +963,7 @@ OOVPA_NO_XREF(ExitThread, 3911, 5)
{ 0x0A, 0x04 }, { 0x0A, 0x04 },
{ 0x11, 0xCC }, { 0x11, 0xCC },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XLaunchNewImageA // * XLaunchNewImageA
@ -1020,13 +1072,32 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * XAutoPowerDownResetTimer // * XAutoPowerDownResetTimer
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XAutoPowerDownResetTimer, 3911, 6) // Assembly line at 0x00 and 0x09 are unique. It will prevent any false detection it might find in the future.
OOVPA_NO_XREF(XAutoPowerDownResetTimer, 3911, 12)
//XAutoPowerDownResetTimer+0x00 : push 0FFFFFFCDh
{ 0x00, 0x6A },
{ 0x01, 0xCD },
//XAutoPowerDownResetTimer+0x02 : pop ecx
{ 0x02, 0x59 }, { 0x02, 0x59 },
//XAutoPowerDownResetTimer+0x08 : push ecx
{ 0x08, 0x51 }, { 0x08, 0x51 },
//XAutoPowerDownResetTimer+0x09 : mov eax, 0B5659000h
{ 0x09, 0xB8 },
{ 0x0A, 0x00 }, { 0x0A, 0x00 },
{ 0x0B, 0x90 },
{ 0x0C, 0x65 },
{ 0x0D, 0xB5 },
//XAutoPowerDownResetTimer+0x0E : push eax
{ 0x0E, 0x50 }, { 0x0E, 0x50 },
{ 0x14, 0xFF }, { 0x14, 0xFF },
//XAutoPowerDownResetTimer+0x1A : ret
{ 0x1A, 0xC3 }, { 0x1A, 0xC3 },
OOVPA_END; OOVPA_END;
@ -1210,6 +1281,101 @@ OOVPA_NO_XREF(RaiseException, 3911, 7)
{ 0x4B, 0xFF }, { 0x4B, 0xFF },
OOVPA_END; OOVPA_END;
// Generic OOVPA as of 3911 and newer.
// ******************************************************************
// * SwitchToThread
// ******************************************************************
OOVPA_NO_XREF(SwitchToThread, 3911, 15)
{ 0x00, 0xFF },
{ 0x01, 0x15 },
{ 0x06, 0x33 },
{ 0x07, 0xC9 },
{ 0x08, 0x3D },
{ 0x09, 0x24 },
{ 0x0A, 0x00 },
{ 0x0B, 0x00 },
{ 0x0C, 0x40 },
{ 0x0D, 0x0F },
{ 0x0E, 0x95 },
{ 0x0F, 0xC1 },
{ 0x10, 0x8B },
{ 0x11, 0xC1 },
{ 0x12, 0xC3 },
OOVPA_END;
// ******************************************************************
// * XapiThreadStartup
// ******************************************************************
// Generic OOVPA as of 3911 and newer.
OOVPA_NO_XREF(XapiThreadStartup, 3911, 17)
{ 0x00, 0x6A },
{ 0x01, 0x18 },
{ 0x02, 0x68 },
{ 0x07, 0xE8 },
{ 0x0C, 0x83 },
{ 0x0D, 0x65 },
{ 0x0E, 0xFC },
{ 0x0F, 0x00 },
{ 0x10, 0x64 },
{ 0x11, 0xA1 },
{ 0x12, 0x28 },
{ 0x13, 0x00 },
{ 0x14, 0x00 },
{ 0x15, 0x00 },
{ 0x16, 0x89 },
{ 0x17, 0x45 },
// { 0x18, 0xE4 }, 3911 0xE4 vs 5558 0xE0
{ 0x1F, 0x89 },
OOVPA_END;
// Generic OOVPA as of 3911 and newer.
// ******************************************************************
// * MoveFileA
// ******************************************************************
OOVPA_NO_XREF(MoveFileA, 3911, 12)
{ 0x00, 0x55 },
{ 0x01, 0x8B },
{ 0x02, 0xEC },
{ 0x03, 0x83 },
{ 0x04, 0xEC },
{ 0x05, 0x2C },
{ 0x06, 0x56 },
{ 0x07, 0x8B },
{ 0x08, 0x35 },
{ 0x1F, 0x8D },
{ 0x93, 0xC2 },
{ 0x94, 0x08 },
OOVPA_END;
// Generic OOVPA as of 3911 and newer.
// ******************************************************************
// * XapiFiberStartup
// ******************************************************************
OOVPA_NO_XREF(XapiFiberStartup, 3911, 14)
{ 0x00, 0x6A },
{ 0x01, 0x08 },
{ 0x25, 0xFF },
{ 0x26, 0x30 },
{ 0x27, 0xFF },
{ 0x28, 0x55 },
{ 0x29, 0x08 },
{ 0x2A, 0xEB },
{ 0x2B, 0x0C },
{ 0x2C, 0xFF },
{ 0x2D, 0x75 },
{ 0x2E, 0xEC },
{ 0x2F, 0xE8 },
{ 0x44, 0xCC },
OOVPA_END;
// ****************************************************************** // ******************************************************************
// * XAPI_3911 // * XAPI_3911
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,54 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.3950.cpp
// *
// * 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

@ -0,0 +1,58 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4039.cpp
// *
// * 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

@ -0,0 +1,255 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4242.cpp
// *
// * 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;
// ******************************************************************
// * XID_fCloseDevice
// ******************************************************************
OOVPA_XREF(XID_fCloseDevice, 4242, 11,
XREF_XID_fCloseDevice,
XRefZero)
// XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3]
{ 0x1B, 0x8B },
{ 0x1C, 0x86 },
{ 0x1D, 0xA3 },
// XID_fCloseDevice+0x91 : mov [esi+0x00A7], eax
{ 0x91, 0x89 },
{ 0x92, 0x86 },
{ 0x93, 0xA7 },
// XID_fCloseDevice+0x91 : mov [esi+0x00A7], eax // FIXME: Same instruction repeated.
{ 0x91, 0x89 },
{ 0x92, 0x86 },
{ 0x93, 0xA7 },
// XID_fCloseDevice+0x9F : leave; retn
{ 0x9F, 0xC9 },
{ 0xA0, 0xC3 },
OOVPA_END;
// ******************************************************************
// * XInputGetCapabilities
// ******************************************************************
OOVPA_NO_XREF(XInputGetCapabilities, 4242, 14)
// XInputGetCapabilities+0x03 : sub esp, 0x48
{ 0x03, 0x83 },
{ 0x04, 0xEC },
{ 0x05, 0x48 },
// XInputGetCapabilities+0x24 : test byte ptr [esi+4], 2
{ 0x24, 0xF6 },
{ 0x25, 0x46 },
{ 0x26, 0x04 },
{ 0x27, 0x02 },
// XInputGetCapabilities+0x3A : stosb
{ 0x3A, 0xAA },
// XInputGetCapabilities+0x7D : mov [ebp+var_48], 0x30
{ 0x7D, 0xC6 },
{ 0x7E, 0x45 },
{ 0x7F, 0xB8 },
{ 0x80, 0x30 },
// XInputGetCapabilities+0xEE : cmp [eax], ebx
{ 0xEE, 0x39 },
{ 0xEF, 0x18 },
OOVPA_END;
// ******************************************************************
// * XInputGetState
// ******************************************************************
OOVPA_NO_XREF(XInputGetState, 4242, 12)
// XInputGetState+0x0E : mov ecx, [edx+0x0A3]
{ 0x0E, 0x8B },
{ 0x0F, 0x8A },
{ 0x10, 0xA3 },
// XInputGetState+0x1D : push 0x57
{ 0x1D, 0x6A },
{ 0x1E, 0x57 },
// XInputGetState+0x20 : jmp +0x3E
{ 0x20, 0xEB },
{ 0x21, 0x3E },
// XInputGetState+0x2E : mov ebx, 0x048F
{ 0x2E, 0xBB },
{ 0x2F, 0x8F },
{ 0x30, 0x04 },
// XInputGetState+0x6C : retn 8
{ 0x6C, 0xC2 },
{ 0x6D, 0x08 },
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

@ -32,10 +32,11 @@
// * // *
// ****************************************************************** // ******************************************************************
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XInputOpen // * XInputOpen
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XInputOpen, 4361, 12) OOVPA_NO_XREF(XInputOpen, 4242, 12)
// XInputOpen+0x14 : push 0x57 // XInputOpen+0x14 : push 0x57
{ 0x14, 0x6A }, { 0x14, 0x6A },
@ -61,13 +62,14 @@ OOVPA_NO_XREF(XInputOpen, 4361, 12)
{ 0x53, 0xC2 }, { 0x53, 0xC2 },
{ 0x54, 0x10 }, { 0x54, 0x10 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XID_fCloseDevice // * XID_fCloseDevice
// ****************************************************************** // ******************************************************************
OOVPA_XREF(XID_fCloseDevice, 4361, 11, OOVPA_XREF(XID_fCloseDevice, 4242, 11,
XREF_FCLOSEDEVICE, XREF_XID_fCloseDevice,
XRefZero) XRefZero)
// XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3] // XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3]
@ -89,11 +91,12 @@ OOVPA_XREF(XID_fCloseDevice, 4361, 11,
{ 0x9F, 0xC9 }, { 0x9F, 0xC9 },
{ 0xA0, 0xC3 }, { 0xA0, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XInputGetCapabilities // * XInputGetCapabilities
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XInputGetCapabilities, 4361, 14) OOVPA_NO_XREF(XInputGetCapabilities, 4242, 14)
// XInputGetCapabilities+0x03 : sub esp, 0x48 // XInputGetCapabilities+0x03 : sub esp, 0x48
{ 0x03, 0x83 }, { 0x03, 0x83 },
@ -119,11 +122,12 @@ OOVPA_NO_XREF(XInputGetCapabilities, 4361, 14)
{ 0xEE, 0x39 }, { 0xEE, 0x39 },
{ 0xEF, 0x18 }, { 0xEF, 0x18 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XInputGetState // * XInputGetState
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XInputGetState, 4361, 12) OOVPA_NO_XREF(XInputGetState, 4242, 12)
// XInputGetState+0x0E : mov ecx, [edx+0x0A3] // XInputGetState+0x0E : mov ecx, [edx+0x0A3]
{ 0x0E, 0x8B }, { 0x0E, 0x8B },
@ -147,11 +151,12 @@ OOVPA_NO_XREF(XInputGetState, 4361, 12)
{ 0x6C, 0xC2 }, { 0x6C, 0xC2 },
{ 0x6D, 0x08 }, { 0x6D, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XInputSetState // * XInputSetState
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XInputSetState, 4361, 12) OOVPA_NO_XREF(XInputSetState, 4242, 12)
// XInputSetState+0x04 : lea eax, [ecx+0x0A3] // XInputSetState+0x04 : lea eax, [ecx+0x0A3]
{ 0x04, 0x8D }, { 0x04, 0x8D },
@ -175,11 +180,12 @@ OOVPA_NO_XREF(XInputSetState, 4361, 12)
{ 0x33, 0xC2 }, { 0x33, 0xC2 },
{ 0x34, 0x08 }, { 0x34, 0x08 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4831
// ****************************************************************** // ******************************************************************
// * XInputSetState // * XInputSetState
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XInputSetState, 4928, 12) OOVPA_NO_XREF(XInputSetState, 4831, 12)
// XInputSetState+0x04 : lea eax, [ecx+0x0A3] // XInputSetState+0x04 : lea eax, [ecx+0x0A3]
{ 0x04, 0x8D }, { 0x04, 0x8D },
@ -203,6 +209,7 @@ OOVPA_NO_XREF(XInputSetState, 4928, 12)
{ 0x30, 0xC2 }, { 0x30, 0xC2 },
{ 0x31, 0x08 }, { 0x31, 0x08 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CreateThread // * CreateThread
@ -247,7 +254,7 @@ OOVPA_NO_XREF(CloseHandle, 4361, 10)
{ 0x1B, 0xC2 }, { 0x1B, 0xC2 },
{ 0x1C, 0x04 }, { 0x1C, 0x04 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XapiInitProcess // * XapiInitProcess
// ****************************************************************** // ******************************************************************
@ -268,7 +275,8 @@ OOVPA_NO_XREF(XapiInitProcess, 4361, 7)
{ 0x42, 0x75 }, { 0x42, 0x75 },
{ 0x43, 0x0B }, { 0x43, 0x0B },
OOVPA_END; OOVPA_END;
#endif
#if 0 // No longer used, replaced by generic 3911 version
// ****************************************************************** // ******************************************************************
// * XapiThreadStartup // * XapiThreadStartup
// ****************************************************************** // ******************************************************************
@ -294,7 +302,7 @@ OOVPA_NO_XREF(XapiThreadStartup, 4361, 10)
// XapiThreadStartup+0x86 : retn // XapiThreadStartup+0x86 : retn
{ 0x86, 0xC3 }, { 0x86, 0xC3 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XapiSetupPerTitleDriveLetters // * XapiSetupPerTitleDriveLetters
// ****************************************************************** // ******************************************************************
@ -319,10 +327,11 @@ OOVPA_NO_XREF(XapiSetupPerTitleDriveLetters, 4361, 10)
{ 0x53, 0x08 }, { 0x53, 0x08 },
OOVPA_END; OOVPA_END;
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XMountMUA // * XMountMUA
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XMountMUA, 4361, 8) // generic version OOVPA_NO_XREF(XMountMUA, 4242, 8) // generic version
{ 0x22, 0x8A }, { 0x22, 0x8A },
{ 0x3E, 0x89 }, { 0x3E, 0x89 },
@ -333,11 +342,12 @@ OOVPA_NO_XREF(XMountMUA, 4361, 8) // generic version
{ 0xDE, 0x8D }, { 0xDE, 0x8D },
{ 0xFE, 0x09 }, { 0xFE, 0x09 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XFormatUtilityDrive // * XFormatUtilityDrive
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XFormatUtilityDrive, 4361, 12) OOVPA_NO_XREF(XFormatUtilityDrive, 4242, 12)
{ 0x02, 0xEC }, { 0x02, 0xEC },
{ 0x10, 0x50 }, { 0x10, 0x50 },
@ -354,11 +364,12 @@ OOVPA_NO_XREF(XFormatUtilityDrive, 4361, 12)
{ 0x6D, 0x33 }, { 0x6D, 0x33 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * XMountMURootA // * XMountMURootA
// ****************************************************************** // ******************************************************************
OOVPA_NO_XREF(XMountMURootA, 4361, 12) OOVPA_NO_XREF(XMountMURootA, 4242, 12)
{ 0x16, 0xBF }, { 0x16, 0xBF },
{ 0x22, 0x8A }, { 0x22, 0x8A },
@ -375,6 +386,7 @@ OOVPA_NO_XREF(XMountMURootA, 4361, 12)
{ 0x72, 0xE8 }, { 0x72, 0xE8 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * XAPI_4361 // * XAPI_4361
@ -384,13 +396,13 @@ OOVPATable XAPI_4361[] = {
REGISTER_OOVPA(XInitDevices, 3911, PATCH), REGISTER_OOVPA(XInitDevices, 3911, PATCH),
REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH),
REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH),
REGISTER_OOVPA(XInputOpen, 4361, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH),
REGISTER_OOVPA(XID_fCloseDevice, 4361, XREF), REGISTER_OOVPA(XID_fCloseDevice, 4242, XREF),
REGISTER_OOVPA(XInputClose, 3911, PATCH), REGISTER_OOVPA(XInputClose, 3911, PATCH),
REGISTER_OOVPA(XInputGetCapabilities, 4361, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 4242, PATCH),
REGISTER_OOVPA(XInputGetState, 4361, PATCH), REGISTER_OOVPA(XInputGetState, 4242, PATCH),
REGISTER_OOVPA(XInputSetState, 4361, PATCH), REGISTER_OOVPA(XInputSetState, 4242, PATCH),
// REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH),
REGISTER_OOVPA(XMountUtilityDrive, 4134, PATCH), // TODO: This needs to be verified on 4361, not just 4242! REGISTER_OOVPA(XMountUtilityDrive, 4134, PATCH), // TODO: This needs to be verified on 4361, not just 4242!
REGISTER_OOVPA(CreateFiber, 3911, DISABLED), REGISTER_OOVPA(CreateFiber, 3911, DISABLED),
REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), REGISTER_OOVPA(DeleteFiber, 3911, DISABLED),
@ -403,17 +415,17 @@ OOVPATable XAPI_4361[] = {
REGISTER_OOVPA(SetThreadPriorityBoost, 3911, PATCH), REGISTER_OOVPA(SetThreadPriorityBoost, 3911, PATCH),
REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH),
REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), REGISTER_OOVPA(QueueUserAPC, 3911, PATCH),
REGISTER_OOVPA(XMountMUA, 4361, PATCH), REGISTER_OOVPA(XMountMUA, 4242, PATCH),
REGISTER_OOVPA(timeSetEvent, 3911, PATCH), REGISTER_OOVPA(timeSetEvent, 3911, PATCH),
REGISTER_OOVPA(timeKillEvent, 3911, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH),
REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH),
REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH),
REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH), REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH),
REGISTER_OOVPA(GetThreadPriority, 3911, PATCH), REGISTER_OOVPA(GetThreadPriority, 3911, PATCH),
REGISTER_OOVPA(XMountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XMountAlternateTitleA, 3911, PATCH),
REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH),
REGISTER_OOVPA(XLaunchNewImageA, 3911, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 3911, PATCH),
REGISTER_OOVPA(XMountMURootA, 4361, PATCH), REGISTER_OOVPA(XMountMURootA, 4242, PATCH),
REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH),
REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH),
REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH),

Some files were not shown because too many files have changed in this diff Show More