Initial commit
This commit is contained in:
parent
60dbd48484
commit
736d1aef61
|
@ -1,2 +1,9 @@
|
|||
# gamedbg
|
||||
Direct3D9 DLL Injection for debugging and hooking into games.
|
||||
|
||||
Direct3D9 DLL Injection
|
||||
|
||||
This is a personal _unreleased_ tool I have used for hacking games and dumping/ripping game content such as textures, 3D models, shaders, and animations. Although it is specific to D3D9 Interfaces, the patterns can be updated to support newer Interfaces of DirectX.
|
||||
|
||||
This tool can launch games with the hooks pre-installed **or** attach to already-running games and infect the vector tables as they are called in real time. The former is useful for simple games, and the latter is useful for games with anti-cheat detection as the anti-cheat can be disabled first, and then this tool injected afterwards. Easy!
|
||||
|
||||
There are no instructions on how to use this tool, but it's pretty straight forward if you're familiar with hooking.
|
|
@ -0,0 +1,155 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
btQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
btQueryInterface_proc typedef ptr btQueryInterface_proto
|
||||
btQueryInterfaceHook proto :dword, :dword, :dword
|
||||
btQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
btQueryInterface btQueryInterface_proc ?
|
||||
.code
|
||||
SQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DBaseTexture9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
btAddRef_proto typedef proto :dword
|
||||
btAddRef_proc typedef ptr btAddRef_proto
|
||||
btAddRefHook proto :dword
|
||||
btADDREF EQU 004
|
||||
.data?
|
||||
btAddRef btAddRef_proc ?
|
||||
.code
|
||||
SAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DBaseTexture9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
btRelease_proto typedef proto :dword
|
||||
btRelease_proc typedef ptr btRelease_proto
|
||||
btReleaseHook proto :dword
|
||||
btRELEASE EQU 008
|
||||
.data?
|
||||
btRelease btRelease_proc ?
|
||||
.code
|
||||
SRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DBaseTexture9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
btGetDevice_proto typedef proto :dword, :dword
|
||||
btGetDevice_proc typedef ptr btGetDevice_proto
|
||||
btGetDeviceHook proto :dword, :dword
|
||||
btGETDEVICE EQU 012
|
||||
.data?
|
||||
btGetDevice btGetDevice_proc ?
|
||||
.code
|
||||
SGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
btSetPrivateData_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
btSetPrivateData_proc typedef ptr btSetPrivateData_proto
|
||||
btSetPrivateDataHook proto :dword, :dword, :dword, :dword, :dword
|
||||
btSETPRIVATEDATA EQU 016
|
||||
.data?
|
||||
btSetPrivateData btSetPrivateData_proc ?
|
||||
.code
|
||||
SSetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->SetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
|
||||
btGetPrivateData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
btGetPrivateData_proc typedef ptr btGetPrivateData_proto
|
||||
btGetPrivateDataHook proto :dword, :dword, :dword, :dword
|
||||
btGETPRIVATEDATA EQU 020
|
||||
.data?
|
||||
btGetPrivateData btGetPrivateData_proc ?
|
||||
.code
|
||||
SGetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
btFreePrivateData_proto typedef proto :dword, :dword
|
||||
btFreePrivateData_proc typedef ptr btFreePrivateData_proto
|
||||
btFreePrivateDataHook proto :dword, :dword
|
||||
btFREEPRIVATEDATA EQU 024
|
||||
.data?
|
||||
btFreePrivateData btFreePrivateData_proc ?
|
||||
.code
|
||||
SFreePrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->FreePrivateData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
btSetPriority_proto typedef proto :dword, :dword
|
||||
btSetPriority_proc typedef ptr btSetPriority_proto
|
||||
btSetPriorityHook proto :dword, :dword
|
||||
btSETPRIORITY EQU 028
|
||||
.data?
|
||||
btSetPriority btSetPriority_proc ?
|
||||
.code
|
||||
SSetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->SetPriority(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
|
||||
btGetPriority_proto typedef proto :dword
|
||||
btGetPriority_proc typedef ptr btGetPriority_proto
|
||||
btGetPriorityHook proto :dword
|
||||
btGETPRIORITY EQU 032
|
||||
.data?
|
||||
btGetPriority btGetPriority_proc ?
|
||||
.code
|
||||
SGetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GetPriority(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, PreLoad)(THIS) PURE;
|
||||
btPreLoad_proto typedef proto :dword
|
||||
btPreLoad_proc typedef ptr btPreLoad_proto
|
||||
btPreLoadHook proto :dword
|
||||
btPRELOAD EQU 036
|
||||
.data?
|
||||
btPreLoad btPreLoad_proc ?
|
||||
.code
|
||||
SPreLoad db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->PreLoad(%08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
|
||||
btGetType_proto typedef proto :dword
|
||||
btGetType_proc typedef ptr btGetType_proto
|
||||
btGetTypeHook proto :dword
|
||||
btGETTYPE EQU 040
|
||||
.data?
|
||||
btGetType btGetType_proc ?
|
||||
.code
|
||||
SGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
|
||||
btSetLOD_proto typedef proto :dword, :dword
|
||||
btSetLOD_proc typedef ptr btSetLOD_proto
|
||||
btSetLODHook proto :dword, :dword
|
||||
btSETLOD EQU 044
|
||||
.data?
|
||||
btSetLOD btSetLOD_proc ?
|
||||
.code
|
||||
SSetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->SetLOD(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
|
||||
btGetLOD_proto typedef proto :dword
|
||||
btGetLOD_proc typedef ptr btGetLOD_proto
|
||||
btGetLODHook proto :dword
|
||||
btGETLOD EQU 048
|
||||
.data?
|
||||
btGetLOD btGetLOD_proc ?
|
||||
.code
|
||||
SGetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GetLOD(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
|
||||
btGetLevelCount_proto typedef proto :dword
|
||||
btGetLevelCount_proc typedef ptr btGetLevelCount_proto
|
||||
btGetLevelCountHook proto :dword
|
||||
btGETLEVELCOUNT EQU 052
|
||||
.data?
|
||||
btGetLevelCount btGetLevelCount_proc ?
|
||||
.code
|
||||
SGetLevelCount db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GetLevelCount(%08X)</font><br>", 0
|
||||
;STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
|
||||
btSetAutoGenFilterType_proto typedef proto :dword, :dword
|
||||
btSetAutoGenFilterType_proc typedef ptr btSetAutoGenFilterType_proto
|
||||
btSetAutoGenFilterTypeHook proto :dword, :dword
|
||||
btSETAUTOGENFILTERTYPE EQU 056
|
||||
.data?
|
||||
btSetAutoGenFilterType btSetAutoGenFilterType_proc ?
|
||||
.code
|
||||
SSetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->SetAutoGenFilterType3(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
|
||||
btGetAutoGenFilterType_proto typedef proto :dword
|
||||
btGetAutoGenFilterType_proc typedef ptr btGetAutoGenFilterType_proto
|
||||
btGetAutoGenFilterTypeHook proto :dword
|
||||
btGETAUTOGENFILTERTYPE EQU 060
|
||||
.data?
|
||||
btGetAutoGenFilterType btGetAutoGenFilterType_proc ?
|
||||
.code
|
||||
SGetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GetAutoGenFilterType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
|
||||
btGenerateMipSubLevels_proto typedef proto :dword
|
||||
btGenerateMipSubLevels_proc typedef ptr btGenerateMipSubLevels_proto
|
||||
btGenerateMipSubLevelsHook proto :dword
|
||||
btGENERATEMIPSUBLEVELS EQU 064
|
||||
.data?
|
||||
btGenerateMipSubLevels btGenerateMipSubLevels_proc ?
|
||||
.code
|
||||
SGenerateMipSubLevels db "<font color=0000A0>%08X: RETURNED %08X IDirect3DBaseTexture9->GenerateMipSubLevels(%08X)</font><br>", 0
|
|
@ -0,0 +1,200 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
cxQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
cxQueryInterface_proc typedef ptr cxQueryInterface_proto
|
||||
cxQueryInterfaceHook proto :dword, :dword, :dword
|
||||
cxQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
cxQueryInterface cxQueryInterface_proc ?
|
||||
.code
|
||||
CQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DCubeTexture9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
cxAddRef_proto typedef proto :dword
|
||||
cxAddRef_proc typedef ptr cxAddRef_proto
|
||||
cxAddRefHook proto :dword
|
||||
cxADDREF EQU 004
|
||||
.data?
|
||||
cxAddRef cxAddRef_proc ?
|
||||
.code
|
||||
CAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DCubeTexture9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
cxRelease_proto typedef proto :dword
|
||||
cxRelease_proc typedef ptr cxRelease_proto
|
||||
cxReleaseHook proto :dword
|
||||
cxRELEASE EQU 008
|
||||
.data?
|
||||
cxRelease cxRelease_proc ?
|
||||
.code
|
||||
CRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DCubeTexture9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
cxGetDevice_proto typedef proto :dword, :dword
|
||||
cxGetDevice_proc typedef ptr cxGetDevice_proto
|
||||
cxGetDeviceHook proto :dword, :dword
|
||||
cxGETDEVICE EQU 012
|
||||
.data?
|
||||
cxGetDevice cxGetDevice_proc ?
|
||||
.code
|
||||
CGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
cxSetPrivateData_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
cxSetPrivateData_proc typedef ptr cxSetPrivateData_proto
|
||||
cxSetPrivateDataHook proto :dword, :dword, :dword, :dword, :dword
|
||||
cxSETPRIVATEDATA EQU 016
|
||||
.data?
|
||||
cxSetPrivateData cxSetPrivateData_proc ?
|
||||
.code
|
||||
CSetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->SetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
|
||||
cxGetPrivateData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
cxGetPrivateData_proc typedef ptr cxGetPrivateData_proto
|
||||
cxGetPrivateDataHook proto :dword, :dword, :dword, :dword
|
||||
cxGETPRIVATEDATA EQU 020
|
||||
.data?
|
||||
cxGetPrivateData cxGetPrivateData_proc ?
|
||||
.code
|
||||
CGetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetPrivateData(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
cxFreePrivateData_proto typedef proto :dword, :dword
|
||||
cxFreePrivateData_proc typedef ptr cxFreePrivateData_proto
|
||||
cxFreePrivateDataHook proto :dword, :dword
|
||||
cxFREEPRIVATEDATA EQU 024
|
||||
.data?
|
||||
cxFreePrivateData cxFreePrivateData_proc ?
|
||||
.code
|
||||
CFreePrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->FreePrivateData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
cxSetPriority_proto typedef proto :dword, :dword
|
||||
cxSetPriority_proc typedef ptr cxSetPriority_proto
|
||||
cxSetPriorityHook proto :dword, :dword
|
||||
cxSETPRIORITY EQU 028
|
||||
.data?
|
||||
cxSetPriority cxSetPriority_proc ?
|
||||
.code
|
||||
CSetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->SetPriority(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
|
||||
cxGetPriority_proto typedef proto :dword
|
||||
cxGetPriority_proc typedef ptr cxGetPriority_proto
|
||||
cxGetPriorityHook proto :dword
|
||||
cxGETPRIORITY EQU 032
|
||||
.data?
|
||||
cxGetPriority cxGetPriority_proc ?
|
||||
.code
|
||||
CGetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetPriority(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, PreLoad)(THIS) PURE;
|
||||
cxPreLoad_proto typedef proto :dword
|
||||
cxPreLoad_proc typedef ptr cxPreLoad_proto
|
||||
cxPreLoadHook proto :dword
|
||||
cxPRELOAD EQU 036
|
||||
.data?
|
||||
cxPreLoad cxPreLoad_proc ?
|
||||
.code
|
||||
CPreLoad db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->PreLoad(%08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
|
||||
cxGetType_proto typedef proto :dword
|
||||
cxGetType_proc typedef ptr cxGetType_proto
|
||||
cxGetTypeHook proto :dword
|
||||
cxGETTYPE EQU 040
|
||||
.data?
|
||||
cxGetType cxGetType_proc ?
|
||||
.code
|
||||
CGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
|
||||
cxSetLOD_proto typedef proto :dword, :dword
|
||||
cxSetLOD_proc typedef ptr cxSetLOD_proto
|
||||
cxSetLODHook proto :dword, :dword
|
||||
cxSETLOD EQU 044
|
||||
.data?
|
||||
cxSetLOD cxSetLOD_proc ?
|
||||
.code
|
||||
CSetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->SetLOD(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
|
||||
cxGetLOD_proto typedef proto :dword
|
||||
cxGetLOD_proc typedef ptr cxGetLOD_proto
|
||||
cxGetLODHook proto :dword
|
||||
cxGETLOD EQU 048
|
||||
.data?
|
||||
cxGetLOD cxGetLOD_proc ?
|
||||
.code
|
||||
CGetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetLOD(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
|
||||
cxGetLevelCount_proto typedef proto :dword
|
||||
cxGetLevelCount_proc typedef ptr cxGetLevelCount_proto
|
||||
cxGetLevelCountHook proto :dword
|
||||
cxGETLEVELCOUNT EQU 052
|
||||
.data?
|
||||
cxGetLevelCount cxGetLevelCount_proc ?
|
||||
.code
|
||||
CGetLevelCount db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetLevelCount(%08X)</font><br>", 0
|
||||
;STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
|
||||
cxSetAutoGenFilterType_proto typedef proto :dword, :dword
|
||||
cxSetAutoGenFilterType_proc typedef ptr cxSetAutoGenFilterType_proto
|
||||
cxSetAutoGenFilterTypeHook proto :dword, :dword
|
||||
cxSETAUTOGENFILTERTYPE EQU 056
|
||||
.data?
|
||||
cxSetAutoGenFilterType cxSetAutoGenFilterType_proc ?
|
||||
.code
|
||||
CSetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->SetAutoGenFilterType(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
|
||||
cxGetAutoGenFilterType_proto typedef proto :dword
|
||||
cxGetAutoGenFilterType_proc typedef ptr cxGetAutoGenFilterType_proto
|
||||
cxGetAutoGenFilterTypeHook proto :dword
|
||||
cxGETAUTOGENFILTERTYPE EQU 060
|
||||
.data?
|
||||
cxGetAutoGenFilterType cxGetAutoGenFilterType_proc ?
|
||||
.code
|
||||
CGetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetAutoGenFilterType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
|
||||
cxGenerateMipSubLevels_proto typedef proto :dword
|
||||
cxGenerateMipSubLevels_proc typedef ptr cxGenerateMipSubLevels_proto
|
||||
cxGenerateMipSubLevelsHook proto :dword
|
||||
cxGENERATEMIPSUBLEVELS EQU 064
|
||||
.data?
|
||||
cxGenerateMipSubLevels cxGenerateMipSubLevels_proc ?
|
||||
.code
|
||||
CGenerateMipSubLevels db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GenerateMipSubLevels(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC *pDesc) PURE;
|
||||
cxGetLevelDesc_proto typedef proto :dword, :dword, :dword
|
||||
cxGetLevelDesc_proc typedef ptr cxGetLevelDesc_proto
|
||||
cxGetLevelDescHook proto :dword, :dword, :dword
|
||||
cxGETLEVELDESC EQU 068
|
||||
.data?
|
||||
cxGetLevelDesc cxGetLevelDesc_proc ?
|
||||
.code
|
||||
CGetLevelDesc db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetLevelDesc(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface9** ppCubeMapSurface) PURE;
|
||||
cxGetCubeMapSurface_proto typedef proto :dword, :dword, :dword, :dword
|
||||
cxGetCubeMapSurface_proc typedef ptr cxGetCubeMapSurface_proto
|
||||
cxGetCubeMapSurfaceHook proto :dword, :dword, :dword, :dword
|
||||
cxGETCUBEMAPSURFACE EQU 072
|
||||
.data?
|
||||
cxGetCubeMapSurface cxGetCubeMapSurface_proc ?
|
||||
.code
|
||||
CGetCubeMapSurface db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->GetCubeMapSurface(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
|
||||
cxLockRect_proto typedef proto :dword, :dword, :dword, :dword, :dword, :dword
|
||||
cxLockRect_proc typedef ptr cxLockRect_proto
|
||||
cxLockRectHook proto :dword, :dword, :dword, :dword, :dword, :dword
|
||||
cxLOCKRECT EQU 076
|
||||
.data?
|
||||
cxLockRect cxLockRect_proc ?
|
||||
.code
|
||||
CLockRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->LockRect(%08X, %08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE;
|
||||
cxUnlockRect_proto typedef proto :dword, :dword, :dword
|
||||
cxUnlockRect_proc typedef ptr cxUnlockRect_proto
|
||||
cxUnlockRectHook proto :dword, :dword, :dword
|
||||
cxUNLOCKRECT EQU 080
|
||||
.data?
|
||||
cxUnlockRect cxUnlockRect_proc ?
|
||||
.code
|
||||
CUnlockRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->UnlockRect(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT* pDirtyRect) PURE;
|
||||
cxAddDirtyRect_proto typedef proto :dword, :dword, :dword
|
||||
cxAddDirtyRect_proc typedef ptr cxAddDirtyRect_proto
|
||||
cxAddDirtyRectHook proto :dword, :dword, :dword
|
||||
cxADDDIRTYRECT EQU 084
|
||||
.data?
|
||||
cxAddDirtyRect cxAddDirtyRect_proc ?
|
||||
.code
|
||||
CAddDirtyRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DCubeTexture9->AddDirtyRect(%08X, %08X, %08X)</font><br>", 0
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,128 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
ibQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
ibQueryInterface_proc typedef ptr ibQueryInterface_proto
|
||||
ibQueryInterfaceHook proto :dword, :dword, :dword
|
||||
ibQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
ibQueryInterface ibQueryInterface_proc ?
|
||||
.code
|
||||
EQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DIndexBuffer9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
ibAddRef_proto typedef proto :dword
|
||||
ibAddRef_proc typedef ptr ibAddRef_proto
|
||||
ibAddRefHook proto :dword
|
||||
ibADDREF EQU 004
|
||||
.data?
|
||||
ibAddRef ibAddRef_proc ?
|
||||
.code
|
||||
EAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DIndexBuffer9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
ibRelease_proto typedef proto :dword
|
||||
ibRelease_proc typedef ptr ibRelease_proto
|
||||
ibReleaseHook proto :dword
|
||||
ibRELEASE EQU 008
|
||||
.data?
|
||||
ibRelease ibRelease_proc ?
|
||||
.code
|
||||
ERelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DIndexBuffer9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
ibGetDevice_proto typedef proto :dword, :dword
|
||||
ibGetDevice_proc typedef ptr ibGetDevice_proto
|
||||
ibGetDeviceHook proto :dword, :dword
|
||||
ibGETDEVICE EQU 012
|
||||
.data?
|
||||
ibGetDevice ibGetDevice_proc ?
|
||||
.code
|
||||
EGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
ibSetPrivateData_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
ibSetPrivateData_proc typedef ptr ibSetPrivateData_proto
|
||||
ibSetPrivateDataHook proto :dword, :dword, :dword, :dword, :dword
|
||||
ibSETPRIVATEDATA EQU 016
|
||||
.data?
|
||||
ibSetPrivateData ibSetPrivateData_proc ?
|
||||
.code
|
||||
ESetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->SetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
|
||||
ibGetPrivateData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
ibGetPrivateData_proc typedef ptr ibGetPrivateData_proto
|
||||
ibGetPrivateDataHook proto :dword, :dword, :dword, :dword
|
||||
ibGETPRIVATEDATA EQU 020
|
||||
.data?
|
||||
ibGetPrivateData ibGetPrivateData_proc ?
|
||||
.code
|
||||
EGetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->GetPrivateData(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
ibFreePrivateData_proto typedef proto :dword, :dword
|
||||
ibFreePrivateData_proc typedef ptr ibFreePrivateData_proto
|
||||
ibFreePrivateDataHook proto :dword, :dword
|
||||
ibFREEPRIVATEDATA EQU 024
|
||||
.data?
|
||||
ibFreePrivateData ibFreePrivateData_proc ?
|
||||
.code
|
||||
EFreePrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->FreePrivateData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
ibSetPriority_proto typedef proto :dword, :dword
|
||||
ibSetPriority_proc typedef ptr ibSetPriority_proto
|
||||
ibSetPriorityHook proto :dword, :dword
|
||||
ibSETPRIORITY EQU 028
|
||||
.data?
|
||||
ibSetPriority ibSetPriority_proc ?
|
||||
.code
|
||||
ESetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->SetPriority(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
|
||||
ibGetPriority_proto typedef proto :dword
|
||||
ibGetPriority_proc typedef ptr ibGetPriority_proto
|
||||
ibGetPriorityHook proto :dword
|
||||
ibGETPRIORITY EQU 032
|
||||
.data?
|
||||
ibGetPriority ibGetPriority_proc ?
|
||||
.code
|
||||
EGetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->GetPriority(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, PreLoad)(THIS) PURE;
|
||||
ibPreLoad_proto typedef proto :dword
|
||||
ibPreLoad_proc typedef ptr ibPreLoad_proto
|
||||
ibPreLoadHook proto :dword
|
||||
ibPRELOAD EQU 036
|
||||
.data?
|
||||
ibPreLoad ibPreLoad_proc ?
|
||||
.code
|
||||
EPreLoad db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->PreLoad(%08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
|
||||
ibGetType_proto typedef proto :dword
|
||||
ibGetType_proc typedef ptr ibGetType_proto
|
||||
ibGetTypeHook proto :dword
|
||||
ibGETTYPE EQU 040
|
||||
.data?
|
||||
ibGetType ibGetType_proc ?
|
||||
.code
|
||||
EGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD(Lock)(THIS_ UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags) PURE;
|
||||
ibLock_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
ibLock_proc typedef ptr ibLock_proto
|
||||
ibLockHook proto :dword, :dword, :dword, :dword, :dword
|
||||
ibLOCK EQU 044
|
||||
.data?
|
||||
ibLock ibLock_proc ?
|
||||
.code
|
||||
ELock db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->Lock(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(Unlock)(THIS) PURE;
|
||||
ibUnlock_proto typedef proto :dword
|
||||
ibUnlock_proc typedef ptr ibUnlock_proto
|
||||
ibUnlockHook proto :dword
|
||||
ibUNLOCK EQU 048
|
||||
.data?
|
||||
ibUnlock ibUnlock_proc ?
|
||||
.code
|
||||
EUnlock db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->Unlock(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC *pDesc) PURE;
|
||||
ibGetDesc_proto typedef proto :dword, :dword
|
||||
ibGetDesc_proc typedef ptr ibGetDesc_proto
|
||||
ibGetDescHook proto :dword, :dword
|
||||
ibGETDESC EQU 052
|
||||
.data?
|
||||
ibGetDesc ibGetDesc_proc ?
|
||||
.code
|
||||
EGetDesc db "<font color=0000A0>%08X: RETURNED %08X IDirect3DIndexBuffer9->GetDesc(%08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,47 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
psQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
psQueryInterface_proc typedef ptr psQueryInterface_proto
|
||||
psQueryInterfaceHook proto :dword, :dword, :dword
|
||||
psQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
psQueryInterface psQueryInterface_proc ?
|
||||
.code
|
||||
ZQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DPixelShader9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
psAddRef_proto typedef proto :dword
|
||||
psAddRef_proc typedef ptr psAddRef_proto
|
||||
psAddRefHook proto :dword
|
||||
psADDREF EQU 004
|
||||
.data?
|
||||
psAddRef psAddRef_proc ?
|
||||
.code
|
||||
ZAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DPixelShader9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
psRelease_proto typedef proto :dword
|
||||
psRelease_proc typedef ptr psRelease_proto
|
||||
psReleaseHook proto :dword
|
||||
psRELEASE EQU 008
|
||||
.data?
|
||||
psRelease psRelease_proc ?
|
||||
.code
|
||||
ZRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DPixelShader9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
psGetDevice_proto typedef proto :dword, :dword
|
||||
psGetDevice_proc typedef ptr psGetDevice_proto
|
||||
psGetDeviceHook proto :dword, :dword
|
||||
psGETDEVICE EQU 012
|
||||
.data?
|
||||
psGetDevice psGetDevice_proc ?
|
||||
.code
|
||||
ZGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DPixelShader9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetFunction)(THIS_ void*,UINT* pSizeOfData) PURE;
|
||||
psGetFunction_proto typedef proto :dword, :dword, :dword
|
||||
psGetFunction_proc typedef ptr psGetFunction_proto
|
||||
psGetFunctionHook proto :dword, :dword, :dword
|
||||
psGETFUNCTION EQU 016
|
||||
.data?
|
||||
psGetFunction psGetFunction_proc ?
|
||||
.code
|
||||
ZGetFunction db "<font color=0000A0>%08X: RETURNED %08X IDirect3DPixelShader9->GetFunction(%08X, %08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,74 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
qxQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
qxQueryInterface_proc typedef ptr qxQueryInterface_proto
|
||||
qxQueryInterfaceHook proto :dword, :dword, :dword
|
||||
qxQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
qxQueryInterface qxQueryInterface_proc ?
|
||||
.code
|
||||
HQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DQuery9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
qxAddRef_proto typedef proto :dword
|
||||
qxAddRef_proc typedef ptr qxAddRef_proto
|
||||
qxAddRefHook proto :dword
|
||||
qxADDREF EQU 004
|
||||
.data?
|
||||
qxAddRef qxAddRef_proc ?
|
||||
.code
|
||||
HAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DQuery9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
qxRelease_proto typedef proto :dword
|
||||
qxRelease_proc typedef ptr qxRelease_proto
|
||||
qxReleaseHook proto :dword
|
||||
qxRELEASE EQU 008
|
||||
.data?
|
||||
qxRelease qxRelease_proc ?
|
||||
.code
|
||||
HRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DQuery9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
qxGetDevice_proto typedef proto :dword, :dword
|
||||
qxGetDevice_proc typedef ptr qxGetDevice_proto
|
||||
qxGetDeviceHook proto :dword, :dword
|
||||
qxGETDEVICE EQU 012
|
||||
.data?
|
||||
qxGetDevice qxGetDevice_proc ?
|
||||
.code
|
||||
HGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DQuery9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE;
|
||||
qxGetType_proto typedef proto :dword
|
||||
qxGetType_proc typedef ptr qxGetType_proto
|
||||
qxGetTypeHook proto :dword
|
||||
qxGETTYPE EQU 016
|
||||
.data?
|
||||
qxGetType qxGetType_proc ?
|
||||
.code
|
||||
HGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DQuery9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
|
||||
qxGetDataSize_proto typedef proto :dword
|
||||
qxGetDataSize_proc typedef ptr qxGetDataSize_proto
|
||||
qxGetDataSizeHook proto :dword
|
||||
qxGETDATASIZE EQU 020
|
||||
.data?
|
||||
qxGetDataSize qxGetDataSize_proc ?
|
||||
.code
|
||||
HGetDataSize db "<font color=0000A0>%08X: RETURNED %08X IDirect3DQuery9->GetDataSize(%08X)</font><br>", 0
|
||||
;STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE;
|
||||
qxIssue_proto typedef proto :dword, :dword
|
||||
qxIssue_proc typedef ptr qxIssue_proto
|
||||
qxIssueHook proto :dword, :dword
|
||||
qxISSUE EQU 024
|
||||
.data?
|
||||
qxIssue qxIssue_proc ?
|
||||
.code
|
||||
HIssue db "<font color=0000A0>%08X: RETURNED %08X IDirect3DQuery9->Issue(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetData)(THIS_ void* pData,DWORD dwSize,DWORD dwGetDataFlags) PURE;
|
||||
qxGetData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
qxGetData_proc typedef ptr qxGetData_proto
|
||||
qxGetDataHook proto :dword, :dword, :dword, :dword
|
||||
qxGETDATA EQU 028
|
||||
.data?
|
||||
qxGetData qxGetData_proc ?
|
||||
.code
|
||||
HGetData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DQuery9->GetData(%08X, %08X, %08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,56 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
sbQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
sbQueryInterface_proc typedef ptr sbQueryInterface_proto
|
||||
sbQueryInterfaceHook proto :dword, :dword, :dword
|
||||
sbQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
sbQueryInterface sbQueryInterface_proc ?
|
||||
.code
|
||||
UQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DStateBlock9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
sbAddRef_proto typedef proto :dword
|
||||
sbAddRef_proc typedef ptr sbAddRef_proto
|
||||
sbAddRefHook proto :dword
|
||||
sbADDREF EQU 004
|
||||
.data?
|
||||
sbAddRef sbAddRef_proc ?
|
||||
.code
|
||||
UAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DStateBlock9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
sbRelease_proto typedef proto :dword
|
||||
sbRelease_proc typedef ptr sbRelease_proto
|
||||
sbReleaseHook proto :dword
|
||||
sbRELEASE EQU 008
|
||||
.data?
|
||||
sbRelease sbRelease_proc ?
|
||||
.code
|
||||
URelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DStateBlock9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
sbGetDevice_proto typedef proto :dword, :dword
|
||||
sbGetDevice_proc typedef ptr sbGetDevice_proto
|
||||
sbGetDeviceHook proto :dword, :dword
|
||||
sbGETDEVICE EQU 012
|
||||
.data?
|
||||
sbGetDevice sbGetDevice_proc ?
|
||||
.code
|
||||
UGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DStateBlock9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(Capture)(THIS) PURE;
|
||||
sbCapture_proto typedef proto :dword
|
||||
sbCapture_proc typedef ptr sbCapture_proto
|
||||
sbCaptureHook proto :dword
|
||||
sbCAPTURE EQU 016
|
||||
.data?
|
||||
sbCapture sbCapture_proc ?
|
||||
.code
|
||||
UCapture db "<font color=0000A0>%08X: RETURNED %08X IDirect3DStateBlock9->Capture(%08X)</font><br>", 0
|
||||
;STDMETHOD(Apply)(THIS) PURE;
|
||||
sbApply_proto typedef proto :dword
|
||||
sbApply_proc typedef ptr sbApply_proto
|
||||
sbApplyHook proto :dword
|
||||
sbAPPLY EQU 020
|
||||
.data?
|
||||
sbApply sbApply_proc ?
|
||||
.code
|
||||
UApply db "<font color=0000A0>%08X: RETURNED %08X IDirect3DStateBlock9->Apply(%08X)</font><br>", 0
|
|
@ -0,0 +1,155 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
seQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
seQueryInterface_proc typedef ptr seQueryInterface_proto
|
||||
seQueryInterfaceHook proto :dword, :dword, :dword
|
||||
seQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
seQueryInterface seQueryInterface_proc ?
|
||||
.code
|
||||
FQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DSurface9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
seAddRef_proto typedef proto :dword
|
||||
seAddRef_proc typedef ptr seAddRef_proto
|
||||
seAddRefHook proto :dword
|
||||
seADDREF EQU 004
|
||||
.data?
|
||||
seAddRef seAddRef_proc ?
|
||||
.code
|
||||
FAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DSurface9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
seRelease_proto typedef proto :dword
|
||||
seRelease_proc typedef ptr seRelease_proto
|
||||
seReleaseHook proto :dword
|
||||
seRELEASE EQU 008
|
||||
.data?
|
||||
seRelease seRelease_proc ?
|
||||
.code
|
||||
FRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DSurface9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
seGetDevice_proto typedef proto :dword, :dword
|
||||
seGetDevice_proc typedef ptr seGetDevice_proto
|
||||
seGetDeviceHook proto :dword, :dword
|
||||
seGETDEVICE EQU 012
|
||||
.data?
|
||||
seGetDevice seGetDevice_proc ?
|
||||
.code
|
||||
FGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
seSetPrivateData_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
seSetPrivateData_proc typedef ptr seSetPrivateData_proto
|
||||
seSetPrivateDataHook proto :dword, :dword, :dword, :dword, :dword
|
||||
seSETPRIVATEDATA EQU 016
|
||||
.data?
|
||||
seSetPrivateData seSetPrivateData_proc ?
|
||||
.code
|
||||
FSetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->SetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
|
||||
seGetPrivateData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
seGetPrivateData_proc typedef ptr seGetPrivateData_proto
|
||||
seGetPrivateDataHook proto :dword, :dword, :dword, :dword
|
||||
seGETPRIVATEDATA EQU 020
|
||||
.data?
|
||||
seGetPrivateData seGetPrivateData_proc ?
|
||||
.code
|
||||
FGetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->GetPrivateData(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
seFreePrivateData_proto typedef proto :dword, :dword
|
||||
seFreePrivateData_proc typedef ptr seFreePrivateData_proto
|
||||
seFreePrivateDataHook proto :dword, :dword
|
||||
seFREEPRIVATEDATA EQU 024
|
||||
.data?
|
||||
seFreePrivateData seFreePrivateData_proc ?
|
||||
.code
|
||||
FFreePrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->FreePrivateData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
seSetPriority_proto typedef proto :dword, :dword
|
||||
seSetPriority_proc typedef ptr seSetPriority_proto
|
||||
seSetPriorityHook proto :dword, :dword
|
||||
seSETPRIORITY EQU 028
|
||||
.data?
|
||||
seSetPriority seSetPriority_proc ?
|
||||
.code
|
||||
FSetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->SetPriority(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
|
||||
seGetPriority_proto typedef proto :dword
|
||||
seGetPriority_proc typedef ptr seGetPriority_proto
|
||||
seGetPriorityHook proto :dword
|
||||
seGETPRIORITY EQU 032
|
||||
.data?
|
||||
seGetPriority seGetPriority_proc ?
|
||||
.code
|
||||
FGetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->GetPriority(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, PreLoad)(THIS) PURE;
|
||||
sePreLoad_proto typedef proto :dword
|
||||
sePreLoad_proc typedef ptr sePreLoad_proto
|
||||
sePreLoadHook proto :dword
|
||||
sePRELOAD EQU 036
|
||||
.data?
|
||||
sePreLoad sePreLoad_proc ?
|
||||
.code
|
||||
FPreLoad db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->PreLoad(%08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
|
||||
seGetType_proto typedef proto :dword
|
||||
seGetType_proc typedef ptr seGetType_proto
|
||||
seGetTypeHook proto :dword
|
||||
seGETTYPE EQU 040
|
||||
.data?
|
||||
seGetType seGetType_proc ?
|
||||
.code
|
||||
FGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetContainer)(THIS_ REFIID riid,void** ppContainer) PURE;
|
||||
seGetContainer_proto typedef proto :dword, :dword, :dword
|
||||
seGetContainer_proc typedef ptr seGetContainer_proto
|
||||
seGetContainerHook proto :dword, :dword, :dword
|
||||
seGETCONTAINER EQU 044
|
||||
.data?
|
||||
seGetContainer seGetContainer_proc ?
|
||||
.code
|
||||
FGetContainer db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->GetContainer(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC *pDesc) PURE;
|
||||
seGetDesc_proto typedef proto :dword, :dword
|
||||
seGetDesc_proc typedef ptr seGetDesc_proto
|
||||
seGetDescHook proto :dword, :dword
|
||||
seGETDESC EQU 048
|
||||
.data?
|
||||
seGetDesc seGetDesc_proc ?
|
||||
.code
|
||||
FGetDesc db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->GetDesc(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
|
||||
seLockRect_proto typedef proto :dword, :dword, :dword, :dword
|
||||
seLockRect_proc typedef ptr seLockRect_proto
|
||||
seLockRectHook proto :dword, :dword, :dword, :dword
|
||||
seLOCKRECT EQU 052
|
||||
.data?
|
||||
seLockRect seLockRect_proc ?
|
||||
.code
|
||||
FLockRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->LockRect(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(UnlockRect)(THIS) PURE;
|
||||
seUnlockRect_proto typedef proto :dword
|
||||
seUnlockRect_proc typedef ptr seUnlockRect_proto
|
||||
seUnlockRectHook proto :dword
|
||||
seUNLOCKRECT EQU 056
|
||||
.data?
|
||||
seUnlockRect seUnlockRect_proc ?
|
||||
.code
|
||||
FUnlockRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->UnlockRect(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDC)(THIS_ HDC *phdc) PURE;
|
||||
seGetDC_proto typedef proto :dword, :dword
|
||||
seGetDC_proc typedef ptr seGetDC_proto
|
||||
seGetDCHook proto :dword, :dword
|
||||
seGETDC EQU 060
|
||||
.data?
|
||||
seGetDC seGetDC_proc ?
|
||||
.code
|
||||
FGetDC db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->GetDC(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE;
|
||||
seReleaseDC_proto typedef proto :dword, :dword
|
||||
seReleaseDC_proc typedef ptr seReleaseDC_proto
|
||||
seReleaseDCHook proto :dword, :dword
|
||||
seRELEASEDC EQU 064
|
||||
.data?
|
||||
seReleaseDC seReleaseDC_proc ?
|
||||
.code
|
||||
FReleaseDC db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSurface9->ReleaseDC(%08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,92 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
scQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
scQueryInterface_proc typedef ptr scQueryInterface_proto
|
||||
scQueryInterfaceHook proto :dword, :dword, :dword
|
||||
scQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
scQueryInterface scQueryInterface_proc ?
|
||||
.code
|
||||
VQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DSwapChain9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
scAddRef_proto typedef proto :dword
|
||||
scAddRef_proc typedef ptr scAddRef_proto
|
||||
scAddRefHook proto :dword
|
||||
scADDREF EQU 004
|
||||
.data?
|
||||
scAddRef scAddRef_proc ?
|
||||
.code
|
||||
VAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DSwapChain9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
scRelease_proto typedef proto :dword
|
||||
scRelease_proc typedef ptr scRelease_proto
|
||||
scReleaseHook proto :dword
|
||||
scRELEASE EQU 008
|
||||
.data?
|
||||
scRelease scRelease_proc ?
|
||||
.code
|
||||
VRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DSwapChain9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion,DWORD dwFlags) PURE;
|
||||
scPresent_proto typedef proto :dword, :dword, :dword, :dword, :dword, :dword
|
||||
scPresent_proc typedef ptr scPresent_proto
|
||||
scPresentHook proto :dword, :dword, :dword, :dword, :dword, :dword
|
||||
scPRESENT EQU 012
|
||||
.data?
|
||||
scPresent scPresent_proc ?
|
||||
.code
|
||||
VPresent db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSwapChain9->Present(%08X, %08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetFrontBufferData)(THIS_ IDirect3DSurface9* pDestSurface) PURE;
|
||||
scGetFrontBufferData_proto typedef proto :dword, :dword
|
||||
scGetFrontBufferData_proc typedef ptr scGetFrontBufferData_proto
|
||||
scGetFrontBufferDataHook proto :dword, :dword
|
||||
scGETFRONTBUFFERDATA EQU 016
|
||||
.data?
|
||||
scGetFrontBufferData scGetFrontBufferData_proc ?
|
||||
.code
|
||||
VGetFrontBufferData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSwapChain9->GetFrontBufferData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface9** ppBackBuffer) PURE;
|
||||
scGetBackBuffer_proto typedef proto :dword, :dword, :dword, :dword
|
||||
scGetBackBuffer_proc typedef ptr scGetBackBuffer_proto
|
||||
scGetBackBufferHook proto :dword, :dword, :dword, :dword
|
||||
scGETBACKBUFFER EQU 020
|
||||
.data?
|
||||
scGetBackBuffer scGetBackBuffer_proc ?
|
||||
.code
|
||||
VGetBackBuffer db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSwapChain9->GetBackBuffer(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE;
|
||||
scGetRasterStatus_proto typedef proto :dword, :dword
|
||||
scGetRasterStatus_proc typedef ptr scGetRasterStatus_proto
|
||||
scGetRasterStatusHook proto :dword, :dword
|
||||
scGETRASTERSTATUS EQU 024
|
||||
.data?
|
||||
scGetRasterStatus scGetRasterStatus_proc ?
|
||||
.code
|
||||
VGetRasterStatus db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSwapChain9->GetRasterStatus(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE;
|
||||
scGetDisplayMode_proto typedef proto :dword, :dword
|
||||
scGetDisplayMode_proc typedef ptr scGetDisplayMode_proto
|
||||
scGetDisplayModeHook proto :dword, :dword
|
||||
scGETDISPLAYMODE EQU 028
|
||||
.data?
|
||||
scGetDisplayMode scGetDisplayMode_proc ?
|
||||
.code
|
||||
VGetDisplayMode db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSwapChain9->GetDisplayMode(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
scGetDevice_proto typedef proto :dword, :dword
|
||||
scGetDevice_proc typedef ptr scGetDevice_proto
|
||||
scGetDeviceHook proto :dword, :dword
|
||||
scGETDEVICE EQU 032
|
||||
.data?
|
||||
scGetDevice scGetDevice_proc ?
|
||||
.code
|
||||
VGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSwapChain9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
|
||||
scGetPresentParameters_proto typedef proto :dword, :dword
|
||||
scGetPresentParameters_proc typedef ptr scGetPresentParameters_proto
|
||||
scGetPresentParametersHook proto :dword, :dword
|
||||
scGETPRESENTPARAMETERS EQU 036
|
||||
.data?
|
||||
scGetPresentParameters scGetPresentParameters_proc ?
|
||||
.code
|
||||
VGetPresentParameters db "<font color=0000A0>%08X: RETURNED %08X IDirect3DSwapChain9->GetPresentParameters(%08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,200 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
ttQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
ttQueryInterface_proc typedef ptr ttQueryInterface_proto
|
||||
ttQueryInterfaceHook proto :dword, :dword, :dword
|
||||
ttQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
ttQueryInterface ttQueryInterface_proc ?
|
||||
.code
|
||||
AQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DTexture9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
ttAddRef_proto typedef proto :dword
|
||||
ttAddRef_proc typedef ptr ttAddRef_proto
|
||||
ttAddRefHook proto :dword
|
||||
ttADDREF EQU 004
|
||||
.data?
|
||||
ttAddRef ttAddRef_proc ?
|
||||
.code
|
||||
AAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DTexture9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
ttRelease_proto typedef proto :dword
|
||||
ttRelease_proc typedef ptr ttRelease_proto
|
||||
ttReleaseHook proto :dword
|
||||
ttRELEASE EQU 008
|
||||
.data?
|
||||
ttRelease ttRelease_proc ?
|
||||
.code
|
||||
ARelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DTexture9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
ttGetDevice_proto typedef proto :dword, :dword
|
||||
ttGetDevice_proc typedef ptr ttGetDevice_proto
|
||||
ttGetDeviceHook proto :dword, :dword
|
||||
ttGETDEVICE EQU 012
|
||||
.data?
|
||||
ttGetDevice ttGetDevice_proc ?
|
||||
.code
|
||||
AGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
ttSetPrivateData_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
ttSetPrivateData_proc typedef ptr ttSetPrivateData_proto
|
||||
ttSetPrivateDataHook proto :dword, :dword, :dword, :dword, :dword
|
||||
ttSETPRIVATEDATA EQU 016
|
||||
.data?
|
||||
ttSetPrivateData ttSetPrivateData_proc ?
|
||||
.code
|
||||
ASetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->SetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
|
||||
ttGetPrivateData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
ttGetPrivateData_proc typedef ptr ttGetPrivateData_proto
|
||||
ttGetPrivateDataHook proto :dword, :dword, :dword, :dword
|
||||
ttGETPRIVATEDATA EQU 020
|
||||
.data?
|
||||
ttGetPrivateData ttGetPrivateData_proc ?
|
||||
.code
|
||||
AGetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetPrivateData(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
ttFreePrivateData_proto typedef proto :dword, :dword
|
||||
ttFreePrivateData_proc typedef ptr ttFreePrivateData_proto
|
||||
ttFreePrivateDataHook proto :dword, :dword
|
||||
ttFREEPRIVATEDATA EQU 024
|
||||
.data?
|
||||
ttFreePrivateData ttFreePrivateData_proc ?
|
||||
.code
|
||||
AFreePrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->FreePrivateData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
ttSetPriority_proto typedef proto :dword, :dword
|
||||
ttSetPriority_proc typedef ptr ttSetPriority_proto
|
||||
ttSetPriorityHook proto :dword, :dword
|
||||
ttSETPRIORITY EQU 028
|
||||
.data?
|
||||
ttSetPriority ttSetPriority_proc ?
|
||||
.code
|
||||
ASetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->SetPriority(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
|
||||
ttGetPriority_proto typedef proto :dword
|
||||
ttGetPriority_proc typedef ptr ttGetPriority_proto
|
||||
ttGetPriorityHook proto :dword
|
||||
ttGETPRIORITY EQU 032
|
||||
.data?
|
||||
ttGetPriority ttGetPriority_proc ?
|
||||
.code
|
||||
AGetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetPriority(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, PreLoad)(THIS) PURE;
|
||||
ttPreLoad_proto typedef proto :dword
|
||||
ttPreLoad_proc typedef ptr ttPreLoad_proto
|
||||
ttPreLoadHook proto :dword
|
||||
ttPRELOAD EQU 036
|
||||
.data?
|
||||
ttPreLoad ttPreLoad_proc ?
|
||||
.code
|
||||
APreLoad db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->PreLoad(%08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
|
||||
ttGetType_proto typedef proto :dword
|
||||
ttGetType_proc typedef ptr ttGetType_proto
|
||||
ttGetTypeHook proto :dword
|
||||
ttGETTYPE EQU 040
|
||||
.data?
|
||||
ttGetType ttGetType_proc ?
|
||||
.code
|
||||
AGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
|
||||
ttSetLOD_proto typedef proto :dword, :dword
|
||||
ttSetLOD_proc typedef ptr ttSetLOD_proto
|
||||
ttSetLODHook proto :dword, :dword
|
||||
ttSETLOD EQU 044
|
||||
.data?
|
||||
ttSetLOD ttSetLOD_proc ?
|
||||
.code
|
||||
ASetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->SetLOD(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
|
||||
ttGetLOD_proto typedef proto :dword
|
||||
ttGetLOD_proc typedef ptr ttGetLOD_proto
|
||||
ttGetLODHook proto :dword
|
||||
ttGETLOD EQU 048
|
||||
.data?
|
||||
ttGetLOD ttGetLOD_proc ?
|
||||
.code
|
||||
AGetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetLOD(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
|
||||
ttGetLevelCount_proto typedef proto :dword
|
||||
ttGetLevelCount_proc typedef ptr ttGetLevelCount_proto
|
||||
ttGetLevelCountHook proto :dword
|
||||
ttGETLEVELCOUNT EQU 052
|
||||
.data?
|
||||
ttGetLevelCount ttGetLevelCount_proc ?
|
||||
.code
|
||||
AGetLevelCount db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetLevelCount(%08X)</font><br>", 0
|
||||
;STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
|
||||
ttSetAutoGenFilterType_proto typedef proto :dword, :dword
|
||||
ttSetAutoGenFilterType_proc typedef ptr ttSetAutoGenFilterType_proto
|
||||
ttSetAutoGenFilterTypeHook proto :dword, :dword
|
||||
ttSETAUTOGENFILTERTYPE EQU 056
|
||||
.data?
|
||||
ttSetAutoGenFilterType ttSetAutoGenFilterType_proc ?
|
||||
.code
|
||||
ASetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->SetAutoGenFilterType(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
|
||||
ttGetAutoGenFilterType_proto typedef proto :dword
|
||||
ttGetAutoGenFilterType_proc typedef ptr ttGetAutoGenFilterType_proto
|
||||
ttGetAutoGenFilterTypeHook proto :dword
|
||||
ttGETAUTOGENFILTERTYPE EQU 060
|
||||
.data?
|
||||
ttGetAutoGenFilterType ttGetAutoGenFilterType_proc ?
|
||||
.code
|
||||
AGetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetAutoGenFilterType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
|
||||
ttGenerateMipSubLevels_proto typedef proto :dword
|
||||
ttGenerateMipSubLevels_proc typedef ptr ttGenerateMipSubLevels_proto
|
||||
ttGenerateMipSubLevelsHook proto :dword
|
||||
ttGENERATEMIPSUBLEVELS EQU 064
|
||||
.data?
|
||||
ttGenerateMipSubLevels ttGenerateMipSubLevels_proc ?
|
||||
.code
|
||||
AGenerateMipSubLevels db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GenerateMipSubLevels(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC *pDesc) PURE;
|
||||
ttGetLevelDesc_proto typedef proto :dword, :dword, :dword
|
||||
ttGetLevelDesc_proc typedef ptr ttGetLevelDesc_proto
|
||||
ttGetLevelDescHook proto :dword, :dword, :dword
|
||||
ttGETLEVELDESC EQU 068
|
||||
.data?
|
||||
ttGetLevelDesc ttGetLevelDesc_proc ?
|
||||
.code
|
||||
AGetLevelDesc db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetLevelDesc(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface9** ppSurfaceLevel) PURE;
|
||||
ttGetSurfaceLevel_proto typedef proto :dword, :dword, :dword
|
||||
ttGetSurfaceLevel_proc typedef ptr ttGetSurfaceLevel_proto
|
||||
ttGetSurfaceLevelHook proto :dword, :dword, :dword
|
||||
ttGETSURFACELEVEL EQU 072
|
||||
.data?
|
||||
ttGetSurfaceLevel ttGetSurfaceLevel_proc ?
|
||||
.code
|
||||
AGetSurfaceLevel db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->GetSurfaceLevel(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
|
||||
ttLockRect_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
ttLockRect_proc typedef ptr ttLockRect_proto
|
||||
ttLockRectHook proto :dword, :dword, :dword, :dword, :dword
|
||||
ttLOCKRECT EQU 076
|
||||
.data?
|
||||
ttLockRect ttLockRect_proc ?
|
||||
.code
|
||||
ALockRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->LockRect(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
|
||||
ttUnlockRect_proto typedef proto :dword, :dword
|
||||
ttUnlockRect_proc typedef ptr ttUnlockRect_proto
|
||||
ttUnlockRectHook proto :dword, :dword
|
||||
ttUNLOCKRECT EQU 080
|
||||
.data?
|
||||
ttUnlockRect ttUnlockRect_proc ?
|
||||
.code
|
||||
AUnlockRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->UnlockRect(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;
|
||||
ttAddDirtyRect_proto typedef proto :dword, :dword
|
||||
ttAddDirtyRect_proc typedef ptr ttAddDirtyRect_proto
|
||||
ttAddDirtyRectHook proto :dword, :dword
|
||||
ttADDDIRTYRECT EQU 084
|
||||
.data?
|
||||
ttAddDirtyRect ttAddDirtyRect_proc ?
|
||||
.code
|
||||
AAddDirtyRect db "<font color=0000A0>%08X: RETURNED %08X IDirect3DTexture9->AddDirtyRect(%08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,128 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
vlQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
vlQueryInterface_proc typedef ptr vlQueryInterface_proto
|
||||
vlQueryInterfaceHook proto :dword, :dword, :dword
|
||||
vlQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
vlQueryInterface vlQueryInterface_proc ?
|
||||
.code
|
||||
DQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexBuffer9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
vlAddRef_proto typedef proto :dword
|
||||
vlAddRef_proc typedef ptr vlAddRef_proto
|
||||
vlAddRefHook proto :dword
|
||||
vlADDREF EQU 004
|
||||
.data?
|
||||
vlAddRef vlAddRef_proc ?
|
||||
.code
|
||||
DAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexBuffer9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
vlRelease_proto typedef proto :dword
|
||||
vlRelease_proc typedef ptr vlRelease_proto
|
||||
vlReleaseHook proto :dword
|
||||
vlRELEASE EQU 008
|
||||
.data?
|
||||
vlRelease vlRelease_proc ?
|
||||
.code
|
||||
DRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexBuffer9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
vlGetDevice_proto typedef proto :dword, :dword
|
||||
vlGetDevice_proc typedef ptr vlGetDevice_proto
|
||||
vlGetDeviceHook proto :dword, :dword
|
||||
vlGETDEVICE EQU 012
|
||||
.data?
|
||||
vlGetDevice vlGetDevice_proc ?
|
||||
.code
|
||||
DGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
vlSetPrivateData_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
vlSetPrivateData_proc typedef ptr vlSetPrivateData_proto
|
||||
vlSetPrivateDataHook proto :dword, :dword, :dword, :dword, :dword
|
||||
vlSETPRIVATEDATA EQU 016
|
||||
.data?
|
||||
vlSetPrivateData vlSetPrivateData_proc ?
|
||||
.code
|
||||
DSetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->SetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
|
||||
vlGetPrivateData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
vlGetPrivateData_proc typedef ptr vlGetPrivateData_proto
|
||||
vlGetPrivateDataHook proto :dword, :dword, :dword, :dword
|
||||
vlGETPRIVATEDATA EQU 020
|
||||
.data?
|
||||
vlGetPrivateData vlGetPrivateData_proc ?
|
||||
.code
|
||||
DGetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->GetPrivateData(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
vlFreePrivateData_proto typedef proto :dword, :dword
|
||||
vlFreePrivateData_proc typedef ptr vlFreePrivateData_proto
|
||||
vlFreePrivateDataHook proto :dword, :dword
|
||||
vlFREEPRIVATEDATA EQU 024
|
||||
.data?
|
||||
vlFreePrivateData vlFreePrivateData_proc ?
|
||||
.code
|
||||
DFreePrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->FreePrivateData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
vlSetPriority_proto typedef proto :dword, :dword
|
||||
vlSetPriority_proc typedef ptr vlSetPriority_proto
|
||||
vlSetPriorityHook proto :dword, :dword
|
||||
vlSETPRIORITY EQU 028
|
||||
.data?
|
||||
vlSetPriority vlSetPriority_proc ?
|
||||
.code
|
||||
DSetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->SetPriority(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
|
||||
vlGetPriority_proto typedef proto :dword
|
||||
vlGetPriority_proc typedef ptr vlGetPriority_proto
|
||||
vlGetPriorityHook proto :dword
|
||||
vlGETPRIORITY EQU 032
|
||||
.data?
|
||||
vlGetPriority vlGetPriority_proc ?
|
||||
.code
|
||||
DGetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->GetPriority(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, PreLoad)(THIS) PURE;
|
||||
vlPreLoad_proto typedef proto :dword
|
||||
vlPreLoad_proc typedef ptr vlPreLoad_proto
|
||||
vlPreLoadHook proto :dword
|
||||
vlPRELOAD EQU 036
|
||||
.data?
|
||||
vlPreLoad vlPreLoad_proc ?
|
||||
.code
|
||||
DPreLoad db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->PreLoad(%08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
|
||||
vlGetType_proto typedef proto :dword
|
||||
vlGetType_proc typedef ptr vlGetType_proto
|
||||
vlGetTypeHook proto :dword
|
||||
vlGETTYPE EQU 040
|
||||
.data?
|
||||
vlGetType vlGetType_proc ?
|
||||
.code
|
||||
DGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD(Lock)(THIS_ UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags) PURE;
|
||||
vlLock_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
vlLock_proc typedef ptr vlLock_proto
|
||||
vlLockHook proto :dword, :dword, :dword, :dword, :dword
|
||||
vlLOCK EQU 044
|
||||
.data?
|
||||
vlLock vlLock_proc ?
|
||||
.code
|
||||
DLock db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->Lock(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(Unlock)(THIS) PURE;
|
||||
vlUnlock_proto typedef proto :dword
|
||||
vlUnlock_proc typedef ptr vlUnlock_proto
|
||||
vlUnlockHook proto :dword
|
||||
vlUNLOCK EQU 048
|
||||
.data?
|
||||
vlUnlock vlUnlock_proc ?
|
||||
.code
|
||||
DUnlock db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->Unlock(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC *pDesc) PURE;
|
||||
vlGetDesc_proto typedef proto :dword, :dword
|
||||
vlGetDesc_proc typedef ptr vlGetDesc_proto
|
||||
vlGetDescHook proto :dword, :dword
|
||||
vlGETDESC EQU 052
|
||||
.data?
|
||||
vlGetDesc vlGetDesc_proc ?
|
||||
.code
|
||||
DGetDesc db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexBuffer9->GetDesc(%08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,47 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
vdQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
vdQueryInterface_proc typedef ptr vdQueryInterface_proto
|
||||
vdQueryInterfaceHook proto :dword, :dword, :dword
|
||||
vdQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
vdQueryInterface vdQueryInterface_proc ?
|
||||
.code
|
||||
XQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexDeclaration9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
vdAddRef_proto typedef proto :dword
|
||||
vdAddRef_proc typedef ptr vdAddRef_proto
|
||||
vdAddRefHook proto :dword
|
||||
vdADDREF EQU 004
|
||||
.data?
|
||||
vdAddRef vdAddRef_proc ?
|
||||
.code
|
||||
XAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexDeclaration9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
vdRelease_proto typedef proto :dword
|
||||
vdRelease_proc typedef ptr vdRelease_proto
|
||||
vdReleaseHook proto :dword
|
||||
vdRELEASE EQU 008
|
||||
.data?
|
||||
vdRelease vdRelease_proc ?
|
||||
.code
|
||||
XRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexDeclaration9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
vdGetDevice_proto typedef proto :dword, :dword
|
||||
vdGetDevice_proc typedef ptr vdGetDevice_proto
|
||||
vdGetDeviceHook proto :dword, :dword
|
||||
vdGETDEVICE EQU 012
|
||||
.data?
|
||||
vdGetDevice vdGetDevice_proc ?
|
||||
.code
|
||||
XGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexDeclaration9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9* pElement,UINT* pNumElements) PURE;
|
||||
vdGetDeclaration_proto typedef proto :dword, :dword, :dword
|
||||
vdGetDeclaration_proc typedef ptr vdGetDeclaration_proto
|
||||
vdGetDeclarationHook proto :dword, :dword, :dword
|
||||
vdGETDECLARATION EQU 016
|
||||
.data?
|
||||
vdGetDeclaration vdGetDeclaration_proc ?
|
||||
.code
|
||||
XGetDeclaration db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexDeclaration9->GetDeclaration(%08X, %08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,47 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
vsQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
vsQueryInterface_proc typedef ptr vsQueryInterface_proto
|
||||
vsQueryInterfaceHook proto :dword, :dword, :dword
|
||||
vsQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
vsQueryInterface vsQueryInterface_proc ?
|
||||
.code
|
||||
TQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexShader9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
vsAddRef_proto typedef proto :dword
|
||||
vsAddRef_proc typedef ptr vsAddRef_proto
|
||||
vsAddRefHook proto :dword
|
||||
vsADDREF EQU 004
|
||||
.data?
|
||||
vsAddRef vsAddRef_proc ?
|
||||
.code
|
||||
TAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexShader9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
vsRelease_proto typedef proto :dword
|
||||
vsRelease_proc typedef ptr vsRelease_proto
|
||||
vsReleaseHook proto :dword
|
||||
vsRELEASE EQU 008
|
||||
.data?
|
||||
vsRelease vsRelease_proc ?
|
||||
.code
|
||||
TRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVertexShader9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
vsGetDevice_proto typedef proto :dword, :dword
|
||||
vsGetDevice_proc typedef ptr vsGetDevice_proto
|
||||
vsGetDeviceHook proto :dword, :dword
|
||||
vsGETDEVICE EQU 012
|
||||
.data?
|
||||
vsGetDevice vsGetDevice_proc ?
|
||||
.code
|
||||
TGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexShader9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetFunction)(THIS_ void*,UINT* pSizeOfData) PURE;
|
||||
vsGetFunction_proto typedef proto :dword, :dword, :dword
|
||||
vsGetFunction_proc typedef ptr vsGetFunction_proto
|
||||
vsGetFunctionHook proto :dword, :dword, :dword
|
||||
vsGETFUNCTION EQU 016
|
||||
.data?
|
||||
vsGetFunction vsGetFunction_proc ?
|
||||
.code
|
||||
TGetFunction db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVertexShader9->GetFunction(%08X, %08X, %08X)</font><br>", 0
|
|
@ -0,0 +1,200 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
;STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
|
||||
vaQueryInterface_proto typedef proto :dword, :dword, :dword
|
||||
vaQueryInterface_proc typedef ptr vaQueryInterface_proto
|
||||
vaQueryInterfaceHook proto :dword, :dword, :dword
|
||||
vaQUERYINTERFACE EQU 000
|
||||
.data?
|
||||
vaQueryInterface vaQueryInterface_proc ?
|
||||
.code
|
||||
BQueryInterface db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVolumeTexture9->QueryInterface(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
vaAddRef_proto typedef proto :dword
|
||||
vaAddRef_proc typedef ptr vaAddRef_proto
|
||||
vaAddRefHook proto :dword
|
||||
vaADDREF EQU 004
|
||||
.data?
|
||||
vaAddRef vaAddRef_proc ?
|
||||
.code
|
||||
BAddRef db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVolumeTexture9->AddRef(%08X)</font><br>", 0
|
||||
;STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
vaRelease_proto typedef proto :dword
|
||||
vaRelease_proc typedef ptr vaRelease_proto
|
||||
vaReleaseHook proto :dword
|
||||
vaRELEASE EQU 008
|
||||
.data?
|
||||
vaRelease vaRelease_proc ?
|
||||
.code
|
||||
BRelease db "<font color=A0A000>%08X: RETURNED %08X IDirect3DVolumeTexture9->Release(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
|
||||
vaGetDevice_proto typedef proto :dword, :dword
|
||||
vaGetDevice_proc typedef ptr vaGetDevice_proto
|
||||
vaGetDeviceHook proto :dword, :dword
|
||||
vaGETDEVICE EQU 012
|
||||
.data?
|
||||
vaGetDevice vaGetDevice_proc ?
|
||||
.code
|
||||
BGetDevice db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetDevice(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
|
||||
vaSetPrivateData_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
vaSetPrivateData_proc typedef ptr vaSetPrivateData_proto
|
||||
vaSetPrivateDataHook proto :dword, :dword, :dword, :dword, :dword
|
||||
vaSETPRIVATEDATA EQU 016
|
||||
.data?
|
||||
vaSetPrivateData vaSetPrivateData_proc ?
|
||||
.code
|
||||
BSetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->SetPrivateData(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
|
||||
vaGetPrivateData_proto typedef proto :dword, :dword, :dword, :dword
|
||||
vaGetPrivateData_proc typedef ptr vaGetPrivateData_proto
|
||||
vaGetPrivateDataHook proto :dword, :dword, :dword, :dword
|
||||
vaGETPRIVATEDATA EQU 020
|
||||
.data?
|
||||
vaGetPrivateData vaGetPrivateData_proc ?
|
||||
.code
|
||||
BGetPrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetPrivateData(%08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
|
||||
vaFreePrivateData_proto typedef proto :dword, :dword
|
||||
vaFreePrivateData_proc typedef ptr vaFreePrivateData_proto
|
||||
vaFreePrivateDataHook proto :dword, :dword
|
||||
vaFREEPRIVATEDATA EQU 024
|
||||
.data?
|
||||
vaFreePrivateData vaFreePrivateData_proc ?
|
||||
.code
|
||||
BFreePrivateData db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->FreePrivateData(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
|
||||
vaSetPriority_proto typedef proto :dword, :dword
|
||||
vaSetPriority_proc typedef ptr vaSetPriority_proto
|
||||
vaSetPriorityHook proto :dword, :dword
|
||||
vaSETPRIORITY EQU 028
|
||||
.data?
|
||||
vaSetPriority vaSetPriority_proc ?
|
||||
.code
|
||||
BSetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->SetPriority(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
|
||||
vaGetPriority_proto typedef proto :dword
|
||||
vaGetPriority_proc typedef ptr vaGetPriority_proto
|
||||
vaGetPriorityHook proto :dword
|
||||
vaGETPRIORITY EQU 032
|
||||
.data?
|
||||
vaGetPriority vaGetPriority_proc ?
|
||||
.code
|
||||
BGetPriority db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetPriority(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, PreLoad)(THIS) PURE;
|
||||
vaPreLoad_proto typedef proto :dword
|
||||
vaPreLoad_proc typedef ptr vaPreLoad_proto
|
||||
vaPreLoadHook proto :dword
|
||||
vaPRELOAD EQU 036
|
||||
.data?
|
||||
vaPreLoad vaPreLoad_proc ?
|
||||
.code
|
||||
BPreLoad db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->PreLoad(%08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
|
||||
vaGetType_proto typedef proto :dword
|
||||
vaGetType_proc typedef ptr vaGetType_proto
|
||||
vaGetTypeHook proto :dword
|
||||
vaGETTYPE EQU 040
|
||||
.data?
|
||||
vaGetType vaGetType_proc ?
|
||||
.code
|
||||
BGetType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
|
||||
vaSetLOD_proto typedef proto :dword
|
||||
vaSetLOD_proc typedef ptr vaSetLOD_proto
|
||||
vaSetLODHook proto :dword
|
||||
vaSETLOD EQU 044
|
||||
.data?
|
||||
vaSetLOD vaSetLOD_proc ?
|
||||
.code
|
||||
BSetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->SetLOD(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
|
||||
vaGetLOD_proto typedef proto :dword
|
||||
vaGetLOD_proc typedef ptr vaGetLOD_proto
|
||||
vaGetLODHook proto :dword
|
||||
vaGETLOD EQU 048
|
||||
.data?
|
||||
vaGetLOD vaGetLOD_proc ?
|
||||
.code
|
||||
BGetLOD db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetLOD(%08X)</font><br>", 0
|
||||
;STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
|
||||
vaGetLevelCount_proto typedef proto :dword
|
||||
vaGetLevelCount_proc typedef ptr vaGetLevelCount_proto
|
||||
vaGetLevelCountHook proto :dword
|
||||
vaGETLEVELCOUNT EQU 052
|
||||
.data?
|
||||
vaGetLevelCount vaGetLevelCount_proc ?
|
||||
.code
|
||||
BGetLevelCount db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetLevelCount(%08X)</font><br>", 0
|
||||
;STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
|
||||
vaSetAutoGenFilterType_proto typedef proto :dword, :dword
|
||||
vaSetAutoGenFilterType_proc typedef ptr vaSetAutoGenFilterType_proto
|
||||
vaSetAutoGenFilterTypeHook proto :dword, :dword
|
||||
vaSETAUTOGENFILTERTYPE EQU 056
|
||||
.data?
|
||||
vaSetAutoGenFilterType vaSetAutoGenFilterType_proc ?
|
||||
.code
|
||||
BSetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->SetAutoGenFilterType(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
|
||||
vaGetAutoGenFilterType_proto typedef proto :dword
|
||||
vaGetAutoGenFilterType_proc typedef ptr vaGetAutoGenFilterType_proto
|
||||
vaGetAutoGenFilterTypeHook proto :dword
|
||||
vaGETAUTOGENFILTERTYPE EQU 060
|
||||
.data?
|
||||
vaGetAutoGenFilterType vaGetAutoGenFilterType_proc ?
|
||||
.code
|
||||
BGetAutoGenFilterType db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetAutoGenFilterType(%08X)</font><br>", 0
|
||||
;STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
|
||||
vaGenerateMipSubLevels_proto typedef proto :dword
|
||||
vaGenerateMipSubLevels_proc typedef ptr vaGenerateMipSubLevels_proto
|
||||
vaGenerateMipSubLevelsHook proto :dword
|
||||
vaGENERATEMIPSUBLEVELS EQU 064
|
||||
.data?
|
||||
vaGenerateMipSubLevels vaGenerateMipSubLevels_proc ?
|
||||
.code
|
||||
BGenerateMipSubLevels db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GenerateMipSubLevels(%08X)</font><br>", 0
|
||||
;STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC *pDesc) PURE;
|
||||
vaGetLevelDesc_proto typedef proto :dword, :dword, :dword
|
||||
vaGetLevelDesc_proc typedef ptr vaGetLevelDesc_proto
|
||||
vaGetLevelDescHook proto :dword, :dword, :dword
|
||||
vaGETLEVELDESC EQU 068
|
||||
.data?
|
||||
vaGetLevelDesc vaGetLevelDesc_proc ?
|
||||
.code
|
||||
BGetLevelDesc db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetLevelDesc(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume9** ppVolumeLevel) PURE;
|
||||
vaGetVolumeLevel_proto typedef proto :dword, :dword, :dword
|
||||
vaGetVolumeLevel_proc typedef ptr vaGetVolumeLevel_proto
|
||||
vaGetVolumeLevelHook proto :dword, :dword, :dword
|
||||
vaGETVOLUMELEVEL EQU 072
|
||||
.data?
|
||||
vaGetVolumeLevel vaGetVolumeLevel_proc ?
|
||||
.code
|
||||
BGetVolumeLevel db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->GetVolumeLevel(%08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX* pLockedVolume,CONST D3DBOX* pBox,DWORD Flags) PURE;
|
||||
vaLockBox_proto typedef proto :dword, :dword, :dword, :dword, :dword
|
||||
vaLockBox_proc typedef ptr vaLockBox_proto
|
||||
vaLockBoxHook proto :dword, :dword, :dword, :dword, :dword
|
||||
vaLOCKBOX EQU 076
|
||||
.data?
|
||||
vaLockBox vaLockBox_proc ?
|
||||
.code
|
||||
BLockBox db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->LockBox(%08X, %08X, %08X, %08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
|
||||
vaUnlockBox_proto typedef proto :dword, :dword
|
||||
vaUnlockBox_proc typedef ptr vaUnlockBox_proto
|
||||
vaUnlockBoxHook proto :dword, :dword
|
||||
vaUNLOCKBOX EQU 080
|
||||
.data?
|
||||
vaUnlockBox vaUnlockBox_proc ?
|
||||
.code
|
||||
BUnlockBox db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->UnlockBox(%08X, %08X)</font><br>", 0
|
||||
;STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX* pDirtyBox) PURE;
|
||||
vaAddDirtyBox_proto typedef proto :dword, :dword
|
||||
vaAddDirtyBox_proc typedef ptr vaAddDirtyBox_proto
|
||||
vaAddDirtyBoxHook proto :dword, :dword
|
||||
vaADDDIRTYBOX EQU 084
|
||||
.data?
|
||||
vaAddDirtyBox vaAddDirtyBox_proc ?
|
||||
.code
|
||||
BAddDirtyBox db "<font color=0000A0>%08X: RETURNED %08X IDirect3DVolumeTexture9->AddDirtyBox(%08X, %08X)</font><br>", 0
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,67 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
include \masm32\include\windows.inc
|
||||
include \masm32\include\kernel32.inc
|
||||
include \masm32\include\user32.inc
|
||||
include \masm32\include\fpu.inc
|
||||
|
||||
includelib \masm32\lib\kernel32.lib
|
||||
includelib \masm32\lib\user32.lib
|
||||
includelib \masm32\lib\fpu.lib
|
||||
|
||||
UNSET equ 0
|
||||
WAITING equ 1
|
||||
SET equ 2
|
||||
ONCREATE EQU 3
|
||||
ONCREATETEXTURE EQU 4
|
||||
ONCREATEMODEL EQU 5
|
||||
|
||||
pz macro
|
||||
jmp @F
|
||||
pstring db "Error", 0
|
||||
@@: test eax, eax
|
||||
jnz @F
|
||||
invoke MessageBox, 0, addr pstring, 0, 0
|
||||
@@:
|
||||
endm
|
||||
|
||||
pnz macro
|
||||
.data?
|
||||
pbuffer db 32 dup(?)
|
||||
.code
|
||||
jmp @F
|
||||
pstring db "Error: %u - %08X", 0
|
||||
@@: test eax, eax
|
||||
jz @F
|
||||
invoke wsprintf, addr pbuffer, addr pstring, eax, eax
|
||||
invoke MessageBox, 0, addr pbuffer, 0, 0
|
||||
@@:
|
||||
endm
|
||||
|
||||
.data?
|
||||
prev_seh dd ?
|
||||
framedump dd ?
|
||||
tracedump dd ?
|
||||
dll_lower dd ?
|
||||
dll_upper dd ?
|
||||
d3dx_lower dd ?
|
||||
d3dx_upper dd ?
|
||||
d3d9_lower dd ?
|
||||
d3d9_upper dd ?
|
||||
hook_hwnd dd ?
|
||||
|
||||
last_frame_time dq ?
|
||||
|
||||
frame_time dt ?
|
||||
cpu_freq dt ?
|
||||
|
||||
wnd_name db 64 dup(?)
|
||||
.code
|
||||
errormsg db "There was an error loading GameDbg.", 13, 10, "The application may not be using DirectX 9.", 0
|
||||
d3d9dll db "d3d9.dll", 0
|
||||
LDirect3DCreate9 db "Direct3DCreate9", 0
|
||||
dxprofilerdll db "gamedbg.dll", 0
|
||||
cfg_name db "settings.ini", 0
|
||||
appname db "Settings", 0
|
||||
keyname db "Window_Name", 0
|
||||
seh_er db "The following exception has occured:", 13, 10, 13, 10, "[incomplete]", 0
|
|
@ -0,0 +1,130 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
logheader proto
|
||||
logfooter proto
|
||||
logframetime proto
|
||||
log proto C :dword, :dword, :dword, :dword, :vararg
|
||||
.data?
|
||||
fhnd dd ?
|
||||
com_calls dd ?
|
||||
prof_num dd ?
|
||||
.code
|
||||
tlogheader db "<html><head><title>Frame Dump</title></head><body bgcolor=#C0C0C0 text=#000000 link=#000080 vlink=#000080 alink=#000080><pre><font face=Fixedsys>"
|
||||
tlogframetime db " (<font color=00A000>Frame Time: %sms</font>)<br>", 0
|
||||
tlogcrittime db " (<font color=FF0000>CRITICAL> Frame Time: %sms</font>)<br>", 0
|
||||
tlogfooter db "</pre>COM Calls: %u</font></body></html>", 0
|
||||
logname db "d:\prf_%03u.htm", 0
|
||||
; ##########################################################################
|
||||
log proc C pCount:dword, pText:dword, pAddr:dword, pEax:dword, pArgs:vararg
|
||||
|
||||
local filebuff[1024]:byte
|
||||
local dout:dword
|
||||
|
||||
push eax
|
||||
push ecx
|
||||
push edx
|
||||
mov eax, pCount
|
||||
shl eax, 2
|
||||
add eax, 20
|
||||
@@: push [ebp+eax]
|
||||
sub eax, 4
|
||||
cmp eax, 20
|
||||
jne @B
|
||||
push pEax
|
||||
push pAddr
|
||||
push pText
|
||||
invoke wsprintf, addr filebuff
|
||||
invoke lstrlen, addr filebuff
|
||||
mov ecx, eax
|
||||
invoke WriteFile, fhnd, addr filebuff, ecx, addr dout, 0
|
||||
inc com_calls
|
||||
pop edx
|
||||
pop ecx
|
||||
pop eax
|
||||
ret
|
||||
|
||||
log endp
|
||||
; ##########################################################################
|
||||
logheader proc
|
||||
|
||||
local dout:dword
|
||||
local file_buff[32]:byte
|
||||
|
||||
push eax
|
||||
push ecx
|
||||
push edx
|
||||
mov com_calls, 0
|
||||
invoke wsprintf, addr file_buff, addr logname, prof_num
|
||||
inc prof_num
|
||||
invoke CreateFile, addr file_buff, FILE_WRITE_DATA, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0
|
||||
mov fhnd, eax
|
||||
invoke WriteFile, fhnd, addr tlogheader, sizeof tlogheader, addr dout, 0
|
||||
invoke QueryPerformanceCounter, addr last_frame_time
|
||||
pop edx
|
||||
pop ecx
|
||||
pop eax
|
||||
ret
|
||||
|
||||
logheader endp
|
||||
; ##########################################################################
|
||||
logfooter proc
|
||||
|
||||
local filebuff[1024]:byte
|
||||
local dout:dword
|
||||
|
||||
push eax
|
||||
push ecx
|
||||
push edx
|
||||
invoke wsprintf, addr filebuff, addr tlogfooter, com_calls
|
||||
invoke lstrlen, addr filebuff
|
||||
mov ecx, eax
|
||||
invoke WriteFile, fhnd, addr filebuff, ecx, addr dout, 0
|
||||
invoke CloseHandle, fhnd
|
||||
mov fhnd, 0
|
||||
pop edx
|
||||
pop ecx
|
||||
pop eax
|
||||
ret
|
||||
|
||||
logfooter endp
|
||||
; ##########################################################################
|
||||
logframetime proc
|
||||
|
||||
local li:LARGE_INTEGER
|
||||
local fbuf[128]:byte
|
||||
local filebuff[128]:byte
|
||||
local dout:dword
|
||||
|
||||
push eax
|
||||
push ecx
|
||||
push edx
|
||||
invoke QueryPerformanceCounter, addr li
|
||||
sub esp, 4
|
||||
fld tbyte ptr [cpu_freq]
|
||||
fild qword ptr [li]
|
||||
fild qword ptr [last_frame_time]
|
||||
fsub
|
||||
fmul
|
||||
fist dword ptr [esp]
|
||||
fstp tbyte ptr [frame_time]
|
||||
mov eax, dword ptr [li]
|
||||
mov ecx, dword ptr [li+4]
|
||||
mov dword ptr [last_frame_time], eax
|
||||
mov dword ptr [last_frame_time+4], ecx
|
||||
pop eax
|
||||
mov ecx, offset tlogcrittime
|
||||
.if eax < 100
|
||||
mov ecx, offset tlogframetime
|
||||
.endif
|
||||
invoke FpuFLtoA, addr frame_time, 3, addr fbuf, SRC1_REAL or STR_REG
|
||||
invoke wsprintf, addr filebuff, ecx, addr fbuf
|
||||
invoke lstrlen, addr filebuff
|
||||
mov ecx, eax
|
||||
invoke WriteFile, fhnd, addr filebuff, ecx, addr dout, 0
|
||||
pop edx
|
||||
pop ecx
|
||||
pop eax
|
||||
ret
|
||||
|
||||
logframetime endp
|
||||
; ##########################################################################
|
|
@ -0,0 +1,20 @@
|
|||
rem Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
@echo off
|
||||
|
||||
if exist gamedbg.obj del gamedbg.obj
|
||||
if exist gamedbg.dll del gamedbg.dll
|
||||
if exist gamedbg.lib del gamedbg.lib
|
||||
if exist gamedbg.exp del gamedbg.exp
|
||||
if exist gamedbg.exe del gamedbg.exe
|
||||
|
||||
\masm32\bin\ml /c /coff gamedbg.asm
|
||||
\masm32\bin\Link /SUBSYSTEM:WINDOWS /DLL gamedbg.obj
|
||||
|
||||
if exist gamedbg.obj del gamedbg.obj
|
||||
if exist gamedbg.lib del gamedbg.lib
|
||||
if exist gamedbg.exp del gamedbg.exp
|
||||
|
||||
if exist gamedbg.dll dir gamedbg.dll
|
||||
|
||||
pause
|
|
@ -0,0 +1,177 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
custom_output proto :dword
|
||||
loadlib proto
|
||||
getaddresses proto
|
||||
d3dx_init proto :dword
|
||||
d3dx_uninit proto
|
||||
draw_text proto :dword, :dword, :dword, :dword
|
||||
D3DXCreateFontA_proto typedef proto :dword, :dword, :dword, :dword, :dword, :dword, :dword, :dword, :dword, :dword, :dword, :dword
|
||||
D3DXCreateFontA_proc typedef ptr D3DXCreateFontA_proto
|
||||
.data?
|
||||
init dd ?
|
||||
hmod dd ?
|
||||
triangles dd ?
|
||||
d3dx_normfont dd ?
|
||||
D3DXCreateFontA D3DXCreateFontA_proc ?
|
||||
time1 dd ?
|
||||
time2 dd ?
|
||||
display dd ?
|
||||
.code
|
||||
font_family db "Arial", 0
|
||||
d3dx9_29 db "d3dx9_28.dll", 0
|
||||
d3dx9_err db "The d3dx9_28.dll library could not be found. Please update your version of DirectX.", 0
|
||||
addy_err db "Unable to extract the d3dx9_28.dll library procedures. Please update your version of DirectX.", 0
|
||||
proc_CreateFontA db "D3DXCreateFontA", 0
|
||||
dx_triangles db "Triangles: %u", 0
|
||||
dx_availmem db "Available Texture Memory: %u Bytes (%u MB)", 0
|
||||
dx_displaym db "Display Mode: %ux%u %u Hz", 0
|
||||
dx_raster db "Scanline: %u", 0
|
||||
dx_cyclecount db "Frame Time: %u Hz (%u MHz)", 0
|
||||
; ##########################################################################
|
||||
custom_output proc device:dword
|
||||
|
||||
local buff[128]:byte
|
||||
local displaymode[4]:dword
|
||||
local rasterstat[2]:dword
|
||||
|
||||
.if init == 1 && framedump != SET && display != 0
|
||||
mov eax, device
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
call dword ptr [eax+164]
|
||||
|
||||
invoke wsprintf, addr buff, addr dx_triangles, triangles
|
||||
and triangles, 0
|
||||
invoke draw_text, 2, 0, addr buff, 0FF00FF00h
|
||||
mov eax, device
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
call dword ptr [eax+16]
|
||||
mov ecx, 1048576
|
||||
xor edx, edx
|
||||
push eax
|
||||
div ecx
|
||||
pop ecx
|
||||
invoke wsprintf, addr buff, addr dx_availmem, ecx, eax
|
||||
invoke draw_text, 2, 15, addr buff, 0FF00FF00h
|
||||
lea eax, displaymode
|
||||
push eax
|
||||
push 0
|
||||
mov eax, device
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
call dword ptr [eax+32]
|
||||
invoke wsprintf, addr buff, addr dx_displaym, displaymode[0], displaymode[4], displaymode[8]
|
||||
invoke draw_text, 2, 30, addr buff, 0FF00FF00h
|
||||
lea eax, rasterstat
|
||||
push eax
|
||||
push 0
|
||||
mov eax, device
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
call dword ptr [eax+76]
|
||||
invoke wsprintf, addr buff, addr dx_raster, rasterstat[4]
|
||||
invoke draw_text, 2, 45, addr buff, 0FF00FF00h
|
||||
rdtsc
|
||||
push edx
|
||||
push eax
|
||||
sub eax, time1
|
||||
sbb edx, time2
|
||||
pop time1
|
||||
pop time2
|
||||
mov ecx, 1000000
|
||||
xor edx, edx
|
||||
push eax
|
||||
div ecx
|
||||
pop ecx
|
||||
invoke wsprintf, addr buff, addr dx_cyclecount, ecx, eax
|
||||
invoke draw_text, 2, 60, addr buff, 0FF00FF00h
|
||||
|
||||
mov eax, device
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
call dword ptr [eax+168]
|
||||
.endif
|
||||
ret
|
||||
|
||||
custom_output endp
|
||||
; ##########################################################################
|
||||
loadlib proc
|
||||
|
||||
invoke LoadLibrary, addr d3dx9_29
|
||||
test eax, eax
|
||||
jz @F
|
||||
mov hmod, eax
|
||||
ret
|
||||
@@: invoke MessageBox, 0, addr d3dx9_err, 0, MB_OK or MB_ICONEXCLAMATION or MB_SYSTEMMODAL
|
||||
xor eax, eax
|
||||
ret
|
||||
|
||||
loadlib endp
|
||||
; ##########################################################################
|
||||
getaddresses proc
|
||||
|
||||
invoke GetProcAddress, hmod, addr proc_CreateFontA
|
||||
mov D3DXCreateFontA, eax
|
||||
test eax, eax
|
||||
jz @F
|
||||
ret
|
||||
@@: invoke MessageBox, 0, addr addy_err, 0, MB_OK or MB_ICONEXCLAMATION or MB_SYSTEMMODAL
|
||||
xor eax, eax
|
||||
ret
|
||||
|
||||
getaddresses endp
|
||||
; ##########################################################################
|
||||
d3dx_init proc device:dword
|
||||
|
||||
.if init == 0
|
||||
mov init, 1
|
||||
invoke D3DXCreateFontA, device, 16, 0, 400, 0, 0, 0, 0, 4, 0, addr font_family, addr d3dx_normfont
|
||||
.if eax != 0
|
||||
mov init, 0
|
||||
ret
|
||||
.endif
|
||||
.endif
|
||||
ret
|
||||
|
||||
d3dx_init endp
|
||||
; ##########################################################################
|
||||
d3dx_uninit proc
|
||||
|
||||
.if init == 1
|
||||
mov eax, d3dx_normfont
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
call dword ptr [eax+8]
|
||||
mov init, 0
|
||||
.endif
|
||||
ret
|
||||
|
||||
d3dx_uninit endp
|
||||
; ##########################################################################
|
||||
draw_text proc x:dword, y:dword, text:dword, color:dword
|
||||
|
||||
local rect:RECT
|
||||
|
||||
mov eax, x
|
||||
mov rect.left, eax
|
||||
mov rect.right, eax
|
||||
mov eax, y
|
||||
mov rect.top, eax
|
||||
mov rect.bottom, eax
|
||||
push color
|
||||
push 100h
|
||||
lea eax, rect
|
||||
push eax
|
||||
push -1
|
||||
push text
|
||||
push 0
|
||||
mov eax, d3dx_normfont
|
||||
push eax
|
||||
mov eax, [eax]
|
||||
call dword ptr [eax+56]
|
||||
ret
|
||||
|
||||
draw_text endp
|
||||
; ##########################################################################
|
|
@ -0,0 +1,63 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
.686p
|
||||
.MMX
|
||||
.model flat, stdcall
|
||||
option casemap :none
|
||||
|
||||
include \masm32\include\windows.inc
|
||||
include \masm32\include\user32.inc
|
||||
include \masm32\include\kernel32.inc
|
||||
|
||||
includelib \masm32\lib\user32.lib
|
||||
includelib \masm32\lib\kernel32.lib
|
||||
|
||||
WinMain proto
|
||||
|
||||
.code
|
||||
k32module db "Kernel32", 0
|
||||
llfunc db "LoadLibraryA", 0
|
||||
dll_name db "gamedbg.dll", 0
|
||||
cfg_name db "settings.ini", 0
|
||||
appname db "Settings", 0
|
||||
keyname db "Window_Name", 0
|
||||
errormsg db "Unable to find the Program.", 0
|
||||
start:
|
||||
invoke WinMain
|
||||
; ##########################################################################
|
||||
WinMain proc
|
||||
|
||||
local cmd_line[512]:byte
|
||||
local window_name[128]:byte
|
||||
local hpid:dword
|
||||
|
||||
invoke GetFullPathName, addr cfg_name, 512, addr cmd_line, 0
|
||||
invoke GetPrivateProfileString, addr appname, addr keyname, 0, addr window_name, sizeof window_name, addr cmd_line
|
||||
invoke GetFullPathName, addr dll_name, 512, addr cmd_line, 0
|
||||
invoke FindWindow, 0, addr window_name
|
||||
test eax, eax
|
||||
jz nf
|
||||
xf: mov ecx, eax
|
||||
invoke GetWindowThreadProcessId, ecx, addr hpid
|
||||
invoke OpenProcess, PROCESS_ALL_ACCESS, 0, hpid
|
||||
mov hpid, eax
|
||||
invoke VirtualAllocEx, hpid, 0, sizeof cmd_line, MEM_COMMIT, PAGE_READWRITE
|
||||
mov ebx, eax
|
||||
invoke WriteProcessMemory, hpid, ebx, addr cmd_line, sizeof cmd_line, 0
|
||||
invoke GetModuleHandle, addr k32module
|
||||
invoke GetProcAddress, eax, offset llfunc
|
||||
invoke CreateRemoteThread, hpid, 0, 0, eax, ebx, 0, 0
|
||||
mov esi, eax
|
||||
invoke WaitForSingleObject, eax, INFINITE
|
||||
invoke VirtualFreeEx, hpid, ebx, 0, MEM_RELEASE
|
||||
invoke CloseHandle, esi
|
||||
ex: invoke ExitProcess, 0
|
||||
nf: invoke FindWindow, addr window_name, 0
|
||||
test eax, eax
|
||||
jnz xf
|
||||
invoke MessageBox, 0, addr errormsg, 0, MB_OK or MB_ICONEXCLAMATION or MB_SYSTEMMODAL
|
||||
jmp ex
|
||||
|
||||
WinMain endp
|
||||
; ##########################################################################
|
||||
end start
|
|
@ -0,0 +1,42 @@
|
|||
rem Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist rsrc.rc goto over1
|
||||
\masm32\bin\rc /v rsrc.rc
|
||||
\masm32\bin\cvtres /machine:ix86 rsrc.res
|
||||
:over1
|
||||
|
||||
if exist "gamedbg.obj" del "gamedbg.obj"
|
||||
if exist "gamedbg.exe" del "gamedbg.exe"
|
||||
|
||||
\masm32\bin\ml /c /coff "gamedbg.asm"
|
||||
if errorlevel 1 goto errasm
|
||||
|
||||
if not exist rsrc.obj goto nores
|
||||
|
||||
\masm32\bin\Link /SUBSYSTEM:WINDOWS "gamedbg.obj" rsrc.res
|
||||
if errorlevel 1 goto errlink
|
||||
|
||||
dir "gamedbg.*"
|
||||
goto TheEnd
|
||||
|
||||
:nores
|
||||
\masm32\bin\Link /SUBSYSTEM:WINDOWS "gamedbg.obj"
|
||||
if errorlevel 1 goto errlink
|
||||
dir "gamedbg.exe"
|
||||
goto TheEnd
|
||||
|
||||
:errlink
|
||||
echo _
|
||||
echo Link error
|
||||
goto TheEnd
|
||||
|
||||
:errasm
|
||||
echo _
|
||||
echo Assembly Error
|
||||
goto TheEnd
|
||||
|
||||
:TheEnd
|
||||
|
||||
pause
|
|
@ -0,0 +1,4 @@
|
|||
; Copyright © 2021 by Brett Kuntz. All rights reserved.
|
||||
|
||||
[Settings]
|
||||
Window_Name=Game_Window_Class
|
Loading…
Reference in New Issue