Fixes for building isle with mingw on Linux (#410)

* Add LEGO1.DLL resources

* Rename smack files to lowercase

This fixes casing issues with mingw on Linux
Also use double quotes for #error

* cmake: dxguid must come after dinput

* cmake: create LEGO1.DLL instead of libLEGO1.DLL, when using mingw

* act3actor.h  was not including mxcore.h, and using incorrect override

* g_mcoreCount seem to be signed integers

* LegoCameraController: return references to static data in stub functions

* Include string.h, stdlib.h and stdio.h for use of libc functions

* Override MxAtomId::operator!=

* Fix use of STL's std::map + std::vector

* Fix template functions for mingw

* iterator object is used after the for loop

* IDirectDrawSurface::BltFast's first 2 arguments are x/y coordinates, not pointers

* Add stub ViewLODListManager::Lookup

* Fixes

* Format

* Remove unnecessary COMPAT_CONST use

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Anonymous Maarten
2024-01-06 18:56:15 +01:00
committed by GitHub
parent dac2a517c3
commit dc3500f631
35 changed files with 114 additions and 24 deletions

View File

@@ -207,6 +207,7 @@ add_library(lego1 SHARED
LEGO1/realtime/realtimeview.cpp
LEGO1/realtime/vector.cpp
LEGO1/registrationbook.cpp
LEGO1/res/lego1.rc
LEGO1/score.cpp
LEGO1/scorestate.cpp
LEGO1/skateboard.cpp
@@ -254,10 +255,11 @@ endif()
target_link_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/smack")
# Link libraries
target_link_libraries(lego1 PRIVATE ddraw dsound dxguid dinput winmm d3drm smack)
target_link_libraries(lego1 PRIVATE ddraw dsound dinput dxguid winmm d3drm smack)
# Make sure filenames are ALL CAPS
set_property(TARGET lego1 PROPERTY OUTPUT_NAME LEGO1)
set_property(TARGET lego1 PROPERTY PREFIX "")
set_property(TARGET lego1 PROPERTY SUFFIX ".DLL")
if (ISLE_BUILD_APP)