Commit Graph

210 Commits

Author SHA1 Message Date
Christian Semmler
a75e3a4377
Merge remote-tracking branch 'isle/master' 2025-05-23 09:34:57 -07:00
Erik Schulze
eb1177b409
rename functions and parameters in OrientableROI (#1512) 2025-05-21 20:13:28 -07: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
Anonymous Maarten
0b778de731
Let LegoStorage know of memory size (#129) 2025-05-20 02:18:11 +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
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
Christian Semmler
c8b1e507c7
Merge remote-tracking branch 'isle/master' 2025-05-17 16:20:08 -07:00
Anders Jenbo
d3cd491765
Correct delete[] in legowegedge.cpp (#1499) 2025-05-17 13:25:22 -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
Anders Jenbo
96c962f857
Additional strict type checking in DirectX implementation (#91) 2025-05-15 23:18:21 +02:00
Christian Semmler
7fa7643bfb
Merge remote-tracking branch 'isle/master' 2025-05-14 17:01:20 -07:00
Anders Jenbo
dbbf373748
Correct dwCaps bit flags (#1487)
* Correct dwCaps bit flags

* Update legotextureinfo.cpp
2025-05-15 02:01:10 +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
Christian Semmler
fa126f77ce Merge remote-tracking branch 'isle/master' into mergeisle7 2025-05-09 09:27:32 -07:00
Florian Kaiser
5fd5a4cec0
Clear unknowns in LegoROI and related classes (#1457)
* Clear unknowns in LegoROI and related classes

* Update names

* Consistently naming: `GetTextureInfo`

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-09 18:13:19 +02:00
Christian Semmler
9d01f67abb Merge remote-tracking branch 'isle/master' into mergeisle4 2025-04-06 08:36:09 -07:00
Christian Semmler
e9467864d8
Match LegoHideAnimPresenter::FUN_1006db60 (#1414)
* Match `LegoHideAnimPresenter::FUN_1006db60`

* Remove comment
2025-03-16 22:57:23 +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
Christian Semmler
ea5a722311
Fix Matrix4::operator[] annotation (#1390) 2025-02-22 06:48:11 -07:00
Christian Semmler
44d131ad18
Merge from isledecomp/isle 2025-02-17 17:52:38 -07:00
jonschz
d88ab0a50a
Match Act2Brick::Create (#1385)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-15 16:47:55 +01:00
Christian Semmler
00dee618c0 Merge remote-tracking branch 'isle/master' into mergeisle 2025-01-22 16:34:28 -07:00
MS
4db8b44ce0
Implement LegoCarBuildAnimPresenter::Serialize (#1366) 2025-01-20 21:43:24 -05: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
e8c856c585
Order symbols in Act1State (#1336)
* Order functions in `Act1State`

* Remove IsPresent

* Revert some stuff
2025-01-17 02:25:31 +01: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
83fb9f04a7
Merge remote-tracking branch 'isle/master' 2025-01-15 16:53:43 -07:00
Christian Semmler
77a3dc0795
Match Serialize functions to BETA10 (#1334)
* Begin refactor Serialize functions

* Match more Serialize functions

* Match `LegoVehicleBuildState::Serialize`

* Match `LegoGameState::Username::Serialize`

* Match `LegoGameState::ScoreItem::Serialize`

* Match `LegoGameState::History::Serialize`

* Var name

* Var name

* Revert "Var name"

This reverts commit 1c0cccfba799450cfe4f75566dc1f32db1c76a6b.

* Add other Serialize implementations

* Add remaining Serialize implementations

* Add Read for char*

* Improvements
2025-01-16 00:52:29 +01:00
Christian Semmler
a31900a6d4 Merge remote-tracking branch 'isle/master' into isleupd 2025-01-06 16:15:16 -07:00
Christian Semmler
c54805fde8
Order functions in binary up to the end of Helicopter; refactor vector/matrix classes (#1309)
* Order experimentation

* Revert IslePathActor

* Fix order

* Fix inlining

* Fixes

* WIP

* WIP

* Refactor

* Refactor

* Fix operators

* Remove obsolete inline keyword

* Fix ctors

* Refactor

* Rename files

* Refactor

* Remove empty line
2025-01-04 15:07:04 -07: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
795d6e144d
Match LegoPathActor::VTable0x8c (#1303)
* Match `LegoPathActor::VTable0x8c`

* Fix
2024-12-29 20:46:03 +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
7d90befd05 Merge remote-tracking branch 'isle/master' into merge-isle-2 2024-12-27 10:48:38 -07:00
jonschz
70baf8cecc
Fix float constants and conversions (#1279)
* Fix legoplants warnings, add BETA10 references

* Fix warnings in various header files, improve match

* Fix floats in legoactors.cpp

* Fix `legolocations.cpp`

* fix typo

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-25 21:01:00 +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
c2c9c75f1a
Fix Vector2/Vector3 order (#1272)
* Fix Vector2/Vector3 order

* Refactor vector classes to be const and reference param consistent

* Add BETA10 annotations and fixes
2024-12-24 22:21:26 +01:00
Christian Semmler
7c41ff4569
Order compilation units according to retail, match and align Score class (#1271)
* Initial changes for ordering, Score

* Add mxdebug

* Match `Score::Paint`

* Refactor

* Add BETA asserts

* BETA match
2024-12-24 19:38:15 +01:00
Christian Semmler
69bac21488 Merge remote-tracking branch 'isle/master' into merge 2024-12-23 09:38:55 -07:00
Christian Semmler
1b99d75543
Refactor geom library into geom and shape (#1263)
* Refactor `geom` library into `geom` and `util`

* Rename to `shape`
2024-12-23 17:25:23 +01:00
Christian Semmler
cbc3d7227e
Implement/match LegoWEGEdge functions (#1259)
* Implement/match `LegoWEGEdge::VTable0x04`

* Implement/match `LegoWEGEdge::FUN_1009aea0`

* Rename
2024-12-22 19:47:39 +01:00
Christian Semmler
e73f60e2c6
merge from isle/master 2024-12-20 11:54:06 -07:00
jonschz
7ed2ac9ccc
Progress on Helicopter::FUN_100042a0 (#1242)
* Implement `LegoCameraController::FUN_100123b0`

* Improve `UnknownMx4DPointFloat::Unknown7` match, add BETA10

* Add draft for `FUN_100042a0`

* Improve match

* Match

* Use better naming

* Remove comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 01:27:14 +01:00
Christian Semmler
90c687bde0
Implement/match Act3Brickster::FUN_10042300 (#1238)
* Implement/match `Act3Brickster::FUN_10042300`

* Add comment about assignment operator

* Add another comment

* Fix

* add back BETA annotation
2024-12-17 23:16:00 +01:00
Christian Semmler
f51b1867ee
Use SDL3 for filesystem access (#36)
* Use SDL IOStream in for MXIOINFO

* Use SDL IOStream for WDB file

* Use SDL IOStream for LegoStorage

* Update README.md

* Fixes

* Add names to skip.yml

* Add #include <stdio.h> where necessary
2024-12-16 22:25:52 +01:00
Christian Semmler
3b7e60bdc0
merge from isle/master 2024-12-15 11:59:19 -07:00