Commit Graph

308 Commits

Author SHA1 Message Date
Fabian Neundorf
f825b053ff
Clear unknown in mxutilities.h (#1598)
Also change the parameter name to mask as it better represents the
usage.
2025-07-01 00:29:23 +02:00
Anders Jenbo
225adda309
Rendering refactoring (#459)
* Hint texture intent to renderer

* improve transparancy for 32bit rendering

* Align OpenGL ES 2.0 with SDL_GPU's 2D rendering
2025-06-30 22:51:26 +02:00
Anders Jenbo
b65284a7a0
Move 2D drawing and upscaling to the renderer (#348) 2025-06-25 19:45:26 +02:00
Christian Semmler
8dbcaf6d65
Allow running game without audio device (#426)
* Allow running game without audio device

* Remove dot

* Add SDL error to message
2025-06-24 22:54:26 +00:00
Christian Semmler
67a89f2d78
Merge remote-tracking branch 'isle/master' 2025-06-22 08:57:16 -07:00
Christian Semmler
0a50915312
Fix implicit signed char-ness (#1581) 2025-06-22 17:55:36 +02:00
Anders Jenbo
5a628cafaa
No longer log file mapping (#396) 2025-06-22 17:07:56 +02:00
Christian Semmler
c2b8abea36
Fix Windows file finding (#369) 2025-06-21 18:06:08 +02:00
Anders Jenbo
4c80c8d923
Add 32bit color support (#311) 2025-06-14 23:09:23 +00:00
Anders Jenbo
43a261b945
Use pitch instead of trying to calculate it (#308) 2025-06-14 19:42:50 +02:00
Christian Semmler
5080e372f9
Emscripten port (#229)
* Emscripten port

* Fix NCC

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update CMakeLists.txt

* cmake: set iniparser cmake options in local scope

* ci: try adding emscripten to test matrix

* cmake: try to make CMake install package more usable

* cmake: fix typo

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Add support for .ini loading

* Different default full screen behavior for Emscripten

* Add comments

* Add web platform

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-06-13 00:26:43 +02:00
Anonymous Maarten
319317819c
Fix ASAN error when starting cart race (#278) 2025-06-11 04:09:28 +02:00
Anonymous Maarten
364844d6d0
Use SDL_rand/SDL_randf (#203) 2025-05-30 19:01:01 +00:00
Anders Jenbo
8c9feaac1e
Merge pull request #186 from AJenbo/renderbackends
Implement software rendering backend for d3drm
2025-05-29 10:46:57 +02:00
Anonymous Maarten
e030ed739b
Fixing some ubsan errors while walking around on the island (#194)
* LegoMeterPresenter: use array deleter

* Avoid unaligned access in MxDSSelectionAction::Deserialize

* assert in LegoCarBUild::InitPresenter is BETA10-only

* clang-format
2025-05-29 03:46:13 +00:00
Anders Jenbo
ef7499bdb9 Restructure miniwin and add support for 3D backends 2025-05-29 04:07:53 +02:00
Christian Semmler
70633de3f6 Merge remote-tracking branch 'isle/master' into mergeii 2025-05-26 09:49:34 -07:00
jonschz
f7744f5550
Fix ambiguous matches in BETA10 (#1520)
* Fix ambiguous matches in BETA10

* Add more functions, fix one LINE annotation

* Fix LEGO1 matches

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-05-26 07:25:47 +02:00
jonschz
8e54a20d7d
Match DecodeSS2 (#1476)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-05-25 07:59:58 +02:00
Anonymous Maarten
0b778de731
Let LegoStorage know of memory size (#129) 2025-05-20 02:18:11 +02:00
Christian Semmler
23182618cc
Merge remote-tracking branch 'isle/master' 2025-05-19 17:16:56 -07:00
Christian Semmler
3192eb551a
Add MxMiniaudio wrapper to fix resource issues (#131)
* Add `MxMiniaudio` wrapper to fix resource issues

* Fix naming

* Updated wrapper

* Use implicit cast
2025-05-20 02:07:20 +02:00
Anders Jenbo
70536c50bd
Fix remaning UBSAN issues (#115) 2025-05-19 19:02:24 +02:00
Erik Schulze
7b34eea690
Use SUCCESS and FAILURE in MxPalette::SetSkyColor (#1506) 2025-05-18 16:36:25 -07:00
Christian Semmler
3023b8a663 Merge remote-tracking branch 'isle/master' into mergei 2025-05-18 14:04:10 -07:00
Anonymous Maarten
2915aa014f
Use sizeof(type) instead of sizeof(variableName) when (de)serializing data (#1505)
* Use sizeof(type) instead of sizeof(variableName) when (de)serializing data

* Less usage of sizeof(variableName) while (de)serializing
2025-05-18 22:56:28 +02:00
Anders Jenbo
3a0366a3d9
Handle unaligned read/write (#82) 2025-05-18 13:27:44 -07:00
Christian Semmler
c8b1e507c7
Merge remote-tracking branch 'isle/master' 2025-05-17 16:20:08 -07:00
Anders Jenbo
3f0fe654ff
Fix delete[] in mxstillpresenter.cpp (#1496)
* Fix delete[] in mxstillpresenter.cpp

Without this the game doesn't  run on Linux :)

* Update LEGO1/omni/src/video/mxstillpresenter.cpp

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

* Update mxstillpresenter.cpp

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-17 16:14:25 -07:00
Anders Jenbo
45e0e5bdd1
Correct delete[] in mxflcpresenter.cpp (#1501)
* Correct delete[] in mxflcpresenter.cpp

* Update LEGO1/omni/src/video/mxflcpresenter.cpp

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

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-17 14:22:30 -07:00
Christian Semmler
fb54b4d1c2
Use dynamically allocated buffer (#105) 2025-05-17 17:14:36 +02:00
Anders Jenbo
00a68c44c6
Fix initilization and overlapping memcpu (#101) 2025-05-16 19:07:05 -07:00
Christian Semmler
5ae47c2b56
Map internal paths to filesystem paths (#100)
* Map internal paths to actual filesystem paths

* Only do this on non-Windows

* Update LEGO1/omni/src/common/mxstring.cpp

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* add priority

* Revert for now

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-17 03:46:50 +02:00
Christian Semmler
4ada014dfd
Merge remote-tracking branch 'isle/master' 2025-05-16 12:42:48 -07:00
Anders Jenbo
46ae3fbe89
Order enums the same way in both places (#1495)
To match LEGO1/mxdirectx/mxdirectdraw.cpp so it's not so confusing to compare uage
2025-05-15 21:11:06 -07:00
Anders Jenbo
9ae96cbff6
Implement a functional DirectDraw (#81) 2025-05-15 20:45:53 -07:00
Anders Jenbo
96c962f857
Additional strict type checking in DirectX implementation (#91) 2025-05-15 23:18:21 +02:00
Christian Semmler
68f209b18c
Merge remote-tracking branch 'isle/master' 2025-05-14 22:11:52 -07:00
Anders Jenbo
4c754b376c
Enums in mxdisplaysurface.cpp (#1493)
* Enums in mxdisplaysurface.cpp

* Update mxdisplaysurface.cpp
2025-05-14 22:08:50 -07:00
Christian Semmler
18f24d1795
Merge remote-tracking branch 'isle/master' 2025-05-14 12:43:45 -07:00
Anders Jenbo
c9030c94fd
Fix warnings (#83) 2025-05-14 07:29:26 -07:00
Christian Semmler
396bf6b562
Fix wrong deletes in MxBitmap (#1482) 2025-05-13 18:42:12 -07:00
Christian Semmler
27affb7531
Merge remote-tracking branch 'isle/master' 2025-05-13 15:38:30 -07:00
Christian Semmler
934d90fc96
Fix wrong use of delete vs delete[] (#1481) 2025-05-14 00:37:53 +02:00
Anonymous Maarten
537cde485a
Remove d3drm-wine (#75)
* remove d3drm-wine

* Update miniwin/miniwin/src/miniwin_ddraw.cpp

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

* Run clang-format

* Update miniwin/miniwin/src/miniwin.cpp

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

* Update miniwin/miniwin/src/miniwin_ddraw.cpp

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

---------

Co-authored-by: Anders Jenbo <anders@jenbo.dk>
2025-05-13 19:18:20 +00:00
Anders Jenbo
08b2dab108
Make things build on Linux (#69) 2025-05-12 23:10:53 +02:00
Christian Semmler
b1623302c9 Merge remote-tracking branch 'isle/master' into mergeisle8 2025-05-12 08:39:16 -07:00
Florian Kaiser
e59345c88c
Rename SetUnknown84 to SetNotificationObject (#1474) 2025-05-12 17:20:38 +02:00
Anders Jenbo
6482a89ea2
Correct argument names for FUN_100bc8b0 (#1472)
* Correct argument names for FUN_100bc8b0

* Update mxdisplaysurface.h
2025-05-11 16:17:28 -07:00
Ramen2X
38e3ecb1c6
make MIDIOUTCAPS format-agnostic (#1471)
Signed-off-by: Ramen2X <contact@ramen2x.com>
2025-05-11 19:02:41 -04:00
Ramen2X
2b3e7176d3
make all calls to winapi format-agnostic (#1470) 2025-05-11 15:03:32 -04:00
Christian Semmler
fa126f77ce Merge remote-tracking branch 'isle/master' into mergeisle7 2025-05-09 09:27:32 -07:00
Florian Kaiser
9027849848
Rename parameter p_stack to p_stackSize in MxThread::Start method (#1452) 2025-05-09 12:44:53 +02:00
Florian Kaiser
0a2d598b57
Refactor Deserialize method parameters in MxDS classes to use p_flags instead of p_unk0x24 (#1450) 2025-05-08 12:26:48 -07:00
Christian Semmler
02c38d55a3
Match MxDisplaySurface::SetPalette (#1438)
* Match `MxDisplaySurface::SetPalette`

* Match
2025-05-05 17:19:23 -07:00
Christian Semmler
7670f89f03 Merge remote-tracking branch 'isle/master' into mergeisle6 2025-04-26 09:16:06 -07:00
MS
688c203f70
Beta match and cleanup of MxDS* classes (#1432)
* Clean up / beta match MxDS* classes

* ;)
2025-04-10 22:59:55 -04:00
Christian Semmler
9d01f67abb Merge remote-tracking branch 'isle/master' into mergeisle4 2025-04-06 08:36:09 -07:00
MS
4ec020ed89
MxVideoPresenter::IsHit to 100% (#1428) 2025-04-06 10:36:13 -04:00
MS
93d6c18c9a
Fix AlphaMask functions (#1425) 2025-04-03 20:18:00 -04:00
MS
8821593b63
Improve MxControlPresenter::FUN_10044270 (#1422) 2025-04-03 16:25:40 -04:00
Christian Semmler
6220ab32c3
Match FUN_100b7220 (#1418) 2025-03-16 23:19:13 +01:00
Christian Semmler
1027a80d9e
Match MxEventPresenter::PutData (#1417) 2025-03-16 23:02:13 +01:00
Christian Semmler
aa60386196
Match MxStreamController::RemoveSubscriber (#1416) 2025-03-16 22:59:10 +01:00
Christian Semmler
622f00f628 Merge remote-tracking branch 'isle/master' into mergeisle3 2025-03-14 13:59:52 -07:00
MS
d663e26321
Use MxGeometry header (#1399)
* Use MxGeometry header

* Fix comment

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-03-11 21:13:13 -04:00
jonschz
87d13aa277
Add various BETA10 references and fixes (#1398)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-03-02 19:59:03 +01:00
Christian Semmler
67b25b0bcc
Adapt MxRegion.h (#1393)
* Adapt MxRegion.h

* Use specific GH action version

* Disable clang32 for now

* Fix regression

* Add space

* Add BETA annotations
2025-02-27 03:30:11 +01:00
Christian Semmler
44d131ad18
Merge from isledecomp/isle 2025-02-17 17:52:38 -07:00
jonschz
777dfa82ec
Match Infocenter::HandleControl (#1386)
* Add BETA10 references

* Refactor non-existent getters

* Infocenter::HandleControl maybe down to entropy

* Rename variable

* More refactoring

* Refactor public variable

* 100 %

* Fix clang-format

* Fix clang-format

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-02-18 01:12:51 +01:00
Christian Semmler
21b6605ad8
Fix miniaudio glitch by disabling Doppler effect (#55) 2025-01-11 19:05:16 +01:00
Christian Semmler
a31900a6d4 Merge remote-tracking branch 'isle/master' into isleupd 2025-01-06 16:15:16 -07:00
MS
2cdbd1b94f
Beta match MxDSStreamingAction (#1314)
* Beta match MxDSStreamingAction

* Call the operator directly
2025-01-06 15:41:40 -07:00
MS
93815ca545
Refactor surrounding MxDSChunk utility functions (#1313) 2025-01-06 13:20:47 -07:00
MS
a7f008568a
Add MXIOINFO::CreateChunk (#1306) 2025-01-01 19:23:16 +01:00
Christian Semmler
e568740208
Merge remote-tracking branch 'isle/master' 2024-12-29 14:46:00 -07:00
Anonymous Maarten
c77b5869f5
Fix warnings triggered by isle-portable (#1304)
* Replace computed constant with more readable computed constants

* LegoAnim::GetActorUnknown0x04 returns a number, not a pointer

* Add macro for creating RGB555 colors

* Texture pixel data is passed through as const data

* Compare palette index against 0 instead of NULL pointer

* warning: deleting 'void*' is undefined [-Wdelete-incomplete] warning

Some DirectX sdk's declars D3DRMIMAGE::buffer1 and D3DRMIMAGE::buffer2
as a void pointer.

* Don't use floats

* Fix wrong op

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-29 22:45:00 +01:00
Christian Semmler
b0a4d0e06b Merge remote-tracking branch 'isle/master' into isle-merge3 2024-12-29 09:21:06 -07:00
Christian Semmler
724a566c2e
Match MxDiskStreamProvider::FUN_100d1780 (#1299) 2024-12-28 18:41:35 +01:00
Anonymous Maarten
05cfe4ee25
Even more SDL usage (#49)
* Texture pixel data is passed through as const data

* Use SDL_Surface/SDL_Palette in LegoImage

* Use SDL_Process to run subprocess

* Pass SDL_Window handle to SDL_ShowSimpleMessageBox

this makes sure the message dialog is shown as modal dialog and is on top

* Log errors during initialization

* Show SDL error during initialization

* Include <climits> for INT_MAX

* Replace _access with SDL_GetPathInfo

* Use SDL_RemovePath instead of DeleteFile

* Use SDL_RenamePath instead of MoveFile

* Use MxS32 in legoutils.cpp

* Update LEGO1/lego/legoomni/src/common/legoutils.cpp

* Naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-28 16:52:34 +01:00
Christian Semmler
8afa64048b
More BETA matches in MxDiskStreamController (#1292)
* More BETA matches in `MxDiskStreamController`

* Fix
2024-12-27 21:03:04 +01:00
Christian Semmler
2422d997cf
Match some more MxDiskStreamController functions (#1291) 2024-12-27 20:14:16 +01:00
Christian Semmler
a3b191f601
Match MxPresenter::StartAction (#1290) 2024-12-27 20:05:22 +01:00
Ramen2X
fb2e9fb5ec
rename MxSmack to MxSmk (#1288)
* rename MxSmack to MxSmk

* format
2024-12-27 13:00:56 -05:00
Anonymous Maarten
65adfe7d64
More use of SDL (#47)
* Use SDL_GetPerformance(Counter|Frequency) in MxStopWatch

* Fix flic.h for gcc Linux compiler

* cmake: remove left-over message

* Replace some more stricmp with SDL_strcasecmp

* Pass SDL_Window* to LEGO1.DLL, and pass window events through SDL event handler

* clang-format

* Use SDL_Timer for unknown input dragging events

* Fix naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-27 18:44:14 +01:00
Christian Semmler
e54bfb5656 Merge remote-tracking branch 'isle/master' into isle-merge 2024-12-25 08:56:17 -07:00
Anonymous Maarten
bb4db6caac
Use SDL3 functions in more locations (#44)
* Use strcasecmp, strncasecmp, strlwr, strupr and itoa from SDL

* Use SDL_GetTicks instead of timeGetTime

* Use MxDSFile::OPEN_READ instead of OF_READ

* Use SDL_IOStream to read bitmaps

* Use SDL_LogXXX instead of OutputDebugString

* Undo mxvideoparam.h change

* Revert "Undo mxvideoparam.h change"

This reverts commit 4a20cf6c46.

* Fix _MxTrace

* Reapply "Undo mxvideoparam.h change"

This reverts commit b3a09dc520.

* fix _MxTrace

* Use __declspec(dllexport) for exporting symbols from dll

Refactored CMake script such that all objects are passed to the lego1 library.

* clang-format

* fix msvc build

* MSVC fixed for real now?

* Forgot about d3drm_guid

* Fix naming issue

* Use Uint64 in LegoCarBuild::Tickle for dTime
2024-12-24 18:04:46 -07:00
Christian Semmler
0f338a882b
Match some list functions in MxStreamController to BETA10 (#1273) 2024-12-24 22:42:20 +01:00
Christian Semmler
9db0e795f4
merge from isledecomp/isle 2024-12-23 11:29:21 -07:00
Anonymous Maarten
938a5d7f19
Implement MxDisplaySurface::VTable0x34 (#1264)
* Implement MxDisplaySurface::VTable0x34

* Match

* Remove function count since we got them all

* Update README.md

* Remove emphasis on work-in-progress

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-23 19:18:14 +01:00
Christian Semmler
5ffa91d5fd
Match MxDiskStreamController::FUN_100c7db0 (#1265)
* Match `MxDiskStreamController::FUN_100c7db0`

* Modern compiler fix
2024-12-23 19:06:45 +01:00
Christian Semmler
69bac21488 Merge remote-tracking branch 'isle/master' into merge 2024-12-23 09:38:55 -07:00
Christian Semmler
5b19d7953a
Refactor MxStreamList based lists (#1260)
* Refactor stream lists

* Fix naming

* Fix header inclusion

* Fix annotations

* Move function definitions to header

* Remove mxstreamprovider.cpp

* Naming
2024-12-23 16:32:16 +01:00
Joshua Peisach
48c327ca5a
Implement MxDisplaySurface::VTable0x2c (#1262)
* Implement MxDisplaySurface::VTable0x2c

* fix header namespace

* Incorporate improvements from @madebr branch

* Naming

* Naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2024-12-23 16:17:36 +01:00
MS
1f582eb610
Implement MxDisplaySurface::VTable0x24 (#1261)
* MxDisplaySurface::VTable0x24

* Fix stride/length check in vtable24 and vtable28
2024-12-22 20:21:07 -07:00
MS
276ad8d735
MxDSBuffer::ParseChunk to 100% (#1257)
* MxDSBuffer::ParseChunk to 100%

* Restore SUCCESS tests
2024-12-21 20:03:12 -07:00
MS
fc93b84655
MxDSBuffer::FUN_100c67b0 100% (#1250) 2024-12-21 00:36:57 -07:00
Christian Semmler
5a61cf6566
Move CreateStreamObject to proper location (#1249) 2024-12-20 22:15:52 +01:00
Christian Semmler
e73f60e2c6
merge from isle/master 2024-12-20 11:54:06 -07:00
MS
bfc6d460a8
MxDSBuffer::SkipToData to 100% (#1245)
* MxDSBuffer::SkipToData to 100%

* Add blank line
2024-12-20 19:23:24 +01:00