3925 halo etc

This commit is contained in:
Aaron Robinson 2003-08-19 18:21:49 +00:00
parent 2ec990034b
commit de7b38d540
3 changed files with 162 additions and 31 deletions

View File

@ -95,27 +95,28 @@ enum XRefDataBaseOffset
XREF_FCLOSEDEVICE = 1, XREF_FCLOSEDEVICE = 1,
XREF_CLEARSTATEBLOCKFLAGS = 2, XREF_CLEARSTATEBLOCKFLAGS = 2,
XREF_RECORDSTATEBLOCK = 3, XREF_RECORDSTATEBLOCK = 3,
XREF_SETDISTANCEFACTOR = 4, XREF_SETDISTANCEFACTORA = 4,
XREF_SETROLLOFFFACTOR = 5, XREF_SETDISTANCEFACTORB = 5,
XREF_SETDOPPLERFACTOR = 6, XREF_SETROLLOFFFACTOR = 6,
XREF_SETBUFFERDATA = 7, XREF_SETDOPPLERFACTOR = 7,
XREF_SETCURRENTPOSITION = 8, XREF_SETBUFFERDATA = 8,
XREF_SETCURRENTPOSITION2 = 9, XREF_SETCURRENTPOSITION = 9,
XREF_GETCURRENTPOSITION = 10, XREF_SETCURRENTPOSITION2 = 10,
XREF_GETCURRENTPOSITION2 = 11, XREF_GETCURRENTPOSITION = 11,
XREF_DSOUNDPLAY = 12, XREF_GETCURRENTPOSITION2 = 12,
XREF_DSOUNDPLAY2 = 13, XREF_DSOUNDPLAY = 13,
XREF_DSOUNDSTOP = 14, XREF_DSOUNDPLAY2 = 14,
XREF_DSOUNDSTOP2 = 15, XREF_DSOUNDSTOP = 15,
XREF_DSSETBUFFERDATA = 16, XREF_DSOUNDSTOP2 = 16,
XREF_DSSETBUFFERDATA2 = 17, XREF_DSSETBUFFERDATA = 17,
XREF_DSCREATESOUNDBUFFER = 18, XREF_DSSETBUFFERDATA2 = 18,
XREF_DSCREATESOUNDSTREAM = 19, XREF_DSCREATESOUNDBUFFER = 19,
XREF_DSSTREAMPAUSE = 20, XREF_DSCREATESOUNDSTREAM = 20,
XREF_DSSTREAMSETVOLUME = 21, XREF_DSSTREAMPAUSE = 21,
XREF_DSSETI3DL2LISTENER = 22, XREF_DSSTREAMSETVOLUME = 22,
XREF_DSSETMIXBINHEADROOM = 23, XREF_DSSETI3DL2LISTENER = 23,
XREF_GET2DSURFACEDESCB = 24 XREF_DSSETMIXBINHEADROOM = 24,
XREF_GET2DSURFACEDESCB = 25
}; };
#endif #endif

View File

@ -63,6 +63,110 @@ SOOVPA<9> DirectSoundCreate_1_0_3936 =
} }
}; };
// ******************************************************************
// * CDirectSound::SetDistanceFactorB
// ******************************************************************
SOOVPA<13> CDirectSound_SetDistanceFactorB_1_0_3936 =
{
0, // Large == 0
13, // Count == 13
XREF_SETDISTANCEFACTORB,// XRef Is Saved
0, // XRef Not Used
{
// CDirectSound_SetDistanceFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60
{ 0x04, 0x83 }, // (Offset,Value)-Pair #1
{ 0x05, 0x89 }, // (Offset,Value)-Pair #2
{ 0x06, 0xB4 }, // (Offset,Value)-Pair #3
{ 0x07, 0x01 }, // (Offset,Value)-Pair #4
{ 0x08, 0x00 }, // (Offset,Value)-Pair #5
{ 0x09, 0x00 }, // (Offset,Value)-Pair #6
{ 0x0A, 0x60 }, // (Offset,Value)-Pair #7
// CDirectSound_SetDistanceFactorB+0x0B : cmp [esp+0x08], 0
{ 0x0B, 0x83 }, // (Offset,Value)-Pair #8
{ 0x0C, 0x7C }, // (Offset,Value)-Pair #9
{ 0x0D, 0x24 }, // (Offset,Value)-Pair #10
{ 0x0E, 0x08 }, // (Offset,Value)-Pair #11
// CDirectSound_SetDistanceFactorB+0x12 : mov [ecx+0x0178], eax
{ 0x12, 0x78 }, // (Offset,Value)-Pair #12
{ 0x13, 0x01 }, // (Offset,Value)-Pair #13
}
};
// ******************************************************************
// * CDirectSound::SetDistanceFactorA
// ******************************************************************
SOOVPA<12> CDirectSound_SetDistanceFactorA_1_0_3936 =
{
0, // Large == 0
12, // Count == 11
XREF_SETDISTANCEFACTORA,// XRef Is Saved
1, // XRef Is Used
{
// CDirectSound_SetDistanceFactorA+0x23 : call [CDirectSound::SetDistanceFactorB]
{ 0x23, XREF_SETDISTANCEFACTORB }, // (Offset,Value)-Pair #1
// CDirectSound_SetDistanceFactorA+0x00 : push esi; push edi
{ 0x00, 0x56 }, // (Offset,Value)-Pair #2
{ 0x01, 0x57 }, // (Offset,Value)-Pair #3
// CDirectSound_SetDistanceFactorA+0x07 : fld [esp+0x10]
{ 0x07, 0xD9 }, // (Offset,Value)-Pair #4
{ 0x08, 0x44 }, // (Offset,Value)-Pair #5
{ 0x09, 0x24 }, // (Offset,Value)-Pair #6
{ 0x0A, 0x10 }, // (Offset,Value)-Pair #7
// CDirectSound_SetDistanceFactorA+0x11 : not eax; and eax, 1
{ 0x11, 0xF7 }, // (Offset,Value)-Pair #8
{ 0x12, 0xD0 }, // (Offset,Value)-Pair #9
{ 0x13, 0x83 }, // (Offset,Value)-Pair #10
{ 0x14, 0xE0 }, // (Offset,Value)-Pair #11
{ 0x15, 0x01 }, // (Offset,Value)-Pair #12
}
};
// ******************************************************************
// * IDirectSound8_SetDistanceFactor
// ******************************************************************
SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_3936 =
{
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
1, // XRef Is Used
// TODO: Tentative (may not be SetDistanceFactor)
{
// IDirectSound8_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactorA]
{ 0x1D, XREF_SETDISTANCEFACTORA }, // (Offset,Value)-Pair #1
// IDirectSound8_SetDistanceFactor+0x04 : fld [esp+0x0C]
{ 0x04, 0xD9 }, // (Offset,Value)-Pair #2
{ 0x05, 0x44 }, // (Offset,Value)-Pair #3
{ 0x06, 0x24 }, // (Offset,Value)-Pair #4
{ 0x07, 0x0C }, // (Offset,Value)-Pair #5
// IDirectSound8_SetDistanceFactor+0x0C : push ecx
{ 0x0C, 0x51 }, // (Offset,Value)-Pair #6
// IDirectSound8_SetDistanceFactor+0x12 : add eax, 0xFFFFFFF8
{ 0x12, 0x83 }, // (Offset,Value)-Pair #7
{ 0x13, 0xC0 }, // (Offset,Value)-Pair #8
{ 0x14, 0xF8 }, // (Offset,Value)-Pair #9
// IDirectSound8_SetDistanceFactor+0x21 : retn 0x0C
{ 0x21, 0xC2 }, // (Offset,Value)-Pair #10
{ 0x22, 0x0C }, // (Offset,Value)-Pair #11
}
};
// ****************************************************************** // ******************************************************************
// * DirectSoundCreate_1_0_3936 // * DirectSoundCreate_1_0_3936
// ****************************************************************** // ******************************************************************
@ -78,6 +182,32 @@ OOVPATable DSound_1_0_3936[] =
"EmuDirectSoundCreate" "EmuDirectSoundCreate"
#endif #endif
}, },
// CDirectSound::SetDistanceFactorB (XREF)
{
(OOVPA*)&CDirectSound_SetDistanceFactorB_1_0_3936, 0,
#ifdef _DEBUG_TRACE
"CDirectSound_SetDistanceFactorB (XRef)"
#endif
},
// CDirectSound::SetDistanceFactorA (XREF)
{
(OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_3936, 0,
#ifdef _DEBUG_TRACE
"CDirectSound_SetDistanceFactorA (XRef)"
#endif
},
// IDirectSound8::SetDistanceFactor
{
(OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_3936,
XTL::EmuIDirectSound8_SetDistanceFactor,
#ifdef _DEBUG_TRACE
"EmuIDirectSound8_SetDistanceFactor"
#endif
},
}; };
// ****************************************************************** // ******************************************************************

View File

@ -454,31 +454,31 @@ SOOVPA<13> IDirectSound8_SetOrientation_1_0_4627 =
}; };
// ****************************************************************** // ******************************************************************
// * CDirectSound::SetDistanceFactor // * CDirectSound::SetDistanceFactorA
// ****************************************************************** // ******************************************************************
SOOVPA<11> CDirectSound_SetDistanceFactor_1_0_4627 = SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4627 =
{ {
0, // Large == 0 0, // Large == 0
11, // Count == 11 11, // Count == 11
XREF_SETDISTANCEFACTOR, // XRef Is Saved XREF_SETDISTANCEFACTORA,// XRef Is Saved
0, // XRef Not Used 0, // XRef Not Used
{ {
// CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1
{ 0x22, 0x05 }, // (Offset,Value)-Pair #2 { 0x22, 0x05 }, // (Offset,Value)-Pair #2
{ 0x23, 0x40 }, // (Offset,Value)-Pair #3 { 0x23, 0x40 }, // (Offset,Value)-Pair #3
{ 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x24, 0x00 }, // (Offset,Value)-Pair #4
{ 0x25, 0x80 }, // (Offset,Value)-Pair #5 { 0x25, 0x80 }, // (Offset,Value)-Pair #5
// CDirectSound_SetDistanceFactor+0x39 : or byte ptr[eax+0xA4], 0xE0 // CDirectSound_SetDistanceFactorA+0x39 : or byte ptr[eax+0xA4], 0xE0
{ 0x39, 0x80 }, // (Offset,Value)-Pair #6 { 0x39, 0x80 }, // (Offset,Value)-Pair #6
{ 0x3A, 0x88 }, // (Offset,Value)-Pair #7 { 0x3A, 0x88 }, // (Offset,Value)-Pair #7
{ 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8
{ 0x3F, 0xE0 }, // (Offset,Value)-Pair #9 { 0x3F, 0xE0 }, // (Offset,Value)-Pair #9
// CDirectSound_SetDistanceFactor+0x4F : jz +0x0B // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B
{ 0x4F, 0x74 }, // (Offset,Value)-Pair #10 { 0x4F, 0x74 }, // (Offset,Value)-Pair #10
{ 0x50, 0x0B }, // (Offset,Value)-Pair #11 { 0x50, 0x0B }, // (Offset,Value)-Pair #11
} }
@ -497,7 +497,7 @@ SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_4627 =
{ {
// IDirectSound8_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactor] // IDirectSound8_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactor]
{ 0x1D, XREF_SETDISTANCEFACTOR }, // (Offset,Value)-Pair #1 { 0x1D, XREF_SETDISTANCEFACTORA }, // (Offset,Value)-Pair #1
// IDirectSound8_SetDistanceFactor+0x04 : fld [esp+0x0C] // IDirectSound8_SetDistanceFactor+0x04 : fld [esp+0x0C]
{ 0x04, 0xD9 }, // (Offset,Value)-Pair #2 { 0x04, 0xD9 }, // (Offset,Value)-Pair #2
@ -860,12 +860,12 @@ OOVPATable DSound_1_0_4627[] =
"EmuIDirectSound8_SetOrientation" "EmuIDirectSound8_SetOrientation"
#endif #endif
}, },
// CDirectSound::SetDistanceFactor (XREF) // CDirectSound::SetDistanceFactorA (XREF)
{ {
(OOVPA*)&CDirectSound_SetDistanceFactor_1_0_4627, 0, (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4627, 0,
#ifdef _DEBUG_TRACE #ifdef _DEBUG_TRACE
"CDirectSound_SetDistanceFactor (XRef)" "CDirectSound_SetDistanceFactorA (XRef)"
#endif #endif
}, },
// IDirectSound8::SetDistanceFactor // IDirectSound8::SetDistanceFactor