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
5cd365c4f1
Order until the end of LegoAnimActor ( #1319 )
2025-01-09 01:28:43 +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
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
Christian Semmler
667ea3ff82
Various matches with BETA functions ( #1281 )
...
* Match functions to BETA
* Improve `Matrix4::FromQuaternion`
* Improve `Matrix4::ToQuaternion` match
* Fix bug that was fixed in retail
* Match `Vector4::NormalizeQuaternion`
2024-12-25 22:05:28 +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
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
Joshua Peisach
bb29d289fe
SkateBoard: name m_unk0x160 -> m_pizzaVisible ( #1269 )
2024-12-24 07:50:37 -07:00
jonschz
3e6d789324
Add all BETA10 ClassName() functions and vtables ( #1258 )
...
* Add all BETA10 `ClassName()` functions and vtables
* Run formatter, fix copy error
* Fix copy error
* Add BETA10 library functions
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-22 08:13:34 -07: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
jonschz
3e427ab03e
Improve Helicopter::Animate() ( #1251 )
...
* Small improvements
* More improvements
* Small drive-by refactor
* Do not inline `UnknownMx4DPointFloat::FUN_10004520()`
* Fix `Act3Brickster::Animate`
* Fixes
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-21 17:21:22 +01:00
Christian Semmler
2b4f71e17d
Implement/match Act3Cop::FUN_10040360 ( #1247 )
...
* Implement/match `Act3Cop::FUN_10040360`
* Remove comments
* Modern compiler fix
2024-12-20 19:49:18 +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
cb38cf7673
Implement/match Act3Brickster::FUN_100417c0 ( #1240 )
...
* Implement/match `Act3Brickster::FUN_100417c0`
* Move function
* Rename var
* Revert "Rename var"
This reverts commit c9ca75ae7f .
2024-12-19 20:22:34 +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
66e3c9a2e1
Implement/match Act3Brickster::Animate ( #1237 )
...
* Implement/match `Act3Brickster::Animate`
* Improve loop
2024-12-17 19:11:47 +01:00
Christian Semmler
615c3a5047
Implement/match Act3Cop::Animate ( #1233 )
...
* Implement/match `Act3Cop::Animate`
* Fix
2024-12-15 19:48:47 +01:00
jonschz
2e7f2edbf1
Implement/match Act3Cop::ParseAction ( #1230 )
...
* Implement/match `Act3Cop::ParseAction`
* Fix formatting
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-15 18:09:29 +01:00
Christian Semmler
661c76c6e0
Implement/match Act3Shark::Animate ( #1231 )
...
* Implement/match `Act3Shark::Animate`
* Add BETA annotation
* Raise max functions
* Mark as FUNCTION
2024-12-15 17:18:25 +01:00
jonschz
ace2a9f047
Add g_copDest ( #1229 )
...
* Implement `AddCop` and `g_copDest`
* Fix formatting
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-15 05:50:52 -07:00
Christian Semmler
16730ef9c1
Implement/match Act3Ammo::FUN_10053db0 ( #1227 )
2024-12-14 21:36:14 +01:00
Christian Semmler
67b4553eaa
Implement/match LegoPathController::FUN_1004a380 ( #1226 )
2024-12-14 20:02:48 +01:00
jonschz
5a6415e0cf
Implement/match Act2Actor::FUN_10019b90 ( #1222 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-13 16:19:55 -07:00
Christian Semmler
1aeb458be1
Implement/match Act3Ammo::Animate ( #1221 )
...
* Implement/match `Act3Ammo::Animate`
* Match
* Rename
* Rename
* Rename
2024-12-13 22:56:26 +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
de7bc813ca
Implement/match LegoAct2::BadEnding ( #1217 )
...
* Implement/match `LegoAct2::BadEnding`
* Name some vars
2024-12-13 17:26:06 +01:00
Christian Semmler
32392a8e55
Fix Act2Actor::FUN_10019700 ( #1216 )
2024-12-13 17:12:53 +01:00
jonschz
054f56fd9f
Implement Act2Actor::FUN_10019700 ( #1215 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-12 17:54:51 -07: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
Christian Semmler
fe57a94416
Implement/match Act3Brickster::ParseAction ( #1211 )
2024-12-12 16:06:15 +01:00
Christian Semmler
598d6dd10c
Refactor act 3 actors into act3actors.cpp ( #1210 )
2024-12-12 15:14:46 +01:00
MS
c05ff6ff4a
Act3Cop::VTable0x94 and related ( #1209 )
...
* Act3Cop::VTable0x94 and related
* No need to include
* Cast LegoWorld* to Act3*
2024-12-11 22:20:21 +01:00
Christian Semmler
ac19539d0f
Implement/match Act3Shark functions ( #1208 )
...
* Implement/match `Act3Shark` functions
* Naming
2024-12-11 21:13:34 +01:00
Christian Semmler
a2b2b5d734
Implement/match Act3Ammo::FUN_10053b40 ( #1207 )
...
* Implement/match Act3Ammo::FUN_10053b40
* Add Act3Ammo::Remove
2024-12-11 20:52:53 +01:00
Christian Semmler
adc83dc76e
Implement/match Act3Ammo::Create, Act3Ammo::FUN_10053cb0, Act3Ammo::FUN_10053d30 ( #1205 )
...
* Implement/match Act3Ammo::Create
* Fix BETA addr
* Move
* Move
* Remove header
* Add missing header
2024-12-10 22:35:59 +01:00
Christian Semmler
59e2aa2804
Implement/match LegoAct2::FUN_100516b0 and LegoAct2::FUN_100517b0 ( #1204 )
...
* Implement/match `LegoAct2::FUN_100516b0` and `LegoAct2::FUN_100517b0`
* Fix
2024-12-10 21:49:13 +01:00
Christian Semmler
c2ee761f81
Implement/match Act3::ShootPizza and Act3::ShootDonut ( #1203 )
...
* Implement/match `Act3::LaunchPizza` and `Act3::LaunchDonut`
* Match Helicopter::HandleControl
* Rename
* Adjust total function count
* Rename
2024-12-09 23:41:51 +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
d9b9178d27
Implement/match Act3::Notify ( #1200 )
...
* Implement/match Act3::Notify
* Fix typo
2024-12-08 20:52:32 +01:00
Christian Semmler
564fb7f7c0
Implement/match Act3::Enable ( #1198 )
...
* Implement Act3::Enable
* Match
* Change back to private
* Remove unused function
2024-12-08 19:39:03 +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
97fb6e4f15
Add Act3Ammo, match Act3::Act3 ( #1196 )
...
* Implement `Act3Ammo`, match `Act3::Act3`
* Move
* Fix match
2024-12-07 11:57:59 -07:00
Christian Semmler
94ce89cbaa
(Proposal) Introduce arithmetic operators to Vector2 ( #1193 )
2024-12-07 17:26:22 +01:00
Christian Semmler
4d8098a6c2
Implement LegoPathController::FUN_10048310 ( #1192 )
...
* WIP
* Rename
* Fix
* More WIP
* WIP
* WIP
* Fix
* Annotations
* Add more annotations, improve match
* Raise max functions
2024-12-06 20:50:40 +01: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
jonschz
3c624ff14c
Implement Act2Actor::VTable0x9c() ( #1186 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-03 19:12:05 +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
jonschz
8b9f6f1007
Implement more functions in Act2Actor ( #1183 )
...
* Implement `Act2Actor::VTable0xa0`
* Implement `Act2Actor::FUN_10019520()`
* Implement/match `Act2Actor::FUN_100192a0()`
* Fix clang32 issue
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-01 10:21:59 -07:00
jonschz
f066e2ee2e
Implement Act2Actor::Act2Actor(), add BETA10 references ( #1182 )
...
* Implement `Act2Actor::Act2Actor()`, add structure and BETA10
* Add LegoAnimActor BETA10 annotations
* Improve LegoAnimActor BETA10 match
* More BETA10 annotations
* Address review comment
* Disable annotation so the CI passes
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-30 14:35:07 -07:00
Mikhail
cc682173eb
Implement functions in Act3Actor ( #1180 )
...
* Implement Act3Actor
* Minor consistency adjustments
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-11-30 17:57:44 +01:00
Christian Semmler
e8e457f01a
Implement/match LegoAct2::Enable ( #1178 )
2024-11-29 22:32:40 +01:00
Christian Semmler
c9a2a7203b
Implement/match LegoAct2::HandleTransitionEnd ( #1176 )
2024-11-29 21:24:14 +01:00
jonschz
83b85f26a7
Implement LegoAct2::Tickle() and others ( #1168 )
...
* Implement `LegoAct2::Tickle()` and others
* Fix decomplint errors
* Minor cleanup
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-25 23:24:46 +01: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
Christian Semmler
93c640a45f
Implement/match PickEntity ( #1153 )
...
* Implement/match PickEntity
* Rename function
2024-11-15 18:35:53 +01:00
Christian Semmler
2e08748551
Implement/match RaceCar ( #1151 )
2024-11-15 18:19:15 +01:00
Christian Semmler
8e23bfb266
Implement/match some Act2Actor functions ( #1148 )
2024-11-11 19:36:36 +01:00
Christian Semmler
0b94b4803b
Implement/match Act2GenActor::VTable0x94 ( #1138 )
2024-11-10 16:43:07 +01:00
Christian Semmler
2c10c8e344
Implement/match Doors::VTable0x70 and Doors::ParseAction ( #1137 )
...
* Implement/match Doors::VTable0x70 and Doors::ParseAction
* Fix
2024-11-09 22:54:17 +01:00
Joshua Peisach
f4ab226946
Implement Doors::VTable0x94 ( #1136 )
...
* Implement Doors::VTable0x94
* Match function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-11-09 18:03:01 +01:00
Christian Semmler
d8412a4697
Implement/match Act1State::RemoveActors ( #1132 )
...
* Implement/match Act1State::RemoveActors
* Fix annotation
2024-11-03 19:06:09 +01:00
Christian Semmler
4c95d7c887
Implement/match Pizza::HandleEndAction ( #1128 )
...
* Implement Pizza::HandleEndAction
* Match
2024-11-01 21:13:43 +01:00
Christian Semmler
a14795c0c8
Implement/match Pizza::Tickle ( #1127 )
2024-11-01 18:30:11 +01:00
jonschz
4c0aae720b
Implement LegoCarBuild::FUN_10024890() and others, refactor ( #1126 )
...
* Commit finished code changes
* Add enum data type
* Refactor away GetCurrentArea, SetCurrentArea
* Clean up and add FUN_10024890
* Add `SetPartObjectIdByName()`
* Fix naming error
* Address review comments, part 1
* Address review comments, part 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-01 09:21:15 -07:00
Christian Semmler
115343f6e5
Implement/match PizzeriaState::NextAction ( #1125 )
...
* Implement/match PizzeriaState::NextAction
* Name globals
* Refactor globals into class statics
* Remove TODO
2024-10-28 19:04:08 +01:00
Christian Semmler
5f822dabc7
Implement/match PizzeriaState::PizzeriaState ( #1124 )
2024-10-28 18:32:55 +01:00
Christian Semmler
ad353b7f3e
Implement/match Pizza::PlayAction ( #1123 )
...
* Implement/match Pizza::PlayAction
* Remove unused header
2024-10-28 17:25:54 +01:00
Christian Semmler
2fa2ab4a96
Implement/match Pizza::HandlePathStruct ( #1122 )
2024-10-28 16:53:09 +01:00
Christian Semmler
139da31628
Implement/match PizzaMissionState::PizzaMissionState ( #1121 )
...
* Implement/match PizzaMissionState::PizzaMissionState
* Fix naming
2024-10-27 19:54:01 +01:00
Christian Semmler
b3ce98a2ec
Implement/match Pizza::HandleClick ( #1119 )
2024-10-26 19:34:16 +02:00
Christian Semmler
2b9d8f1fba
Implement/match Pizza::FUN_100382b0 and Pizza::StopActions ( #1118 )
2024-10-26 18:34:43 +02:00
jonschz
c38e157fdb
Implement LegoCarBuild functions, refactor BackgroundAudioManager ( #1117 )
...
* Implement LegoCarBuild functions, refactor BackgroundAudioManager
* Refactor LegoVehicleBuildState::m_animationState to enum
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-25 09:04:01 -07:00
Christian Semmler
fa6de9cb6b
Implement/match Pizza::FUN_10038220 ( #1107 )
2024-10-03 21:43:18 +02:00
Christian Semmler
30e9e43cda
Implement/match RegistrationBook::HandlePathStruct ( #1084 )
2024-08-12 18:21:18 +02:00
Christian Semmler
53924c3d2d
Implement/match TowTrack::HandleEndAction ( #1082 )
...
* Implement/match TowTrack::HandleEndAction
* Fix offset
2024-08-09 20:32:46 +02:00
Christian Semmler
7cf6c78d20
Implement TowTrack::HandlePathStruct ( #1081 )
2024-08-09 04:09:08 +02:00
Christian Semmler
fe1b66938d
Implement/match TowTrack::FUN_1004dbe0 ( #1076 )
2024-08-03 20:31:49 +02:00
Christian Semmler
63586f88b2
Implement/match TowTrack::ActivateSceneActions ( #1075 )
...
* Implement/match TowTrack::ActivateSceneActions
* Add PlayAction
2024-08-03 20:17:17 +02:00
Christian Semmler
a1c6196bbc
Implement/match TowTrack::Leave and related ( #1074 )
2024-08-03 20:07:08 +02:00
Christian Semmler
f94d39bf63
Implement/match TowTrack::HandleClick ( #1073 )
2024-08-03 19:59:12 +02:00
jonschz
4a861faca3
Refactor file names based on BETA10 ( #1064 )
...
* Refactor file names based on BETA10
* Extract LegoDeviceEnumerate to dedicated file
* Fix compiler errors
* Migrate contiguous block of code to `LegoDeviceEnumerate`
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-08 14:52:50 -07:00
Christian Semmler
a75ace8a53
Implement/match TowTrack::VTable0x70 ( #1062 )
2024-07-06 04:44:01 +02:00
Christian Semmler
87a9a37b33
Implement/match Jetski class ( #1061 )
2024-07-05 02:11:20 +02:00
Christian Semmler
09684b3c03
Implement/match BumpBouy class ( #1058 )
2024-07-04 23:28:23 +02:00
Christian Semmler
d92fc97a58
Implement/match DuneBuggy class ( #1055 )
...
* Implement/match DuneBuggy class
* Fix name
* Fix
2024-07-02 21:16:35 +02:00
Christian Semmler
e4e0f4e4d3
Implement/match Motocycle, consistent notification names ( #1037 )
...
* Implement/match Motocycle, consistent notification names
* Format
* Fix
* Fix return types
* Fix return type
* Fix annotations
* Rename function
2024-06-16 16:47:53 +02:00
Christian Semmler
68023379d8
Implement/match Bike ( #1036 )
2024-06-16 15:54:40 +02:00
jonschz
a6644801f1
feat: Implement several ::Serialize functions ( #1017 )
...
* feat: Implement many ::Serialize functions
* address review comments, part 1 [skip ci]
* address review comments, part 2 [skip ci]
* review comments (final part)
* refactor: Remove Read/Write duplication
* fix merge conflict
* Match PizzeriaState::Serialize again
* Remove unused variable, add LegoVehicleBuildState::Serialize
* Implement AnimState::Serialize
* fix: Conform with naming scheme
* refactor: change names back
* refactor: int to MxS32
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-14 23:24:34 +02:00
Christian Semmler
e5d66d597d
Implement/match remaining Ambulance functions ( #1030 )
2024-06-13 20:32:28 +02:00
Christian Semmler
bbc304ce46
Implement/match Ambulance::HandlePathStruct ( #1029 )
...
* Implement/match Ambulance::HandlePathStruct
* Add annotation
2024-06-13 20:10:19 +02:00
Christian Semmler
cf7246ac6c
Implement/match Ambulance::HandleButtonDown ( #1028 )
2024-06-13 17:34:44 +02:00
Christian Semmler
33c64bb002
Implement/match Ambulance::VTable0x70 ( #1027 )
2024-06-13 17:25:48 +02:00
Christian Semmler
cf576ca78f
Add remaining classes, implement/match LegoObjectFactory ( #1026 )
...
* Add missing classes
* Match LegoObjectFactory
* Remove semicolon
* Add symbol
* Fix
2024-06-13 02:02:47 +02:00