* Copyright 2011 Joakim Sindholt <opensource@zhasha.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* on the rights to use, copy, modify, merge, publish, distribute, sub
* license, and/or sell copies of the Software, and to permit persons to whom
* the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE. */
static void make_vtable_ID3DAdapter9Vtbl(x64emu_t* emu, ID3DAdapter9Vtbl* new, ID3DAdapter9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetAdapterIdentifier, iWpup);
GO(CheckDeviceType, iWpiiii);
GO(CheckDeviceFormat, iWpiiuii);
GO(CheckDeviceMultiSampleType, iWpiiiip);
GO(CheckDepthStencilMatch, iWpiiii);
GO(CheckDeviceFormatConversion, iWpiii);
GO(GetDeviceCaps, iWpip);
GO(CreateDevice, iWEpuipupppp);
GO(CreateDeviceEx, iWEpuipuppppp);
}
static void make_vtable_IDirect3D9Vtbl(x64emu_t* emu, IDirect3D9Vtbl* new, IDirect3D9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(RegisterSoftwareDevice, iWpp);
GO(GetAdapterCount, uWp);
GO(GetAdapterIdentifier, iWpuup);
GO(GetAdapterModeCount, uWpui);
GO(EnumAdapterModes, iWpuiup);
GO(GetAdapterDisplayMode, iWpup);
GO(CheckDeviceType, iWpuiiii);
GO(CheckDeviceFormat, iWpuiiuii);
GO(CheckDeviceMultiSampleType, iWpuiiiip);
GO(CheckDepthStencilMatch, iWpuiiii);
GO(CheckDeviceFormatConversion, iWpuiii);
GO(GetDeviceCaps, iWpuip);
GO(GetAdapterMonitor, pWpu);
GO(CreateDevice, iWpuipupp);
}
static void make_vtable_IDirect3D9ExVtbl(x64emu_t* emu, IDirect3D9ExVtbl* new, IDirect3D9ExVtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(RegisterSoftwareDevice, iWpp);
GO(GetAdapterCount, uWp);
GO(GetAdapterIdentifier, iWpuup);
GO(GetAdapterModeCount, uWpui);
GO(EnumAdapterModes, iWpuiup);
GO(GetAdapterDisplayMode, iWpup);
GO(CheckDeviceType, iWpuiiii);
GO(CheckDeviceFormat, iWpuiiuii);
GO(CheckDeviceMultiSampleType, iWpuiiiip);
GO(CheckDepthStencilMatch, iWpuiiii);
GO(CheckDeviceFormatConversion, iWpuiii);
GO(GetDeviceCaps, iWpuip);
GO(GetAdapterMonitor, pWpu);
GO(CreateDevice, iWpuipupp);
GO(GetAdapterModeCountEx, uWpup);
GO(EnumAdapterModesEx, iWpupup);
GO(GetAdapterDisplayModeEx, iWpupp);
GO(CreateDeviceEx, iWpuipuppp);
GO(GetAdapterLUID, iWpup);
}
static void make_vtable_IDirect3D9ExOverlayExtensionVtbl(x64emu_t* emu, IDirect3D9ExOverlayExtensionVtbl* new, IDirect3D9ExOverlayExtensionVtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(CheckDeviceOverlayType, iWpuiuuipip);
}
static void make_vtable_IDirect3DAuthenticatedChannel9Vtbl(x64emu_t* emu, IDirect3DAuthenticatedChannel9Vtbl* new, IDirect3DAuthenticatedChannel9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetCertificateSize, iWpp);
GO(GetCertificate, iWpup);
GO(NegotiateKeyExchange, iWpup);
GO(Query, iWpupup);
GO(Configure, iWpupp);
}
static void make_vtable_IDirect3DBaseTexture9Vtbl(x64emu_t* emu, IDirect3DBaseTexture9Vtbl* new, IDirect3DBaseTexture9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
GO(SetLOD, uWpu);
GO(GetLOD, uWp);
GO(GetLevelCount, uWp);
GO(SetAutoGenFilterType, iWpi);
GO(GetAutoGenFilterType, iWp);
GO(GenerateMipSubLevels, vWp);
}
static void make_vtable_IDirect3DCryptoSession9Vtbl(x64emu_t* emu, IDirect3DCryptoSession9Vtbl* new, IDirect3DCryptoSession9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetCertificateSize, iWpp);
GO(GetCertificate, iWpup);
GO(NegotiateKeyExchange, iWpup);
GO(EncryptionBlt, iWpppup);
GO(DecryptionBlt, iWpppuppp);
GO(GetSurfacePitch, iWppp);
GO(StartSessionKeyRefresh, iWppu);
GO(FinishSessionKeyRefresh, iWp);
GO(GetEncryptionBltKey, iWppu);
}
static void make_vtable_IDirect3DCubeTexture9Vtbl(x64emu_t* emu, IDirect3DCubeTexture9Vtbl* new, IDirect3DCubeTexture9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
GO(SetLOD, uWpu);
GO(GetLOD, uWp);
GO(GetLevelCount, uWp);
GO(SetAutoGenFilterType, iWpi);
GO(GetAutoGenFilterType, iWp);
GO(GenerateMipSubLevels, vWp);
GO(GetLevelDesc, iWpup);
GOM(GetCubeMapSurface, iWEpiup);
GO(LockRect, iWpiuppu);
GO(UnlockRect, iWpiu);
GO(AddDirtyRect, iWpip);
}
static void make_vtable_IDirect3DDevice9Vtbl(x64emu_t* emu, IDirect3DDevice9Vtbl* new, IDirect3DDevice9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(TestCooperativeLevel, iWp);
GO(GetAvailableTextureMem, uWp);
GO(EvictManagedResources, iWp);
GOM(GetDirect3D, iWEpp);
GO(GetDeviceCaps, iWpp);
GO(GetDisplayMode, iWpup);
GO(GetCreationParameters, iWpp);
GO(SetCursorProperties, iWpuup);
GO(SetCursorPosition, vWpiiu);
GO(ShowCursor, iWpi);
GOM(CreateAdditionalSwapChain, iWEppp);
GOM(GetSwapChain, iWEpup);
GO(GetNumberOfSwapChains, uWp);
GO(Reset, iWpp);
GO(Present, iWppppp);
GOM(GetBackBuffer, iWEpuuip);
GO(GetRasterStatus, iWpup);
GO(SetDialogBoxMode, iWpi);
GO(SetGammaRamp, vWpuup);
GO(GetGammaRamp, vWpup);
GOM(CreateTexture, iWEpuuuuiipp);
GOM(CreateVolumeTexture, iWEpuuuuuiipp);
GOM(CreateCubeTexture, iWEpuuuiipp);
GOM(CreateVertexBuffer, iWEpuuuipp);
GOM(CreateIndexBuffer, iWEpuuiipp);
GOM(CreateRenderTarget, iWEpuuiiuipp);
GOM(CreateDepthStencilSurface, iWEpuuiiuipp);
GO(UpdateSurface, iWppppp);
GO(UpdateTexture, iWppp);
GO(GetRenderTargetData, iWppp);
GO(GetFrontBufferData, iWpup);
GO(StretchRect, iWpppppi);
GO(ColorFill, iWpppu);
GOM(CreateOffscreenPlainSurface, iWEpuuiipp);
GO(SetRenderTarget, iWpup);
GOM(GetRenderTarget, iWEpup);
GO(SetDepthStencilSurface, iWpp);
GOM(GetDepthStencilSurface, iWEpp);
GO(BeginScene, iWp);
GO(EndScene, iWp);
GO(Clear, iWpupuufu);
GO(SetTransform, iWpip);
GO(GetTransform, iWpip);
GO(MultiplyTransform, iWpip);
GO(SetViewport, iWpp);
GO(GetViewport, iWpp);
GO(SetMaterial, iWpp);
GO(GetMaterial, iWpp);
GO(SetLight, iWpup);
GO(GetLight, iWpup);
GO(LightEnable, iWpui);
GO(GetLightEnable, iWpup);
GO(SetClipPlane, iWpup);
GO(GetClipPlane, iWpup);
GO(SetRenderState, iWpiu);
GO(GetRenderState, iWpip);
GOM(CreateStateBlock, iWEpip);
GO(BeginStateBlock, iWp);
GOM(EndStateBlock, iWEpp);
GO(SetClipStatus, iWpp);
GO(GetClipStatus, iWpp);
GO(GetTexture, iWpup);
GO(SetTexture, iWpup);
GO(GetTextureStageState, iWpuip);
GO(SetTextureStageState, iWpuiu);
GO(GetSamplerState, iWpuip);
GO(SetSamplerState, iWpuiu);
GO(ValidateDevice, iWpp);
GO(SetPaletteEntries, iWpup);
GO(GetPaletteEntries, iWpup);
GO(SetCurrentTexturePalette, iWpu);
GO(GetCurrentTexturePalette, iWpp);
GO(SetScissorRect, iWpp);
GO(GetScissorRect, iWpp);
GO(SetSoftwareVertexProcessing, iWpi);
GO(GetSoftwareVertexProcessing, iWp);
GO(SetNPatchMode, iWpf);
GO(GetNPatchMode, fWp);
GO(DrawPrimitive, iWpiuu);
GO(DrawIndexedPrimitive, iWpiiuuuu);
GO(DrawPrimitiveUP, iWpiupu);
GO(DrawIndexedPrimitiveUP, iWpiuuupipu);
GO(ProcessVertices, iWpuuuppu);
GOM(CreateVertexDeclaration, iWEppp);
GO(SetVertexDeclaration, iWpp);
GO(GetVertexDeclaration, iWpp);
GO(SetFVF, iWpu);
GO(GetFVF, iWpp);
GOM(CreateVertexShader, iWEppp);
GO(SetVertexShader, iWpp);
GO(GetVertexShader, iWpp);
GO(SetVertexShaderConstantF, iWpupu);
GO(GetVertexShaderConstantF, iWpupu);
GO(SetVertexShaderConstantI, iWpupu);
GO(GetVertexShaderConstantI, iWpupu);
GO(SetVertexShaderConstantB, iWpupu);
GO(GetVertexShaderConstantB, iWpupu);
GO(SetStreamSource, iWpupuu);
GO(GetStreamSource, iWpuppp);
GO(SetStreamSourceFreq, iWpuu);
GO(GetStreamSourceFreq, iWpup);
GO(SetIndices, iWpp);
GO(GetIndices, iWpp);
GOM(CreatePixelShader, iWEppp);
GO(SetPixelShader, iWpp);
GO(GetPixelShader, iWpp);
GO(SetPixelShaderConstantF, iWpupu);
GO(GetPixelShaderConstantF, iWpupu);
GO(SetPixelShaderConstantI, iWpupu);
GO(GetPixelShaderConstantI, iWpupu);
GO(SetPixelShaderConstantB, iWpupu);
GO(GetPixelShaderConstantB, iWpupu);
GO(DrawRectPatch, iWpupp);
GO(DrawTriPatch, iWpupp);
GO(DeletePatch, iWpu);
GOM(CreateQuery, iWEpip);
}
static void make_vtable_IDirect3DDevice9ExVtbl(x64emu_t* emu, IDirect3DDevice9ExVtbl* new, IDirect3DDevice9ExVtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(TestCooperativeLevel, iWp);
GO(GetAvailableTextureMem, uWp);
GO(EvictManagedResources, iWp);
GO(GetDirect3D, iWpp);
GO(GetDeviceCaps, iWpp);
GO(GetDisplayMode, iWpup);
GO(GetCreationParameters, iWpp);
GO(SetCursorProperties, iWpuup);
GO(SetCursorPosition, vWpiiu);
GO(ShowCursor, iWpi);
GOM(CreateAdditionalSwapChain, iWEppp);
GOM(GetSwapChain, iWEpup);
GO(GetNumberOfSwapChains, uWp);
GO(Reset, iWpp);
GO(Present, iWppppp);
GOM(GetBackBuffer, iWEpuuip);
GO(GetRasterStatus, iWpup);
GO(SetDialogBoxMode, iWpi);
GO(SetGammaRamp, vWpuup);
GO(GetGammaRamp, vWpup);
GOM(CreateTexture, iWEpuuuuiipp);
GOM(CreateVolumeTexture, iWEpuuuuuiipp);
GOM(CreateCubeTexture, iWEpuuuiipp);
GOM(CreateVertexBuffer, iWEpuuuipp);
GOM(CreateIndexBuffer, iWEpuuiipp);
GOM(CreateRenderTarget, iWEpuuiiuipp);
GOM(CreateDepthStencilSurface, iWEpuuiiuipp);
GO(UpdateSurface, iWppppp);
GO(UpdateTexture, iWppp);
GO(GetRenderTargetData, iWppp);
GO(GetFrontBufferData, iWpup);
GO(StretchRect, iWpppppi);
GO(ColorFill, iWpppu);
GOM(CreateOffscreenPlainSurface, iWEpuuiipp);
GO(SetRenderTarget, iWpup);
GOM(GetRenderTarget, iWEpup);
GO(SetDepthStencilSurface, iWpp);
GOM(GetDepthStencilSurface, iWEpp);
GO(BeginScene, iWp);
GO(EndScene, iWp);
GO(Clear, iWpupuufu);
GO(SetTransform, iWpip);
GO(GetTransform, iWpip);
GO(MultiplyTransform, iWpip);
GO(SetViewport, iWpp);
GO(GetViewport, iWpp);
GO(SetMaterial, iWpp);
GO(GetMaterial, iWpp);
GO(SetLight, iWpup);
GO(GetLight, iWpup);
GO(LightEnable, iWpui);
GO(GetLightEnable, iWpup);
GO(SetClipPlane, iWpup);
GO(GetClipPlane, iWpup);
GO(SetRenderState, iWpiu);
GO(GetRenderState, iWpip);
GOM(CreateStateBlock, iWEpip);
GO(BeginStateBlock, iWp);
GOM(EndStateBlock, iWEpp);
GO(SetClipStatus, iWpp);
GO(GetClipStatus, iWpp);
GO(GetTexture, iWpup);
GO(SetTexture, iWpup);
GO(GetTextureStageState, iWpuip);
GO(SetTextureStageState, iWpuiu);
GO(GetSamplerState, iWpuip);
GO(SetSamplerState, iWpuiu);
GO(ValidateDevice, iWpp);
GO(SetPaletteEntries, iWpup);
GO(GetPaletteEntries, iWpup);
GO(SetCurrentTexturePalette, iWpu);
GO(GetCurrentTexturePalette, iWpp);
GO(SetScissorRect, iWpp);
GO(GetScissorRect, iWpp);
GO(SetSoftwareVertexProcessing, iWpi);
GO(GetSoftwareVertexProcessing, iWp);
GO(SetNPatchMode, iWpf);
GO(GetNPatchMode, fWp);
GO(DrawPrimitive, iWpiuu);
GO(DrawIndexedPrimitive, iWpiiuuuu);
GO(DrawPrimitiveUP, iWpiupu);
GO(DrawIndexedPrimitiveUP, iWpiuuupipu);
GO(ProcessVertices, iWpuuuppu);
GOM(CreateVertexDeclaration, iWEppp);
GO(SetVertexDeclaration, iWpp);
GO(GetVertexDeclaration, iWpp);
GO(SetFVF, iWpu);
GO(GetFVF, iWpp);
GOM(CreateVertexShader, iWEppp);
GO(SetVertexShader, iWpp);
GO(GetVertexShader, iWpp);
GO(SetVertexShaderConstantF, iWpupu);
GO(GetVertexShaderConstantF, iWpupu);
GO(SetVertexShaderConstantI, iWpupu);
GO(GetVertexShaderConstantI, iWpupu);
GO(SetVertexShaderConstantB, iWpupu);
GO(GetVertexShaderConstantB, iWpupu);
GO(SetStreamSource, iWpupuu);
GO(GetStreamSource, iWpuppp);
GO(SetStreamSourceFreq, iWpuu);
GO(GetStreamSourceFreq, iWpup);
GO(SetIndices, iWpp);
GO(GetIndices, iWpp);
GOM(CreatePixelShader, iWEppp);
GO(SetPixelShader, iWpp);
GO(GetPixelShader, iWpp);
GO(SetPixelShaderConstantF, iWpupu);
GO(GetPixelShaderConstantF, iWpupu);
GO(SetPixelShaderConstantI, iWpupu);
GO(GetPixelShaderConstantI, iWpupu);
GO(SetPixelShaderConstantB, iWpupu);
GO(GetPixelShaderConstantB, iWpupu);
GO(DrawRectPatch, iWpupp);
GO(DrawTriPatch, iWpupp);
GO(DeletePatch, iWpu);
GOM(CreateQuery, iWEpip);
GO(SetConvolutionMonoKernel, iWpuupp);
GO(ComposeRects, iWppppupiii);
GO(PresentEx, iWpppppu);
GO(GetGPUThreadPriority, iWpp);
GO(SetGPUThreadPriority, iWpi);
GO(WaitForVBlank, iWpu);
GOM(CheckResourceResidency, iWEppu);
GO(SetMaximumFrameLatency, iWpu);
GO(GetMaximumFrameLatency, iWpp);
GO(CheckDeviceState, iWpp);
GOM(CreateRenderTargetEx, iWEpuuiiuippu);
GOM(CreateOffscreenPlainSurfaceEx, iWEpuuiippu);
GOM(CreateDepthStencilSurfaceEx, iWEpuuiiuippu);
GO(ResetEx, iWppp);
GO(GetDisplayModeEx, iWpupp);
}
static void make_vtable_IDirect3DDevice9VideoVtbl(x64emu_t* emu, IDirect3DDevice9VideoVtbl* new, IDirect3DDevice9VideoVtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetContentProtectionCaps, iWpppp);
GOM(CreateAuthenticatedChannel, iWEpipp);
GOM(CreateCryptoSession, iWEppppp);
}
static void make_vtable_IDirect3DIndexBuffer9Vtbl(x64emu_t* emu, IDirect3DIndexBuffer9Vtbl* new, IDirect3DIndexBuffer9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
GO(Lock, iWpuupu);
GO(Unlock, iWp);
GO(GetDesc, iWpp);
}
static void make_vtable_IDirect3DPixelShader9Vtbl(x64emu_t* emu, IDirect3DPixelShader9Vtbl* new, IDirect3DPixelShader9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(GetFunction, iWppp);
}
static void make_vtable_IDirect3DQuery9Vtbl(x64emu_t* emu, IDirect3DQuery9Vtbl* new, IDirect3DQuery9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(GetType, iWp);
GO(GetDataSize, uWp);
GO(Issue, iWpu);
GO(GetData, iWppuu);
}
static void make_vtable_IDirect3DResource9Vtbl(x64emu_t* emu, IDirect3DResource9Vtbl* new, IDirect3DResource9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
}
static void make_vtable_IDirect3DStateBlock9Vtbl(x64emu_t* emu, IDirect3DStateBlock9Vtbl* new, IDirect3DStateBlock9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(Capture, iWp);
GO(Apply, iWp);
}
static void make_vtable_IDirect3DSurface9Vtbl(x64emu_t* emu, IDirect3DSurface9Vtbl* new, IDirect3DSurface9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
GO(GetContainer, iWppp);
GO(GetDesc, iWpp);
GO(LockRect, iWpppu);
GO(UnlockRect, iWp);
GO(GetDC, iWpp);
GO(ReleaseDC, iWpp);
}
static void make_vtable_IDirect3DSwapChain9Vtbl(x64emu_t* emu, IDirect3DSwapChain9Vtbl* new, IDirect3DSwapChain9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(Present, iWpppppu);
GO(GetFrontBufferData, iWpp);
GO(GetBackBuffer, iWpuip);
GO(GetRasterStatus, iWpp);
GO(GetDisplayMode, iWpp);
GO(GetDevice, iWpp);
GO(GetPresentParameters, iWpp);
}
static void make_vtable_IDirect3DSwapChain9ExVtbl(x64emu_t* emu, IDirect3DSwapChain9ExVtbl* new, IDirect3DSwapChain9ExVtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(Present, iWpppppu);
GO(GetFrontBufferData, iWpp);
GO(GetBackBuffer, iWpuip);
GO(GetRasterStatus, iWpp);
GO(GetDisplayMode, iWpp);
GO(GetDevice, iWpp);
GO(GetPresentParameters, iWpp);
GO(GetLastPresentCount, iWpp);
GO(GetPresentStats, iWpp);
GO(GetDisplayModeEx, iWppp);
}
static void make_vtable_IDirect3DTexture9Vtbl(x64emu_t* emu, IDirect3DTexture9Vtbl* new, IDirect3DTexture9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
GO(SetLOD, uWpu);
GO(GetLOD, uWp);
GO(GetLevelCount, uWp);
GO(SetAutoGenFilterType, iWpi);
GO(GetAutoGenFilterType, iWp);
GO(GenerateMipSubLevels, vWp);
GO(GetLevelDesc, iWpup);
GOM(GetSurfaceLevel, iWEpup);
GO(LockRect, iWpuppu);
GO(UnlockRect, iWpu);
GO(AddDirtyRect, iWpp);
}
static void make_vtable_IDirect3DVertexBuffer9Vtbl(x64emu_t* emu, IDirect3DVertexBuffer9Vtbl* new, IDirect3DVertexBuffer9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
GO(Lock, iWpuupu);
GO(Unlock, iWp);
GO(GetDesc, iWpp);
}
static void make_vtable_IDirect3DVertexDeclaration9Vtbl(x64emu_t* emu, IDirect3DVertexDeclaration9Vtbl* new, IDirect3DVertexDeclaration9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(GetDeclaration, iWppp);
}
static void make_vtable_IDirect3DVertexShader9Vtbl(x64emu_t* emu, IDirect3DVertexShader9Vtbl* new, IDirect3DVertexShader9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(GetFunction, iWppp);
}
static void make_vtable_IDirect3DVolume9Vtbl(x64emu_t* emu, IDirect3DVolume9Vtbl* new, IDirect3DVolume9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(GetContainer, iWppp);
GO(GetDesc, iWpp);
GO(LockBox, iWpppu);
GO(UnlockBox, iWp);
}
static void make_vtable_IDirect3DVolumeTexture9Vtbl(x64emu_t* emu, IDirect3DVolumeTexture9Vtbl* new, IDirect3DVolumeTexture9Vtbl* real)
{
GO(QueryInterface, iWppp);
GO(AddRef, uWp);
GO(Release, uWp);
GO(GetDevice, iWpp);
GO(SetPrivateData, iWpppuu);
GO(GetPrivateData, iWpppp);
GO(FreePrivateData, iWpp);
GO(SetPriority, uWpu);
GO(GetPriority, uWp);
GO(PreLoad, vWp);
GO(GetType, iWp);
GO(SetLOD, uWpu);
GO(GetLOD, uWp);
GO(GetLevelCount, uWp);
GO(SetAutoGenFilterType, iWpi);
GO(GetAutoGenFilterType, iWp);
GO(GenerateMipSubLevels, vWp);
GO(GetLevelDesc, iWpup);
GOM(GetVolumeLevel, iWEpup);
GO(LockBox, iWpuppu);
GO(UnlockBox, iWpu);
GO(AddDirtyBox, iWpp);
}