Commit Graph

884 Commits

Author SHA1 Message Date
Anonymous Maarten
941bc6ffa9
Fix UBSAN entering the petrol station car building minigame (#1533) 2025-05-31 02:19:11 +02:00
Anonymous Maarten
e813a12a4a
Fix notification/presenter casts (#1532)
* LegoCarBuild: cast c_notificationType0 to MxNotificationParam

* MxBackgroundAuioManager gets a MxWavePresenter
2025-05-30 21:43:33 +02:00
Fabian Neundorf
d0f4725f0f
Fill in unknown color string descriptions (#1531) 2025-05-30 21:12:49 +02:00
Christian Semmler
168bd4b26c
Fix LegoTreeNode* construction (#1530)
* Fix LegoTreeNode* construction

* Fix
2025-05-29 23:41:57 +02:00
Anders Jenbo
211d409992
Apply RAND_MAX to legoanimationmanager.cpp (#1528) 2025-05-29 06:52:15 -07:00
Anders Jenbo
6e0b580b86
Correct delete[] in legocarbuildpresenter.cpp (#1529) 2025-05-29 06:51:42 -07:00
Anonymous Maarten
30ae89f483
LegoMeterPresenter: use array deleter + BETA10-only assertion (#1527)
* LegoMeterPresenter: use array deleter

(cherry picked from commit 0897f75c7ca0b10df2b43783d0e99ff5059a29fb)

* assert in LegoCarBUild::InitPresenter is BETA10-only

(cherry picked from commit 1a41b62f6f7ae5f5926941e621a740a31d3c745f)
2025-05-28 20:25:05 -07:00
Anonymous Maarten
45890eec94
legoanimationmanager: use delete[] (#1526) 2025-05-28 18:28:30 -07:00
jonschz
b7090bd838
Match LegoActor and LegoPathActor in BETA10 (#1524)
* Match `LegoActor` in BETA10

* Cleanup

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-05-27 22:04:01 +02:00
jonschz
4186bae786
Match Helicopter::FUN_100042a0 (#1523)
* Match `Helicopter::FUN_100042a0`

* Add comment

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-05-26 23:33:52 +02:00
Christian Semmler
04b669cf96
Fix type cast in MxControlPresenter::FUN_10044270 (#1522) 2025-05-26 18:45:06 +02: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
Florian Kaiser
804632b13f
Refactor LegoUnknown100db7f4 to LegoOrientedEdge (#1515)
* Refactor `LegoUnknown100db7f4` to `LegoOrientedEdge`

* Update LEGO1/lego/sources/geom/legoorientededge.h

* Update legopathcontroller.h

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-24 23:09:24 -07:00
Christian Semmler
a860e76dba
Match LegoOmni::GetWorldId (#1517) 2025-05-24 17:12:07 +02:00
Florian Kaiser
90b5c27a8b
Clear unknowns in MxBackgroundAudioManager (#1516)
* Clear unknowns in `MxBackgroundAudioManager`

* Apply suggestions from code review

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-24 06:49:43 -07:00
Erik Schulze
eb1177b409
rename functions and parameters in OrientableROI (#1512) 2025-05-21 20:13:28 -07:00
Anonymous Maarten
40a21867e8
Document buttonId in RegistrationBook (#1510) 2025-05-19 18:05:35 -07:00
Erik Schulze
d67318e78b
propagate name changes from commit fce97ea (#1508)
* propagate name changes from commit fce97ea

* remove dependency on omni types

* rename parameter too
2025-05-19 21:25:52 +02: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
c9b41e2db8
Fix delete in legoanimmmpresenter.cpp (#1504) 2025-05-17 19:09:44 -07:00
Anders Jenbo
d3cd491765
Correct delete[] in legowegedge.cpp (#1499) 2025-05-17 13:25:22 -07:00
Anders Jenbo
2d92aee589
Correct delete[] in mxcontrolpresenter.cpp (#1498) 2025-05-17 13:24:06 -07:00
Anders Jenbo
d52af9f4e3
Enum in legovideomanager.cpp (#1492) 2025-05-14 22:03:52 -07:00
Anders Jenbo
ad5ccd4e8b
Enums in mxtransitionmanager.cpp (#1491) 2025-05-14 22:03:33 -07:00
Anders Jenbo
f99da0cea7
Correct enums in legotextureinfo.cpp (#1489) 2025-05-14 22:02:35 -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
Anders Jenbo
fce97ea06f
Correct check for lighting support (#1486) 2025-05-15 01:39:55 +02:00
Anders Jenbo
7e98f0e11c
Rename FUN_1009d0d0 into GetBestDevice (#1478) 2025-05-12 22:34:37 +02:00
Florian Kaiser
e59345c88c
Rename SetUnknown84 to SetNotificationObject (#1474) 2025-05-12 17:20:38 +02:00
Ramen2X
2b3e7176d3
make all calls to winapi format-agnostic (#1470) 2025-05-11 15:03:32 -04:00
Anders Jenbo
00ac032761
Fix input to FUN_10064740 (#1467) 2025-05-10 17:37:02 -07:00
Christian Semmler
fff2021bb5
Match Hospital::ReadyWorld (#1465) 2025-05-10 18:11:53 +02:00
Christian Semmler
447fcd0c00
Match LegoCarBuild::FUN_100246e0 (#1464) 2025-05-10 17:48:08 +02:00
Christian Semmler
30facd3c90
Match JetskiRace::Create (#1463) 2025-05-10 17:16:18 +02:00
Florian Kaiser
a3d773f629
Rename functions in LegoWorldPresenter : FUN_10067360 to LoadWorldPart and FUN_100674b0 to LoadWorldModel. Update m_unk0x50 to m_maxObjectId. (#1460) 2025-05-09 21:23:02 +02:00
Florian Kaiser
c59343c220
Rename m_unk0x64 to m_world in LegoAnimMMPresenter (#1461) 2025-05-09 20:55:22 +02:00
Florian Kaiser
81ce446628
Rename m_unk0x28 to m_characterIndex in AnimInfo struct and update references in LegoAnimationManager (#1462) 2025-05-09 20:54:44 +02:00
Florian Kaiser
674197555c
Rename m_list0x68 to m_pathControllerList in LegoWorld class (#1459) 2025-05-09 20:49:52 +02: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
Florian Kaiser
3811d61ea4
Rename c_bit5 to c_ctrl in LegoInputManager, change m_unk0x6c to m_isAccelerating and clear some local unknowns (#1458) 2025-05-09 07:40:00 -07:00
Florian Kaiser
711134b3b8
Replace m_unk0x04 and m_unk0x08 with m_modelDataLength and m_modelDataOffset (#1456) 2025-05-09 07:35:11 -07:00
Christian Semmler
fa6c62f7b3
Match MxCompositeMediaPresenter::Tickle (#1437)
* Match `MxCompositeMediaPresenter::Tickle`

* Remove file
2025-05-06 01:04:55 +02:00
MS
3b63506648
Fix FUN_10044270 (#1423) 2025-04-03 17:10:11 -04:00
MS
8821593b63
Improve MxControlPresenter::FUN_10044270 (#1422) 2025-04-03 16:25:40 -04:00
Christian Semmler
a301f84566
Match LegoAnimPresenterSetCompare comparison (#1415) 2025-03-16 22:58:48 +01: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
401fa7674e
Match MxBackgroundAudioManager::FadeInOrFadeOut (#1413) 2025-03-16 22:19:11 +01:00
Christian Semmler
67c71cb9e6
Match MxControlPresenter::HasTickleStatePassed (#1412) 2025-03-15 14:19:09 -07:00
Christian Semmler
b0b68052d4
Improve Isle::Enable match (#1410) 2025-03-14 21:45:53 +01:00
Christian Semmler
421a317050
Match Isle::HandleEndAction (#1409) 2025-03-14 21:24:50 +01:00
Christian Semmler
77435427b3
Match Radio::HandleControl (#1408) 2025-03-14 21:24:11 +01: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
MS
92f20e7f7b
Fix enum in Ambulance::HandlePathStruct (#1395) 2025-02-27 21:32:27 -05: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
ea5a722311
Fix Matrix4::operator[] annotation (#1390) 2025-02-22 06:48:11 -07:00
Christian Semmler
5e5b048b34
Match Act3::DebugCopter (#1392)
* Match `Act3::DebugCopter`

* Rename param
2025-02-21 23:50:38 +01:00
jonschz
78e924e4ee
Match Infocenter::ReadyWorld (#1389)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-21 21:26:10 +01: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
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
347da7d555
Match Infocenter::HandleButtonUp (#1383) 2025-02-11 23:23:20 +01:00
Christian Semmler
82453f62d8
Match Hospital::HandleButtonDown (#1381) 2025-02-02 17:42:37 +01:00
jonschz
bc0344a8c4
Match Jetski::HandleClick (#1380)
* Match `Jetski::HandleClick`

* Formatting

* Clean up, document, add BETA10 references

* Fix formatting

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-02 15:44:00 +01:00
MS
dad44535bd
Beta matching LegoCacheSound (#1379) 2025-01-29 10:41:50 -05:00
MS
29bf588870
LegoRaceCar and LegoJetski tweaks (#1378) 2025-01-26 21:00:51 -05:00
jonschz
fe36c2543e
BETA10 match RegistrationBook::ReadyWorld() (#1376)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-01-26 08:02:01 +01:00
Christian Semmler
382f058c23
Match RegistrationBook::ReadyWorld (#1375) 2025-01-25 00:32:08 +01: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
99befafff2
Remove LegoEventNotificationParam unit (#1372) 2025-01-23 01:25:53 +01:00
Christian Semmler
49cb120795
Order symbols until end of LegoOmni (#1371)
* Order

* Improve

* Move function

* Order until end of LegoOmni

* Remove header
2025-01-22 22:22:58 +01:00
MS
4db8b44ce0
Implement LegoCarBuildAnimPresenter::Serialize (#1366) 2025-01-20 21:43:24 -05:00
Christian Semmler
5a7df7f95d
Order until LegoCarBuildAnimPresenter (#1365)
* Order until `Infocenter`

* Order until RaceSkel

* More order

* Order until `LegoCarBuildAnimPresenter`

* Add blank line

* Add BETA annotation
2025-01-21 01:31:28 +01:00
MS
9480fd9d98
Fix annotations for overloaded functions (#1354) 2025-01-19 13:46:42 -07:00
MS
038ec6b2ec
Some improvements to LegoGameState (#1353)
* Beta match ReadVariable and WriteVariable

* Change param type for GetFileSavePath

* Remove copy constructor for LegoGameState::Username
2025-01-19 13:34:06 -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
e1ce96c473
Order symbols until end of LegoGameState (#1340)
* Order `Ambulance`

* More ordering

* Order until `LegoGameState`

* Move
2025-01-17 03:42:38 +01: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
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 1c0cccfba7.

* Add other Serialize implementations

* Add remaining Serialize implementations

* Add Read for char*

* Improvements
2025-01-16 00:52:29 +01:00
Christian Semmler
f95eedd0ce
Improve match of LegoPathActor::FUN_1002edd0, reorder (#1332)
* Relocate annotation

* Improve match of `LegoBuildingManager::ScheduleAnimation`

* try fix

* Revert "try fix"

This reverts commit e8f5db6fec.

* Order isle

* Move annotation
2025-01-12 21:31:58 +01:00
Christian Semmler
5c57b805de
Fix regression in LegoWorld::Enable (#1329)
* Fix regression in `LegoWorld::Enable`

* Update legoworld.cpp
2025-01-11 11:39:27 -07:00
Christian Semmler
33d8192d75
Implement/match LegoWorld::ActorExists (#1330) 2025-01-11 17:55:19 +01:00
MS
4d3481d2bd
LegoWorld::Add to 100% (#1328) 2025-01-11 10:51:02 -05:00
Christian Semmler
ac3a551bcc
Improve symbol order until LegoActor, match LegoPlantManager::ScheduleAnimation (#1327)
* Order `LegoCarBuild`, `LegoPlantManager`

* Order until `LegoActor`
2025-01-11 01:42:03 +01: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
58d3bd39e1
Add missing SpawnLocation ctor annotation (#1320) 2025-01-09 01:36:54 +01:00
Christian Semmler
5cd365c4f1
Order until the end of LegoAnimActor (#1319) 2025-01-09 01:28:43 +01:00
Christian Semmler
8026025fbd
Improve LegoRacers HitActor matches (#1318) 2025-01-09 01:15:05 +01:00
Christian Semmler
4c32abd16d
Add BETA10 macro to enable conditional compilation for BETA10 targets (#1270)
* Add BETA10 macro to enable conditional compilation for BETA10 targets

* Adjustments to CMakeLists.txt
2025-01-07 00:06:07 +01:00
Christian Semmler
7c452e9453
Order functions in binary up to end of Act2Actor (#1312)
* Order more functions

* Order LegoRaceActor

* Further ordering

* Order `Act2Actor`

* Fix
2025-01-05 21:00:50 +01:00
Christian Semmler
72aa7e330d
Order functions up to the end of GasStation, match GasStation::ReadyWorld (#1311)
* Minor improvements

* Match `GasStation::ReadyWorld`

* Reorder
2025-01-05 18:40:07 +01: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
10d318a5de
Fix inlining in Helicopter::FUN_100042a0 (#1307) 2025-01-01 21:09:18 +01:00
MS
70e72de20f
Some tweaks to LegoCharacterManager (#1305) 2024-12-30 13:46:55 -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
Christian Semmler
d97ce96768
Use Windows virtual key macros for keys (#1302)
* Use Windows virtual key macros for keys

* Add `VK_OEM_MINUS`

* Fix missing key

* Name variable
2024-12-29 17:14:36 +01:00
Christian Semmler
9b96f3c338
Match LegoWorld::Find (#1301) 2024-12-28 21:17:03 +01:00
Christian Semmler
a97934e188
Match LegoNavController::ProcessKeyboardInput (#1298) 2024-12-28 18:30:07 +01:00
Christian Semmler
e4e8ad6da5
Match LegoWorld::Tickle (#1297) 2024-12-28 18:23:27 +01:00