Added XDK 5233 OOVPAs for D3D8.
- Locate XREF_D3DRS_MULTISAMPLEMODE and XREF_D3DRS_MULTISAMPLERENDERTARGETMODE. - IDirect3DDevice8_SetRenderState_MultiSampleMode and IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode OOVPAs. - D3D_CommonSetRenderTarget XRef OOVPA, reuse EmuIDirect3DDevice8_SetRenderTarget from 4627. - EmuIDirect3DDevice8_IsFencePending stub - Moved back IDirect3DDevice8_InsertFence from XDK 5558 - D3D::SetFence and IDirect3DDevice8_IsFencePending 5233 OOVPAs - Don't register stencil surface in Futurama for now Move IDirectSoundBuffer8_SetRolloffCurve back to XDK 5233 from 5558 with minor adjustments and renamed XRefs.
This commit is contained in:
parent
52db07e9a6
commit
cb1dbe458c
|
@ -7517,7 +7517,9 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetRenderTarget
|
|||
|
||||
if(pNewZStencil != 0)
|
||||
{
|
||||
EmuVerifyResourceIsRegistered(pNewZStencil);
|
||||
// HACK: Futurama
|
||||
if(((pNewZStencil->Format & X_D3DFORMAT_FORMAT_MASK) >> X_D3DFORMAT_FORMAT_SHIFT) != 0x4B)
|
||||
EmuVerifyResourceIsRegistered(pNewZStencil); // FIXME
|
||||
pPCNewZStencil = pNewZStencil->EmuSurface8;
|
||||
}
|
||||
|
||||
|
@ -8338,6 +8340,29 @@ DWORD WINAPI XTL::EmuIDirect3DDevice8_InsertFence()
|
|||
return dwRet;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_IsFencePending
|
||||
// ******************************************************************
|
||||
BOOL WINAPI XTL::EmuIDirect3DDevice8_IsFencePending
|
||||
(
|
||||
DWORD Fence
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_IsFencePending\n"
|
||||
"(\n"
|
||||
" Fence : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Fence);
|
||||
|
||||
// TODO: Implement
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_BlockOnFence
|
||||
// ******************************************************************
|
||||
|
|
|
@ -1538,6 +1538,14 @@ HRESULT WINAPI EmuIDirect3D8_SetPushBufferSize
|
|||
// ******************************************************************
|
||||
DWORD WINAPI EmuIDirect3DDevice8_InsertFence();
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_IsFencePending
|
||||
// ******************************************************************
|
||||
BOOL WINAPI EmuIDirect3DDevice8_IsFencePending
|
||||
(
|
||||
DWORD Fence
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_BlockOnFence
|
||||
// ******************************************************************
|
||||
|
|
|
@ -310,11 +310,14 @@ extern uint32 XRefDataBase[] =
|
|||
{
|
||||
-1, // XREF_D3DDEVICE
|
||||
-1, // XREF_DXSRSCULLMODE
|
||||
-1, // XREF_D3DRS_MULTISAMPLEMODE
|
||||
-1, // XREF_D3DRS_MULTISAMPLERENDERTARGETMODE
|
||||
-1, // XREF_D3DRS_ROPZCMPALWAYSREAD
|
||||
-1, // XREF_D3DRS_ROPZREAD
|
||||
-1, // XREF_D3DRS_DONOTCULLUNCOMPRESSED
|
||||
-1, // XREF_D3DRS_STENCILCULLENABLE
|
||||
-1, // XREF_D3DCD_LAZYSETSTATEVB
|
||||
-1, // XREF_D3D_SETFENCE
|
||||
-1, // XREF_XNINIT
|
||||
-1, // XREF_FCLOSEDEVICE
|
||||
-1, // XREF_CLEARSTATEBLOCKFLAGS
|
||||
|
@ -411,6 +414,7 @@ extern uint32 XRefDataBase[] =
|
|||
-1, // XREF_DSVOICESETMODE
|
||||
-1, // XREF_DSVOICESETMAXDISTANCE
|
||||
-1, // XREF_DSVOICESETMINDISTANCE
|
||||
-1, // XREF_DSVOICESETROLLOFFCURVE
|
||||
-1, // XREF_DSVOICESETROLLOFFFACTOR
|
||||
-1, // XREF_DSVOICESETDISTANCEFACTOR
|
||||
-1, // XREF_DSVOICESETCONEANGLES
|
||||
|
@ -423,6 +427,7 @@ extern uint32 XRefDataBase[] =
|
|||
-1, // XREF_DSBUFFERSETMODE
|
||||
-1, // XREF_DSBUFFERSETMAXDISTANCE
|
||||
-1, // XREF_DSBUFFERSETMINDISTANCE
|
||||
-1, // XREF_DSBUFFERSETROLLOFFCURVE
|
||||
-1, // XREF_DSBUFFERSETROLLOFFFACTOR
|
||||
-1, // XREF_DSBUFFERSETDISTANCEFACTOR
|
||||
-1, // XREF_DSBUFFERSETCONEANGLES
|
||||
|
@ -436,7 +441,6 @@ extern uint32 XRefDataBase[] =
|
|||
-1, // XREF_DirectSound_CDirectSoundBuffer_SetFormat
|
||||
-1, // XREF_DirectSound_CFullHRTFSource_GetCenterVolume
|
||||
-1, // XREF_DirectSound_CHRTFSource_SetFullHRTF5Channel
|
||||
-1, // XREF_D3D_SetFence
|
||||
-1, // XREF_D3D_BlockOnResource
|
||||
-1, // XREF_DirectSound_CMcpxVoiceClient_SetLFO
|
||||
-1, // XREF_DirectSound_CDirectSoundVoice_SetLFO
|
||||
|
@ -452,8 +456,6 @@ extern uint32 XRefDataBase[] =
|
|||
-1, // XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings
|
||||
-1, // XREF_DirectSound_CDirectSoundVoice_SetAllParameters
|
||||
-1, // XREF_DirectSound_CDirectSoundBuffer_SetAllParameters
|
||||
-1, // XREF_DirectSound_CDirectSoundVoice_SetRolloffCurve
|
||||
-1, // XREF_DirectSound_CDirectSoundBuffer_SetRolloffCurve
|
||||
/* not necessary?
|
||||
-1, //XREF_XAPIXCALCULATESIGNATUREBEGINEX
|
||||
//*/
|
||||
|
|
|
@ -114,11 +114,14 @@ enum XRefDataBaseOffset
|
|||
{
|
||||
XREF_D3DDEVICE=0,
|
||||
XREF_DXSRSCULLMODE,
|
||||
XREF_D3DRS_MULTISAMPLEMODE,
|
||||
XREF_D3DRS_MULTISAMPLERENDERTARGETMODE,
|
||||
XREF_D3DRS_ROPZCMPALWAYSREAD,
|
||||
XREF_D3DRS_ROPZREAD,
|
||||
XREF_D3DRS_DONOTCULLUNCOMPRESSED,
|
||||
XREF_D3DRS_STENCILCULLENABLE,
|
||||
XREF_D3DCD_LAZYSETSTATEVB,
|
||||
XREF_D3D_SETFENCE,
|
||||
XREF_XNINIT,
|
||||
XREF_FCLOSEDEVICE,
|
||||
XREF_CLEARSTATEBLOCKFLAGS,
|
||||
|
@ -216,6 +219,7 @@ enum XRefDataBaseOffset
|
|||
XREF_DSVOICESETMODE,
|
||||
XREF_DSVOICESETMAXDISTANCE,
|
||||
XREF_DSVOICESETMINDISTANCE,
|
||||
XREF_DSVOICESETROLLOFFCURVE,
|
||||
XREF_DSVOICESETROLLOFFFACTOR,
|
||||
XREF_DSVOICESETDISTANCEFACTOR,
|
||||
XREF_DSVOICESETCONEANGLES,
|
||||
|
@ -228,6 +232,7 @@ enum XRefDataBaseOffset
|
|||
XREF_DSBUFFERSETMODE,
|
||||
XREF_DSBUFFERSETMAXDISTANCE,
|
||||
XREF_DSBUFFERSETMINDISTANCE,
|
||||
XREF_DSBUFFERSETROLLOFFCURVE,
|
||||
XREF_DSBUFFERSETROLLOFFFACTOR,
|
||||
XREF_DSBUFFERSETDISTANCEFACTOR,
|
||||
XREF_DSBUFFERSETCONEANGLES,
|
||||
|
@ -241,7 +246,6 @@ enum XRefDataBaseOffset
|
|||
XREF_DirectSound_CDirectSoundBuffer_SetFormat,
|
||||
XREF_DirectSound_CFullHRTFSource_GetCenterVolume,
|
||||
XREF_DirectSound_CHRTFSource_SetFullHRTF5Channel,
|
||||
XREF_D3D_SetFence,
|
||||
XREF_D3D_BlockOnResource,
|
||||
XREF_DirectSound_CMcpxVoiceClient_SetLFO,
|
||||
XREF_DirectSound_CDirectSoundVoice_SetLFO,
|
||||
|
@ -257,8 +261,6 @@ enum XRefDataBaseOffset
|
|||
XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings,
|
||||
XREF_DirectSound_CDirectSoundVoice_SetAllParameters,
|
||||
XREF_DirectSound_CDirectSoundBuffer_SetAllParameters,
|
||||
XREF_DirectSound_CDirectSoundVoice_SetRolloffCurve,
|
||||
XREF_DirectSound_CDirectSoundBuffer_SetRolloffCurve,
|
||||
// XAPI
|
||||
/* not necessary?
|
||||
XREF_XAPIXCALCULATESIGNATUREBEGINEX
|
||||
|
|
|
@ -1096,6 +1096,142 @@ SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_MultiSampleMode
|
||||
// ******************************************************************
|
||||
SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
{ 0x0B, XREF_D3DRS_MULTISAMPLEMODE },
|
||||
|
||||
{ 0x03, 0x04 },
|
||||
{ 0x0F, 0x8B },
|
||||
{ 0x15, 0x3B },
|
||||
{ 0x1C, 0x14 },
|
||||
{ 0x1D, 0x8D },
|
||||
{ 0x2C, 0xE8 },
|
||||
{ 0x32, 0x04 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode
|
||||
// ******************************************************************
|
||||
SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
{ 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE },
|
||||
|
||||
{ 0x03, 0x04 },
|
||||
{ 0x0F, 0x8B },
|
||||
{ 0x15, 0x3B },
|
||||
{ 0x1C, 0x14 },
|
||||
{ 0x1D, 0x8D },
|
||||
{ 0x2C, 0xE8 },
|
||||
{ 0x32, 0x04 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * D3D::CommonSetRenderTarget
|
||||
// ******************************************************************
|
||||
SOOVPA<8> D3D_CommonSetRenderTarget_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
XREF_COMMONSETRENDERTARGET, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
{ 0x02, 0x1C },
|
||||
{ 0x20, 0x30 },
|
||||
{ 0x6B, 0x06 },
|
||||
{ 0x85, 0x4C },
|
||||
{ 0xA5, 0x10 },
|
||||
{ 0xB8, 0x0C },
|
||||
{ 0xDC, 0xD9 },
|
||||
{ 0xFF, 0x75 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * D3D::SetFence
|
||||
// ******************************************************************
|
||||
SOOVPA<7> D3D_SetFence_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
7, // Count == 7
|
||||
|
||||
XREF_D3D_SETFENCE, // Xref Is Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x0E, 0x05 },
|
||||
{ 0x18, 0xC9 },
|
||||
{ 0x3E, 0x3F },
|
||||
{ 0x5E, 0x28 },
|
||||
{ 0x86, 0x5D },
|
||||
{ 0x98, 0xE8 },
|
||||
{ 0xA2, 0x04 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_InsertFence
|
||||
// ******************************************************************
|
||||
SOOVPA<5> IDirect3DDevice8_InsertFence_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
5, // Count == 5
|
||||
|
||||
-1, // Xref Not Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x03, XREF_D3D_SETFENCE },
|
||||
|
||||
{ 0x00, 0x6A },
|
||||
{ 0x01, 0x00 },
|
||||
{ 0x02, 0xE8 },
|
||||
{ 0x07, 0xC3 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_IsFencePending
|
||||
// ******************************************************************
|
||||
SOOVPA<6> IDirect3DDevice8_IsFencePending_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
6, // Count == 6
|
||||
|
||||
-1, // Xref Not Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x01, XREF_D3DDEVICE },
|
||||
|
||||
{ 0x07, 0x30 },
|
||||
{ 0x0A, 0x2C },
|
||||
{ 0x10, 0xD1 },
|
||||
{ 0x17, 0x1B },
|
||||
{ 0x1C, 0x04 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * D3D8_1_0_5233
|
||||
// ******************************************************************
|
||||
|
@ -1211,6 +1347,24 @@ OOVPATable D3D8_1_0_5233[] =
|
|||
"EmuIDirect3DDevice8_GetDepthStencilSurface2"
|
||||
#endif
|
||||
},
|
||||
// D3D::CommonSetRenderTarget (XREF)
|
||||
{
|
||||
(OOVPA*)&D3D_CommonSetRenderTarget_1_0_5233, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"D3D::CommonSetRenderTarget (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderTarget (* unchanged since 4627 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4627,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderTarget,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderTarget"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::AddRef
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_AddRef_1_0_5233,
|
||||
|
@ -1661,6 +1815,26 @@ OOVPATable D3D8_1_0_5233[] =
|
|||
"EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_MultiSampleMode
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_MultiSampleMode"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4432 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4432,
|
||||
|
@ -2000,6 +2174,34 @@ OOVPATable D3D8_1_0_5233[] =
|
|||
"EmuIDirect3DDevice8_SetScreenSpaceOffset"
|
||||
#endif
|
||||
},
|
||||
// D3D::SetFence (XREF)
|
||||
{
|
||||
(OOVPA*)&D3D_SetFence_1_0_5233, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"D3D::SetFence (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::InsertFence
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_InsertFence_1_0_5233,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_InsertFence,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_InsertFence"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::IsFencePending
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_IsFencePending_1_0_5233,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_IsFencePending,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_IsFencePending"
|
||||
#endif
|
||||
},
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
|
|
|
@ -667,10 +667,10 @@ SOOVPA<7> IDirect3D8_SetPushBufferSize_1_0_5558 =
|
|||
SOOVPA<14> D3D_SetFence_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
14, // Count == 5
|
||||
14, // Count == 14
|
||||
|
||||
XREF_D3D_SetFence, // Xref Is Saved
|
||||
0, // Xref Not Used
|
||||
XREF_D3D_SETFENCE, // Xref Is Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x14, 0x8B },
|
||||
|
@ -690,27 +690,6 @@ SOOVPA<14> D3D_SetFence_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_InsertFence
|
||||
// ******************************************************************
|
||||
SOOVPA<5> IDirect3DDevice8_InsertFence_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
5, // Count == 5
|
||||
|
||||
-1, // Xref Not Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x03, XREF_D3D_SetFence },
|
||||
|
||||
{ 0x00, 0x6A },
|
||||
{ 0x01, 0x00 },
|
||||
{ 0x02, 0xE8 },
|
||||
{ 0x07, 0xC3 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_BlockOnFence
|
||||
// ******************************************************************
|
||||
|
@ -1536,9 +1515,9 @@ OOVPATable D3D8_1_0_5558[] =
|
|||
"D3D::SetFence (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::InsertFence
|
||||
// IDirect3DDevice8::InsertFence (* unchanged since 5233 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_InsertFence_1_0_5558,
|
||||
(OOVPA*)&IDirect3DDevice8_InsertFence_1_0_5233,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_InsertFence,
|
||||
|
||||
|
|
|
@ -501,6 +501,77 @@ SOOVPA<8> CDirectSoundStream_SetMixBins_1_0_5233 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::SetRolloffCurve
|
||||
// ******************************************************************
|
||||
SOOVPA<8> CDirectSoundVoice_SetRolloffCurve_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
XREF_DSVOICESETROLLOFFCURVE, // Xref Is Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x07, 0x8B },
|
||||
{ 0x10, 0x08 },
|
||||
{ 0x12, 0x51 },
|
||||
{ 0x19, 0xB4 },
|
||||
{ 0x22, 0x51 },
|
||||
{ 0x2B, 0x00 },
|
||||
{ 0x34, 0x10 },
|
||||
{ 0x3E, 0x33 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundBuffer::SetRolloffCurve
|
||||
// ******************************************************************
|
||||
SOOVPA<8> CDirectSoundBuffer_SetRolloffCurve_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
XREF_DSBUFFERSETROLLOFFCURVE, // Xref Is Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x3A, XREF_DSVOICESETROLLOFFCURVE },
|
||||
|
||||
{ 0x0C, 0x00 },
|
||||
{ 0x14, 0x74 },
|
||||
{ 0x21, 0xB8 },
|
||||
{ 0x2A, 0x74 },
|
||||
{ 0x35, 0xFF },
|
||||
{ 0x40, 0x8B },
|
||||
{ 0x4F, 0x8B },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetRolloffCurve
|
||||
// ******************************************************************
|
||||
SOOVPA<8> IDirectSoundBuffer8_SetRolloffCurve_1_0_5233 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // Xref Not Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x1D, XREF_DSBUFFERSETROLLOFFCURVE },
|
||||
|
||||
{ 0x03, 0x10 },
|
||||
{ 0x08, 0xFF },
|
||||
{ 0x0D, 0xC8 },
|
||||
{ 0x12, 0x83 },
|
||||
{ 0x17, 0x1B },
|
||||
{ 0x1C, 0xE8 },
|
||||
{ 0x21, 0xC2 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * Direct_1_0_5233
|
||||
// ******************************************************************
|
||||
|
@ -1251,6 +1322,33 @@ OOVPATable DSound_1_0_5233[] =
|
|||
#endif
|
||||
|
||||
},
|
||||
// CDirectSoundVoice::SetRolloffCurve (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_SetRolloffCurve_1_0_5233, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoice::SetRolloffCurve (XREF)"
|
||||
#endif
|
||||
|
||||
},
|
||||
// CDirectSoundBuffer::SetRolloffCurve (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_SetRolloffCurve_1_0_5233, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer::SetRolloffCurve (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8::SetRolloffCurve
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetRolloffCurve_1_0_5233,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetRolloffCurve,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirectSoundBuffer8_SetRolloffCurve"
|
||||
#endif
|
||||
},
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
|
|
|
@ -1276,76 +1276,6 @@ SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::SetRolloffCurve
|
||||
// ******************************************************************
|
||||
SOOVPA<8> CDirectSoundVoice_SetRolloffCurve_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
XREF_DirectSound_CDirectSoundVoice_SetRolloffCurve, // Xref Is Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x07, 0x8B },
|
||||
{ 0x10, 0x08 },
|
||||
{ 0x13, 0x50 },
|
||||
{ 0x19, 0xB4 },
|
||||
{ 0x22, 0x51 },
|
||||
{ 0x2B, 0x00 },
|
||||
{ 0x34, 0x10 },
|
||||
{ 0x3E, 0x33 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundBuffer::SetRolloffCurve
|
||||
// ******************************************************************
|
||||
SOOVPA<8> CDirectSoundBuffer_SetRolloffCurve_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
XREF_DirectSound_CDirectSoundBuffer_SetRolloffCurve, // Xref Is Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x3A, XREF_DirectSound_CDirectSoundVoice_SetRolloffCurve },
|
||||
|
||||
{ 0x0C, 0x00 },
|
||||
{ 0x14, 0x74 },
|
||||
{ 0x21, 0xB8 },
|
||||
{ 0x2A, 0x74 },
|
||||
{ 0x35, 0xFF },
|
||||
{ 0x40, 0x8B },
|
||||
{ 0x4F, 0x8B },
|
||||
}
|
||||
};
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetRolloffCurve
|
||||
// ******************************************************************
|
||||
SOOVPA<8> IDirectSoundBuffer8_SetRolloffCurve_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // Xref Not Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x1D, XREF_DirectSound_CDirectSoundBuffer_SetRolloffCurve },
|
||||
|
||||
{ 0x03, 0x10 },
|
||||
{ 0x08, 0xFF },
|
||||
{ 0x0D, 0xC8 },
|
||||
{ 0x12, 0x83 },
|
||||
{ 0x17, 0x1B },
|
||||
{ 0x1C, 0xE8 },
|
||||
{ 0x21, 0xC2 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::CommitDeferredSettings
|
||||
// ******************************************************************
|
||||
|
@ -2542,26 +2472,26 @@ OOVPATable DSound_1_0_5558[] =
|
|||
"IDirectSoundBuffer8_SetConeAngles"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundVoice::SetRolloffCurve (XREF)
|
||||
// CDirectSoundVoice::SetRolloffCurve (XREF) (* unchanged since 5233 *)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_SetRolloffCurve_1_0_5558,0,
|
||||
(OOVPA*)&CDirectSoundVoice_SetRolloffCurve_1_0_5233, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoice::SetRolloffCurve (XREF)"
|
||||
#endif
|
||||
|
||||
},
|
||||
// CDirectSoundBuffer::SetRolloffCurve (XREF)
|
||||
// CDirectSoundBuffer::SetRolloffCurve (XREF) (* unchanged since 5233 *)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_SetRolloffCurve_1_0_5558,0,
|
||||
(OOVPA*)&CDirectSoundBuffer_SetRolloffCurve_1_0_5233, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer::SetRolloffCurve (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8::SetRolloffCurve
|
||||
// IDirectSoundBuffer8::SetRolloffCurve (* unchanged since 5233 *)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetRolloffCurve_1_0_5558,
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetRolloffCurve_1_0_5233,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetRolloffCurve,
|
||||
|
||||
|
@ -2571,7 +2501,7 @@ OOVPATable DSound_1_0_5558[] =
|
|||
},
|
||||
// CDirectSoundVoice::CommitDeferredSettings (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_CommitDeferredSettings_1_0_5558,0,
|
||||
(OOVPA*)&CDirectSoundVoice_CommitDeferredSettings_1_0_5558, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoice::CommitDeferredSettings (XREF)"
|
||||
|
@ -2579,7 +2509,7 @@ OOVPATable DSound_1_0_5558[] =
|
|||
},
|
||||
// CDirectSoundVoice::SetAllParameters (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_SetAllParameters_1_0_5558,0,
|
||||
(OOVPA*)&CDirectSoundVoice_SetAllParameters_1_0_5558, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoice::SetAllParameters (XREF)"
|
||||
|
@ -2587,7 +2517,7 @@ OOVPATable DSound_1_0_5558[] =
|
|||
},
|
||||
// CDirectSoundBuffer::SetAllParameters (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_SetAllParameters_1_0_5558,0,
|
||||
(OOVPA*)&CDirectSoundBuffer_SetAllParameters_1_0_5558, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer::SetAllParameters (XREF)"
|
||||
|
|
|
@ -363,6 +363,8 @@ void EmuHLEIntercept(Xbe::LibraryVersion *pLibraryVersion, Xbe::Header *pXbeHead
|
|||
}
|
||||
|
||||
XRefDataBase[XREF_D3DDEVICE] = *(DWORD*)((DWORD)pFunc + 0x03);
|
||||
XRefDataBase[XREF_D3DRS_MULTISAMPLEMODE] = (uint32)XTL::EmuD3DDeferredRenderState + patchOffset - 8*4;
|
||||
XRefDataBase[XREF_D3DRS_MULTISAMPLERENDERTARGETMODE] = (uint32)XTL::EmuD3DDeferredRenderState + patchOffset - 7*4;
|
||||
XRefDataBase[XREF_D3DRS_STENCILCULLENABLE] = (uint32)XTL::EmuD3DDeferredRenderState + patchOffset + 0*4;
|
||||
XRefDataBase[XREF_D3DRS_ROPZCMPALWAYSREAD] = (uint32)XTL::EmuD3DDeferredRenderState + patchOffset + 1*4;
|
||||
XRefDataBase[XREF_D3DRS_ROPZREAD] = (uint32)XTL::EmuD3DDeferredRenderState + patchOffset + 2*4;
|
||||
|
@ -693,6 +695,7 @@ static void EmuInstallWrappers(OOVPATable *OovpaTable, uint32 OovpaTableSize, Xb
|
|||
// alert for the situation where an Xref function body is hit
|
||||
static void EmuXRefFailure()
|
||||
{
|
||||
_asm int 3;
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
CxbxKrnlCleanup("XRef-only function body reached. Fatal Error.");
|
||||
|
|
Loading…
Reference in New Issue