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:
Daniel Stien 2008-08-23 03:32:59 +00:00
parent 52db07e9a6
commit cb1dbe458c
9 changed files with 361 additions and 112 deletions

View File

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

View File

@ -1538,6 +1538,14 @@ HRESULT WINAPI EmuIDirect3D8_SetPushBufferSize
// ******************************************************************
DWORD WINAPI EmuIDirect3DDevice8_InsertFence();
// ******************************************************************
// * func: EmuIDirect3DDevice8_IsFencePending
// ******************************************************************
BOOL WINAPI EmuIDirect3DDevice8_IsFencePending
(
DWORD Fence
);
// ******************************************************************
// * func: EmuIDirect3DDevice8_BlockOnFence
// ******************************************************************

View File

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

View File

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

View File

@ -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
},
};
// ******************************************************************

View File

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

View File

@ -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
},
};
// ******************************************************************

View File

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

View File

@ -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.");