Skip to content

Commit c05eca2

Browse files
committed
Fix GolDrawDPState::VTable0x00
1 parent 1338fa3 commit c05eca2

3 files changed

Lines changed: 7 additions & 5 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,8 @@ if (MSVC_FOR_DECOMP)
197197
target_link_options(goldp PRIVATE "/OPT:NOREF,ICF")
198198
endif()
199199

200-
set_property(TARGET legoracers goldp PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
200+
set_property(TARGET legoracers PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
201+
set_property(TARGET goldp PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
201202

202203
set(CMAKE_CXX_FLAGS "/W3 /GX /D \"WIN32\" /D \"_WINDOWS\"")
203204
set(CMAKE_CXX_FLAGS_DEBUG "/Gm /Zi /Od /D \"_DEBUG\"")

GolDP/library_msvc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// ??3@YAXPAX@Z
77

88
// LIBRARY: GOLDP 0x1004b361
9-
// sprintf
9+
// _sprintf
1010

1111
// aka `operator new`
1212
// LIBRARY: GOLDP 0x1004b3b3

GolDP/src/goldrawdpstate.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ LegoS32 GolDrawDPState::VTable0x00()
7676
char buffer[100];
7777
DDSURFACEDESC displayMode;
7878

79+
m_ddraw = NULL;
7980
if (GetFlags() & (c_flagBit16 | c_flagBit17)) {
8081
SetFlags(GetFlags() | c_flagBit11 | c_flagBit13);
8182
}
@@ -141,16 +142,16 @@ LegoS32 GolDrawDPState::VTable0x00()
141142
SetFlags((GetFlags() & ~c_flagBit13) | c_flagBit9);
142143
}
143144

144-
if (!((GetFlags() & c_flagBit11) || (GetFlags() & c_flagBit16) || (GetFlags() & c_flagBit17)) &&
145-
(m_ddrawCaps.dwCaps & DDCAPS_3D) && m_device->m_hwAccelerated) {
145+
if (!(GetFlags() & (c_flagBit11 | c_flagBit16 | c_flagBit17)) && (m_ddrawCaps.dwCaps & DDCAPS_3D) &&
146+
device->m_hwAccelerated) {
146147
m_unk0x2c0 = TRUE;
147148
SetFlags(GetFlags() & ~c_flagBit11);
148149
}
149150
else {
150151
m_unk0x2c0 = FALSE;
151152
SetFlags(GetFlags() | c_flagBit11);
152153
if (!(GetFlags() & c_flagBit17)) {
153-
SetFlags(GetFlags() | c_flagBit11 | c_flagBit16);
154+
SetFlags(GetFlags() | c_flagBit16);
154155
}
155156
}
156157

0 commit comments

Comments
 (0)