diff --git a/CMakeLists.txt b/CMakeLists.txt index 78b4187f..685ea1ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,9 +46,9 @@ add_library(lego1 SHARED LEGO1/jukeboxentity.cpp LEGO1/jukeboxstate.cpp LEGO1/legoact2state.cpp - LEGO1/legoactor.cpp LEGO1/legoactioncontrolpresenter.cpp LEGO1/legoactor.cpp + LEGO1/legoactor.cpp LEGO1/legoanimactor.cpp LEGO1/legoanimationmanager.cpp LEGO1/legoanimmmpresenter.cpp @@ -102,8 +102,8 @@ add_library(lego1 SHARED LEGO1/mxcontrolpresenter.cpp LEGO1/mxcore.cpp LEGO1/mxcriticalsection.cpp - LEGO1/mxdirectdraw.cpp LEGO1/mxdirect3d.cpp + LEGO1/mxdirectdraw.cpp LEGO1/mxdiskstreamcontroller.cpp LEGO1/mxdiskstreamprovider.cpp LEGO1/mxdisplaysurface.cpp @@ -119,10 +119,10 @@ add_library(lego1 SHARED LEGO1/mxdsparallelaction.cpp LEGO1/mxdsselectaction.cpp LEGO1/mxdsserialaction.cpp - LEGO1/mxdsstreamingaction.cpp LEGO1/mxdssound.cpp LEGO1/mxdssource.cpp LEGO1/mxdsstill.cpp + LEGO1/mxdsstreamingaction.cpp LEGO1/mxdssubscriber.cpp LEGO1/mxentity.cpp LEGO1/mxeventmanager.cpp diff --git a/LEGO1/mxdirect3d.cpp b/LEGO1/mxdirect3d.cpp index a23ae78b..9fd532e0 100644 --- a/LEGO1/mxdirect3d.cpp +++ b/LEGO1/mxdirect3d.cpp @@ -144,10 +144,15 @@ BOOL MxDeviceEnumerate::FUN_1009c070() } // OFFSET: LEGO1 0x1009c4c0 -void MxDirect3D::BuildErrorString(const char *p_format, char *p_msg) +void MxDirect3D::BuildErrorString(const char *p_format, ...) { + va_list args; char buf[512]; - vsprintf(buf, p_format, p_msg); + + va_start(args, p_format); + vsprintf(buf, p_format, args); + va_end(args); + OutputDebugString(buf); } @@ -177,7 +182,7 @@ BOOL FAR PASCAL EnumerateCallback(GUID FAR *, LPSTR, LPSTR, LPVOID) } // OFFSET: LEGO1 0x1009c730 STUB -char *MxDeviceEnumerate::EnumerateErrorToString(HRESULT p_error) +char* MxDeviceEnumerate::EnumerateErrorToString(HRESULT p_error) { // TODO: This is a list of error messages, similar to the function in // MxDirectDraw, except that this one now contains the Direct3D errors. diff --git a/LEGO1/mxdirect3d.h b/LEGO1/mxdirect3d.h index 981f7143..03e9f1ac 100644 --- a/LEGO1/mxdirect3d.h +++ b/LEGO1/mxdirect3d.h @@ -27,7 +27,7 @@ class MxDeviceEnumerate virtual MxResult _DoEnumerate(); BOOL FUN_1009c070(); - static char *EnumerateErrorToString(HRESULT p_error); + char *EnumerateErrorToString(HRESULT p_error); undefined4 m_unk004; undefined4 m_unk008; @@ -63,7 +63,7 @@ class MxDirect3D : public MxDirectDraw BOOL CreateIDirect3D(); BOOL D3DSetMode(); - static void BuildErrorString(const char *, char *); + static void BuildErrorString(const char *, ...); private: MxDeviceModeFinder *m_pDeviceModeFinder; // +0x880