Introduce XactEng database v2

Source:
Lord of the Rings - The Two Towers (4928)
Super Bubble Pop (5120)
Cyber Attack Team (5233)
Syberia (5344)
Top Spin (5558)
Steel Battalion - Line of Contact (5788)
Souece: Forza Motorsport (5849)
This commit is contained in:
jarupxx 2017-09-09 19:47:34 +09:00 committed by Luke Usher
parent 8a21a6742c
commit 1a74094ef7
18 changed files with 1385 additions and 188 deletions

View File

@ -255,6 +255,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" />
@ -342,6 +348,13 @@ $(SOLUTIONDIR)Export.bat</Command>
<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.5849.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.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.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.4034.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.inl" /> <None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.inl" />

View File

@ -246,9 +246,6 @@
<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</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XactEng.1.0.4627.h">
<Filter>HLEDatabase</Filter>
</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</Filter>
</ClInclude> </ClInclude>
@ -477,6 +474,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,9 +596,6 @@
<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">
<Filter>HLEDatabase</Filter>
</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</Filter>
</None> </None>
@ -674,6 +689,30 @@
<None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.inl"> <None Include="..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.inl">
<Filter>HLEDatabase\DSound</Filter> <Filter>HLEDatabase\DSound</Filter>
</None> </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.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>
@ -787,6 +826,9 @@
<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>

View File

@ -52,6 +52,7 @@ const char *Sec_D3DX = "D3DX";
const char *Lib_DSOUND = "DSOUND"; const char *Lib_DSOUND = "DSOUND";
const char *Sec_DSOUND = Lib_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_XPP = "XPP";
const char *Lib_XGRAPHC = "XGRAPHC"; const char *Lib_XGRAPHC = "XGRAPHC";
@ -112,8 +113,7 @@ const char *Sec_XNET = "XNET";
#include "HLEDataBase/XOnline.1.0.5558.inl" #include "HLEDataBase/XOnline.1.0.5558.inl"
#include "HLEDataBase/XOnline.1.0.5788.inl" #include "HLEDataBase/XOnline.1.0.5788.inl"
#include "HLEDataBase/XOnline.1.0.5849.inl" #include "HLEDataBase/XOnline.1.0.5849.inl"
#include "HLEDataBase/XactEng.1.0.4627.inl" #include "HLEDataBase/XactEng.OOVPA.inl"
#include "HLEDataBase/XactEng.1.0.5849.inl"
// ****************************************************************** // ******************************************************************
@ -164,6 +164,15 @@ 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 #endif
HLE_ENTRY(Lib_XGRAPHC, XG, 3911), HLE_ENTRY(Lib_XGRAPHC, XG, 3911),
HLE_ENTRY(Lib_XGRAPHC, XG, 4034), HLE_ENTRY(Lib_XGRAPHC, XG, 4034),
@ -190,9 +199,6 @@ 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),
HLE_ENTRY(Lib_XACTENG, XactEng, 4627),
HLE_ENTRY(Lib_XACTENG, XactEng, 5849),
}; };
const HLEDataV2 HLEDataBaseV2[] = { const HLEDataV2 HLEDataBaseV2[] = {
@ -214,7 +220,7 @@ const HLEDataV2 HLEDataBaseV2[] = {
// //
//{ Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, //{ Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 },
// // test case: Power Drome (Unluckily, use LTCG.)
//{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, //{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 },
// //

View File

@ -90,6 +90,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"
// ****************************************************************** // ******************************************************************
@ -349,6 +354,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

@ -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_OOVPAS(IXACTSoundBank_Play, PATCH, 4627),
// ******************************************************************
};
// ******************************************************************
// * XACTENG_4928_SIZE
// ******************************************************************
uint32 XactEng_4928_SIZE = sizeof(XactEng_4928);

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,218 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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
// *
// ******************************************************************
// *****************************************************************
// * 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::RegisterStreamedWaveBank
// ******************************************************************
OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 5233, 11,
XREF_XACT_CEngine_RegisterStreamedWaveBank,
XRefZero)
{ 0x04, 0x10 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14
{ 0x25, 0x8B },
{ 0x3A, 0x2E }, //RegisterStreamedWaveBank 0x2E vs RegisterWaveBank 0x32
{ 0x3B, 0xFF },
{ 0x3C, 0x74 },
{ 0x3D, 0x24 },
{ 0x3E, 0x14 },
{ 0x3F, 0x8B },
{ 0x40, 0xCE },
{ 0x41, 0xE8 },
{ 0x67, 0xEB },
OOVPA_END;
// ******************************************************************
// * XACT::CEngine::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;
// ******************************************************************
// * 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;
// ******************************************************************
// * 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;
// ******************************************************************
// * 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_OOVPAS(IXACTSoundBank_Play, PATCH, 4627),
// ******************************************************************
};
// ******************************************************************
// * 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_OOVPAS(IXACTSoundBank_Play, PATCH, 4627),
// ******************************************************************
};
// ******************************************************************
// * 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_OOVPAS(IXACTSoundBank_Play, PATCH, 4627),
// ******************************************************************
};
// ******************************************************************
// * 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_OOVPAS(IXACTSoundBank_Play, PATCH, 4627),
// ******************************************************************
};
// ******************************************************************
// * XACTENG_5788_SIZE
// ******************************************************************
uint32 XactEng_5788_SIZE = sizeof(XactEng_5788);

View File

@ -60,8 +60,36 @@ OOVPA_END;
// * XactEng_5849 // * XactEng_5849
// ****************************************************************** // ******************************************************************
OOVPATable XactEng_5849[] = { OOVPATable XactEng_5849[] = {
REGISTER_OOVPA(XACTEngineCreate, 5849, PATCH), REGISTER_OOVPA(XACTEngineCreate, 5849, 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_OOVPAS(IXACTSoundBank_Play, PATCH, 4627),
// ******************************************************************
}; };
// ****************************************************************** // ******************************************************************

View File

@ -0,0 +1,83 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ 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
// *
// ******************************************************************
#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.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, 5849),
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

@ -385,6 +385,18 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader)
if (OrigBuildVersion == 4531) if (OrigBuildVersion == 4531)
BuildVersion = 4361; BuildVersion = 4361;
} }
if (strcmp(LibraryName.c_str(), Lib_XACTENG) == 0)
{
// Skip scanning for XACTENG symbols when LLE APU is selected
if (bLLE_APU)
continue;
#if ENABLE_LEGACY_XACTENG_DB
// Change a few XACTENG versions to similar counterparts
if (OrigBuildVersion == 4928 || BuildVersion == 5028)
BuildVersion = 4928;
#endif
}
if(bXRefFirstPass) if(bXRefFirstPass)
{ {