[DxWnd](https://sourceforge.net/p/dxwnd/home/Home/) is a remarkable tool for working with badly behaved old games. In [the DxWnd source code](https://sourceforge.net/projects/dxwnd/files/Sources/v2_06_01_src.rar/downlo...), see dll/avifile.cpp for the list of hot-patched functions and dll/dxhook.cpp for the actual hooking.
From: Alex Henrie alexhenrie24@gmail.com
--- dlls/avifil32/api.c | 54 ++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/dlls/avifil32/api.c b/dlls/avifil32/api.c index fe0c163cf0a..415992e9514 100644 --- a/dlls/avifil32/api.c +++ b/dlls/avifil32/api.c @@ -172,14 +172,14 @@ static BOOL AVIFILE_GetFileHandlerByExtension(LPCWSTR szFile, LPCLSID lpclsid) /*********************************************************************** * AVIFileInit (AVIFIL32.@) */ -void WINAPI AVIFileInit(void) { +void WINAPI DECLSPEC_HOTPATCH AVIFileInit(void) { OleInitialize(NULL); }
/*********************************************************************** * AVIFileExit (AVIFIL32.@) */ -void WINAPI AVIFileExit(void) { +void WINAPI DECLSPEC_HOTPATCH AVIFileExit(void) { /* need to free ole32.dll if we are the last exit call */ /* OleUninitialize() */ FIXME("(): stub!\n"); @@ -189,8 +189,8 @@ void WINAPI AVIFileExit(void) { * AVIFileOpen (AVIFIL32.@) * AVIFileOpenA (AVIFIL32.@) */ -HRESULT WINAPI AVIFileOpenA(PAVIFILE *ppfile, LPCSTR szFile, UINT uMode, - LPCLSID lpHandler) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIFileOpenA(PAVIFILE *ppfile, const char *szFile, UINT uMode, + CLSID *lpHandler) { LPWSTR wszFile = NULL; HRESULT hr; @@ -224,8 +224,8 @@ HRESULT WINAPI AVIFileOpenA(PAVIFILE *ppfile, LPCSTR szFile, UINT uMode, /*********************************************************************** * AVIFileOpenW (AVIFIL32.@) */ -HRESULT WINAPI AVIFileOpenW(PAVIFILE *ppfile, LPCWSTR szFile, UINT uMode, - LPCLSID lpHandler) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIFileOpenW(PAVIFILE *ppfile, const WCHAR *szFile, UINT uMode, + CLSID *lpHandler) { IPersistFile *ppersist = NULL; CLSID clsidHandler; @@ -288,7 +288,7 @@ ULONG WINAPI AVIFileAddRef(PAVIFILE pfile) /*********************************************************************** * AVIFileRelease (AVIFIL32.@) */ -ULONG WINAPI AVIFileRelease(PAVIFILE pfile) +ULONG WINAPI DECLSPEC_HOTPATCH AVIFileRelease(PAVIFILE pfile) { TRACE("(%p)\n", pfile);
@@ -446,7 +446,7 @@ ULONG WINAPI AVIStreamAddRef(PAVISTREAM pstream) /*********************************************************************** * AVIStreamRelease (AVIFIL32.@) */ -ULONG WINAPI AVIStreamRelease(PAVISTREAM pstream) +ULONG WINAPI DECLSPEC_HOTPATCH AVIStreamRelease(PAVISTREAM pstream) { TRACE("(%p)\n", pstream);
@@ -493,8 +493,8 @@ HRESULT WINAPI AVIStreamCreate(PAVISTREAM *ppavi, LONG lParam1, LONG lParam2, * AVIStreamInfo (AVIFIL32.@) * AVIStreamInfoA (AVIFIL32.@) */ -HRESULT WINAPI AVIStreamInfoA(PAVISTREAM pstream, LPAVISTREAMINFOA asi, - LONG size) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIStreamInfoA(PAVISTREAM pstream, AVISTREAMINFOA *asi, + LONG size) { AVISTREAMINFOW asiw; HRESULT hres; @@ -519,8 +519,8 @@ HRESULT WINAPI AVIStreamInfoA(PAVISTREAM pstream, LPAVISTREAMINFOA asi, /*********************************************************************** * AVIStreamInfoW (AVIFIL32.@) */ -HRESULT WINAPI AVIStreamInfoW(PAVISTREAM pstream, LPAVISTREAMINFOW asi, - LONG size) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIStreamInfoW(PAVISTREAM pstream, AVISTREAMINFOW *asi, + LONG size) { TRACE("(%p,%p,%ld)\n", pstream, asi, size);
@@ -533,7 +533,7 @@ HRESULT WINAPI AVIStreamInfoW(PAVISTREAM pstream, LPAVISTREAMINFOW asi, /*********************************************************************** * AVIStreamFindSample (AVIFIL32.@) */ -LONG WINAPI AVIStreamFindSample(PAVISTREAM pstream, LONG pos, LONG flags) +LONG WINAPI DECLSPEC_HOTPATCH AVIStreamFindSample(PAVISTREAM pstream, LONG pos, LONG flags) { TRACE("(%p,%ld,0x%lX)\n", pstream, pos, flags);
@@ -546,8 +546,8 @@ LONG WINAPI AVIStreamFindSample(PAVISTREAM pstream, LONG pos, LONG flags) /*********************************************************************** * AVIStreamReadFormat (AVIFIL32.@) */ -HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM pstream, LONG pos, - LPVOID format, LPLONG formatsize) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIStreamReadFormat(PAVISTREAM pstream, LONG pos, + void *format, LONG *formatsize) { TRACE("(%p,%ld,%p,%p)\n", pstream, pos, format, formatsize);
@@ -574,9 +574,9 @@ HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM pstream, LONG pos, /*********************************************************************** * AVIStreamRead (AVIFIL32.@) */ -HRESULT WINAPI AVIStreamRead(PAVISTREAM pstream, LONG start, LONG samples, - LPVOID buffer, LONG buffersize, - LPLONG bytesread, LPLONG samplesread) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIStreamRead(PAVISTREAM pstream, LONG start, LONG samples, + void *buffer, LONG buffersize, + LONG *bytesread, LONG *samplesread) { TRACE("(%p,%ld,%ld,%p,%ld,%p,%p)\n", pstream, start, samples, buffer, buffersize, bytesread, samplesread); @@ -636,8 +636,8 @@ HRESULT WINAPI AVIStreamWriteData(PAVISTREAM pstream, DWORD fcc, LPVOID lp, /*********************************************************************** * AVIStreamGetFrameOpen (AVIFIL32.@) */ -PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM pstream, - LPBITMAPINFOHEADER lpbiWanted) +PGETFRAME WINAPI DECLSPEC_HOTPATCH AVIStreamGetFrameOpen(PAVISTREAM pstream, + BITMAPINFOHEADER *lpbiWanted) { PGETFRAME pg = NULL;
@@ -674,7 +674,7 @@ LPVOID WINAPI AVIStreamGetFrame(PGETFRAME pg, LONG pos) /*********************************************************************** * AVIStreamGetFrameClose (AVIFIL32.@) */ -HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME pg) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIStreamGetFrameClose(PGETFRAME pg) { TRACE("(%p)\n", pg);
@@ -757,9 +757,9 @@ HRESULT WINAPI AVIMakeFileFromStreams(PAVIFILE *ppfile, int nStreams, * AVIStreamOpenFromFile (AVIFIL32.@) * AVIStreamOpenFromFileA (AVIFIL32.@) */ -HRESULT WINAPI AVIStreamOpenFromFileA(PAVISTREAM *ppavi, LPCSTR szFile, - DWORD fccType, LONG lParam, - UINT mode, LPCLSID pclsidHandler) +HRESULT WINAPI DECLSPEC_HOTPATCH AVIStreamOpenFromFileA(PAVISTREAM *ppavi, const char *szFile, + DWORD fccType, LONG lParam, + UINT mode, CLSID *pclsidHandler) { PAVIFILE pfile = NULL; HRESULT hr; @@ -873,7 +873,7 @@ LONG WINAPI AVIStreamStart(PAVISTREAM pstream) /*********************************************************************** * AVIStreamLength (AVIFIL32.@) */ -LONG WINAPI AVIStreamLength(PAVISTREAM pstream) +LONG WINAPI DECLSPEC_HOTPATCH AVIStreamLength(PAVISTREAM pstream) { AVISTREAMINFOW asiw;
@@ -891,7 +891,7 @@ LONG WINAPI AVIStreamLength(PAVISTREAM pstream) /*********************************************************************** * AVIStreamSampleToTime (AVIFIL32.@) */ -LONG WINAPI AVIStreamSampleToTime(PAVISTREAM pstream, LONG lSample) +LONG WINAPI DECLSPEC_HOTPATCH AVIStreamSampleToTime(PAVISTREAM pstream, LONG lSample) { AVISTREAMINFOW asiw; LONG time; @@ -924,7 +924,7 @@ LONG WINAPI AVIStreamSampleToTime(PAVISTREAM pstream, LONG lSample) /*********************************************************************** * AVIStreamTimeToSample (AVIFIL32.@) */ -LONG WINAPI AVIStreamTimeToSample(PAVISTREAM pstream, LONG lTime) +LONG WINAPI DECLSPEC_HOTPATCH AVIStreamTimeToSample(PAVISTREAM pstream, LONG lTime) { AVISTREAMINFOW asiw; ULONG sample;
This merge request was closed by Alex Henrie.