1313 lines
46 KiB
Plaintext
1313 lines
46 KiB
Plaintext
Cxbx Changelog for Shogun3D Branch
|
|
|
|
??/??/09
|
|
- Added most of my previous changes to the disten branch so I can continue
|
|
to build my work on it (mainly because my old branch was just too slow).
|
|
|
|
- Got Smashing Drive to run at full speed. The intro animations will now
|
|
show as well. Still have some buggy textures though.
|
|
|
|
- Added the changes necesarry to run XDK 4831 games.
|
|
|
|
- Added more XDK functions (I don't remember what they all were):
|
|
IDirectSound8_EnableHeadphones (4627, 4721)
|
|
IDirect3DDevice8_SetPixelShader (4721)
|
|
IDirectSoundStream_Pause (4627, 4928)
|
|
EmuXapiApplyKernelPatches (4831)
|
|
|
|
- Lots more stuff too, I just don't remember what I did exactly. I'll log
|
|
it when I remember :)
|
|
|
|
4/20?/09
|
|
- Unreal Championship finally shows the first intro video! I've been at
|
|
this game for ages, but couldn't get it to work in XP, only vista and I
|
|
have no screens because videos won't render in Vista for some reason
|
|
(not even in Turok!) -_- Anyway, I had to do a brute force hack for it
|
|
to work (I skipped the call to IDirectSoundStream_SetHeadroom) when running
|
|
with OllyDbg. I couldn't get a working OOVPA for it for some odd reason!
|
|
|
|
4/24/09 7:46 PM
|
|
- Moved the following functions (from -> to)
|
|
IDirect3DDevice8_GetGammaRamp (4627 -> 4034)
|
|
IDirect3DDevice8_GetCreationParameters (5849 -> 4034)
|
|
IDirect3DDevice8_setViewport (4361 -> 4034)
|
|
|
|
- Added the following functions
|
|
IDirect3DDevice8_GetViewport (4034)
|
|
|
|
4/25/09 10:44 AM
|
|
- Moved the following function(s) (from -> to)
|
|
IDirect3DDevice8_GetBackBuffer (4361 -> 4134)
|
|
IDirect3DDevice8_GetDepthStencilSurface (4361 -> 4134)
|
|
IDirect3DDevice8_SetRenderTarget (4361 -> 4134)
|
|
|
|
5/16/09 8:24 PM
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_AddRef (5558)
|
|
|
|
- Other new stuff:
|
|
D3DTOP_DOTPRODUCT3 (for bumpmapping!)
|
|
|
|
8/28/09
|
|
- Added more Direct3D stuff (4627 and maybe more, I forgot what they all were).
|
|
IDirect3DDevice8_SetPalette (4627) is the only one I really remember.
|
|
|
|
8/29/09
|
|
- Fixed a bug in EmuDirectSoundCreateStream. This function is sometimes called before
|
|
DirectSoundCreate is called, so when that happens we need to initialize DirectSound
|
|
before we can continue.
|
|
- The above fix gets Rayman Arena showing intros again!
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SetGammaRamp (3925)
|
|
SetThreadPriorityBoost (3911)
|
|
GetThreadPriority (3911)
|
|
CreateFiber (3911)
|
|
DeleteFiber (3911)
|
|
|
|
8/30/09
|
|
- Added the following functions(s)
|
|
IDirect3DDevice8_BackFillMode (4531)
|
|
IDirect3DDevice8_GetProjectionViewMatrix (4627)
|
|
IDirect3DDevice8_DrawRectPatch (4627)
|
|
IDirect3DDevice8_InsertCallback (4627)
|
|
IDirect3DDevice8_CreateStateBlock (4627)
|
|
IDirect3DDevice8_SetPixelShaderProgram (4627)
|
|
IDirect3DDevice8_BackFillMode (4531)
|
|
IDIrect3DDevice8_Release (4432)
|
|
CreateFiber (4034-4627)
|
|
CreateFiber (4034-4627)
|
|
IDirect3DSurface8_GetDesc (4432-4531)
|
|
- Redirected XAPILIB 4531 to 4627.
|
|
|
|
9/1/09
|
|
- Added the following functions
|
|
Get2DSurfaceDesc (4432-4531)
|
|
IDirect3DDevice8_SetMaterial (3925)
|
|
- Added the following kernel API(s)
|
|
AvGetSavedDataAddress (IDirect3DDevice8_GetPersistedSurface is too small to HLE).
|
|
- Added the following source files
|
|
XOnline(s).1.0.4627.h/inl
|
|
|
|
??/??/09
|
|
- Added the following function(s)
|
|
XInputGetCapabilities (3911)
|
|
|
|
10/??/09
|
|
- Added the following file(s)
|
|
EmuXAudio\XboxAdpcm.cpp/h
|
|
EmuXAudio\XSoundBank.cpp/h
|
|
EmuXAudio\XWaveBank.cpp/h
|
|
|
|
10/13/09
|
|
- Added the following functions
|
|
XLoadSectionA (3911-4627 and beyond?)
|
|
XFreeSectionA (3911-4627 and beyond?)
|
|
CDirectSound8::SetAllParametersA (4831)
|
|
NtQueueApcThread
|
|
- Caustik's theory was right, section loading APIs are safe to ignore (so far)!
|
|
- Updated the following functions
|
|
EmuIDirect3DResource8_Register (added D3DFMT_LIN_A1R5G5B5)
|
|
EmuUpdateActiveTexture (added D3DFMT_LIN_A1R5G5B5)
|
|
- Zapper (XDK 4831) now reaches intros and plays intro videos!
|
|
- Taz: Wanted (XDK 4432) plays intro videos and shows loading screen!
|
|
- The games listed above use the same engine and have the same bug. If/when I find it,
|
|
I guess both games should be okay.
|
|
|
|
10/14/09
|
|
- Added the following functions
|
|
IDirectSoundBuffer8_AddRef (4627, should be the same as 3936 but not tested).
|
|
|
|
10/15/09
|
|
- Added the following functions
|
|
IDirect3DDevice8_SetVertexShaderConstant4 (5558)
|
|
IDirect3DDevice8_DrawVerticesUP (5558)
|
|
IDirect3DDevice8_GetTransform (5233-5558)
|
|
|
|
10/16/09
|
|
- Added the following functions
|
|
CMcpxBuffer::Play (4721)
|
|
|
|
10/20/09
|
|
- Added the following functions
|
|
D3DDevice_SetRenderState_MultiSampleMask (4627, 4721)
|
|
D3DDevice_SetRenderState_LogicOp (4627, 4721)
|
|
- Robotech: Battlecry is starting to work!
|
|
TODO: Add IDirectSoundBuffer_GetStatus and IDirectSoundBuffer_Pause for 4721
|
|
|
|
11/1/09
|
|
- Added the following functions
|
|
GetTimeZoneInformation (4034 - 5120)
|
|
|
|
11/2/09
|
|
- Added the following functions
|
|
IDirect3DDevice8_SetPixelShaderConstant (4627-4298)
|
|
SetThreadPriority (4034 - 5120)
|
|
GetExitCodeThread (4242 - 4928)
|
|
RtlDestroyHeap (4627-4928) (Others?)
|
|
CDirectSoundVoice::SetAllParameters (4627 - 4928)
|
|
CDirectSoundBuffer::SetAllParameters (4627 - 4928)
|
|
IDirectSoundBuffer8_SetAllParameters (4627 - 4928)
|
|
D3D::SetFence (4627 - 4928)
|
|
IDirect3DDevice8_InsertFence (4627 - 4928)
|
|
D3D::CDevice::KickOff (4627 - 4928)
|
|
IDirect3DDevice8_SetPixelShaderConstant (4928 - 5344) (implimented only for 4928)
|
|
IDirect3DDevice8_SetRenderState_TwoSidedLighting (4627 - 4928)
|
|
IDirect3DDevice8_GetTexture2 (4627 - 4928)
|
|
- Other new stuff
|
|
Added D3DTOP_BLENDTEXTUREALPHA (14)
|
|
- Panzer Dragoon Orta (4928) goes ingame! No 3D graphics yet, but still significant progress. Not yet stable due to a few random crashes and freezes prior to going ingame.
|
|
|
|
TODO: Investigate 0x2AE7F2 and 0x2C8877 for Panzer.
|
|
|
|
11/3/09
|
|
- Fixed my implementation of IDirect3DDevice8_GetTexture2 (dirty hack)
|
|
|
|
11/4/09
|
|
- Added the following functions
|
|
D3D::CDevice::SetStateVB (4627 - 4928)
|
|
D3D::CDevice::SetStateUP (4627 - 4928)
|
|
IDirect3DDevice8_DrawIndexedVerticesUP (4627 - 4928)
|
|
|
|
11/5/09
|
|
- Added the following functions
|
|
IDirect3DDevice8_SetPalette (5233)
|
|
IDirect3DDevice8_GetCreationParameters (5233)
|
|
IDirect3DDevice8_SetFlickerFilter (5233 - 5344)
|
|
IDirect3DDevice8_SetSoftDisplayFilter (5233 - 5344)
|
|
XACTEngineCreate (4627 & 4928)
|
|
XACTEngineDoWork (4627)
|
|
XACT::CEngine::RegisterWaveBank (4627)
|
|
IXACTEngine_RegisterWaveBank (4627)
|
|
XACT::CEngine::RegisterStreamedWaveBank (4627)
|
|
IXACTEngine_RegisterStreamedWaveBank (4627)
|
|
XACT::CEngine::CreateSoundBank (4627)
|
|
IXACTEngine_CreateSoundBank (4627)
|
|
XACT::CEngine::DownloadEffectsImage (4627)
|
|
IXACTEngine_DownloadEffectsImage (4627)
|
|
XACT::CEngine::CreateSoundSource (4627)
|
|
IXACTEngine_CreateSoundSource (4627)
|
|
XACT::CSoundBank::GetSoundCueIndexFromFriendlyName (4627)
|
|
IXACTSoundBank_GetSoundCueIndexFromFriendlyName (4627)
|
|
IXACTSoundBank_Play (4627) (Needs further investigation...)
|
|
|
|
- Added the following texture formats
|
|
D3DFMT_A8B8G8R8 (Swizzled)
|
|
D3DFMT_UYVY (Swizzled, afaik)
|
|
|
|
11/11/09
|
|
- Added the following texture format(s)
|
|
D3DFMT_UNKNOWN (Undefined) (For MetalSlug 3)
|
|
|
|
- Added the following functions
|
|
IDirect3DDevice8_SetShaderConstantMode (5849)
|
|
IDirect3DDevice8_SetViewport (5849)
|
|
QueueUserAPC (5849) (Possibly too high level)
|
|
CDirectSound_SetAllParameters (4721)
|
|
|
|
11/18/09
|
|
- Added the following function(s)
|
|
IDirect3D8_CreateDevice (5028)
|
|
|
|
11/20/09
|
|
- Added the following function(s)
|
|
RtlReallocateHeap (4361)
|
|
RtlSizeHeap (4361)
|
|
CDirectSoundVoiceSettings::SetMixBinVolumes (4361)
|
|
CDirectSoundVoice::SetMixBinVolumes (4361)
|
|
CDirectSoundBuffer::SetMixBinVolumes (4361)
|
|
|
|
- Removed DSOUND 4361 alias to 4627 (This will break Smashing Drive!)
|
|
|
|
11/22/09
|
|
- Temporarily set DSOUND 4361 alias to 4627 again.
|
|
- Added the following function(s)
|
|
CDirectSoundStream_SetMixBins (4627)
|
|
CMcpxVoiceClient_SetEG (4627)
|
|
CDirectSoundVoice_SetEG (4627)
|
|
CDirectSoundStream_SetEG (4627)
|
|
CDirectSoundStream_FlushEx (4627)
|
|
IDirectSoundStream_FlushEx (4627)
|
|
|
|
11/23/09
|
|
- Added the following function(s)
|
|
RtlCreateHeap (4134)
|
|
RtlAllocateHeap (4134)
|
|
RtlFreeHeap (4134)
|
|
RtlReAllocateHeap (4134)
|
|
RtlSizeHeap (4134)
|
|
XapiBootDash (4134)
|
|
XRegisterThreadNotifyRoutine (4134)
|
|
XGetDeviceChanges (4134)
|
|
XID_fCloseDevice (XREF) (4134)
|
|
XInputClose (4134)
|
|
XInputGetCapabilities (4134)
|
|
SetThreadPriorityBoost (4134)
|
|
GetThreadPriority (4134)
|
|
XGetDevices (4134)
|
|
QueryPerformanceCounter (4134)
|
|
QueryPerformanceFrequency (4134)
|
|
XInputPoll (4134 - 4928)
|
|
XGetSectionHandleA (4134 - 4928)
|
|
XLoadSectionByHandle (4134 - 4928)
|
|
XFreeSectionByHandle (4134 - 4928)
|
|
RtlDestroyHeap (4134 - 4928)
|
|
D3DDevice_CreatePixelShader (4134)
|
|
IDirect3DSurface8_LockRect (4134)
|
|
Lock2DSurface (4134)
|
|
D3DDevice_SetGammaRamp (4134)
|
|
IDirect3D8_CheckDeviceFormat (4134)
|
|
IDirect3D8_GetAdapterModeCount (4134)
|
|
IDirect3D8_EnumAdapterModes (4134)
|
|
IDirect3DDevice8_LoadVertexShader (4134)
|
|
IDirect3DDevice8_SelectVertexShader (4134)
|
|
IDirect3DDevice8_CopyRects (4134)
|
|
IDirect3DDevice8_CreateImageSurface (4134)
|
|
IDirect3DDevice8_SetVertexShaderConstant (4134)
|
|
IDirect3DDevice8_SetPixelShader (4134)
|
|
IDirect3DDevice8_SetTextureState_BumpEnv (4134)
|
|
IDirect3DDevice8_SetIndices (4134)
|
|
IDirect3DDevice8_SetTexture (4134)
|
|
IDirect3DDevice8_SetRenderState_VertexBlend (4134)
|
|
IDirect3DDevice8_SetRenderState_TextureFactor (4134)
|
|
IDirect3DDevice8_SetRenderState_EdgeAntiAlias (4134)
|
|
IDirect3DDevice8_SetRenderState_Simple (4134)
|
|
IDirect3DDevice8_SetRenderState_ZEnable (4134)
|
|
IDirect3DDevice8_SetRenderState_StencilEnable (4134)
|
|
IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias (4134)
|
|
IDirect3DDevice8_GetTransform (4134)
|
|
IDirect3DDevice8_SetStreamSource (4134)
|
|
IDirect3DDevice8_SetVertexShader (4134)
|
|
IDirect3DDevice8_DrawVertices (4134)
|
|
IDirect3DDevice8_DrawVerticesUP (4134)
|
|
IDirect3DDevice8_DrawIndexedVertices (4134)
|
|
IDirect3DDevice8_SetLight (4134)
|
|
IDirect3DDevice8_SetMaterial (4134)
|
|
IDirect3DDevice8_LightEnable (4134)
|
|
IDirect3DVertexBuffer8_Lock (4134)
|
|
Get2DSurfaceDesc (4134)
|
|
IDirect3DSurface8_GetDesc (4134)
|
|
IDirect3DDevice8_SetRenderState_StencilFail (4134)
|
|
IDirect3DDevice8_SetRenderState_NormalizeNormals (4134)
|
|
IDirect3DDevice8_Reset (4134 - 4361)
|
|
IDirect3D8_KickOffAndWaitForIdle (4134 - 4361)
|
|
IDirect3DDevice8_SetTextureState_TwoSidedLighting (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_BackFillMode (4134 - 4361)
|
|
IDirect3DDevice8_SetTextureState_ColorKeyColor (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_FrontFace (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_LogicOp (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_StencilFail (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_OcclusionCullEnable (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_StencilCullEnable (4134 - 4361)
|
|
|
|
- Move the following functions
|
|
XInputPoll (4928 -> 4134)
|
|
XGetSectionHandleA (4627 -> 4134)
|
|
XLoadSectionByHandle (4627 -> 4134)
|
|
XFreeSectionByHandle (4627 -> 4134)
|
|
RtlDestroyHeap (4627 -> 4134)
|
|
IDirect3DDevice8_Reset (4134)
|
|
IDirect3D8_KickOffAndWaitForIdle (4432 -> 4134)
|
|
IDirect3DDevice8_SetTextureState_TwoSidedLighting (4432 -> 4134)
|
|
IDirect3DDevice8_SetRenderState_BackFillMode (4432 -> 4134)
|
|
IDirect3DDevice8_SetTextureState_ColorKeyColor (4432 -> 4134)
|
|
IDirect3DDevice8_SetRenderState_FrontFace (4432 -> 4134)
|
|
IDirect3DDevice8_SetRenderState_LogicOp (4432 -> 4134)
|
|
IDirect3DDevice8_SetRenderState_StencilFail (4432 -> 4134)
|
|
IDirect3DDevice8_SetRenderState_OcclusionCullEnable (4432 -> 4134)
|
|
IDirect3DDevice8_SetRenderState_StencilCullEnable (4432 -> 4134)
|
|
|
|
- Added a bit of code to print out more details about the Direct3D device
|
|
each Xbox game is trying to create.
|
|
- Added a hack to disable Tripple Buffering. JSRF needs this for cards that
|
|
don't support it with the parameters it's using.
|
|
|
|
11/24/09
|
|
- Added the following functions(s)
|
|
IDirect3DDevice8_FillMode (4134)
|
|
IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead (4134 - 4627)
|
|
IDirect3DDevice8_SetRenderState_RopZRead (4134 - 4627)
|
|
IDirect3DDevice8_SetRenderState_DoNotCullUncompressed (4134 - 4627)
|
|
IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_MultiSampleMask (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_MultiSampleMode (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_ShadowFunc (4134 - 4361)
|
|
IDirect3DDevice8_SetRenderState_YuvEnable (4134 - 4361)
|
|
IDirect3DDevice8_DrawIndexedVerticesUP (4134 - 4361)
|
|
IDirect3DDevice8_SetPixelShaderConstant (4134 - 4627)
|
|
IDirect3DDevice8_DeletePixelShader (4134 - 4627)
|
|
IDirect3DDevice8_SetRenderState_CullModeB (4134 - 4627)
|
|
IDirect3DDevice8_DeleteVertexShader (4134 - 4627)
|
|
IDirect3DDevice8_SetScreenSpaceOffset (4134 - 4627)
|
|
D3D::SetFence (XREF) (4134 - 4627)
|
|
IDirect3DDevice8_SetRenderState_LineWidth (4134 - 4361)
|
|
IDirect3DDevice8_GetGammaRamp (4134)
|
|
SetThreadPriorityBoost (4134 - 4361)
|
|
IDirect3DDevice8_BlockUntilVerticalBlank (4134)
|
|
IDirect3DDevice8_SetSwapCallback (4134 - 4361)
|
|
IDirect3DDevice8_GetTile (4134 - 4361)
|
|
IDirect3DDevice8_SetTile (4134 - 4361)
|
|
IDirect3DDevice8_IsBusy (4134 - 4361)
|
|
|
|
- Fix a bug in D3D8 4134. IDirect3DDevice8_SetRenderState_Fillmode_1_0_3925 was giving
|
|
us a false positive. The problem exists in 4034 as well because whoever started
|
|
trying to add 4034 and 4134 support just threw in a bunch of signatures from D3D8 3925
|
|
must have been looking for similarities in that XDK. Good idea when you don't have
|
|
a certain XDK, but it's not 100% safe to do (or leave in unattended).
|
|
- Attempting to impliment IDirect3DDevice8_SetSwapCallback. Some of the steps necessary
|
|
will revolve around IDirect3DDevice8_SetVerticalBlankCallback's inner workings. Adding
|
|
the callback function to execute each time D3DDevice_Present/Swap is called is easy, but
|
|
Some of the parameters require a bit of leg work. Right now, some of my implementation
|
|
is guess work. Hopefully Caustik will have a good idea of what to do.
|
|
- Even worse, the signatures for D3DDevice_SetSwapCallback and D3DDevice_SetVerticalBlankCallback
|
|
are almost completely identical and are different by an extremely small margin. For 4134,
|
|
it looks the same as 4361's. I might be over reacting, but I just don't want to screw this
|
|
up because working on JSRF is proving to be a delicate operation!
|
|
|
|
11/26/09
|
|
- Added the following function(s)
|
|
XnInit (5233)
|
|
bind (5233)
|
|
ioctlsocket (5233)
|
|
WSAStartup (5233)
|
|
XNetStartup (5233 - 5344)
|
|
CDirectSoundStream_SetMode (3936)
|
|
|
|
12/1/09
|
|
- Added the following function(s)
|
|
XACT::CEngine::RegisterNotification (4627)
|
|
IXACTEngine_RegisterNotification (4627)
|
|
XACT::CEngine::GetNotification (4627)
|
|
IXACTEngine_GetNotification (4627)
|
|
XACT::CEngine::CreateSoundBank (4928)
|
|
IXACTEngine::CreateSoundBank (4928)
|
|
XACT::CEngine::RegisterWaveBank (4928)
|
|
IXACTEngine::RegisterWaveBank (4928)
|
|
XAudioDownloadEffectsImage (4627 - 4928)
|
|
|
|
12/2/09
|
|
- Added the following function(s)
|
|
XACT::CEngine::UnRegisterWaveBank (4928)(*)
|
|
IXACTEngine_UnRegisterWaveBank (4928)(*)
|
|
IDirect3DDevice8_PersistDisplay (4627 & 4928)
|
|
XNetGetEthernetLinkStatus (4627 - 4928, 5233 & 5344)
|
|
XGWriteSurfaceOrTextureToXPR (4627 - 4928)
|
|
- Other things
|
|
Added D3DTOP_BLENDCURRENTALPHA (13)
|
|
|
|
- Unreal Championship gets passed the loading screen and the menus appear to be interactive
|
|
as well. It took F-O-R-E-V-E-R, but I'm finally beginning to make some significant progress
|
|
since my last updates for this game.
|
|
|
|
(*) Could be wrong. Look into IXACTEngine_SetNotification as well...
|
|
|
|
12/3/09
|
|
- Added the following function(s)
|
|
XLaunchNewImageA (4627 & 4928)
|
|
XGetLaunchInfo (4627 - 4928)
|
|
- Unreal Championship appears to be "almost" ingame. The LaunchData parameter from XLaunchNewImageA
|
|
is saved in a .bin file (CxbxLaunchData.bin) and is loaded once XGetLaunchInfo is called. After it
|
|
is loaded, the file is deleted so that Unreal Championship is started normally. When CxbxLaunchData.bin
|
|
is loaded by XGetLaunchInfo, Unreal Championship will use this data to load the desired level and
|
|
data that goes with it. The biggest problem is that the controller is no longer recognized after
|
|
Cxbx is restarted. It may take yet another hack to get around this. If we can, we'll find out whether
|
|
this game can be played or not.
|
|
|
|
12/26/09
|
|
- Added the following function(s)
|
|
XSetProcessQuantumLength (4627 & 4721)
|
|
XGetFileCacheSize (5233 & 5344)
|
|
IDirect3DDevice8_Unknown1 (5233) (*)
|
|
IDirect3DDevice8_SetRenderState_TwoSidedLighting (5120 & 5233)
|
|
IDirect3DDevice8_SetRenderState_FrontFace (4531 - 5233)
|
|
IDirect3DDevice8_SetRenderState_LogicOp (4721 - 5344)
|
|
IDirect3DDevice8_BeginPush (5233 & 5344)
|
|
IDirect3DDevice8_EndPush (5233 & 5344)
|
|
|
|
(*) This is not the actual function name. Since I was unable to find any functions even somewhat similar
|
|
to it (I don't have 5233, but not even 5344 helped this time), I just created a dummy function to the game
|
|
from crashing. There were 4 functions that had access to it, and I had no idea which one was calling it,
|
|
nor could I find out what those functions were either. The only lead I had was that it called the kernel
|
|
function AvSendTVEncoderOption, which led me to the assumption that we can get away with ignoring this function
|
|
for now. So far, this only occurs in games known as "Run Like Hell" and "Oddworld Munch's Oddyssee".
|
|
|
|
12/27/09
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_AddRef (3925) [3911]
|
|
CDirectSoundStream_GetInfo (All) (*)
|
|
IDirect3DDevice8_Unknown1 (3925) (**)
|
|
IDirect3DDevice8_GetViewport (3925)
|
|
IDirect3DDevice8_GetGammaRamp (3925)
|
|
SignalObjectAndWait (3911 - 4627)
|
|
PulseEvent (3911)
|
|
IDirect3DDevice8_GetDisplayFieldStatus (3925)
|
|
|
|
- Stopped Cxbx from trying to assemble "empty" shaders in Azurik: Rize of Perathia.
|
|
|
|
(*) Since this function is part of the DirectSoundStream VTable (CDirectSoundStream::vtbl), the XDK doesn't
|
|
matter.
|
|
(**) See update for 12/26/09
|
|
|
|
12/28/09
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SetSwapCallback (4928)
|
|
IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias (3925) [3911]
|
|
|
|
12/29/09
|
|
- Added the following function(s)
|
|
CDirectSoundVoice_SetMode (4627 - 4831)
|
|
CDirectSoundBuffer_SetMode (4627 - 4831)
|
|
IDirectSoundBuffer_SetMode (4627 - 4831)
|
|
IDirect3DDevice8_SetRenderState_FrontFace (4531 - 5120)
|
|
IDirect3DDevice8_SetRenderState_MultiSampleMode (4531 - 4831)
|
|
IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode (4531 - 4831)
|
|
IDirect3DDevice8_SetRenderState_StencilCullEnable (4531 - 4831)
|
|
|
|
1/1/2010
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SetGammaRamp (4242 - 4531)
|
|
IDirect3DDevice8_CreateVertexBuffer (4432)
|
|
IDirect3DDevice8_SetShaderConstantMode (4361 - 4432)
|
|
IDirect3DDevice8_SetVertexShaderConstant (4432 & 4531?)
|
|
IDirect3DDevice8_CreatePixelShader (4432 & 4531)
|
|
IDirect3DDevice8_GetViewport (4400 - 4531?)
|
|
IDirect3DDevice8_DrawVertices (4400 - 4531?)
|
|
IDirect3DDevice8_SetFlickerFilter (4361 & 4432)
|
|
IDirect3DDevice8_SetSoftDisplayFilter (4361 & 4432)
|
|
IDirect3DDevice8_SetGammaRamp (4432)
|
|
IDirect3DDevice8_DrawIndexedVertices (4400 - 4531?)
|
|
IDirect3DDevice8_PrimeVertexCache (4361)
|
|
IDirect3DDevice8_BeginPush/EndPush (4361)
|
|
IDirect3DDevice8_Begin/End (4361 - 4531?)
|
|
IDirect3DDevice8_SetVertexData2f (4361 - 4531?)
|
|
IDirect3DDevice8_SetVertexData4f (4361 - 4531?)
|
|
IDirect3DDevice8_SetVertexData4ub (4361 - 4531?)
|
|
CDirectSoundBuffer_PlayEx (4361 - 4627)(*)
|
|
IDirectSoundBuffer8_PlayEx (4361 - 4627)(*)
|
|
CMxpxBuffer_Stop2 (4361 - 4432)(**)
|
|
CDirectSoundBuffer_StopEx (4361 - 4627)
|
|
IDirectSoundBuffer8_StopEx (4361 - 4627)
|
|
CDirectSound_SetPosition (4361 - 4432)
|
|
|
|
- Added support for D3DVSDE_BLENDWEIGHT
|
|
|
|
(*) Not yet confirmed
|
|
(**) There are two versions of CMcpxBuffer_Stop. One has one parameter (ulong), and the other has two and calls
|
|
the first one (__int64, ulong). My signature is for the one with 2 params.
|
|
|
|
1/2/10
|
|
- Added the following function(s)
|
|
CDirectSound_SetVelocity (4432)
|
|
CDirectSoundVOice_SetPosition (4432)
|
|
IDirect3DDevice8_SetIndices (4400 - 4531)
|
|
|
|
- Added all known blending operations (a bit surprised Caustik only added D3DBLENDOP_ADD)
|
|
|
|
1/3/10
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SetRenderState_VertexBlend (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_BackFillMode (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_TwoSidedLighting (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_NormalizeNormals (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_FrontFace (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_TextureFactor (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_LogicOp (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_EdgeAntiAlias (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_MultiSampleMask (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_MultiSampleMode (3925) [3911]
|
|
CreateFiber (4432)
|
|
DeleteFiber (4432)
|
|
|
|
- Added the following kernel function(s)
|
|
KeBugCheck (*)
|
|
|
|
- Fixed up EmuIDirect3DDevice8_UpdateOverlay a bit. Updating the overlay
|
|
in software lets me see video playback again and let's me take screen
|
|
shots because it's a YUV -> RGB conversion. Videos also play at more
|
|
"correct" speeds in software anyway. Unreal Championship requires
|
|
this to be done in software to avoid crashing. Also, since the YUV
|
|
overlay is done in software, it's not updated automatically like a hard-
|
|
ware accelerated overlay, so I added a hack to update the screen if
|
|
Present or Swap was not called since the last update of the overlay.
|
|
this fixes most problems I've had with video playback.
|
|
|
|
(*) TODO: Find out what is calling this (possibly XapiFiberStartup)
|
|
|
|
1/4/10
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SetRenderState_ShadowFunc (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_LineWidth (3925) [3911]
|
|
IDirect3DDevice8_SetRenderState_YuvEnable (3925) [3911]
|
|
IDirect3DDevice8_PersistDisplay (3925) [3911]
|
|
|
|
1/5/10
|
|
- Added the following function(s)
|
|
CDirectSoundVoice_SetPitch (4627)
|
|
CDirectSoundBuffer_SetPitch (4627)
|
|
IDirectSoundBuffer8_SetPitch (4627)
|
|
CMcpxBuffer_GetStatus (4721)
|
|
IDirect3DDevice8_CreateIndexBuffer (5558)
|
|
IDirect3DDevice8_CreateIndexBuffer2 (5558)
|
|
IDirect3DDevice8_SetVerticalBlankCallback (5233)
|
|
|
|
- The TechCertGame works again, but freezes ingame.
|
|
|
|
1/6/10
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SampleAlpha (5233 - 5344)
|
|
IDirect3DDevice8_GetVertexShaderSize (4134 - 4531)
|
|
|
|
1/8/10
|
|
- Added the following function(s)
|
|
CMcpxBuffer_Pause (4928 - 5344)
|
|
CDirectSoundBuffer_Pause (4928 - 5344)
|
|
IDirectSoundBuffer8_Pause (4928 - 5344)
|
|
CreateSemaphore (5558) (*)
|
|
ReleaseSemaphore (5558) (*)
|
|
IDirect3D8_GetAdapterModeCount (4721 - 5558)
|
|
IDirect3D8_EnumAdapterModes (4721 - 5558)
|
|
IDirect3DDevice8_SetverticalBlankCallback (5558)
|
|
IDirect3DDevice8_SetSwapCallback (5558)
|
|
IDirect3DDevice8_GetGammaRamp (5558 - 5659?)
|
|
IDirect3DDevice8_SetRenderState_TextureFactor (5558)
|
|
IDirect3DDevice8_SetRenderState_VertexBlend (5558)
|
|
|
|
- Created new function EmuXB2PC_D3DMultisampleFormat(DWORD Type) in convert.cpp
|
|
- Fixed a bug in IDirect3D8_CheckMultiSampleDeviceType, actually use PCSurfaceFormat
|
|
flag instead of actual parameter!
|
|
|
|
(*) Yes they are high level, but it fixes some problems with Metal Arms (5558)
|
|
|
|
1/15/10
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_DrawVertices (3925) [3911]
|
|
IDirect3DDevice8_DrawVerticesUP (3925) [3911]
|
|
IDirect3DDevice8_DrawIndexedVerticesUP (3925) [3911]
|
|
CMcpxAPU::Set3dDopplerFactor (3936) [3911]
|
|
CDirectSound::SetDopplerFactor (3936) [3911]
|
|
IDirectSound8_SetDopplerFactor (3936) [3911]
|
|
IDirect3DDevice8_GetDisplayMode (3925) [3911]
|
|
XGIsSwizzledFormat (3911)
|
|
XGSizzleRect (3911)
|
|
XGUnswizzleRect (3911)
|
|
XGSwizzleBox (3911)
|
|
XGWriteSurfaceOrTextureToXPR (3911)
|
|
|
|
- Added the following kernel function(s)
|
|
IoDismountVolumeByName
|
|
HalReadSMCTrayState
|
|
|
|
- Added XG.1.0.3911.h/inl (it's about damn time!)
|
|
|
|
1/16/09
|
|
- Added the folliwing function(s)
|
|
IDirect3DDevice8_SetTextureState_BumpEnv (3925) [3911]
|
|
IDirect3DDevice8_SetTextureState_ColorKeyColor (3925) [3911]
|
|
IDirect3DDevice8_SetVertexData4s (3925) [3911]
|
|
IDirect3D8_SetPushBufferSize (3925) [3911]
|
|
CSensaura3d::GetFullHRTFFilterPair (3936) [3911]
|
|
DirectSoundUseFullHRTF (3936) [3911]
|
|
CDirectSound::GetCaps (3936) [3911]
|
|
IDirectSound8_GetCaps (3936) [3911]
|
|
|
|
1/22/09
|
|
- Added the following function(s)
|
|
timeSetEvent (4627 & 4721)
|
|
timeKillEvent (4627 & 4721)
|
|
CDirectSoundVoice::SetConeAngles (3936) [3911]
|
|
DirectSoundEnterCriticalSection (3936) [3911]
|
|
CDirectSoundBuffer::PlayEx (3936) [3911]
|
|
IDirectSoundBuffer8_PlayEx (3936) [3911]
|
|
DirectSoundUseFullHRTF (3936) [3911]
|
|
RaiseException (4627 - 4928)
|
|
|
|
1/23/10
|
|
- Added the following function(s)
|
|
D3D_AllocContiguousMemory (3925) [3911] (*)
|
|
IDirect3DResource8_GetType (3925) [3911] (*)
|
|
|
|
(*) Cxbx doesn't crash without this signature...
|
|
(**) Just for testing purposes. You can remove it if you want/need.
|
|
|
|
1/24/10
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SetRenderState_Deferred (3925) [3911] (*)
|
|
IDirect3DDevice8_SetLight (3925) [3911]
|
|
IDirect3DDevice8_LightEnable (3925) [3911]
|
|
IDirect3DDevice8_CreateVertexShader (3925) [3911]
|
|
IDirect3DDevice8_SetRenderTarget (3948) [3911]
|
|
|
|
(*) This can/should be removed once the detection of 3911's D3DDeferredRenderState
|
|
is properly located.
|
|
|
|
- Fixed the ordering problem with Deferred Texture States in 3911.
|
|
- TODO: Compensate the difference in modified vertex shader constants.
|
|
|
|
1/25/10
|
|
- Added the following function(s)
|
|
IDirect3DSurface8_GetDesc (3925) [3911]
|
|
IDirectSound8_AddRef (3936) / [3911] - 4242
|
|
DirectSoundGetSampleTime (3936) [3911]
|
|
IDirectSoundBuffer8_AddRef (3936) [3911] - 4627
|
|
|
|
- Moved the following function(s)
|
|
IDirectSound8_AddRef (4361 -> 3936)
|
|
IDirectSoundBuffer8_AddRef (4627 -> 3936)
|
|
|
|
- Fix some bugs in EmuDirectSoundBufferCreate. DSBCAPS_MIXIN,_FXIN AND _FXIN2
|
|
were getting by the "AcceptableMask" undetected.
|
|
|
|
1/27/10
|
|
- Added the following function(s)
|
|
IDirect3DDevice8_SetTile (3925) [3911]
|
|
CDirectSoundBuffer::SetMinDistance (3936) [3911]
|
|
IDirectSoundBuffer8_SetMinDistance (3936) [3911]
|
|
CDirectSoundBuffer::SetMaxDistance (3936) [3911]
|
|
IDirectSoundBuffer8_SetMaxDistance (3936) [3911]
|
|
IDirect3DDevice8_ApplyStateBlock (3925) [3911]
|
|
IDirect3DDevice8_CaptureStateBlock (3925) [3911]
|
|
IDirect3DDevice8_CreateStateBlock (3925) [3911]
|
|
IDirect3DDevice8_DeleteStateBlock (3925) [3911]
|
|
IDirect3DDevice8_DeletePixelShader (3925) [3911]
|
|
IDirectSoundBuffer8_SetMixBinVolumes (3925) [3911]
|
|
|
|
_ Added the following kernel function(s)
|
|
KeRaiseIrqlToDpcLevel
|
|
|
|
1/28/10
|
|
- Added the following function(s)
|
|
QueueUserAPC (3911 - 5788)
|
|
GetThreadPriority (5849)
|
|
SetThreadPriorityBoost (5849)
|
|
IDirect3DDevice8_BlockUntilVerticalBlank (5849)
|
|
XGetSectionHandleA (5849)
|
|
XLoadSectionByHandle (5949)
|
|
XFreeSectionByHandle (5849)
|
|
XGetSectionSize (5849)
|
|
|
|
- Moved the following function(s)
|
|
QueueUserAPC (5849 -> 3911)
|
|
|
|
- Fixed the problem with QueueUserAPC, it works now. Had to set the
|
|
right permisions for it to work on windows.
|
|
- Made another signature for CMcpxBuffer::GetCurrentPosition (3911). The original
|
|
was off by one byte.
|
|
|
|
2/4/10
|
|
- Added the following function(s)
|
|
D3D::KickOffAndWaitForIdle (5344 - 5558)
|
|
IDirect3DDevice8_Reset (5558)
|
|
IDirect3DDevice8_SetGammaRamp (5455 - 5558)
|
|
IDirect3DDevice8_GetViewport (5558)
|
|
GetFileAttributesA (5558)
|
|
VirtualProtect (4627 - 5558) (*)
|
|
|
|
(*) Probably too high level...
|
|
|
|
4/9/10
|
|
- Added new Simple Renderstates
|
|
D3DRS_STENCILZFAIL
|
|
D3DRS_STENCILPASS
|
|
D3DRS_STENCILFUNC
|
|
D3DRS_STENCILREF
|
|
D3DRS_STENCILMASK
|
|
D3DRS_STENCILWRITEMASK
|
|
|
|
- Added the following function(s)
|
|
D3DDevice_SetModelView (3925) [3911]
|
|
D3DDevice_FlushVertexCache (3925) [3911]
|
|
D3DDevice_SetScissors (3925) [3911]
|
|
D3DDevice_SetVertexShaderInput (3925) [3911]
|
|
D3DDevice_PrimeVertexCache (3925) [3911]
|
|
D3DDevice_SetVertexData4ub (3925) [3911]
|
|
D3DDevice_SetVertexShaderConstant (3925) [3911]
|
|
D3DDevice_BeginPushBuffer (3925) [3911]
|
|
D3DDevice_EndPushBuffer (3925) [3911]
|
|
D3DDevice_SetRenderState_RopZCmpAlwaysRead (3925) [3911]
|
|
D3DDevice_SetRenderState_RopZRead (3925) [3911] (*)
|
|
D3DDevice_SetRenderState_DoNotCullUncompressed (3925) [3911] (*)
|
|
|
|
(*) Not yet verified. Signatures are right, but XRefs probably aren't.
|
|
|
|
4/10/10
|
|
- Added a new fix for Halo in EmuFlushIVB(). Use g_IVBFVF when the current FVF is 0.
|
|
- Added the following function(s)
|
|
D3D::SetFence (XRef) (3925) [3911]
|
|
D3DDevice_InsertFence (3925) [3911]
|
|
D3DDevice_LoadVertexShaderProgram (3925) [3911]
|
|
D3DDevice_RunPushBuffer (3925) [3911]
|
|
IDirectSoundBuffer8_Play (3936) [3911] (Fixed)
|
|
|
|
- Azurik: Rize of Perathia now goes ingame!
|
|
|
|
4/11/10
|
|
- Fixed a minor bug with the deferred texture state (D3DTSS_MAGFILTER) for XDK 3911.
|
|
- Fixed a major bug in the push buffer execution code. The stride was not incremented
|
|
for the D3DFVF_XYZ flag. Using the position mask to find position related FVFs.
|
|
- Robotech: Battlecry is now playable!
|
|
|
|
4/13/10
|
|
- Added the following function(s)
|
|
Direct3D_EnumAdapterModes (5233-5344)
|
|
D3DDevice_SetVerticalBlankCallback (5455)
|
|
D3DDevice_GetProjection
|
|
|
|
4/21/10
|
|
- Added the following function(s)
|
|
D3DDevice_GetModelView (5558)
|
|
D3DDevice_SetBackMaterial (5558)
|
|
D3DDevice_SetRenderState_TwoSidedLighting (5558)
|
|
|
|
4/26/10
|
|
- Added the following function(s)
|
|
D3DDevice_SetTransform (4034) (removed 3925 signature causing false positives).
|
|
D3DDevice_CreatePixelShader (4034, 4039)
|
|
D3DDevice_GetVertexShaderSize (4034, 4039)
|
|
|
|
4/27/10
|
|
- Added the following function(s)
|
|
D3DDevice_SetRenderState_CullMode (4034, 4039)
|
|
D3DSurface_LockRect (4034)
|
|
Lock2DSurface (4034)
|
|
D3DDevice_BeginVisibilityTest (4034)
|
|
D3DDevice_EndVisibilityTest (4034)
|
|
|
|
- Moved the following signature(s)
|
|
D3DDevice_DrawVertices (4134 -> 4034)
|
|
D3DDevice_DrawIndexedVertices (4134 -> 4034)
|
|
D3DDevice_BeginVisibilityTest (4034)
|
|
D3DDevice_EndVisibilityTest (4034)
|
|
|
|
TODO: Add D3DResource_GetType?
|
|
|
|
4/28/10
|
|
- Added the following function(s)
|
|
D3DDevice_CopyRects (4034)
|
|
D3DDevice_SetStreamSource (4034)
|
|
D3DDevice_SetTextureState_BorderColor (4034)
|
|
D3DDevice_SetTextureState_ColorKeyColor (4034)
|
|
D3DDevice_LoadVertexShader (4034)
|
|
D3DDevice_DrawRectPatch (4034)
|
|
D3DDevice_SetIndices (4034)
|
|
D3DDevice_SetRenderState_EdgeAntiAlias (4034)
|
|
D3DDevice_SetRenderState_FillMode (4034)
|
|
D3DDevice_SetRenderState_BackFillMode (4034)
|
|
D3DDevice_SetRenderState_FogColor (4034)
|
|
D3DDevice_SetRenderState_FrontFace (4034)
|
|
D3DDevice_SetRenderState_LogicOp (4034)
|
|
D3DDevice_SetRenderState_MultiSampleAntiAlias (4034)
|
|
D3DDevice_SetRenderState_MultiSampleMask (4034)
|
|
D3DDevice_SetRenderState_NormalizeNormals (4034)
|
|
D3DDevice_SetRenderState_ShadowFunc (4034)
|
|
D3DDevice_SetRenderState_Simple (4034)
|
|
D3DDevice_SetRenderState_StencilEnable (4034)
|
|
D3DDevice_SetRenderState_StencilFail (4034)
|
|
D3DDevice_SetRenderState_YuvEnable (4034)
|
|
D3DDevice_SetRenderState_VertexBlend (4034)
|
|
D3DDevice_Swap (4034)
|
|
Direct3D_CheckDeviceFormat (4034)
|
|
Direct3D_SetPushBufferSize (4034)
|
|
Get2DSurfaceDesc (4034)
|
|
D3DTexture_GetSurfaceLevel (4034)
|
|
D3DDevice_SetRenderState_ZEnable (4034)
|
|
D3DDevice_LightEnable (4034)
|
|
D3DDevice_ (4034)
|
|
XInputSetState (4034)
|
|
RtlCreateHeap (4034)
|
|
RtlReallocateHeap (4034)
|
|
RtlFreeHeap (4034)
|
|
RtlReAllocateHeap (4034)
|
|
RtlSizeHeap (4034)
|
|
XRegisterThreadNotifyRoutine (4034)
|
|
XGetDeviceChanges (4034)
|
|
XID_fCloseDevice (4034)
|
|
XInputClose (4034)
|
|
XInputGetCapabilities (4034)
|
|
GetThreadPriority (4034)
|
|
XInputOpen (4034)
|
|
XInputGetState (4034)
|
|
|
|
- Some of the above signatures need to be fixed.
|
|
- Also, many of these signatures above will work with 4039 as well.
|
|
|
|
4/29/10
|
|
- Added the following function(s)
|
|
D3D::CDevice::KickOff (4134)
|
|
D3D::SetFence (4134)
|
|
D3DDevice_BlockOnFence (4134 - 4361)
|
|
D3DDevice_GetRenderTarget (4134 - 4361)
|
|
D3DDevice_Release (4134)
|
|
D3DDevice_GetDisplayMode (4134)
|
|
|
|
- Added the following texture format(s)
|
|
D3DFMT_LIN_D16 (Use D3DFMT_R5G6B5 instead)
|
|
D3DFMT_LIN_G8B8 (Use D3DFMT_R5G6B5 instead)
|
|
|
|
6/??/10
|
|
- Panzer goes ingame again.
|
|
|
|
7/5/10
|
|
- Added the following function(s)
|
|
XLaunchNewImageA (5849)
|
|
|
|
7/11/10
|
|
- Added the following function(s)
|
|
D3DDevice_BeginStateBlock (5558)
|
|
D3DDevice_EndStateBlock (5558)
|
|
CDirectSound::EnableHeadphones [3936] (3911)
|
|
IDirectSound_EnableHeadphones [3936] (3911)
|
|
|
|
- Blasteroids-X shows intro screen (missing an unknown DirectSound API and a bug in RtlLeaveCriticalSection)
|
|
- BloodWake shows loading screen.
|
|
- Fixed a bug where some textures weren't getting unswizzled before rendering (thanks defiance!)
|
|
- Temporarily commented out bad signatures:
|
|
CDirectSoundStream::SetAllParameters[AB] (3911)
|
|
CDirectSoundStream::SetI3DL2Source[A] (3911)
|
|
- Turok broke somehow (NULL surface causing crash). :(
|
|
|
|
7/14/10
|
|
- Added the following function(s)
|
|
Direct3D_EnumAdapterModes (3911) [3925]
|
|
Direct3D_GetAdapterModeCount (3911) [3925]
|
|
D3DDevice_Reset (3911) [3925]
|
|
Direct3D_GetAdapterIdentifier (3911) [3925]
|
|
Direct3D_GetDeviceCaps (3911) [3925]
|
|
lstrcmpiW (3911 - 3944)
|
|
|
|
7/15/10
|
|
- Added the following function(s)
|
|
GetFileAttributesA (4361) (*)
|
|
XMountMUA (4361)
|
|
CreateWaitableTimerA (4361)
|
|
SetWaitableTimer (4361)
|
|
|
|
(*) This function should be used instead of it's low level counterpart!
|
|
|
|
7/16/10
|
|
- Added the following function(s)
|
|
D3DDevice_SetRenderState_FrontFace (5558)
|
|
|
|
7/17/10
|
|
- Added the following function(s)
|
|
D3DDevice_Clear (5849_LTCG)
|
|
D3DDevice_Swap (5849_LTCG)
|
|
D3DVertexBuffer_Lock2 (5849_LTCG)
|
|
D3DDevice_SetVertexShader (5849_LTCG)
|
|
|
|
7/19/10
|
|
- Added the following function(s)
|
|
D3DDevice_SetRenderState_FrontFace (5849)
|
|
D3DDevice_SetBackMaterial (5849)
|
|
D3DDevice_SetRenderState_TwoSidedLighting (5849)
|
|
|
|
7/23/10
|
|
- Added the following function(s)
|
|
XMountAlternativeTitleA (3911, 4627, 4928)
|
|
XUnmountAlternativeTitleA (3911, 4627 - 4928)
|
|
|
|
7/24/10
|
|
- Added the following function(s)
|
|
D3D::KickOffAndWaitForIdle (5849)
|
|
|
|
- Added a seperate check for priviledged instructions
|
|
|
|
11/7/10
|
|
- Added the following function(s)
|
|
D3DDevice_BeginStateBlock (4627)
|
|
D3DDevice_EndStateBlock (4627)
|
|
D3DDevice_ApplyStateBlock (4627)
|
|
D3DDevice_CaptureStateBlock (4627)
|
|
D3DDevice_DeleteStateBlock (4627)
|
|
D3DSurface_GetDesc (4034, 4039)
|
|
D3D::PixelJar::Get2DSurfaceDesc (4034, 4039)
|
|
D3DDevice_Clear (4034)
|
|
D3DDevice_SetLight (4034)
|
|
D3DVertexBuffer_Lock (4034)
|
|
D3DDevice_SetTexture (4034)
|
|
D3DDevice_SetPalette (4034)
|
|
D3DDevice_SetTextureState_TexCoordIndex (4034)
|
|
D3DDevice_SetMaterial (4034)
|
|
D3DDevice_SetVertexShader (4034)
|
|
D3DDevice_Swap (4034)
|
|
D3D::KickOffAndwaitForIdle (4034)
|
|
|
|
11/8/10
|
|
- Added the following function(s)
|
|
XGSwizzleBox (4034)
|
|
XGSwizzleRect (4034)
|
|
D3D::PixelJar::Get2DSurfaceDesc (5558)
|
|
D3DTexture_LockRect (5558)
|
|
D3D::MakeRequestedSpace (5558)(*)
|
|
D3DDevice_MakeSpace (5558)(*)
|
|
CDirectSoundVoice::SetI3DL2Source (5558)
|
|
CDirectSoundBuffer::SetI3DL2Source (5558)
|
|
IDirectSoundBuffer8_SetI3DL2Source (5558)
|
|
CDirectSoundVoice::SetAllParameters (5558)
|
|
CDirectSoundBuffer::SetAllParameters (5558)
|
|
IDirectSoundBuffer8_SetAllParameters (5558)
|
|
XGetSectionHandleA (5558)
|
|
XLoadSectionByHandleA (5558)
|
|
XFreeSectionByHandleA (5558)
|
|
CDirectSoundVoice::SetHeadroom (5558)
|
|
CDirectSoundBuffer::SetHeadroom (5558)
|
|
IDirectSoundBuffer8_SetHeadroom (5558)
|
|
CDirectSoundStream::SetHeadroom (5558)(**)
|
|
CDirectSoundBuffer::GetCurrentPosition (5558)
|
|
IDirectSoundBuffer_GetCurrentPosition (5558)
|
|
CDirectSoundStream::SetFormat (5558)
|
|
CDirectSoundStream::SetMixBins (5558)
|
|
D3DDevice_SetRenderTarget (5558)
|
|
D3DDevice_SetPixelShaderConstant (5558)
|
|
Lock2DSurface (5558)
|
|
D3DDevice_SetFlickerFilter (5455)
|
|
CDirectSound::EnableHeadphones (5455, 5558)
|
|
IDirectSound8_EnableHeadphones (5455, 5558)
|
|
SetThreadPriority (5455, 5558)
|
|
D3DDevice_BlockUntilVerticalBlank (5455)
|
|
GetThreadPriority (5455, 5558)
|
|
GetTimeZoneInformation (5455, 5558)
|
|
SetThreadPriorityBoost (5455, 5558)
|
|
D3DDevice_SetScissors (5455)
|
|
D3DDevice_SetScreenSpaceOffset (5455, 5558)
|
|
D3DDevice_InsertCallback (5455, 5558)
|
|
D3DDevice_SetRenderState_LineWidth (5455)
|
|
D3DDevice_FlushVertexCache (5455, 5558)
|
|
D3DDevice_SetRenderState_LogicOp (5455, 5558)
|
|
|
|
- Added the following file(s)
|
|
XG.1.0.4034.cpp/h
|
|
|
|
- Fixed the 5558 signature for D3DDevice_SetVertexShaderConstant1
|
|
|
|
- Added cube texture support in EmuIDirect3DDevice8_CreateTexture2
|
|
|
|
- Metal Arms (XDK 5558) is starting to work!
|
|
|
|
(*) These functions are not to be emulated, just used to find functions
|
|
that call them... making my life easer!
|
|
|
|
(**) I only added the signature, not the actual function that goes with
|
|
it. I'll do that later because I'm just adding the stuff that Metal Arms
|
|
needs to work for now.
|
|
|
|
11/9/10
|
|
- Added the following function(s)
|
|
D3DDevice_LightEnable (5455)
|
|
D3DDevice_SetModelView (5455, 5558)
|
|
D3DDevice_SetIndices (5455)
|
|
IDirectSound_AddRef (5233)
|
|
D3DDevice_SetVertexData4ub (4531-5344)
|
|
D3DDevice_SetVertexData2f (5233, 5344)
|
|
D3DDevice_SetVertexData4f (5233, 5344)
|
|
D3DDevice_SetViewport (5344)
|
|
D3DDevice_SetTransform (5344)
|
|
D3DDevice_GetBackBuffer2B (5558)(*)
|
|
D3DDevice_PersistDisplay (5558)
|
|
|
|
- An implementation of D3DDevice_SetModelView is still needed!
|
|
|
|
- Fixed a bug in HLEIntercept.cpp; XapiInitProcess sig for XDK 5344 was not
|
|
being referenced (was using 5233's sig instead).
|
|
|
|
- Tetris Worlds (5233) shows intro screens and XIII (5558) shows dirty disc
|
|
error (because I didn't hava a full dump).
|
|
|
|
(*) Nothing special, but the signature is just different by one byte
|
|
in XIII, so I created two different sigs so Metal Arms doesn't break!
|
|
|
|
11/11/10
|
|
- Added the following function(s)
|
|
D3DDevice_Release (4361)
|
|
D3D::CreateStandAloneSurface (4034)(*)
|
|
D3DDevice_GetBackBuffer (4034)
|
|
D3D::SetTileNoWait (5849)
|
|
D3DDevice_SetGammaRamp (5849)
|
|
CDirectSoundVoiceSettings::SetMixBins (5849)
|
|
CDirectSoundVoice::SetMixBins (5849)
|
|
CDirectSoundBuffer::SetMixBins (5849)
|
|
IDirectSoundBuffer_SetMixBins (5849)
|
|
CDirectSoundStream_SetMixBins (5849)
|
|
CDirectSound::SetMixBinVolumes (5849)
|
|
IDirectSound_SetMixBinVolumes (5849)
|
|
XnInit (5849)
|
|
XNetStartup (5849)
|
|
WSAStartup (5849)
|
|
XNetGetEthernetLinkStatus (5849)
|
|
XInputSetState (5849)
|
|
CDirectSound::SetPosition (5849)
|
|
IDirectSound_SetPosition (5849)
|
|
|
|
(*) D3DDevice_CreateImageSurface is just a simple call to this function.
|
|
It's the same, so treat it as such. Add it whenever possible because
|
|
Cxbx won't crash when it's not intercepted! I added this and Simpsons
|
|
RoadRage started to work!
|
|
|
|
11/13/10
|
|
- Added the following function(s)
|
|
CDirectSound::setVelocity (5849)
|
|
IDirectSound_SetVelocity (5849)
|
|
CDirectSound::CommitDeferredSettings (5849)
|
|
D3DDevice_GetRenderTarget2 (5849)
|
|
|
|
12/13/10
|
|
- Added the following function(s)
|
|
D3D::BlockOnTime (3911) [3925]
|
|
D3D::BlockOnResource (3911) [3925]
|
|
|
|
- Fixed a bug in NtAllocateVirtualMemory. The Xbox exclusive flag MEM_NOZERO
|
|
holds the same value as MEM_ROTATE, causing an error to be returned (0xC00000F3)
|
|
that occurs in XP, but not Vista.
|
|
|
|
- Azurik now goes ingame on XP (due to the above fix)! Man, I love this game so
|
|
much... *tear*
|
|
|
|
12/26/10
|
|
- Added the following function(s)
|
|
D3DDevice_CreateCubeTexture (4361)
|
|
D3DCubeTexture_GetCubeMapSurface (4361)
|
|
|
|
1/13/11
|
|
- Added the following function(s)
|
|
XInputGetCapabilities (4928, for Defender)
|
|
CDirectSound::SetAllParameters (4928)
|
|
CDirectSoundVoice::SetRollOffCurve (4627-4928)
|
|
CDirectSoundBuffer::SetRollOffCurve (4627-4928)
|
|
CDirectSoundStream::SetRollOffCurve (4627-4928)
|
|
IDirectSoundBuffer_SetRollOffCurve (4627-4928)
|
|
D3D::BlockOnTime (4627-4928)
|
|
D3DDevice_BlockOnFence (4627-4928)
|
|
|
|
1/28/11
|
|
- Added the following texture format(s)
|
|
D3DFMT_LIN_A8
|
|
|
|
- Added the following function(s)
|
|
D3D::PixelJar::Lock3DSurface (4627-4831)(*)
|
|
D3D::PixelJar::Lock2DSurface (4242-5120)(*)
|
|
D3DDevice_CreateImageSurface (4627-4831)
|
|
D3DCubeTexture8_GetCubeMapSurface2 (4627-4831)
|
|
XFileCreateMediaObjectEx (4627-4831)
|
|
|
|
- Fixed a bug in EmuIDirect3DDevice8_SetTextureStageState_TextureCoordIndex
|
|
|
|
- Whacked goes ingame, only on Debug mode so far. Retail crashes. Single
|
|
player campaign crashes also :(
|
|
|
|
- Quantum Redshift reaches menus. Missing blending required option.
|
|
|
|
(*) These should have been added a long time ago. With all due respect, I
|
|
find it a bit amusing that D3DDevice_CopyRects was implemented and
|
|
D3DDevice_CreateImageSurface wasn't O_o
|
|
|
|
TODO: Verify that Lock3DSurface is the same on other XDKs like Lock2DSurface
|
|
|
|
1/29/11
|
|
- Added the following function(s):
|
|
XWaveFileCreateMediaObject (4627-4831)
|
|
CDirectSoundBuffer::SetEG (4627-4721)
|
|
IDirectSoundBuffer_SetEG (4627-4721)
|
|
D3DDevice_SetSoftDisplayFilter (4627-4928)
|
|
XGetFileCacheSize (4627-4928)
|
|
CDirectSoundStream_SetHeadRoom (4627-4928)
|
|
D3DDevice_SetPixelShader (4627-4928)
|
|
D3DDevice_CreatePalette2 (4627)
|
|
D3DPalette_Lock2 (4627)
|
|
|
|
- Added a dirty hack for a missing blend state D3DBLEND_CONSTANTCOLOR
|
|
This is not supported by standard Direct3D, but is supported on OpenGL.
|
|
|
|
- Quantum Redshift; controller input not yet working, but updated to ingame
|
|
status because ingame graphics do work when demos are played and loads
|
|
levels without problems, but complete loading fails due to a failed texture
|
|
creation attempt (512x512xDXT1 8 mip levels). Controller won't respond.
|
|
|
|
2/3/11
|
|
- Added the following function(s)
|
|
XMountMUA (5558)
|
|
Probably more I forgot.
|
|
|
|
2/4/11
|
|
- Added the following function(s)
|
|
D3DDevice::SetRenderState_StencilFail (5849)
|
|
D3DDevice::SetRenderState_VertexBlend (5849)
|
|
D3DDevice::SetRenderState_MultiSampleMask (5849)
|
|
D3DDevice::SetPalette (5849)
|
|
D3DDevice::LoadVertexShaderProgram (5849)
|
|
DirectSoundCreateBuffer (5849)
|
|
XGetDeviceEnumerationStatus (5849)
|
|
D3DDevice::GetPushBufferOffset (5849)
|
|
D3D::MakeRequestedSpace (5849) (XRef only)
|
|
D3D::MakeSpace? (5849) (XRef only)
|
|
D3DDevice_SetVertexShaderConstantNotInline (5849)
|
|
D3DDevice_FlushVertexCache (5849)
|
|
D3DDevice_BeginPushBuffer (4627)
|
|
D3DDevice_EndPushBuffer (4627)
|
|
|
|
3/27/11
|
|
- Instead of redirecting DSOUND 4134 -> 4627, Write a totally new DSOUND .inl
|
|
file for it. See? I'm working on JSRF...
|
|
- Added the following function(s)
|
|
IDirectSound8_CreateSoundBuffer (4134)
|
|
CDirectSoundVoice::SetHeadroom (4134)
|
|
CDirectSoundBuffer::SetHeadroom (4134)
|
|
IDirectSoundBuffer_SetHeadroom (4134)
|
|
IDirectSoundBuffer_Lock (4134)
|
|
CDirectSoundVoice::SetVolume (4134)
|
|
CDirectSoundBuffer::SetVolume (4134)
|
|
IDirectSoundBuffer_SetVolume (4134)
|
|
CDirectSound::SetI3DL2Listener (4134)
|
|
IDirectSound_SetI3DL2Listener (4134)
|
|
CDirectSound::GetBufferData (4134)
|
|
IDirectSound_GetBufferData (4134)
|
|
timeSetEvent (4134)
|
|
timeKillEvent (4134)
|
|
CDirectSoundVoiceSettings::SetMixBins (4134)
|
|
CDirectSoundVoice::SetMixBins (4134)
|
|
CDirectSoundBuffer::SetMixBins (4134)
|
|
IDirectSoundBuffer_SetMixBins (4134)
|
|
|
|
4/6/11
|
|
- Added the following function(s)
|
|
XGSetTextureHeader (3911)
|
|
|
|
4/16/11
|
|
- Added the following function(s)
|
|
D3DDevice_SetShaderConstantMode (4134)
|
|
|
|
4/17/11
|
|
- Added the following function(s)
|
|
D3DDevice_GetVertexShaderSize (5849)
|
|
D3DDevice_LoadVertexShader (5849)
|
|
D3DDevice_SelectVertexShader (5849)
|
|
CMcpxBuffer::SetCurrentPosition (5849)
|
|
CDirectSoundBuffer::SetCurrentPosition (5849)
|
|
IDirectSoundBuffer_SetCurrentPosition (5849)
|
|
|
|
5/9/11
|
|
- Added the following function(s)
|
|
CDirectSound::SetDistanceFactor (4531)
|
|
CDirectSound::SetDopplerFactor (4531)
|
|
CDirectSoundBuffer::SetLoopRegion (5849)
|
|
IDirectSoundBuffer_SetLoopRegion (5849)
|
|
XFormatUtilityDrive (5849)
|
|
D3DDevice_AddRef (5849)
|
|
D3D::ClearStateBlockFlags (5849)
|
|
D3D::RecordStateBlock (5849)
|
|
D3DDevice_BeginStateBlock (5849)
|
|
D3DDevice_EndStateBlock (5849)
|
|
CMcpxBuffer::Stop (5849)
|
|
CDirectSoundBuffer::StopEx (5849)
|
|
IDirectSoundBuffer_StopEx (5849)
|
|
|
|
5/20/11
|
|
- Added the following function(s)
|
|
D3DDevice_SetRenderState_BackFillMode (5849)
|
|
D3DDevice_SetRenderState_Dxt1NoiseEnable (5849)
|
|
D3DDevice_GetTile (5849)
|
|
XapiInitProcess (5028)
|
|
|
|
6/15/11
|
|
- Added the following function(s)
|
|
XGUnswizzleRect (4627)
|
|
|
|
- Added the following source file(s)
|
|
XG.1.0.4432.h/inl
|
|
|
|
6/25/11
|
|
- Added the following function(s)
|
|
XInputGetDeviceDescription (4831)
|
|
|
|
- Fixed the signature for XInputCapabilities (4831). This signature is
|
|
generally very weak among 4831 and 4928...
|
|
|
|
11/2/11
|
|
- Added the following function(s)
|
|
XAutoPowerDownResetTimer (3911, 3944)
|
|
CDirectSoundBuffer::SetNotificationPositions (3911, 3944)
|
|
IDirectSoundBuffer_SetNotificationPositions (3911, 3944)
|
|
XLoadSectionHandleA (3911, 3944)
|
|
XFreeSectionHandleA (3911, 3944)
|
|
XGetSectionHandleA (3911, 3944)
|
|
XMountMURootA (3911, 3944)
|
|
|
|
- Added the following kernel function(s)
|
|
DbgPrint
|
|
ExSaveNonVolatileSetting
|
|
|
|
- Xbox Dashboard (3944) is working. Not fully functional but working.
|
|
|
|
11/3/11
|
|
- Made a few quick fixes to make the Dashboard a little more functional
|
|
and a little less buggy/crashy. Now only the system info option will
|
|
kill you!
|
|
|
|
12/3/11
|
|
- Added proper critical section handling. Xbox critical section structure
|
|
is different than the Win32 one. Using revel8n (defiance)'s code. Thanks!
|
|
|
|
- Added a dirty fix for XAPILIB.1.0.3950. So far, only the Halo demo uses this.
|
|
Should make a proper fix later.
|
|
|
|
1/7/12
|
|
- Added the following function(s)
|
|
CreateFiber (5558-5849)
|
|
DeleteFiber (5558-5849)
|
|
SwitchToFiber (3911, 5558-5849)
|
|
ChangeThreadToFiber (3911, 5558-5849)
|
|
|
|
1/10/12
|
|
- Added the following function(s)
|
|
D3DDevice_Swap (5849)(*)
|
|
D3D::CDevice::KickOff (D3DDevice::KickPushBuffer) (5849)
|
|
D3DDevice_SetRenderState_RopZCmpAlwaysRead (5455-5849)
|
|
D3DDevice_SetRenderState_RopZRead (5455-5849)
|
|
D3DDevice_SetRenderState_DoNotCullUncompressed (5455-5849)
|
|
D3DDevice_SetSoftDisplayFilter (5849)
|
|
D3DDevice_SetFlickerFilter (5849)
|
|
CDirectSound::SetRollOffFactor (5849)
|
|
IDirectSound8_SetRollOffFactor (5849)
|
|
CDirectSound::SetDopplerFactor (5849)
|
|
IDirectSound8_SetDopplerFactor (5849)
|
|
CDirectSoundVoice::SetPitch (5849)
|
|
CDirectSoundBuffer::SetPitch (5849)
|
|
IDirectSoundBuffer8:SetPitch (5849)
|
|
CDirectSoundVoice::SetMaxDistance (5849)
|
|
CDirectSoundBuffer::SetMaxDistance (5849)
|
|
IDirectSoundBuffer8_SetMaxDistance (5849)
|
|
CDirectSoundVoice::SetMinDistance (5849)
|
|
CDirectSoundBuffer::SetMinDistance (5849)
|
|
IDirectSoundBuffer8_SetMinDistance (5849)
|
|
CDirectSoundVoice::SetVolume (5849)
|
|
CDirectSoundBuffer::SetVolume (5849)
|
|
IDirectSoundBuffer8_SetVolume (5849)
|
|
CDirectSoundVoice::SetPosition (5849)
|
|
CDirectSoundBuffer::SetPosition (5849)
|
|
IDirectSoundBuffer8_SetPosition (5849)
|
|
CDirectSoundVoice::SetVelocity (5849)
|
|
CDirectSoundBuffer::SetVelocity (5849)
|
|
IDirectSoundBuffer8_SetVelocity (5849)
|
|
CMcpxBuffer::Play (5849)(**)
|
|
CDirectSoundBuffer::PlayEx (5849)
|
|
IDirectSoundBuffer8_PlayEx (5849)
|
|
D3DDevice_SetRenderState_MultiSampleMode (5849)
|
|
D3DDevice_SetRenderState_MultiSampleRenderTargetMode (5849)
|
|
D3DDevice_SetRenderState_MultiSampleAntiAlias (5849)
|
|
D3DDevice_SetRenderState_MultiSampleMask (5849)
|
|
RtlDestroyHeap (4242-4531, 4721-5849)
|
|
CDirectSound::CreateSoundStream (5849)
|
|
DirectSoundCreateStream (5849)
|
|
CDirectSoundStream::SetMixBinVolumes (5849)
|
|
CMcpxStream::Pause (5849)
|
|
CDirectSoundStream::Pause (5849)
|
|
CDirectSoundStream::FlushEx (5849)
|
|
IDirectSoundStream_FlushEx (5849)
|
|
DirectSoundDoWork (5849)
|
|
D3DDevice_GeDisplayFieldStatus (5849)
|
|
CDirectSound::SynchPlayback (5849)
|
|
IDirectSound8_SynchPlayback (5849)
|
|
|
|
- Fixed a tiny bug in the vertex shader reassembler code (needed a bigger buffer
|
|
for Castlevania).
|
|
|
|
(*) Needed an alternative signature for this one.
|
|
(**) Needed a new signature. |