Commit Graph

212 Commits

Author SHA1 Message Date
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
Erik Schulze
eb1177b409 rename functions and parameters in OrientableROI (#1512) 2025-05-21 20:13:28 -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
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
674197555c Rename m_list0x68 to m_pathControllerList in LegoWorld class (#1459) 2025-05-09 20:49:52 +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
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
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
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
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
ee2bcb4d53 Order symbols in LegoWorld (#1321)
* Partially order `LegoWorld` symbols

* Further order `LegoWorld`
2025-01-10 01:31:45 +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
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
Christian Semmler
63bfb95d80 Match LegoActor::SetROI (#1295) 2024-12-28 17:43:06 +01: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
6b3fcafbe1 Match Helicopter::HandleEndAnim (#1276) 2024-12-25 18:39:51 +01: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
Anonymous Maarten
b4d2ea72af Fix -Wwrite-strings warnings (#1267)
warning: ISO C++ forbids converting a string constant to 'LegoChar*'
2024-12-23 17:11:38 -07:00
Christian Semmler
b03de35e30 Further accuracy improvement on LegoNavController::Notify (#1255)
* Further accuracy improvement on `LegoNavController::Notify`

* Use enum
2024-12-21 23:38:22 +01:00
Christian Semmler
a987533ba1 Fix a bug in LegoNavController, improve accuracy (#1254)
* Fix a bug in `LegoNavController`, improve accuracy

* Fix
2024-12-21 23:17:45 +01:00
Christian Semmler
fe2a65c8da Implement/match LegoNavController::Notify (#1253)
* Implement/match `LegoNavController::Notify`

* Move function

* Add to total function count

* Add OPT:REF to lego1
2024-12-21 22:41:47 +01:00
Christian Semmler
bcc41256f8 Add LegoOmni::World enum (#1252) 2024-12-21 18:08:55 +01: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
cfa3769abf Use macros for Seek modes (#1235)
* Use macros for `Seek` modes

* Fix syntax

* Use `OF_READ`

* Add names to skip.yml

* Revert "Add names to skip.yml"

This reverts commit 28b6f577dc.
2024-12-16 22:13:52 +01:00
Christian Semmler
6da2faa48c Refactor actor states, define enum (#1220)
* Refactor actor states, define enum

* Revert

* Rename `UpdateState` to `Animate`
2024-12-13 20:30:50 +01:00
Christian Semmler
ce3f71ea0f Rename LegoPathActor::VTable0x70 to UpdateState (#1219) 2024-12-13 19:20:03 +01:00
Christian Semmler
263d7d1e4f Implement/match Act3::GoodEnding (#1218) 2024-12-13 18:49:45 +01:00
Christian Semmler
1bfeebd004 Implement most of LegoJetski, refactor (#1214)
* Implement most of `LegoJetski`, refactor

* Fix
2024-12-12 21:17:25 +01:00
Christian Semmler
aceba71fbb Implement/match Act3Brickster::HitActor (#1212)
* Implement/match `Act3Brickster::HitActor`

* Fixes

* Fixes

* Fixes

* Add `Act3Cop::VTable0x9c`

* Fix
2024-12-12 17:10:44 +01:00
jonschz
07def56326 Implement Act2Actor::VTable0x70 (#1201)
* Implement draft of `Act2Actor::VTable0x70`

* Fix CI errors

* Implement `Act2Actor::FUN_100199f0`

* WIP: cleanup

* Address review comments

* Run formatter

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-09 22:05:08 +01:00
Christian Semmler
1aff40dd94 Implement/match several functions in Act3, refactor (#1197)
* Implement/match several functions in Act3, refactor

* Fix naming

* Rename

* Add comment

* Add annotation

* Add BETA assert
2024-12-08 18:00:57 +01:00
Christian Semmler
94ce89cbaa (Proposal) Introduce arithmetic operators to Vector2 (#1193) 2024-12-07 17:26:22 +01:00
MS
6ca54824e6 Rename c_notificationDrag* enum (#1191)
* Improve functions with drag notifications

* Rename drag notifications

* A couple more addrs
2024-12-04 16:19:48 -07:00
MS
7ece9cf37b Fix MxParam casts in Notify functions (#1188)
* First batch

* Second batch
2024-12-03 15:51:03 -07:00
Christian Semmler
5693b1a266 Implement/match LegoAct2::HandlePathStruct (#1187)
* Implement/match `LegoAct2::HandlePathStruct`

* Add Act2Brick::FUN_1007a670

* Add Act2Brick::Create

* Name variable

* Add stdio.h
2024-12-03 21:31:24 +01:00
Christian Semmler
a0a114135a Implement/match LegoAct2::HandleEndAction and related (#1184)
* Implement/match LegoAct2::HandleEndAction

* Reorder
2024-12-02 18:58:08 +01:00
Christian Semmler
e8e457f01a Implement/match LegoAct2::Enable (#1178) 2024-11-29 22:32:40 +01:00
Christian Semmler
bd011c6724 Remove static storage specifier so vars can be found through datacmp (#1171) 2024-11-27 00:33:18 +01:00
Christian Semmler
b9a1da6a7a Implement/match Act2Brick (#1169)
* Implement/match Act2Brick

* Rename functions

* Naming
2024-11-25 22:08:57 +01:00
MS
816bfe842d Use alias functions from Lego3DManager (#1167)
* Mark LegoEntity:Destroy (many vtables use it)

* Starting addrs for Lego3DManager helpers

* Addrs for users of Lego3DManager and changes where needed
2024-11-23 20:37:24 -07:00
jonschz
0aa5e010ae Implement CarRace (#1165)
* Implement `CarRace`

* Improve `CarRace::Create`

* Fix arrays

* Clean up array

* Fix CI errors

* Implement `LegoRaceCar::FUN_10012e00()`

* Implement `Doors::VTable0xcc`

* Address review comments, part 1

* Address review comments, part 2

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-23 12:33:15 -07:00
jonschz
5be9b343c4 Implement LegoJetskiRaceActor::VTable0x6c, add BETA10 annotations (#1160)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-19 16:20:27 +01:00
jonschz
6431405e92 Implement parts of LegoJetskiRaceActor (#1159)
* Implement part of LegoJetskiRaceActor

* Fix linter errors

* Update legojetskiraceactor.cpp

Fix minor incorrectness

* Address review comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-18 20:32:48 +01:00