Commit Graph

394 Commits

Author SHA1 Message Date
Anders Jenbo
1ae9933bd5
Drop old cursor code (#509) 2025-07-03 22:04:13 +02:00
Anders Jenbo
44d1ad13fe
Set dwDDFX using flag (#1603) 2025-07-03 21:57:47 +02:00
Helloyunho
0191be7461
Make draw cursor feature work for modern platforms (#480) 2025-07-03 18:05:46 +02:00
Anders Jenbo
8e9f531b88
Render surfaces in a single blit (#489) 2025-07-03 16:58:32 +02:00
Anders Jenbo
d74e6ab401
Use DDBLT_COLORFILL to clear screen on start (#487) 2025-07-03 00:49:47 +02:00
Fabian Neundorf
40ec911811
Clear unknown in MxWavePresenter (#1600) 2025-07-02 21:09:25 +02:00
Christian Semmler
ba14b48284
Merge remote-tracking branch 'isle/master' 2025-07-01 17:05:59 -07:00
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
Christian Semmler
a987595e1e
1.0 compatibility (#434)
* Make Infocenter compatible with 1.0 versions

* Fix

* Emscripten patch

* Fix

* Fix Emscripten patch

* Window title

* Naming

* Don't exit car build automatically in 1.0

* Disable character selection by clicking icon in 1.0

* Remove obsolete includes
2025-06-27 02:30:24 +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
Christian Semmler
48fd42ea36
Check for files (#352)
* Check for files

* Fix
2025-06-21 00:45:21 +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
2733ffcf69
Fix presenter progress event (#300) 2025-06-13 16:32:25 +00: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
183efa3d8f
More debug features: pause/step/resume (#140)
* More debug features: pause/step/resume

* Fix palette order (I think)

* Revert "Fix palette order (I think)"

This reverts commit a81de08f78.
2025-05-21 19:54:22 +02:00
Christian Semmler
70b1ebea87
Revert "Use template specialization solution" (#137)
This reverts commit 254ae2d3a8.
2025-05-20 23:10:51 +02:00
Christian Semmler
9fc0306b58
Merge remote-tracking branch 'isle/master' 2025-05-20 11:43:28 -07:00
Anders Jenbo
5c67c26c3f
Fix MxHashTableNode constructor (#1511) 2025-05-20 20:42:42 +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
Anders Jenbo
4e2df63d9c
Get the game working on 64bit systems (#113)
* Use int instead of long

* Move static_asserts to the bottom

---------

Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-05-19 17:56:12 +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
aec7426665
Merge remote-tracking branch 'isle/master' 2025-05-14 16:40:05 -07:00
Anders Jenbo
fce97ea06f
Correct check for lighting support (#1486) 2025-05-15 01:39:55 +02: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
MS
95431347ee
Add getters to AlphaMask (#1431) 2025-04-09 23:48:16 -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
MS
20bcea0c81
Fix address for MxRect constructor (#1419) 2025-03-16 19:47:06 -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
5a6482c6cf Merge remote-tracking branch 'isle/master' into mergeisle 2025-02-02 08:38:16 -07:00
MS
f542b3aeba
Fix some beta annotations (#1377) 2025-01-25 12:17:23 -05:00
jonschz
82f2e2e755
Match HistoryBook::ReadyWorld() (#1373)
* Some progress on HistoryBook::ReadyWorld

* Refactor getter

* 48 %

* 49 %

* 53 %

* Improve BETA10 stack, LEGO1 now at 91

* variable number match on BETA10, 91 % on LEGO1

* Cleanup

* Match

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-01-25 00:09:04 +01:00
Christian Semmler
00dee618c0 Merge remote-tracking branch 'isle/master' into mergeisle 2025-01-22 16:34:28 -07:00
Christian Semmler
fc03e7a682
Improve order until legomain.cpp (#1350)
* Fix `LegoBackgroundColor` order

* Order

* Improve order in Act3Actors

* Improve order

* Add BETA annotation

* Order more

* More order

* More order

* Order

* Match/order

* Remove blank line

* Modern compiler fix

* vtable annotation
2025-01-17 18:33:27 -07:00
Christian Semmler
70b0f76fa1
Move Read/Write functions to LegoStorage base class, match Act1State::Serialize (#1335)
* Move Read/Write function to LegoStorage base class

* Proper const use for vector / BETA match

* Match `Act1State::Serialize`
2025-01-17 00:13:23 +01:00
Christian Semmler
21b6605ad8
Fix miniaudio glitch by disabling Doppler effect (#55) 2025-01-11 19:05:16 +01:00
Christian Semmler
ab8a382a24 Merge remote-tracking branch 'isle/master' into isleupd2 2025-01-11 10:28:06 -07:00
Christian Semmler
ee2bcb4d53
Order symbols in LegoWorld (#1321)
* Partially order `LegoWorld` symbols

* Further order `LegoWorld`
2025-01-10 01:31:45 +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