Commit Graph

14 Commits

Author SHA1 Message Date
Anonymous Maarten
e7fb67bb9f
Fix mingw build + copy d3drm from wine (#25)
* Fix engineConfig declaration crossing jump

This fixes the following error:
```
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp: In member function 'virtual MxResult MxSoundManager::Create(MxU32, MxBool)':
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:119:1: error: jump to label 'done'
  119 | done:
      | ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:78:22: note:   from here
   78 |                 goto done;
      |                      ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:84:26: note:   crosses initialization of 'ma_engine_config engineConfig'
   84 |         ma_engine_config engineConfig = ma_engine_config_init();
      |                          ^~~~~~~~~~~~
```

* Fix 'invalid conversion from 'SDL_FunctionPointer' {aka 'void (*)()'} to 'void*'

* /SAFESEH:NO is a VC thing

* SDL3 is still instable

* Cannot forward declare and use enum

* Remove MusicManager from public LEGO1.DLL interface

* Copy d3d from wine git 6c5d17af07a318d754c0c21023b2d162a0d3725d

* Build d3drm-wine with 32-bit mingw

* cmake: move 3rd party targets to cmake script in 3rdparty directory

* cmake: bump minimum required CMake version to 3.25 to allow adding a subproject with SYSTEM automatically applied

An alternative would be to use SYSTEM in target_include_directories in the 3rd party cmake script.

* Add a minimal Findiniparser.cmake (not all distributions carry the upstream iniparser-config.cmake files)

* Add wine's d3drm headers

* cmake: merge ISLE_USE_DX5_LIBS into ISLE_USE_DX5

* cmake: Build all shared libraries in the binary output directory (to avoid PATH issues)

* ci: enable msys2 mingw32 build

* Disable clang-tidy on d3drm wine

* Thread functions must have SDLCALL call convention

* cmake: disable clang-tidy for miniaudio and libsmacker as well

* Hopefully fix c++ format and skip ncc naming violation

* clang-format violations keep up popping out of nowhere

* No need for lego/legoomni/include

* ncc: define SDLCALL as empty instead
2024-06-24 07:25:51 -07:00
Christian Semmler
8a802bcf85
Replace DirectSound with miniaudio (#21)
* Add miniaudio

* WIP

* static const

* Fix missing looping

* Fix volume

* Implement 3D sound, WIP

* Remove unused WinMM code

* Update README.md

* Fixes

* Fix naming

* Fix naming

* disable ma threading

* Invert Z axis for OpenGL system

* Update comment

* Set rolloff

* Fix minimize/maximize suspension

* Rename function

* SDL3: changed macro name
2024-06-16 15:26:04 +02:00
Christian Semmler
b945993ee3
Updates from isledecomp/isle (#22)
* Act2PoliceStation::Notify (#1002)

* Act2PoliceStation::Notify

* Match code

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Match Ambulance::StopScriptOnAmbulance and StopScriptOnEntity (#1003)

* Match Ambulance::StopScriptOnAmbulance and StopScriptOnEntity

* Rename for consistency

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* TowTrack and LegoAct2 destructors (#1005)

* Add some missing dtors

* Add missing 'override'

* Rename Start/StopTimer to Pause/Resume (#1007)

* Rename Start/StopTimer to Pause/Resume

* Fix

* Begin LegoRace class (#1014)

* Begin LegoRace

* Match functions

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Implement/match LegoFlcTexturePresenter (#1015)

* Implement/match LegoFlcTexturePresenter

* Move files

* Fix

* Fix

---------

Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
Co-authored-by: MS <disinvite@users.noreply.github.com>
Co-authored-by: Mikhail Thompson <mishakeys20@gmail.com>
2024-06-10 17:57:20 +02:00
Christian Semmler
e0af725fb6
Updates from isledecomp/isle (#19)
* Refactor JukeBox, add enum for music (#988)

* Refactor JukeBox, add enum for music

* add BETA annotation

* Fix BETA annotation

* Fix BETA annotation

* Fix

* Consolidate state and building entity classes (#989)

* Match LegoCacheSoundManager::FindSoundByKey (#991)

* Match LegoCacheSoundManager::FindSoundByKey

* Remove space

* Implement/match LegoActor::Mute (#992)

* Add more annotations to ISLE (#990)

* Minor improvements in ISLE.EXE

* Add more annotations

* Fix

* Comment out

* Fix lint

* Add enum for actor IDs (#993)

* Implement/match LegoEntity::ClickAnimation (#994)

* Implement/match LegoEntity::VTable0x38

* Update names

* Implement/match LegoEntity::SwitchSound / SwitchMove / SwitchColor / SwitchMood (#995)

* Implement/match LegoEntity::SwitchSound

* Name

* Name

* Implement/match LegoEntity::SwitchMove

* Mood

* Implement/match LegoCharacterManager::SwitchColor (#996)

* Implement/match IslePathActor::Exit (#997)

* Implement/match IslePathActor::Exit

* Name

* Name

* Partially fix vector interface

* Revert "Partially fix vector interface"

This reverts commit 6e7a1e2b08fd82012b28be3054eeff65428eb4d1.

* Revert "Revert "Partially fix vector interface""

This reverts commit e3860e3c9fa1f8937b702d6c81d6e3bb4dadecc6.

* Fix

* Remove some COMPAT_MODE

* Implement/match Ambulance::Notify (#998)

* Update isleapp.cpp

* Streamline MxVideoParamFlags (#999)

* Streamline MxVideoParamFlags

* Remove this-> from MxOmniCreateFlags

---------

Co-authored-by: MS <disinvite@users.noreply.github.com>
2024-06-07 21:32:27 +02:00
Christian Semmler
3502c3f912
Fix cursors (#17) 2024-06-02 17:20:41 +02:00
Christian Semmler
20cfd57e35
Add SDL cursors (#16)
* Add SDL cursors

* Fix naming
2024-06-01 16:54:17 +02:00
Christian Semmler
ea0ca98292 Use SDL macros for return values 2024-05-31 23:20:14 -04:00
Christian Semmler
a3f408d6be
Remove dependency on dinput, use SDL keyboard state for navigation (#14)
* WIP

* Use SDL kb state for navigational keys

* Remove linking against dinput
2024-06-01 05:13:27 +02:00
Christian Semmler
1d136ab2bb
Improve naming, use virtual key constants (#979) (#13) 2024-06-01 04:48:41 +02:00
Christian Semmler
0b6c220b4f Fix missing return 2024-05-31 18:05:05 -04:00
Christian Semmler
fd5ca4c4dc
Use SDL window instead of Win32 window (#12)
* Use SDL window

* Fixes

* Update README

* Remove unused decl

* Consistent use

* Add comment about fullscreen
2024-05-31 23:56:00 +02:00
Christian Semmler
75e767200b
Replace Windows registry with .ini file (#10)
* Replace Windows registry with .ini file

* Update README.md

* Update CMakeLists.txt

* comment

* set CMake policy

* Try this

* Try this

* Adjust comments
2024-05-31 20:04:00 +02:00
Christian Semmler
e38d877131
Add SDL callbacks to isleapp (#9)
* Add SDL callbacks to isleapp

* Update README.md

* Update README.md
2024-05-31 16:45:51 +02:00
Christian Semmler
681c69c4ac initial commit 2024-05-16 19:42:54 -04:00