Commit Graph

900 Commits

Author SHA1 Message Date
Fabian Neundorf
99ff92e49e
Use enum for states in PoliceState (#1552) 2025-06-10 16:07:10 -07:00
Fabian Neundorf
180d4949da
Clear unknowns in PoliceState (#1551) 2025-06-10 11:51:21 -07:00
Christian Semmler
8cdc8fbc05
Name LegoAnimationManager::m_unk0x41c (#1550) 2025-06-10 01:17:34 +02:00
MS
f334eae667
Fix #1548 (#1549) 2025-06-08 21:38:36 -04:00
Fabian Neundorf
82f1ce8814
Clear unknowns/numbers in Hospital and HospitalState (#1545)
* Define state variables in `HospitalState`

* Cleared unknown for flashing leds in `Hospital`

* Misc name changes in `Hospital`

* Name states in `Hospital`
2025-06-08 15:57:38 -07:00
Florian Kaiser
36c1093c88
Clear unknowns in LegoPathBoundary, LegoWEEdge, LegoWEGEdge and LegoPathController (#1546) 2025-06-08 11:04:58 -07:00
Florian Kaiser
06af7d25c6
Rename g_wdbOffset to g_wdbSkipGlobalPartsOffset for clarity (#1547) 2025-06-08 08:04:06 -07:00
Fabian Neundorf
7471852e9d
Named unknown function in LegoTextureInfo (#1544) 2025-06-07 18:04:55 +02:00
Christian Semmler
d714bf62f1
Improve LegoPathActor::VTable0x84 BETA match (#1543) 2025-06-06 23:22:46 +02:00
Fabian Neundorf
ac4d3b2490
Name for bounding box in ROI (#1541)
* Name for bounding box in ROI

* Use snake_case for member
2025-06-06 11:47:45 -07:00
Fabian Neundorf
9134dd791c
Name boolean field in Mesh (#1540) 2025-06-04 23:30:06 +02:00
Fabian Neundorf
d272054d5a
Clear unknowns in legocharactermanager (#1539) 2025-06-04 23:29:41 +02:00
Fabian Neundorf
d7d3a47cd2
Add names to LegoActorInfo.Part (#1538)
Each part consists of two "blocks" where every block has a list of
indices which reference into a list of names and the actual index used
for the list of indices.

By doing that, it is possible to reuse the list of name for every actor
and instead have a "sublist" through the indices list.
2025-06-03 18:11:01 -07:00
Fabian Neundorf
b4fb9f3a15
Better name for LegoActorLOD's flags (#1537) 2025-06-02 14:21:12 -07:00
Christian Semmler
f48dd8c912
Update legogamestate.cpp (#1535) 2025-06-01 18:46:14 +02:00
Anonymous Maarten
ac971f8c15
Assertion in MxTransitionManager::StartTransition is beta10-only (#1534)
This fixes an assertion error when:
1. Start the game
2  Skip intro (probably optional)
3. Turn left to the elevator room
4. Enter the elevator
5. Press the (I) button
2025-05-31 02:33:28 +02:00
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