Christian Semmler
5ade193261
merge from isle/master
2024-11-29 15:27:01 -07:00
Christian Semmler
f56ffddfdc
Update legoact2.h
2024-11-29 23:22:53 +01:00
Christian Semmler
c0965039d1
Improve Isle::Enable and LegoAct2::Enable matches ( #1179 )
2024-11-29 22:45:57 +01:00
Christian Semmler
e8e457f01a
Implement/match LegoAct2::Enable ( #1178 )
2024-11-29 22:32:40 +01:00
jonschz
362551e279
Clean up unused annotations to reduce errors ( #1177 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-29 22:31:37 +01:00
Christian Semmler
c9a2a7203b
Implement/match LegoAct2::HandleTransitionEnd ( #1176 )
2024-11-29 21:24:14 +01:00
Christian Semmler
a17b3168e9
Implement/match LegoAct2::Notify ( #1175 )
...
* Implement LegoAct2::Notify
* Fix naming
* Remove unnecessary actions/ prefix in includes
2024-11-29 21:11:29 +01:00
jonschz
29a0ae8f07
Implement/match LegoAct2::FUN_10052560() ( #1174 )
...
* Implement/match `LegoAct2::FUN_10052560()`
* Fix formatting
* Fix linter errors
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-29 21:04:50 +01:00
Christian Semmler
7256eeb0ad
Replace hardcoded magic values with constants ( #1173 )
...
* Replace two hardcoded magic values with constants
* Replace constants
2024-11-28 00:05:40 +01:00
Christian Semmler
d6796ad86a
Implement remaining LegoGameState functions ( #1172 )
...
* Implement remaining LegoGameState functions
* Naming fixes
* Fix naming
2024-11-27 23:42:05 +01:00
jonschz
106647e5af
Implement new functions in LegoAnimManager ( #1170 )
...
* Implement new functions in LegoAnimManager
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-27 18:13:37 +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
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
Christian Semmler
b9a1da6a7a
Implement/match Act2Brick ( #1169 )
...
* Implement/match Act2Brick
* Rename functions
* Naming
2024-11-25 22:08:57 +01:00
Christian Semmler
5f0575124f
Merge from isle/master
2024-11-24 08:01:05 -07: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
Christian Semmler
e56ac9ab55
Implement/match LegoBuildingManager::FUN_10030630 ( #1164 )
2024-11-22 23:08:23 +01:00
MS
5e0dc1a160
Beta match progress for flic.cpp ( #1162 )
2024-11-22 01:07:40 +01: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
jonschz
fe8e56ba47
Finish JetskiRace ( #1158 )
...
* Implement `JetskiRace::HandlePathStruct`
* Implement `JetskiRace::FUN_10016930`
* Cleanup, add BETA10
* Match HandlePathStruct
* Address review comments
* Address another review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-11-16 20:24:03 +01:00
Christian Semmler
b4b28cf32e
Implement/match LegoPlantManager::Tickle ( #1157 )
2024-11-16 00:25:49 +01:00
Christian Semmler
3383ae646f
Implement/match LegoBuildingManager::Tickle ( #1156 )
2024-11-15 22:51:46 +01:00
Christian Semmler
ff0ef96782
Implement/match LegoBuildingManager::FUN_10030030 ( #1155 )
2024-11-15 19:24:41 +01:00
Christian Semmler
63fee4d11d
Implement/match LegoAnimNodeData::SetName ( #1154 )
2024-11-15 19:15:33 +01:00
Christian Semmler
93c640a45f
Implement/match PickEntity ( #1153 )
...
* Implement/match PickEntity
* Rename function
2024-11-15 18:35:53 +01:00
Christian Semmler
62f09570b0
Implement/match RotateY ( #1152 )
2024-11-15 18:28:26 +01:00
Christian Semmler
2e08748551
Implement/match RaceCar ( #1151 )
2024-11-15 18:19:15 +01:00
Christian Semmler
3683f292ba
merge
2024-11-14 13:54:18 -07:00
Christian Semmler
db502fcbda
Fix clang-format ( #1150 )
...
* Fix clang-format
* Add back format.yml
* Remove python format
2024-11-14 21:53:13 +01:00
Christian Semmler
bb36eda0dd
Merge remote-tracking branch 'isle/master'
2024-11-14 13:42:52 -07:00
jonschz
71a7498481
Implement most of JetskiRace, add BETA10 annotations ( #1149 )
...
* Implement most of `JetskiRace`, add BETA10 annotations
* Fix declaration order issue
* Clean up FUN_10012de0
* Fix regression
* Address review comments
* Address another review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-14 21:42:38 +01:00
Christian Semmler
8e23bfb266
Implement/match some Act2Actor functions ( #1148 )
2024-11-11 19:36:36 +01:00
Christian Semmler
71a1c51596
Implement/match LegoAct2::Escape ( #1147 )
...
* Implement/match LegoAct2::Escape
* Match empty function
2024-11-11 19:30:34 +01:00
Christian Semmler
bebe780c77
Implement/match LegoAct2::Create ( #1146 )
2024-11-11 18:48:45 +01:00
jonschz
6cda0d95c7
Complete LegoCarBuild ( #1144 )
...
* Complete `LegoCarBuild`
* Fix match error
* Address review comments
* Fix regression
* Fix minor sign comparison issue
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-11 15:44:03 +01:00
Christian Semmler
26f8dd1a6a
Match LegoCarBuild::Tickle ( #1145 )
2024-11-10 23:23:47 +01:00
Christian Semmler
cd261b9518
Refactor/improve matches in Act1State ( #1143 )
...
* Refactor/improve matches in Act1State
* Fix naming
2024-11-10 22:47:12 +01:00
Christian Semmler
5d3d66965d
Implement/match Act1State::PlaceActors and related ( #1142 )
...
* Implement/match Act1State::PlaceActors and related
* Fix naming
2024-11-10 21:26:48 +01:00
Christian Semmler
6885abdc78
Implement/match LegoROI::FUN_100a9dd0 ( #1141 )
...
* Implement/match LegoROI::FUN_100a9dd0
* Implement/match LegoROI::FUN_100a9cf0
2024-11-10 17:35:44 +01:00
Christian Semmler
86a8bad545
Implement/match RegistrationBook::FUN_100778c0 ( #1140 )
2024-11-10 17:18:36 +01:00
Christian Semmler
40159b43c7
Implement/match HistoryBook::~HistoryBook ( #1139 )
2024-11-10 17:07:48 +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
Christian Semmler
9f9294694d
Merge remote-tracking branch 'isle/master'
2024-11-09 10:11:57 -07: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
jonschz
c65bc67e3d
Implement FUN_10025720() and others ( #1134 )
...
* Implement `FUN_10025720()` and others
* Address review comments, get 100 %
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-05 21:33:51 +01:00
Christian Semmler
1badadebaa
Implement/match LegoPathActor::UpdatePlane ( #1133 )
2024-11-03 19:28:35 +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
040c97d92a
Implement/match Act1State::PlayCptClickDialogue ( #1131 )
2024-11-03 17:59:21 +01:00
Christian Semmler
e4453c4100
Implement/match Act1State::Act1State ( #1130 )
...
* Implement/match Act1State::Act1State
* Remove obsolete enum
2024-11-03 17:41:15 +01:00
Christian Semmler
519d8c570a
Implement/match remaining GasStation functions ( #1129 )
...
* Implement/match remaining GasStation functions
* Name variables
2024-11-03 16:44:07 +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
Christian Semmler
bf5379992e
merge from isledecomp/isle
2024-10-26 08:06:31 -07: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
jonschz
b5fee6b240
Complete LegoCarBuildAnimPresenter ( #1114 )
...
* Complete `LegoCarBuildAnimPresenter`
* fix CI errors
* Drive-by BETA10 fixes
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-20 14:00:44 -07:00
jonschz
974cd7ce7c
Implement LegoCarBuildAnimPresenter::FUN_10079160() and others ( #1111 )
...
* Implement `LegoCarBuildAnimPresenter::FUN_10079160()` and others
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-11 20:21:33 +02:00
jonschz
85ce10ab50
Refactor various operator[] based on BETA10 ( #1110 )
...
* Tidy up `operator[]` code
* Add weird index operator for `FUN_1002ddc0`
* Cleanup
* Add Matrix4 BETA10 annotations, fix typo
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-06 07:50:34 -07:00
jonschz
1a15981324
Implement LegoCarBuildAnimPresenter::StreamingTickle() ( #1109 )
...
* Implement LegoCarBuildAnimPresenter::StreamingTickle and dependents
* Fix naming issue
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-05 16:20:45 -07:00
jonschz
e6474b7fcd
Implement LegoCarBuildAnimPresenter::FUN_10079920() ( #1108 )
...
* Implement `FUN_10079920()`
* Fix formatting
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-04 17:19:42 +02:00
Christian Semmler
e7a604c61c
SDL3 fixes ( #32 )
2024-10-03 21:50:32 +02:00
Christian Semmler
fa6de9cb6b
Implement/match Pizza::FUN_10038220 ( #1107 )
2024-10-03 21:43:18 +02:00
Christian Semmler
9397458854
merge from isledecomp/isle
2024-10-03 12:14:05 -07:00
Cameron
4878727393
some educated guesses for unknown view manager names ( #1106 )
...
* some educated guesses for unknown view manager names
* Formatting
* Pin pylint version
* Use snake case for consistency (limited to this class)
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-09-20 19:17:24 +02:00
jonschz
a942325b29
More functions in LegoCarBuild ( #1104 )
...
* Add BETA10 annotations
* Clean up
* Implement multiple functions
* fix minor annotation error
* Undo formatting
* Fix formatting
* Implement more functions
* Rename variables, address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-14 16:14:11 -07:00
jonschz
7a6935a165
Progress on LegoCarBuildAnimPresenter ( #1103 )
...
* Progress on `LegoCarBuildAnimPresenter`
* Rename argument
* fix copy-paste error
* Address review comments
* Remove obsolete comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-12 21:51:33 +02:00
jonschz
5d19b6afe3
Improve UnknownMx4DPointFloat::FUN_100040a0 ( #1102 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-09 12:45:48 -07:00
MS
4a01d15c36
MxStreamListMxDSAction helper functions ( #1100 )
...
* MxStreamListMxDSAction Find/FindAndErase
* Beta addrs for other stream lists
2024-09-06 13:13:16 -07:00
MS
97b3dcaa2c
Beta match* MxStreamer ( #1099 )
...
* Beta addrs
* Streamer changes
* Typo and comment. One more beta addr
* Rename member to m_controllers
2024-09-05 16:06:40 -07:00
Christian Semmler
318c46b881
merge
2024-09-05 12:09:19 -07:00
jonschz
2b14d3d6a5
Implement parts of LegoCarBuild and dependents ( #1092 )
...
* Implement parts of `LegoCarBuild` and dependents
* Fix BETA10 offset
* Fix constants
* Code style: Rename parameters
* Linter fixes v2
* Linter errors v3
* Add BETA10 variable names for presenters
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-03 13:50:30 -07:00
MS
73938ac2ab
Beta match MxDSFile ( #1098 )
2024-09-01 17:08:53 -07:00
MS
2af5f87051
MxTimer touch-up ( #1096 )
2024-09-01 11:51:33 -07:00
MS
990725ba0b
Add more MSVC annotations for LEGO1 ( #1094 )
2024-08-31 20:02:19 -07:00
jonschz
b898d98515
BETA10: reccomp support and Ghidra imports ( #1091 )
...
* Implement core functionality (before linter)
* run linter + formatter
* Review: remove redundant code
* Implement end of range check for vtables
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-29 11:54:23 -07:00
jonschz
1b46859cf6
Implement RaceSkel, add BETA10 annotations ( #1088 )
...
* Implement `RaceSkel`, add BETA10 annotations
* fix formatting
* Fix order
* Address some review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-21 22:30:27 +02:00
jonschz
b649902578
Various fixes in constructors ( #1089 )
...
* Various fixes in constructors
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-21 10:42:49 -07:00
jonschz
757df96c0d
Implement/match LegoRaceMap ( #1087 )
...
* Implement/match LegoRaceMap
* Fix CI, address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-17 11:30:39 -07:00
jonschz
34047c0cb6
Implement/match LegoCarRaceActor::VTable0x6c ( #1085 )
...
* Implement/match `LegoCarRaceActor::VTable0x6c`
* Rename variable
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-17 08:59:22 -07:00
MS
9555aaba74
Remove USHRT_MAX from ParseExtra functions ( #1086 )
2024-08-17 08:56:25 -07:00
Christian Semmler
30e9e43cda
Implement/match RegistrationBook::HandlePathStruct ( #1084 )
2024-08-12 18:21:18 +02:00
MS
9ab3954bbb
Minor tweak to MxList template ( #1083 )
...
* Beta addrs for MxList and related functions
* MxList DeleteAll and Empty functions
2024-08-11 13:23:39 -07: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
5547f47e84
fix merge error
2024-08-08 13:12:07 -07:00
Christian Semmler
03781da2ed
merge
2024-08-08 13:07:47 -07:00
jonschz
a6a241b09d
Implement LegoCarRaceActor::VTable0x70 and VTable0x1c ( #1079 )
...
* Implement/match `LegoCarRaceActor::VTable0x70`
* Add BETA10 annotations
* Start with VTable0x9c, fix data type
* basic BETA10 code completion
* small fix
* small fix
* cleanup
* Fix formatting
* Address review comments
* review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-08 12:55:01 -07:00
MS
51d4dead1a
MxSmack::LoadHeader ( #1080 )
2024-08-07 20:19:12 -07:00
jonschz
e09acfcddb
Implement/match LegoCarRaceActor::VTable0x1c ( #1078 )
...
* Implement/match `LegoCarRaceActor::VTable0x1c`
* Fix formatting
* Fix LegoEdge::CWVertex()
* Fix more CI issues
* Trz to fix lvalue compile issue
* Fix formatting
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-04 21:13:12 +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
4a41671759
Implement/match LegoRaceActor ( #1072 )
...
* Implement LegoRaceActor, add annotations
* Change code duplication comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-02 22:29:21 -07:00
jonschz
1f251ff817
Implement/match LegoCarRaceActor::FUN_10080590 ( #1070 )
...
* Implement/match `LegoCarRaceActor::FUN_10080590`
* Add vbtable annotations
* disable formatter for assertion
* Fix BETA10 annotations
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-28 20:13:18 +02:00
Christian Semmler
be12560248
SDL3 fixes ( #31 )
2024-07-28 19:18:01 +02:00
Christian Semmler
c0bd989dc5
merge
2024-07-28 10:01:31 -07:00
jonschz
f436b9365b
Implement/match the rest of LegoRaceCar, BETA10 improvements ( #1069 )
...
* Implement/match the rest of `LegoRaceCar`
* Add BETA10 annotations and improvements
* Undo incorrect change
* Add synthetic vbase destructors
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-27 18:24:36 +02:00
jonschz
0d385e27d0
Implement/match LegoRaceCar::VTable0x94 ( #1068 )
...
* Implement LegoRaceCar::VTable0x94
* Remove redundant inline modifiers
* Fix offsets
* Fix minor inconsistency
* Address review comments
* Address review comments, round 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-26 10:53:09 -07:00
jonschz
bc9abdc823
More legoracers functions ( #1067 )
...
* Implement/match LegoRaceCar::VTable0x70
* Fix datacmp errors
* minor fix
* Fix naming issue
* Address review comments, part 1
* Address review comments, part 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-18 13:20:59 -07:00
jonschz
210376f272
Implement LegoRaceCar::HandleSkeletonKicks and dependents ( #1065 )
...
* Implement `LegoRaceCar::HandleSkeletonKicks` and dependents
* Fix typo
* Spike to fix array comparisons (needs refactor)
* Refactor: Dedicated method for array element matching
* Address review comments
* Reformat with new version of black
* Apply more review comments
* Address more review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-17 07:03:02 -07: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
jonschz
afa5b90117
Implement LegoRaceCar::FUN_10012ff0(), refactoring ( #1063 )
...
* Implement `LegoRaceCar::FUN_10012ff0()`, refactor based on BETA10
* Add BETA10 annotations
* Rename functions and variables based on BETA10 assertions
* Address issues raised by linter
* Rename variable, add BETA10 vtables
* Rename legoracecar files to legoracers
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-07 05:10:46 -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
49a304d0b9
merge
2024-07-04 16:09:48 -07:00
Christian Semmler
bee101b1f4
Add clang-tidy readability-redundant-inline-specifier ( #1060 )
...
* Add clang-tidy readability-redundant-inline-specifier
* fix
* Update CONTRIBUTING.md
* format
* fix
2024-07-05 01:06:32 +02:00
Christian Semmler
09684b3c03
Implement/match BumpBouy class ( #1058 )
2024-07-04 23:28:23 +02:00
MS
14653070cc
Refactor surrounding MxBitmap::GetAdjustedStride ( #1057 )
...
* Refactor surrounding MxBitmap::GetAdjustedStride
* Remove this-> from MxDisplaySurface
2024-07-04 09:50:04 -07:00
Christian Semmler
65e3c3dd05
Implement/match FreeModelDbWorlds ( #1056 )
2024-07-02 22:04:05 +02:00
Christian Semmler
b17762ebe3
merge
2024-07-02 12:19:13 -07:00
Christian Semmler
d92fc97a58
Implement/match DuneBuggy class ( #1055 )
...
* Implement/match DuneBuggy class
* Fix name
* Fix
2024-07-02 21:16:35 +02:00
MS
05fa715550
Add MxTrace function ( #1054 )
2024-07-02 10:46:40 -07:00
Christian Semmler
af513734fa
Merge remote-tracking branch 'isle/master'
2024-07-01 17:38:28 -07:00
Christian Semmler
788cec2560
Implement GasStation::HandleEndAction ( #1053 )
2024-07-02 02:37:51 +02:00
Christian Semmler
3819dd0dae
merge
2024-07-01 16:52:14 -07:00
Christian Semmler
7bee5fc6a5
Implement/match GasStation::HandleButtonDown ( #1052 )
...
* Implement/match GasStation::HandleButtonDown
* Use enum
2024-07-02 01:43:03 +02:00
Christian Semmler
9ba05d021d
Implement/match LegoPlantManager::ScheduleAnimation ( #1051 )
...
* Implement/match LegoPlantManager::ScheduleAnimation
* Add assert
2024-07-02 01:14:04 +02:00
jonschz
a21fd5975c
Start implementing LegoRaceCar ( #1050 )
...
* Implement several functions
* Limited match on LegoRaceCar::ParseAction
* WIP: progress in the right direction
* Implement LegoRaceCar::ParseAction()
* fix linter issues
* Address review comments
* fix naming
* fix naming (again)
* Relocate address annotations
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-01 11:39:31 -07:00
jonschz
fb34f86171
Improve several functions in vector.h ( #1049 )
...
* Improve some functions in vector.h
- Add BETA10 references
- inline some functions based on BETA10
- Identify and improve `Vector4::EqualsHamiltonProduct`
* Fix BETA10 offset
* Fix BETA10 annotation order
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-30 13:45:10 -07:00
MS
6e39e87613
Create MxDirectXInfo module ( #1047 )
...
* Some beta addrs and asserts to start
* Create mxdirectxinfo
* include fix
* CONFIG annotations
* Beta matching
* Match format function better, add dead code function
* LegoDeviceEnumerate
2024-06-27 12:22:13 -07:00
Anonymous Maarten
196259c6c9
Parse cli arguments + log with SDL_Log ( #30 )
...
* cmake: copy DLL dependencies to output path
This also copies SDL3.dll from an external path when using system
dependencies.
* Only include <SDL3/SDL.h>
* isle: parse cli argument (--ini for custom ini path)
* Use SDL_CreateWIndowWithProperties to create SDL window
Less branching => Clearer code
* Log mxdirectx failure using SDL_Log + E_NOINTERFACE
* Fix d3drm32.def for msvc
* Define D3DRM_WINE when using d3drm from wine
* Ignore failed assertions from d3drm unimplemented functions
* inparser will/should create libiniparser.lib for static libraries and iniparser.lib for a shared library
2024-06-26 11:24:40 -07:00
Christian Semmler
be0fe5fffb
Merge remote-tracking branch 'isle/master'
2024-06-26 06:46:56 -07:00
Christian Semmler
536aa4b1fe
Implement/match LegoPlantManager::FUN_10027120 ( #1046 )
2024-06-26 15:39:36 +02:00
Anonymous Maarten
0637deea13
m_extraCharacterId is an integer, not a pointer ( #1045 )
2024-06-26 04:17:45 -07:00
Anonymous Maarten
659a54b221
Add support for building x64 executables ( #29 )
...
* d3drm: store LPVOID data instead of DWORD
* m_extraCharacterId is an integer, not a pointer
* cmake: look for iniparser using config file first, then try our custom module file
Our custom module file is still useful.
My linux distro does not package the cmake files.
* x86's stdcall becomes MS's x64 calling canvention
* Fix 64-bit mxdsbuffer pointer arithmetic
* Casting from void* to a smaller-sized integer needs an intermediate equally-sized integer
* Don't cast address to scalar (this is fishy)
* Add mingw64 build to the ci matrix
* Ignore -Wdiscarded-qualifiers warning with const vtables
* Ignore different 'const' qualifiers with MSVC
* Create d3dxof import library for MSVC
* DESCRIPTION in .def file(s) is deprecated
* Assume mmx is supported on x64, require a test for x86 and disabled on other archs
* 32- and 64-bit LEGO1.dll export different symbol names
* Introduce d3drm_guid containing the guids of d3drm
* Disable __wine_dbg_cdecl
* Include d3drm directory with EXCLUDE_FROM_ALL
* lego1 leaks d3drm headers
* Add dxfile.h
* Add 64-bit MSVC to the build matrix
* cmake: using ISLE_USE_DX5 means going all-in
* Load d3dxof.dll dynamically
* cmake: don't emit a warning about bitness anymore
2024-06-25 18:47:43 -07:00
Anonymous Maarten
554a679dc0
Merge commit '8113a17167e92133f5a0793967bf1e485dafd07a' into new-isle-decomp
2024-06-25 20:22:08 +02:00
Anonymous Maarten
ec19d5edb0
Fix mingw build + copy d3drm from wine ( #25 )
...
* Fix engineConfig declaration crossing jump
This fixes the following error:
```
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp: In member function 'virtual MxResult MxSoundManager::Create(MxU32, MxBool)':
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:119:1: error: jump to label 'done'
119 | done:
| ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:78:22: note: from here
78 | goto done;
| ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:84:26: note: crosses initialization of 'ma_engine_config engineConfig'
84 | ma_engine_config engineConfig = ma_engine_config_init();
| ^~~~~~~~~~~~
```
* Fix 'invalid conversion from 'SDL_FunctionPointer' {aka 'void (*)()'} to 'void*'
* /SAFESEH:NO is a VC thing
* SDL3 is still instable
* Cannot forward declare and use enum
* Remove MusicManager from public LEGO1.DLL interface
* Copy d3d from wine git 6c5d17af07a318d754c0c21023b2d162a0d3725d
* Build d3drm-wine with 32-bit mingw
* cmake: move 3rd party targets to cmake script in 3rdparty directory
* cmake: bump minimum required CMake version to 3.25 to allow adding a subproject with SYSTEM automatically applied
An alternative would be to use SYSTEM in target_include_directories in the 3rd party cmake script.
* Add a minimal Findiniparser.cmake (not all distributions carry the upstream iniparser-config.cmake files)
* Add wine's d3drm headers
* cmake: merge ISLE_USE_DX5_LIBS into ISLE_USE_DX5
* cmake: Build all shared libraries in the binary output directory (to avoid PATH issues)
* ci: enable msys2 mingw32 build
* Disable clang-tidy on d3drm wine
* Thread functions must have SDLCALL call convention
* cmake: disable clang-tidy for miniaudio and libsmacker as well
* Hopefully fix c++ format and skip ncc naming violation
* clang-format violations keep up popping out of nowhere
* No need for lego/legoomni/include
* ncc: define SDLCALL as empty instead
2024-06-25 20:02:58 +02:00
Christian Semmler
806afaa210
Replace DirectSound with miniaudio ( #21 )
...
* Add miniaudio
* WIP
* static const
* Fix missing looping
* Fix volume
* Implement 3D sound, WIP
* Remove unused WinMM code
* Update README.md
* Fixes
* Fix naming
* Fix naming
* disable ma threading
* Invert Z axis for OpenGL system
* Update comment
* Set rolloff
* Fix minimize/maximize suspension
* Rename function
* SDL3: changed macro name
2024-06-25 20:02:58 +02:00
Anonymous Maarten
d537d69d13
Merge commit 'd869d565c282b89bffefd8b298048dfbbbc7808b' into new-isle-portable
2024-06-25 20:02:43 +02:00
Anonymous Maarten
974cb8e6d3
Merge commit 'c22c6f337960f0c4c2f1170e857417926cbeeb0f' into new-isle-portable
2024-06-25 20:00:25 +02:00
Christian Semmler
71559309a9
Rename InitPresenters to Create, remove this keyword ( #1000 ) ( #20 )
2024-06-25 19:57:18 +02:00
Anonymous Maarten
3d59615274
Merge commit 'ba378eb22442d71fe4f23a5c818cdfad16d3b16d' into new-isle-decomp
2024-06-25 19:57:16 +02:00
Anonymous Maarten
8d5bfb40d9
Merge commit '828b35e9d22c7a17f7af4906049b56e0b1f4c789' into new-isle-decomp
2024-06-25 19:55:43 +02:00
Christian Semmler
4bf9174c15
Add SDL cursors ( #16 )
...
* Add SDL cursors
* Fix naming
2024-06-25 19:51:12 +02:00
Christian Semmler
8a2bbcac84
Define cursor enum and custom cursor window message ( #980 ) ( #15 )
...
* Define cursor enum and custom cursor window message
* Fix param name
* Remove unused header
2024-06-25 19:51:12 +02:00
Christian Semmler
880ae98f0b
Remove dependency on dinput, use SDL keyboard state for navigation ( #14 )
...
* WIP
* Use SDL kb state for navigational keys
* Remove linking against dinput
2024-06-25 19:51:12 +02:00
Christian Semmler
636996caf6
Improve naming, use virtual key constants ( #979 ) ( #13 )
2024-06-25 19:51:12 +02:00
Anonymous Maarten
3190a6c23a
Merge commit '77af1a5483780db06f09558d248a4766763c8701' into new-isle-decomp
2024-06-25 19:51:12 +02:00
Christian Semmler
dda6778665
Replace Windows registry with .ini file ( #10 )
...
* Replace Windows registry with .ini file
* Update README.md
* Update CMakeLists.txt
* comment
* set CMake policy
* Try this
* Try this
* Adjust comments
2024-06-25 19:51:12 +02:00
Christian Semmler
21502ecf18
Replace Windows threads with SDL threads ( #8 )
...
* Replace Windows threads with SDL threads
* Wait for thread in dtor
2024-06-25 19:51:12 +02:00
Christian Semmler
641ae70ab9
Replace Windows CriticalSection with SDL Mutex ( #7 )
...
* Replace Windows CriticalSection with SDL Mutex
* Update README.md
2024-06-25 19:51:12 +02:00
Christian Semmler
6f2481e8d6
Use USHRT_MAX instead of MAXWORD ( #975 ) ( #6 )
2024-06-25 19:51:12 +02:00
Anonymous Maarten
fc76114a36
Merge commit '76435d803f768be8da9821d72b98306a4b043ad2' into new-isle-decomp
2024-06-25 19:51:12 +02:00
Christian Semmler
6f1aebbb02
Add SDL3 and replace Windows semaphores ( #4 )
...
* Add SDL3 and replace Windows semaphores
* Try this
* Change for now
2024-06-25 19:50:27 +02:00
Anonymous Maarten
94081312c3
Merge commit 'ac41854149776a30b7acaa89808cee0a7cad7380' into new-isle-decomp
2024-06-25 19:50:27 +02:00
Christian Semmler
3ec9c98daf
Update TODO comments
2024-06-25 19:49:59 +02:00
Anonymous Maarten
c1f20a4502
Merge commit '6774784b37ec185297191c0dd87251a53f3c7e4c' into new-isle-decomp
2024-06-25 19:49:56 +02:00
Christian Semmler
a548770f7e
Add libsmacker to replace smack.lib
2024-06-25 19:48:56 +02:00
Anonymous Maarten
8113a17167
Backports of isle-portable x64 fixes ( #1044 )
...
* Introduce LPD3DRM_APPDATA typedef for setting d3drm appdata
* Fix warning about assigning const string literals to variable char pointers
* Don't cast pointers to integers on non-32-bit architectures
* memset 2nd argument is int
* Assume cpuid is available on x86_64, needs testing on i386 and unavailable on anything else
* Store HFILE in its own member variable
2024-06-25 17:56:30 +02:00
Christian Semmler
62307e1819
Implement/match LegoPlantManager::FUN_10026c50 ( #1043 )
...
* Minor fixes
* Implement/match LegoPlantManager::FUN_10026c50
2024-06-25 17:28:10 +02:00
jonschz
c9c130eb87
Implement AnimState ( #1042 )
...
* Implement LegoAnim
* fix: minor issues
* fix ncc complaints
* refactor: address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-21 14:41:01 -04:00
Christian Semmler
1d666f62e5
Implement/match LegoPlantManager interaction functions ( #1041 )
2024-06-19 18:57:05 +02:00
Christian Semmler
656e7fc674
Implement/match more LegoPlantManager functions ( #1040 )
2024-06-19 18:02:54 +02:00
Christian Semmler
e507f42717
Implement/match LegoPlantManager::CreatePlant ( #1039 )
...
* Implement/match LegoPlantManager::CreatePlant
* Update names
* Fix name
* Fix
* Fix
2024-06-18 19:35:03 +02:00
Christian Semmler
1a46d370ec
Bootstrap LegoPlantManager, add plants data ( #1038 )
...
* Bootstrap LegoPlantManager, add plants data
* Naming
* Move
* Fix
2024-06-17 20:11:27 +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
MS
165785c434
Bugfix for LegoMeterPresenter::DrawMeter ( #1033 )
2024-06-13 23:56:28 -04:00
Christian Semmler
e1a97cab2d
Implement LegoAnimScene::FUN_1009f490 ( #1032 )
...
* Implement LegoAnimScene::FUN_1009f490
* Update legoanim.cpp
* Update legoanim.cpp
* Update legoanim.cpp
2024-06-13 17:53:45 -04:00
Christian Semmler
dd1c11a933
Fix camera glitch ( #1031 )
2024-06-13 22:09:14 +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
Christian Semmler
abb4483e18
Implement/match JailEntity::HandleClick and CaveEntity::HandleClick ( #1025 )
...
* Implement/match JailEntity::HandleClick and CaveEntity::HandleClick
* Fix
2024-06-12 17:13:06 +02:00
Christian Semmler
641d9f1b8b
Fix CaveEntity class ( #1024 )
...
* Fix CaveEntity class
* Rename function
2024-06-12 16:20:51 +02:00
Christian Semmler
475d21f8c8
Implement/match Ambulance::ActivateSceneActions ( #1023 )
2024-06-12 16:08:55 +02:00
Christian Semmler
2a88d06ff9
Match LegoMeterPresenter::ParseExtra ( #1022 )
...
* Match LegoMeterPresenter::ParseExtra
* Add LegoMeterPresenter to factory
* Add call to parent
* Add missing TODO
2024-06-12 15:53:33 +02:00
Christian Semmler
1f360929cb
Implement/match Ambulance::Tickle ( #1021 )
2024-06-12 15:13:52 +02:00
Christian Semmler
ebc200bea3
Implement/match Ambulance::HandleClick ( #1019 )
...
* Implement/match Ambulance::HandleClick
* Remove junk
* Add Ambulance::FUN_10036e60
2024-06-11 20:19:41 +02:00
Christian Semmler
5311951bc7
Implement/match Ambulance::HandleEndAction ( #1018 )
2024-06-11 19:12:02 +02:00
MS
9383076e04
Fix remaining vtordisp issues ( #1016 )
...
* Fix LegoRaceActor
* Fix LegoRaceMap
* Fix LegoCarRaceActor
* Fix LegoJetskiRaceActor
* Fix LegoJetski
* Fix LegoRaceCar
* Downgrade orig addr unique message to debug
2024-06-10 13:04:40 -04:00
Christian Semmler
c22c6f3379
Implement/match LegoFlcTexturePresenter ( #1015 )
...
* Implement/match LegoFlcTexturePresenter
* Move files
2024-06-10 17:44:55 +02:00
Mikhail Thompson
1c430f894d
Begin LegoRace class ( #1014 )
...
* Begin LegoRace
* Match functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-06-10 14:58:05 +02:00
Christian Semmler
be4c351d7d
Rename Start/StopTimer to Pause/Resume ( #1007 )
...
* Rename Start/StopTimer to Pause/Resume
* Fix
2024-06-09 13:39:22 -04:00
MS
88805f9fcb
TowTrack and LegoAct2 destructors ( #1005 )
...
* Add some missing dtors
* Add missing 'override'
2024-06-08 19:17:33 -04:00
Joshua Peisach
b7b0b7f50a
Match Ambulance::StopScriptOnAmbulance and StopScriptOnEntity ( #1003 )
...
* Match Ambulance::StopScriptOnAmbulance and StopScriptOnEntity
* Rename for consistency
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-06-08 23:40:36 +02:00
Joshua Peisach
14a2aaadea
Act2PoliceStation::Notify ( #1002 )
...
* Act2PoliceStation::Notify
* Match code
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-06-08 23:40:20 +02:00
Christian Semmler
2147be19de
Rename InitPresenters to Create, remove this keyword ( #1000 )
2024-06-07 22:13:42 +02:00
MS
ba378eb224
Streamline MxVideoParamFlags ( #999 )
...
* Streamline MxVideoParamFlags
* Remove this-> from MxOmniCreateFlags
2024-06-06 17:15:57 -04:00
Christian Semmler
ca17928fc6
Implement/match Ambulance::Notify ( #998 )
2024-06-06 18:19:43 +02:00
Christian Semmler
9a9bccda0e
Implement/match IslePathActor::Exit ( #997 )
...
* Implement/match IslePathActor::Exit
* Name
* Name
* Partially fix vector interface
* Revert "Partially fix vector interface"
This reverts commit 6e7a1e2b08fd82012b28be3054eeff65428eb4d1.
* Revert "Revert "Partially fix vector interface""
This reverts commit e3860e3c9fa1f8937b702d6c81d6e3bb4dadecc6.
* Fix
* Remove some COMPAT_MODE
2024-06-06 17:45:37 +02:00
Christian Semmler
9b22642f0c
Implement/match LegoCharacterManager::SwitchColor ( #996 )
2024-06-06 14:26:33 +02:00
Christian Semmler
49c17c9c6a
Implement/match LegoEntity::SwitchSound / SwitchMove / SwitchColor / SwitchMood ( #995 )
...
* Implement/match LegoEntity::SwitchSound
* Name
* Name
* Implement/match LegoEntity::SwitchMove
* Mood
2024-06-05 19:40:44 +02:00
Christian Semmler
f6c923a84e
Implement/match LegoEntity::ClickAnimation ( #994 )
...
* Implement/match LegoEntity::VTable0x38
* Update names
2024-06-05 19:00:46 +02:00
Christian Semmler
6a9f68872b
Add enum for actor IDs ( #993 )
2024-06-05 18:11:46 +02:00
Christian Semmler
6e7e9a3f20
Add more annotations to ISLE ( #990 )
...
* Minor improvements in ISLE.EXE
* Add more annotations
* Fix
* Comment out
* Fix lint
2024-06-05 12:31:23 +02:00
Christian Semmler
0c7c77aad3
Implement/match LegoActor::Mute ( #992 )
2024-06-04 12:19:59 -04:00
Christian Semmler
4898a55508
Match LegoCacheSoundManager::FindSoundByKey ( #991 )
...
* Match LegoCacheSoundManager::FindSoundByKey
* Remove space
2024-06-04 18:05:01 +02:00
Christian Semmler
133a312aee
Consolidate state and building entity classes ( #989 )
2024-06-03 18:53:25 +02:00
Christian Semmler
73bb37596e
Refactor JukeBox, add enum for music ( #988 )
...
* Refactor JukeBox, add enum for music
* add BETA annotation
* Fix BETA annotation
* Fix BETA annotation
* Fix
2024-06-03 13:00:38 +02:00
Christian Semmler
828b35e9d2
Implement/match LegoCacheSound::Play and Lego3DSound::FUN_10011a60 ( #987 )
...
* Implement/match LegoCacheSound::Play and Lego3DSound::FUN_10011a60
* Update names
* Update
2024-06-02 17:09:09 +02:00
Christian Semmler
03ffb9c5de
Implement/match LegoCacheSound::Create and LegoLoadCacheSoundPresenter::StreamingTickle ( #986 )
...
* Implement/match LegoCacheSound::Create
* Naming
* Fix naming
* Fix parens
2024-06-01 17:29:37 -04:00
Christian Semmler
1423eb56fc
Implement/match LegoSoundManager::UpdateListener ( #985 )
2024-06-01 23:13:57 +02:00
Christian Semmler
ac4e8da662
Implement/match Lego3DSound::SetDistance and Reset ( #984 )
2024-06-01 19:45:22 +02:00
Christian Semmler
919a3f5c49
Implement/match Lego3DSound::UpdatePosition ( #983 )
2024-06-01 19:38:13 +02:00
Christian Semmler
23e5ad7d15
Name/rename functions in LegoCharacterManager ( #982 )
...
* Name/rename functions in LegoCharacterManager
* Name flag
2024-06-01 18:45:34 +02:00
Christian Semmler
375ac29b9b
Implement/match Lego3DSound::Create ( #981 )
...
* Implement/match Lego3DSound::Create
* Add space
* Naming
* Changes
2024-06-01 18:23:48 +02:00
Christian Semmler
df20b05510
Define cursor enum and custom cursor window message ( #980 )
...
* Define cursor enum and custom cursor window message
* Fix param name
* Remove unused header
2024-06-01 16:07:58 +02:00
Christian Semmler
b67af71f33
Improve naming, use virtual key constants ( #979 )
2024-06-01 04:46:05 +02:00
Christian Semmler
77af1a5483
Fix Radio::HandleControl COMPAT_MODE branch ( #978 )
2024-05-31 23:15:35 +02:00
DmitriLeon2000
3b3ac07cac
Rename LegoEdge::GetOpposingPoint to LegoEdge::CWVertex ( #977 )
2024-05-30 20:04:06 -04:00
Christian Semmler
eeb81b7223
Use USHRT_MAX instead of MAXWORD ( #975 )
2024-05-30 22:02:58 +02:00
Christian Semmler
76435d803f
Style refactor omni/system components ( #974 )
...
* Style refactor omni/system components
* Fix
* Fix
2024-05-30 21:03:43 +02:00
MS
ac41854149
Add static HandlerClassName function ( #973 )
...
* Add static HandlerClassName function
* Use method in PresenterNameDispatch
2024-05-30 19:10:41 +02:00
Christian Semmler
ab4ba9fc4f
Implement/match Lego3DWavePresenter::StartingTickle ( #972 )
...
* Implement/match Lego3DWavePresenter::StartingTickle
* Fix annotation
* Add StreamingTickle
* Rename
2024-05-30 16:27:18 +02:00
Christian Semmler
650903d043
Implement/match Pizzeria::HandleClick ( #971 )
2024-05-30 15:54:24 +02:00
Christian Semmler
ae859fbc19
Implement/match LegoControlManager::FUN_100293c0 ( #970 )
2024-05-30 15:15:16 +02:00
Christian Semmler
689178f689
Implement/match LegoCameraController::FUN_10012290 and FUN_10012320 ( #969 )
2024-05-30 14:48:14 +02:00
MS
085bdbe74b
Beta match MxPalette ( #968 )
...
* Beta match MxPalette
* Modern compiler fix
2024-05-29 22:52:45 +02:00
Christian Semmler
b978787f8f
Implement/match LegoAnimationManager::FUN_10062e20 ( #967 )
2024-05-29 19:24:08 +02:00
Christian Semmler
2f1aa58153
Implement/match LegoAnimMMPresenter::FUN_1004b840 ( #966 )
2024-05-29 17:35:36 +02:00
Christian Semmler
36ec252f7e
Implement/match LegoAnimationManager::FUN_10063270 ( #965 )
2024-05-29 17:05:50 +02:00
MS
5f00634b9c
Implement LegoMeterPresenter::DrawMeter ( #964 )
...
* Implement LegoMeterPresenter::DrawMeter
* New MxRect16 header, offsets and size annotations
* Missing mxtypes include
2024-05-29 16:47:25 +02:00
Christian Semmler
da48dfb40d
Implement/match LegoAnimPresenter::FUN_1006b140 ( #963 )
2024-05-28 15:23:23 -04:00
Christian Semmler
60b747d7b2
Implement/match LegoPathBoundary::FUN_100586e0 and FUN_10057fe0 ( #962 )
2024-05-28 17:20:23 +02:00
MS
a88546baad
Refactor MxBitmap (again) ( #961 )
...
* Remove this
* Starting list of beta addrs
* Static for height-specific abs, fix StrechBits
* MxBitmap refactor
2024-05-28 09:32:51 +02:00
Christian Semmler
219b65f5ad
Implement/match IslePathActor::FUN_1001b660 ( #960 )
2024-05-27 21:49:41 +02:00
Christian Semmler
3c45022864
Fix extra actor collisions ( #958 )
2024-05-26 19:13:56 +02:00
Christian Semmler
765c49fd4e
Match LegoUnknown::FUN_1009a1e0 ( #957 )
2024-05-26 17:12:37 +02:00
Christian Semmler
3cfb918559
Implement/match LegoExtraActor::VTable0x6c ( #956 )
2024-05-26 01:16:20 +02:00
Christian Semmler
535f1b973a
Implement LegoROI::FUN_100a9410 ( #955 )
...
* WIP
* WIP
* Remove space
* Fix
2024-05-25 22:21:05 +02:00
Christian Semmler
f380fa3b84
Implement/match LegoAnimationManager::FUN_100648f0 ( #954 )
2024-05-25 17:18:24 +02:00
Christian Semmler
857c15ca11
Implement/match LegoAnimationManager::FUN_10063b90 ( #953 )
2024-05-25 16:40:10 +02:00
Christian Semmler
7c9fdd255e
Implement/match Isle::HandleType19Notification ( #952 )
...
* Implement/match Isle::HandleType19Notification
* Fix
2024-05-25 03:23:41 +02:00
Christian Semmler
715acd657d
Implement/match Isle::FUN_10033350 ( #951 )
2024-05-25 03:14:45 +02:00
Christian Semmler
b759390060
Implement/match Isle::Escape ( #950 )
2024-05-25 02:41:57 +02:00
Christian Semmler
e59d684f37
Implement/match actor Create functions ( #949 )
2024-05-24 14:44:09 -04:00
Christian Semmler
63719ef689
Implement/match Isle::CreateState and related ( #948 )
2024-05-24 20:07:36 +02:00
Christian Semmler
1633118f68
Implement/match Isle::UpdateGlobe ( #947 )
...
* Implement/match Isle::UpdateGlobe
* Change function access
2024-05-24 19:16:04 +02:00
Christian Semmler
db90807d53
Implement/match LegoPathActor::ParseAction ( #946 )
...
* Implement/match LegoPathActor::ParseAction
* Fix naming
* Space
2024-05-24 19:07:45 +02:00
Christian Semmler
6774784b37
Implement/match LegoPathActor::VTable0xa4 and VTable0xa8 ( #945 )
...
* Implement/match LegoPathActor::VTable0xa4
* Implement/match LegoPathActor::VTable0xa8
* Name enum constants
2024-05-22 14:09:06 -04:00
Christian Semmler
8fee73c525
Implement/match LegoPathStruct ( #944 )
...
* Implement/match LegoPathStruct
* Rename some nums
* Consistent naming
* Naming
* relax regex
* Name some functions
* Improve naming
* Rename
2024-05-21 15:03:50 -04:00
Christian Semmler
bc91fd2189
Implement/match LegoPathActor::SwitchBoundary ( #943 )
...
* Implement/match LegoPathActor::SwitchBoundary
* Rename var
2024-05-20 20:27:00 +02:00
Christian Semmler
7538988f50
Implement LegoPathActor::VTable0x9c ( #942 )
...
* Implement LegoPathActor::VTable0x9c
* Add annotation
2024-05-20 18:27:54 +02:00
Christian Semmler
3342464321
Implement/match LegoPathController::FUN_1004a240 ( #941 )
2024-05-20 17:34:31 +02:00
Christian Semmler
8428cde67f
Implement LegoUnknown::FUN_1009a1e0 ( #940 )
2024-05-19 16:36:11 -04:00
Christian Semmler
fb16b2c896
Implement/match LegoPathBoundary::FUN_100575b0 ( #939 )
2024-05-19 21:41:07 +02:00
Christian Semmler
c8a0e4cf8d
Implement LegoPathActor::VTable0x68 ( #938 )
...
* Implement LegoPathActor::VTable0x68
* Fix naming
2024-05-19 20:22:53 +02:00
Christian Semmler
23cc82c532
Implement/match LegoPathBoundary::Intersect ( #937 )
2024-05-19 17:24:09 +02:00
Cameron
d106aada11
basic name improvements ( #930 )
...
* basic name improvements
* clang-format
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-18 15:20:05 -04:00
Christian Semmler
73844f14fa
Implement/match LegoAnimationManager::FUN_10063fb0 ( #936 )
2024-05-18 21:05:45 +02:00
Christian Semmler
732de04433
Implement/match PlayCamAnim and CameraTriggerFire ( #935 )
...
* Implement/match PlayCamAnim and CameraTriggerFire
* Fix type
* Name var
2024-05-18 20:43:19 +02:00
Christian Semmler
01735bdc28
Implement/match ViewManager::FUN_100a6150 ( #934 )
2024-05-18 18:27:14 +02:00
Christian Semmler
c1c78cb8aa
Implement LegoAnimationManager::FUN_10064010 ( #933 )
2024-05-18 18:26:32 +02:00
Christian Semmler
aab6a17d2f
Implement/match LegoAnimationManager::FUN_10064120 ( #932 )
...
* Implement/match LegoAnimationManager::FUN_10064120
* Fix naming
* Fix parentheses
2024-05-18 17:48:07 +02:00
Christian Semmler
c92341527e
Implement/match FUN_1003ef00 and related ( #931 )
2024-05-18 03:42:21 +02:00
Christian Semmler
5fe0b7e0bb
Implement/matche LegoAnimationManager::FUN_10064740 and FUN_10064670 ( #929 )
2024-05-17 21:58:35 +02:00
Christian Semmler
710f07e632
Implement/match LegoAnimationManager::FUN_10064380 ( #928 )
...
* Implement/match LegoAnimationManager::FUN_10064380
* Fix naming
* Revert
2024-05-17 14:21:48 -04:00
Christian Semmler
ed782980ec
Implement/match LegoAnimationManager::FUN_10063d10 ( #927 )
2024-05-17 16:20:04 +02:00
Christian Semmler
02c4aad33e
Implement/match LegoAnimationManager::FUN_10064b50 ( #926 )
2024-05-17 16:05:06 +02:00
Christian Semmler
4419007355
Replace magic values with script actions
2024-05-16 15:36:52 -04:00
Christian Semmler
3c89cbe4e1
Implement/match LegoLocomotionAnimPresenter ( #925 )
2024-05-15 21:29:00 +02:00
Christian Semmler
9a05edd0a7
Implement/match LegoLoopingAnimPresenter ( #924 )
2024-05-15 20:34:36 +02:00
Christian Semmler
29a0e32739
Implement/match remaining LegoHideAnimPresenter functions ( #923 )
...
* Implement/match remaining LegoHideAnimPresenter functions
* Fix type
* Fix marker
* Fix type
2024-05-14 20:50:37 +02:00
Christian Semmler
e4a899350e
Move strings to proper location in define.cpp ( #922 )
2024-05-14 16:43:06 +02:00
Christian Semmler
e32e06321a
Rename _countof to sizeOfArray ( #921 )
2024-05-14 16:35:22 +02:00
Christian Semmler
95ed90aacb
Implement/match some LegoHideAnimPresenter functions ( #920 )
2024-05-14 16:15:35 +02:00
Christian Semmler
a1be306df7
Implement/match LegoPathBoundary ctor/dtor ( #919 )
...
* Implement/match LegoPathBoundary ctor/dtor
* Add missing BETA annotation
2024-05-14 15:42:44 +02:00
Christian Semmler
0b2d4914ee
Match LegoVideoManager::Destroy ( #918 )
2024-05-14 14:36:44 +02:00
Christian Semmler
939c09139f
Match LegoOmni::Destroy and related ( #917 )
...
* Match LegoOmni::Destroy and related
* Write COMPAT_MODE macro differently
* fix lint issue
2024-05-14 14:13:27 +02:00
Christian Semmler
ccf33575db
Implement/match LegoPathController::FUN_10046050 ( #916 )
2024-05-13 14:39:43 +02:00
Christian Semmler
5f34d2e877
Implement/match LegoPathController::AddActor and RemoveActor ( #915 )
...
* Implement/match LegoPathController::AddActor and RemoveActor
* Fix types
2024-05-13 12:46:59 +02:00
Christian Semmler
91fe09af3c
Implement various small LegoPathController functions ( #914 )
...
* Implement/match LegoPathController::Tickle
* Implement various small LegoPathController functions
* Add 0x10046b30
2024-05-12 21:30:34 +02:00
Christian Semmler
b6fc8e27b1
Implement/match LegoPathController::Tickle ( #913 )
2024-05-12 21:10:26 +02:00
Christian Semmler
32a3373360
Implement/match LegoPathController::Destroy ( #912 )
2024-05-12 20:48:50 +02:00
Christian Semmler
dcaa07cc49
Implement/match LegoPathController::Create and Init ( #911 )
2024-05-12 20:33:20 +02:00
Christian Semmler
f88f7b115e
Implement/match LegoPathController::ReadBoundaries ( #908 )
...
* Implement/match LegoPathController::ReadBoundaries
* Allow spawn
2024-05-11 19:55:28 +02:00
Christian Semmler
1f0a2a50ce
Implement/match LegoPathController::ReadEdge ( #907 )
...
* Implement/match LegoPathController::ReadEdge
* Fix
* Rename
* Add 100482b0
* Rename
2024-05-11 19:45:13 +02:00
Christian Semmler
09394c3512
Implement/match LegoPathController::FUN_10047b30 ( #906 )
...
* Implement/match LegoPathController::FUN_10047b30
* Fix delete
2024-05-11 18:57:07 +02:00
MS
b3d6319656
Beta addrs for TglSurface and related ( #905 )
2024-05-11 18:27:06 +02:00
Christian Semmler
f442f1a2f7
Implement/match LegoPathController::Read ( #904 )
...
* Implement/match LegoPathController::Read
* Add size asserts
2024-05-11 18:23:18 +02:00
Christian Semmler
5df947dbb9
Implement/match LegoPathController::FUN_10045c20 and LegoPathController ctor ( #903 )
...
* Implement/match LegoPathController::FUN_10045c20 and LegoPathController ctor
* Remove obsolete struct
2024-05-11 15:32:11 +02:00
Christian Semmler
c77dd44105
Implement/match LegoCharacterManager::FUN_10083b20 and FUN_10085180 ( #902 )
2024-05-11 14:13:27 +02:00
Christian Semmler
d9a82323ca
Implement/match LegoAnimationManager::AddExtra ( #901 )
...
* Implement/match LegoAnimationManager::AddExtra
* Rename member
* Fix param names
* Remove space
2024-05-10 20:07:38 +02:00
Christian Semmler
a1388adcd7
Refactor camera locations and other structs, name functions based on BETA ( #900 )
...
* Refactor camera locations and other structs, name functions based on BETA
* Add size assert
* Fix member name
2024-05-10 16:23:47 +02:00
Christian Semmler
f5ffd3aba3
Implement/match LegoAnimationManager::FUN_100627d0 ( #899 )
2024-05-10 15:11:35 +02:00
MS
79791be574
Beta addrs for ViewLODList ( #898 )
...
* Beta addrs for ViewLODList
* unsigned char
2024-05-09 22:16:12 -04:00
Christian Semmler
172db7b5d8
Implement/match LegoAnimationManager::FUN_10062710 ( #897 )
2024-05-09 22:32:06 +02:00
Christian Semmler
556cbdaab3
Implement/match LegoAnimationManager::FUN_10062650 ( #896 )
...
* Implement/match LegoAnimationManager::FUN_10062650
* Shorten code
2024-05-09 22:24:45 +02:00
Christian Semmler
6a8fb3f46b
Implement/match LegoAnimationManager::FUN_10062580 ( #895 )
2024-05-09 22:10:00 +02:00
Christian Semmler
9ae2acbea8
Implement/match LegoAnimationManager::ModelExists ( #894 )
...
* Implement/match LegoAnimationManager::FUN_10062520
* Name function
2024-05-09 21:53:13 +02:00
Christian Semmler
5629eb3c85
Implement/match LegoAnimationManager::FUN_100623a0 ( #893 )
2024-05-09 21:33:48 +02:00
Christian Semmler
001b46b2ab
Implement/match LegoAnimationManager::FUN_10062110 ( #892 )
...
* Implement/match LegoAnimationManager::FUN_10062110
* Fix param name
* Return other value in stub
2024-05-09 18:49:43 +02:00
Christian Semmler
36d681fde4
Implement/match LegoAnimationManager::FUN_100617c0 ( #891 )
2024-05-09 16:30:34 +02:00
Mark Langen
55299229c2
LegoBuildingManager Round 2 ( #890 )
...
* LegoBuildingManager Round 2
* 100% match most of the remaining methods, only
Tickle and FUN_10030630 remain.
* The interesting finding is that the curious
members of the LegoBuildingManager form a short
embedded fixed-length array used to store info
about current animation of buildings.
* I saw that you removed the SetY which I had
added to MxMatrix. Agree that this method
doesn't make sense on MxMatrix, however I've
added it back to Matrix4. I see the pattern of
setting / getting the Y component used in enough
places that I doubt they were just hoping they
remembered the subscript correctly every time.
Let me know if you agree or still don't think it
makes sense to include.
* Formatting
* Order
* Satisfy name checker
* Add beta annotations and adjust style/naming
* Make function STUB
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-09 15:57:38 +02:00
Christian Semmler
5c8249f334
Implement/match LegoAnimationManager::FUN_10061530 ( #889 )
2024-05-08 16:28:32 +02:00
Christian Semmler
05edf96186
Implement LegoAnimationManager::FUN_10061010 ( #888 )
2024-05-07 21:59:46 +02:00
MS
4b386fe738
Tweak MxOmni::Destroy and add more beta annotations ( #887 )
...
* Fix long function name
* Omni getter beta annotations
* MxMisc asserts and beta annotations
* Helper function for MxNotificationManager list
2024-05-07 13:00:16 -04:00
Christian Semmler
bac891cb0c
Implement/match LegoAnimationManager::FUN_10060570 ( #886 )
2024-05-07 16:54:06 +02:00
Mark Langen
253882bdcb
Start work on building save data ( #885 )
...
* Start work on building save data
* Add LegoBuildingData struct to LegoBuildingManager, naming mirrors
LegoCharacterData in LegoCharacterManager.
* 100% match of many methods in LegoBuildingManager using the struct.
* Formatting
* Add required includes post merge
* Format again
* Better follow naming conventions
* Format again again
* Also fill in template data
* Fix data
* Change braces
* Match functions, consistent style, add missing annotations, some BETA annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-06 13:15:19 +02:00
Christian Semmler
45f9f54f21
Implement/match IslePathActor::SpawnPlayer ( #884 )
...
* Implement/match IslePathActor::SpawnPlayer
* Fix
* Fix
* Add skip
* Rename param
2024-05-04 16:13:05 +02:00
Christian Semmler
1b1d2ecde6
Refactor LegoOmni into LegoMain/Scripts ( #883 )
...
* Refactor LegoOmni into LegoMain/Scripts
* Fix guard
2024-05-04 14:06:32 +02:00
jonschz
6382347f73
Refactor Matrix4::ToQuaternion() ( #879 )
...
* Refactor Matrix4::ToQuaternion()
* fix CI errors
* Apply feedback by @foxtacles
* run formatter
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-05-03 14:08:58 -04:00
MS
3519a8356b
Beta matching MxDSMediaAction ( #882 )
2024-05-03 12:51:58 -04:00
Christian Semmler
51adf75b9b
(Refactor) Use more forward declarations ( #881 )
...
* Use more forward declarations
* Use more forward declarations
* Add more forward declarations
* Fix
2024-05-03 18:19:12 +02:00
MS
446caa4ca1
Beta matching MxDSObject/MxDSAction ( #878 )
...
* Beta matching MxDSObject/MxDSAction
* MxDSAction copy constructor
* A bit more refactor
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-03 14:01:27 +02:00
Christian Semmler
72cbd1fc60
Refactor LegoOmni::PathContainer into IslePathActor::SpawnLocation ( #877 )
...
* Refactor LegoOmni::PathContainer into IslePathActor::SpawnLocation
* Add beta annotation
* Type var
2024-05-02 16:51:41 +02:00
Christian Semmler
0bf39c7108
Implement/match LegoAnimationManager::Tickle ( #876 )
...
* Implement/match LegoAnimationManager::Tickle
* Resolve out of order
* Fix naming
2024-05-02 15:22:09 +02:00
Christian Semmler
cd39e71597
Implement/match LegoAnimationManager::Notify ( #875 )
...
* Implement/match LegoAnimationManager::Notify
* Rename notification type
2024-05-01 15:00:42 +02:00
Christian Semmler
6c89cd3315
Minor refactor SkateBoard setter in Pizza ( #874 )
2024-05-01 13:49:47 +02:00
jonschz
84b789ef9e
Implement the rest of the SkateBoard class ( #873 )
...
* Implement SkateBoard::~SkateBoard()
* Implement SkateBoard::VTable0xd4
* Implement SkateBoard::Create()
- one typecast is still not clear
* Add SkateBoard::VTable0xe4()
* apply clang-format
* Apply clang-format to legocontrolmanager.h
* Address review comments
* 57 percent match
* 63 percent
* 82 percent match
* previous 86 was bugged, unfortunately
* 85 percent on FUN_10010270
* 92 percent FUN_10010270
* 69 percent VTable0xcc
* 73 percent VTable0xcc
* more progress, not quite there yet
* minor 10010510 improvement
* 100 % on FUN_10010510
* slowly making progress on SkateBoard::VTable0xcc (broken decomp)
* getting closer, now only wrong registers
* 89 percent VTable0xcc
* 92 percent
* 95 % VTable0xcc
* Changes, see comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-01 13:36:58 +02:00
Christian Semmler
20dee07b9c
Implement/match LegoAnimationManager::FUN_100605e0 ( #872 )
...
* Implement/match LegoAnimationManager::FUN_100605e0
* Remove padding
* Fix annotation
2024-04-30 16:02:58 +02:00
Christian Semmler
b902790c54
Implement/match LegoAnimationManager::FUN_1005f6d0 and FUN_1005f700 ( #871 )
...
* Implement/match LegoAnimationManager::FUN_1005f6d0 and FUN_1005f700
* Use bool constants
2024-04-30 12:38:55 +02:00
Christian Semmler
60796eff74
Implement/match LegoAnimationManager::Suspend ( #870 )
2024-04-30 12:18:44 +02:00
Christian Semmler
599d8c91c8
Implement/match LegoAnimationManager::Resume ( #869 )
...
* Implement/match LegoAnimationManager::FUN_1005f0b0
* Rename
2024-04-30 10:27:57 +02:00
Christian Semmler
7c6c68d6f9
Rename LegoCharacterData to LegoCharacterInfo ( #867 )
2024-04-28 15:04:27 +02:00
Christian Semmler
ca9b611251
Add enums for character LODs and parts ( #866 )
2024-04-28 14:49:07 +02:00
jonschz
b17d76c2cc
Refactor: Replace magic values by enum values ( #865 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-04-28 07:27:17 -04:00
jonschz
dede20000f
Progress towards implementing SkateBoard ( #864 )
...
* Implement SkateBoard::~SkateBoard()
* Implement SkateBoard::VTable0xd4
* Implement SkateBoard::Create()
- one typecast is still not clear
* Add SkateBoard::VTable0xe4()
* apply clang-format
* Apply clang-format to legocontrolmanager.h
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-04-28 07:23:29 -04:00
Christian Semmler
ec7df356cf
Implement/match LegoAnimationManager::Reset ( #863 )
...
* Implement/match LegoAnimationManager::Init
* Rename function
* fix hex val
2024-04-27 16:31:50 +02:00
Christian Semmler
659599b635
Implement/match Pizzeria::Create ( #862 )
2024-04-27 16:06:12 +02:00
Christian Semmler
f6ffeabed7
Implement/match LegoAnimationManager::GetCharacterIndex ( #861 )
2024-04-27 15:59:00 +02:00
Christian Semmler
c7e5457f95
Implement/match LegoAnimationManager::FUN_10062770 ( #860 )
2024-04-27 15:46:47 +02:00
Christian Semmler
e49d05c410
Implement/match LegoAnimationManager::FUN_10063780 and FUN_10063aa0 ( #859 )
2024-04-27 15:19:55 +02:00
Christian Semmler
86203f1704
Implement/match LegoAnimationManager::Init ( #858 )
2024-04-27 15:07:28 +02:00
Christian Semmler
00f5eff792
Implement/match LegoAnimationManager ctor/dtor ( #857 )
2024-04-27 14:52:28 +02:00
Christian Semmler
53ef6bdd81
Implement/match LegoAnimationManager::FUN_10060dc0 ( #856 )
...
* Implement/match LegoAnimationManager::FUN_10060dc0
* Fix params
2024-04-26 17:37:07 +02:00
Christian Semmler
19d39394be
Score class cleanup ( #855 )
...
* Cleanup/fixes
* Improve Paint match
* Improve Score::FillArea
* Fix naming
* Fix value
2024-04-26 16:58:42 +02:00
Christian Semmler
180a1e6360
Define LegoEntity::Type enum ( #854 )
...
* Define LegoEntity::Type enum
* Use enum constant
2024-04-26 16:03:13 +02:00
MS
a9d67e4dd7
Beta match MXIOINFO ( #853 )
2024-04-26 04:57:10 -04:00
MS
612eec6889
Beta matching MxAtom classes ( #847 )
...
* Beta matching MxAtom classes
* Remove unused getter
* Restore operator!= for modern compilers
2024-04-25 17:43:42 +02:00
Christian Semmler
31f5143741
Implement/match LegoAnimPresenter::VTable0x94 ( #852 )
2024-04-25 17:27:55 +02:00
Christian Semmler
054120bc5d
Implement/match LegoAnimPresenter::FUN_1006aa60 ( #851 )
2024-04-25 17:00:42 +02:00
Christian Semmler
ce3d915bba
Implement/match LegoAnimPresenter::SubstituteVariables ( #850 )
2024-04-25 16:36:28 +02:00
Christian Semmler
830c0827af
Implement/match LegoAnimPresenter::Destroy ( #849 )
...
* WIP Destroy
* Match
2024-04-25 16:24:06 +02:00
Christian Semmler
916c039e72
Implement/match LegoAnimPresenter::ParseExtra ( #848 )
...
* Implement/match LegoAnimPresenter::ParseExtra
* Fix
2024-04-25 16:00:58 +02:00
MS
311b27b697
Beta matching MxString ( #842 )
...
* Beta matching MxString
* Add /opt:ref for lego1. Reorder MxString header.
* const fix
* Remove lego1 Opt:ref
2024-04-24 12:10:51 -04:00
Christian Semmler
410824bd0f
Implement/match various small LegoAnimPresenter functions ( #846 )
...
* Implement/match various small LegoAnimPresenter functions
* Fix location of anim function
* fix
2024-04-24 15:51:28 +02:00
Christian Semmler
f898462d17
Implement/match LegoROI::FUN_100a8fd0 ( #845 )
2024-04-24 15:19:14 +02:00
Christian Semmler
b789a15d0b
Implement/match LegoAnimPresenter::FUN_1006b900 ( #844 )
2024-04-24 14:51:20 +02:00
Christian Semmler
67c9736953
Implement/match LegoAnimPresenter::FUN_1006afc0 ( #843 )
...
* Implement/match LegoAnimPresenter::FUN_1006afc0
* empty
2024-04-24 14:24:59 +02:00
Christian Semmler
9025d5ed06
Implement/match LegoWorld::FUN_1001fda0 ( #840 )
2024-04-23 10:33:38 +02:00
Christian Semmler
7efbb04999
Implement/match LegoAnimPresenter::FUN_1006ab70 ( #839 )
2024-04-23 10:03:10 +02:00
Christian Semmler
c01fd9b260
Implement/match LegoAnimPresenter::EndAction ( #838 )
2024-04-22 15:42:52 +02:00
Christian Semmler
b4f29ea6b0
InvokeAction: take const atom ( #837 )
2024-04-22 14:24:00 +02:00
Christian Semmler
f1688be263
Make NotificationManager::Send take a const reference to notification ( #836 )
...
* Make NotificationManager::Send take a const reference to notification
* Fix virtual func
2024-04-22 14:11:38 +02:00
Christian Semmler
0e0d6890ad
Fix SwitchHat ( #835 )
2024-04-21 16:41:38 +02:00
Christian Semmler
57589c082c
Fix default light position
2024-04-21 10:03:14 -04:00
Christian Semmler
c9db98c4c3
Fix writing/reading of game state ( #834 )
...
* Fix writing/reading of game state
* Match existing state serialization functions
2024-04-21 15:42:08 +02:00
Christian Semmler
26f2dd1e5f
Implement/match LegoAnimMMPresenter::~LegoAnimMMPresenter ( #833 )
...
* Implement/match LegoAnimMMPresenter::~LegoAnimMMPresenter
* add missing override
* use NULL
2024-04-20 18:53:53 +02:00
Christian Semmler
30747dbae6
Implement/match LegoAnimMMPresenter::FUN_1004b6d0 ( #832 )
2024-04-20 18:33:10 +02:00
Christian Semmler
b39ea845b0
Implement/match LegoAnimMMPresenter::FUN_1004b610 and FUN_1004b6b0 ( #831 )
2024-04-20 18:24:09 +02:00
Christian Semmler
a3bd98a04d
Implement/match LegoAnimMMPresenter::FUN_1004b5b0 ( #830 )
2024-04-20 18:03:42 +02:00
Christian Semmler
3cab989250
Implement/match LegoAnimMMPresenter::FUN_1004b580 ( #829 )
2024-04-20 17:52:46 +02:00
Christian Semmler
f637dcaa29
Implement/match LegoAnimMMPresenter::FUN_1004b530 ( #828 )
2024-04-20 17:40:23 +02:00
Christian Semmler
91d043a9ae
Implement/match LegoAnimMMPresenter::FUN_1004b450 ( #827 )
2024-04-20 17:18:19 +02:00
Christian Semmler
c617139d5b
Implement/match LegoAnimMMPresenter::EndAction ( #826 )
...
* Implement/match LegoAnimMMPresenter::EndAction
* Add missing vtable
2024-04-20 16:41:34 +02:00
Christian Semmler
8d729f77b7
Implement/match LegoAnimMMPresenter Streaming/RepeatingTickle and Notify ( #825 )
2024-04-20 16:24:12 +02:00
Christian Semmler
9cc5df8c40
Implement/match LegoAnimMMPresenter::StartingTickle ( #824 )
2024-04-20 16:07:58 +02:00
Christian Semmler
0b08b0ae69
Implement/match LegoAnimMMPresenter::ReadyTickle ( #823 )
2024-04-20 15:52:10 +02:00
Christian Semmler
5021f66de2
Imlpement/match LegoAnimMMPresenter::ParseExtra and related ( #822 )
...
* Imlpement/match LegoAnimMMPresenter::ParseExtra and related
* sort
2024-04-20 15:32:10 +02:00
MS
2ce9ff06fc
Enable some multiple-inheritance vtables ( #821 )
2024-04-19 16:23:36 -04:00
Christian Semmler
d5dd8db46e
Implement LegoAnimationManager::FUN_100609f0 / LegoTranInfo ( #820 )
...
* Implement LegoAnimationManager::FUN_100609f0 / LegoTranInfo
* use NULL
2024-04-19 17:42:28 +02:00
Christian Semmler
fb0f35188b
Implement/match LegoCharacterManager::FUN_10083c30 ( #819 )
2024-04-19 14:30:36 +02:00
MS
9c6120fc37
Beta matching MxOmniCreateFlags ( #817 )
...
* Beta matching MxOmniCreateFlags
* Add newlines and swap order
* Add newline
2024-04-17 16:37:16 -04:00
Christian Semmler
e7aec124a2
Implement/match LegoPhonemePresenter::EndAction ( #816 )
2024-04-17 17:03:17 +02:00
Christian Semmler
97b502362d
Implement/match LegoTextureInfo::FUN_10066010 ( #815 )
2024-04-17 16:05:51 +02:00
Christian Semmler
7d0957aa3c
LegoTextureContainer::AddToList bugfix
2024-04-17 09:37:26 -04:00
Christian Semmler
06fadd922e
Implement/match LegoROI/LegoLOD::GetTexture ( #814 )
...
* Implement/match LegoROI/LegoLOD::GetTexture
* Remove explicit truth tests
* LegoTextureContainer::AddToList fix
* Revert "Remove explicit truth tests"
This reverts commit d169349bd61294e3cf4d645ac59244b48fb95867.
2024-04-17 15:18:34 +02:00
Christian Semmler
a64bb4d460
Implement/match LegoCharacterManager::FUN_100849a0 ( #813 )
2024-04-17 13:52:59 +02:00
Christian Semmler
11410890cd
Implement/match LegoPhonemePresenter::LoadFrame & PutFrame ( #812 )
...
* Implement/match LegoPhonemePresenter::LoadFrame & PutFrame
* add beta10 annotations
2024-04-17 13:26:11 +02:00
Nathan M Gilbert
d639eb4c2b
Implement LegoPathActor::Vtable0x6c ( #810 )
...
* Implement LegoPathActor::VTable0x6c
* Update LEGO1/lego/legoomni/src/paths/legopathactor.cpp
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
* Fix logic / match
* Add BETA annotation
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2024-04-17 12:34:21 +02:00
MS
536c4336f3
Beta matching MxVariableTable ( #811 )
2024-04-17 11:31:48 +02:00
Christian Semmler
2600b1b421
Implement/match LegoPhonemePresenter::StartingTickle ( #809 )
...
* Implement/match LegoPhonemePresenter::StartingTickle
* Name vars
* Fix name
2024-04-16 16:07:13 +02:00
Nathan M Gilbert
41281dcbec
Implement LegoPathActor::VTable0x70 ( #807 )
...
* Implement LegoPathActor::VTable0x70
* match
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-16 12:54:08 +02:00
MS
46362a0f6e
Fix some issues with annotations ( #808 )
2024-04-15 14:42:25 -04:00
Christian Semmler
5f1642bf73
Implement Matrix4::FromQuaternion ( #806 )
2024-04-15 15:15:13 +02:00
Nathan M Gilbert
dcbad318e0
Implement/Match LegoPathActor::VTable0x74 ( #805 )
...
* Implement/Match LegoPathActor::VTable0x74
* Remove superfluous early returns
* fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-15 13:38:30 +02:00
Misha
540bcc61ad
Implement LegoVideoManager::FUN_1007c520 ( #803 )
2024-04-14 16:23:32 -04:00
Misha
e251ddb17d
implement LegoAnimNodeData::FindKeys ( #802 )
...
* implement LegoAnimNodeData::FindKeys
* Update legoanim.cpp
* fix flickering
* Match
* Fix cond
* clang
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-14 14:25:39 -04:00
Christian Semmler
dcc42c33d8
Implement/match LegoROI::FUN_100a8e80 ( #801 )
2024-04-14 17:46:56 +02:00
Misha
69b250e40c
implement FUN_1003e050 ( #799 )
...
* FUN_1003e050
* Match FUN_1003e050
* Remove unused function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-14 17:19:16 +02:00
Nathan M Gilbert
7821d952ec
Pathactor ( #800 )
...
* Implement LegoPathActor::VTable0x8c
* Fix paramater name
* WIP fixes
* more fixes
* style
* fix
* fix
* fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-14 16:43:07 +02:00
Misha
c282b3019d
implement LegoAnimPresenter::VTable0x8c ( #798 )
2024-04-13 17:42:05 -04:00
Christian Semmler
54421ebcdf
Implement/match LegoAnimPresenter::FUN_1006b9a0 ( #797 )
2024-04-13 18:05:43 +02:00
Christian Semmler
67127e2515
Implement/match LegoAnimPresenter::PutFrame ( #796 )
...
* Implement/match LegoAnimPresenter::PutFrame
* compat mode
2024-04-13 17:59:16 +02:00
Christian Semmler
d469cabd6b
Implement/match LegoAnimPresenter::FUN_1006abb0 ( #795 )
2024-04-13 16:35:55 +02:00
Christian Semmler
93257a7c8c
Implement/match LegoAnimPresenter::FUN_1006c8a0 ( #794 )
2024-04-13 16:11:24 +02:00
Christian Semmler
4502737fe2
Implement/match LegoAnimPresenter::FUN_100699e0 ( #793 )
2024-04-13 16:02:55 +02:00
Christian Semmler
e43749c8bb
Implement/match LegoAnimPresenter::FUN_10069b10 ( #792 )
2024-04-13 15:55:26 +02:00
Christian Semmler
f5e81777bc
Implement LegoAnimPresenter::FUN_1006a3c0 ( #791 )
2024-04-13 14:57:18 +02:00
Nathan M Gilbert
e8b61d5a1d
Implement LegoPathActor::Vtable0x84 ( #790 )
...
* Implement LegoPathActor::Vtable0x84
* fix condition
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-13 14:05:20 +02:00
Christian Semmler
dc3259bb17
Implement/match LegoAnimPresenter::FUN_1006a4f0 ( #789 )
2024-04-12 17:53:22 +02:00
Misha
4374891ac8
Implement IslePathActor::VTable0xe0 & VTable0xec ( #788 )
...
* Implement IslePathActor::VTable0xe0 & VTable0xec
* Revert random change
2024-04-12 07:02:32 -04:00
Joshua Peisach
8cbb094b75
IsleActor::Create, IsleActor::Notify ( #779 )
...
* IsleActor::Create, IsleActor::Notify
* fix pizzeria vtable
* clang-format
* fix pizza vtable
* fix annotation
* refactor, add annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-11 13:55:22 +02:00
Christian Semmler
91ae26589a
Remove TODO
2024-04-11 07:36:55 -04:00
Nathan M Gilbert
ada83989b1
Implement LegoPathActor::VTable0x88 ( #787 )
...
* Implement LegoPathActor::VTable0x88
* Implement FUN_1002ddc0
* Fixes and match
* refac
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-11 13:35:15 +02:00
Nathan M Gilbert
507cd0cff4
Refactor/Implement/Match LegoEdge ( #786 )
...
* Refactor/Implement/Match LegoEdge
* Reorder annotation
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-09 11:25:24 +02:00
Christian Semmler
5cf04bc3c3
Implement/match LegoActor::ParseAction ( #785 )
...
* Implement/match LegoActor::ParseAction
* Add call to parent
2024-04-08 14:23:31 +02:00
Christian Semmler
cf18aa8072
Match LegoExtraActor::FUN_1002aae0
2024-04-08 04:18:55 -04:00
Christian Semmler
1bfe47357b
Refactor LegoActorStruct into unknown class in misc lib ( #782 )
2024-04-07 14:36:58 +02:00
Nathan M Gilbert
b394770864
Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140 ( #781 )
...
* Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140
* Match functions, fixes
* fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-07 14:03:21 +02:00
Christian Semmler
17680522c2
Use proper boolean constant
2024-04-06 15:32:02 -04:00
Christian Semmler
458d4b0988
Use button constant for modifier
2024-04-06 15:30:32 -04:00
Christian Semmler
4b4f2f321c
Implement/match LegoInputManager::FUN_1005cdf0 ( #780 )
2024-04-06 21:16:35 +02:00
Christian Semmler
f30ed0212b
Implement/match LegoEntity::Notify ( #778 )
2024-04-06 19:59:38 +02:00
Joshua Peisach
fc91da8666
More gasstation functions ( #776 )
...
* More gasstation functions
* Match GasStation::HandleClick
* Match GasStation::Tickle
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-06 19:07:57 +02:00
Christian Semmler
b309982219
Implement/match ViewManager::Pick ( #777 )
2024-04-06 19:03:39 +02:00
Christian Semmler
4795eac37c
Implement LegoCharacterManager::FUN_10083db0 ( #775 )
2024-04-06 18:11:13 +02:00
Christian Semmler
3bafe2d3a4
Implement/match LegoCharacterManager::FUN_10083f10 ( #774 )
...
* Implement LegoCharacterManager::FUN_10083f10
* style
* Match
* Fix naming
2024-04-06 17:46:40 +02:00
Christian Semmler
75dc04f40a
Implement/match LegoCharacterManager::FUN_10084cf0 ( #773 )
...
* Implement/match LegoCharacterManager::FUN_10084cf0
* Compat mode for iterator
2024-04-06 14:08:38 +02:00
Joshua Peisach
4e74747451
GasStation::ReadyWorld ( #765 )
...
* Start GasStation::ReadyWorld
* fixes (up to 69.43%)
* what is this file and how did it get here
* don't hardcode (likely) action id
* Match FUN_10005590 (non-inlined version of PlayAction?)
* fixes (75.07%)
* Fixes (77.87%)
* style
* fix
* style
* style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-06 13:48:09 +02:00
Nathan M Gilbert
14cb3e621a
Implement/Match LegoPathActor ctor ( #772 )
...
* Implement/Match LegoPathActor ctor
* style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-06 12:49:22 +02:00
Nathan M Gilbert
6450774aa7
Implement/Match LegoExtraActor::VTable0xc4 ( #771 )
...
* Implement/Match LegoExtraActor::VTable0xc4
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-05 17:20:30 +02:00
Christian Semmler
c9ce9b56bb
Implement/match LegoCharacterManager::FUN_10084ec0 ( #770 )
...
* Implement LegoCharacterManager::FUN_10084ec0
* Match
* Match CreateROI
* Match
* Improve match
2024-04-05 15:57:20 +02:00
Nathan M Gilbert
32f1621ec7
Implement LegoExtraActor::VTable0x70 ( #769 )
...
* Implement LegoExtraActor::VTable0x70
* whitespace
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-05 12:56:31 +02:00
Nathan M Gilbert
a8eebe454e
Implement/match LegoExtraActor:: WaitForAnimation, Restart ( #768 )
...
* Implement/match LegoExtraActor:: WaitForAnimation, Restart
* whitespace
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-04 12:26:03 +02:00
MS
ce134e79ef
Use reference on MxDSObject Deserialize calls ( #767 )
2024-04-03 12:06:53 -04:00
Christian Semmler
8225a38a01
Implement/match LegoCharacterManager::FUN_10085870 ( #764 )
2024-04-02 14:04:17 +02:00
Christian Semmler
60388c8c5d
Implement/match LegoCharacterManager::FUN_10085210 ( #763 )
...
* Implement/match LegoCharacterManager::FUN_10085210
* Update params
* Update param names
* param to bool
* Update var names based on beta
2024-03-31 16:05:38 +02:00
Nathan M Gilbert
a956b19ac6
Fix some names ( #762 )
...
* Fix some names
* reorder unit in CMake
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-31 15:09:51 +02:00
Nathan M Gilbert
3839b3278c
Implement/match LegoExtraActor::VTable0x94 ( #759 )
...
* Implement/match LegoExtraActor::VTable0x94
* attempt to fix gcc
* WIP fixes
* Match
* Match
* Match
* add TODO
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-30 12:18:15 -04:00
Christian Semmler
749f0fa750
Remove explicit operator= definition from Mx3DPointFloat ( #760 )
2024-03-30 14:44:20 +01:00
Christian Semmler
ed9e9efdab
Implement/match LegoBackgroundColor::SetLightColor and related ( #758 )
2024-03-29 21:50:00 +01:00
Christian Semmler
369f3fba22
Implement SetLightPosition and related ( #757 )
...
* Implement SetLightPosition and related
* Update p name
* style
2024-03-29 21:42:39 +01:00
MS
f447397eef
Fix loop in LegoROI::ColorAliasLookup ( #756 )
2024-03-29 19:47:46 +01:00
Christian Semmler
3878f79847
Implement/match LegoCharacterData::GetData and FUN_10085140 ( #755 )
2024-03-29 19:34:50 +01:00
Joshua Peisach
92357d77e1
Most entities with VTable0x50 function overrides ( #752 )
...
* BeachHouseEntity::VTable0x50
* GasStationEntity::VTable0x50
* RaceStandsEntity::VTable0x50
* Run clang-format
* Fix use of NULL
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-29 19:11:48 +01:00
Joshua Peisach
87f633af54
InfoCenterEntity::VTable0x50 implementation ( #725 )
...
* Start InfoCenterEntity::VTable0x50 implementation
* Fully implement InfoCenterEntity::VTable0x50
* Fix function name typo
* match
* fix style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-29 19:09:53 +01:00
Ramen2X
2c57e33ce5
implement/match LegoAnimationManager::DeleteAnimations() ( #753 )
2024-03-29 14:09:46 -04:00
Christian Semmler
ed1a25a636
Implement/match LegoCharacterManager GetActor/Exists, fix loops ( #750 )
2024-03-29 13:30:46 -04:00
Christian Semmler
e260a407ba
Implement/match LegoCharacterManager::GetRefCount ( #749 )
2024-03-29 13:30:31 -04:00
Ramen2X
7431d9d650
implement/match LegoAnimationManager::FindVehicle() ( #748 )
2024-03-29 11:50:16 -04:00
Christian Semmler
bfc2b76a61
Implement/match LegoCharacterManager::FUN_100832a0 ( #747 )
2024-03-29 15:41:12 +01:00
Ramen2X
5e10e01014
implement/match ReadNamedTexture() ( #745 )
2024-03-28 17:03:51 -04:00
MS
e4570b520b
Define g_characters ( #743 )
...
* Define g_characters
* Update with known struct types
2024-03-28 19:15:39 +01:00
Ramen2X
f157f01f71
implement/match UpdateLightPosition() ( #744 )
2024-03-28 10:27:44 -04:00
Nathan M Gilbert
13d994a1ee
Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0 ( #742 )
...
* Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0
* Match LegoExtraActor::FUN_1002aae0
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-28 14:19:32 +01:00
Ramen2X
97ebb22c42
implement/match FUN_1003ef60() ( #740 )
2024-03-27 15:46:03 -04:00
Nathan M Gilbert
38cfad8b17
Implement LegoExtraActor::VTable0x90 ( #739 )
...
* Implement LegoExtraActor::VTable0x90
* Improve LegoExtraActor::VTable0x90
* Match
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-27 20:38:13 +01:00
Ramen2X
1cf60ccda6
implement/match HospitalEntity::VTable0x50() ( #738 )
2024-03-27 12:12:20 -04:00
Nathan M Gilbert
483b3a5ab7
ExtraActor ctor/dtor ( #737 )
2024-03-27 16:53:38 +01:00
Nathan M Gilbert
32bc6c4264
Implement ExtraActor vftable and passthrough methods ( #735 )
...
* Implement ExtraActor vftable and passthrough methods
* Remove unused param names
2024-03-26 19:24:01 -04:00
Ramen2X
4e9dbfe331
implement HospitalState::VTable0x1c() ( #734 )
2024-03-26 18:25:41 -04:00
Nathan M Gilbert
1e3ca11886
Implement/match LegoAnimActor ( #730 )
...
* Implement/match LegoAnimActor
* Name changes (deviation from original source)
* Attempt to fix modern build
* Add missing override
* Match LegoAnimActor::SetWorldSpeed
* Remove junk
* Style changes and implement WEEdge
* Add override
* Match LegoAnimActor::FUN_1001c1f0, style
* Style
* Add missing annotations, STUB LegoPathBoundary
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-26 18:51:52 +01:00
Ramen2X
43ce89224a
match LegoGameState::RegisterState() ( #729 )
2024-03-25 14:34:28 -04:00
Ramen2X
77b5f1338c
label some hospital members ( #728 )
2024-03-25 11:59:24 -04:00
Christian Semmler
0ed9f37587
Match LegoPointOfViewController::Tickle ( #726 )
2024-03-25 15:00:59 +01:00
Joshua Peisach
2261f7f039
IslePathActor: implement notify, remove usage of this keyword ( #724 )
2024-03-25 12:43:03 +01:00
Christian Semmler
0aa8d54990
Revert "Match LegoNavController::CalculateNewPosDir & LegoNavController::CalculateNewTargetVel ( #723 )"
...
This reverts commit 6464486800 .
2024-03-25 06:01:50 -04:00
Misha
6464486800
Match LegoNavController::CalculateNewPosDir & LegoNavController::CalculateNewTargetVel ( #723 )
2024-03-24 21:16:49 -04:00
Misha
2e5d54c03e
Finish LegoPathPresenter ( #721 )
...
* Finish LegoPathPresenter
* Update legopathcontroller.cpp
* Fixes
* fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:30:04 +01:00
Joshua Peisach
3f6f59852f
Ambulance::Create, dtor ( #719 )
...
* Ambulance::Create, dtor
* annotations
* fix
* remove comment
---------
Co-authored-by: Ramen2X <rmn@legoisland.org>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:28:44 +01:00
Joshua Peisach
313bd9ffd0
PoliceEntity::VTable0x50 ( #720 )
...
* PoliceEntity::VTable0x50
* fix
* don't hardcode Isle world object id
* style
---------
Co-authored-by: Ramen2X <rmn@legoisland.org>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:26:55 +01:00
Misha
b66e28ac5e
implement a few legonavcontroller functions ( #718 )
...
* implement a few legonavcontroller functions
* Match LegoNavController::ProcessJoystickInput
* Style
* Match LegoNavController::ProcessKeyboardInput
* Style
* Fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 15:30:12 +01:00
Misha
b279e8b8b9
Begin LegoNavController::Notify ( #716 )
...
* Partial implementation of LegoNavController::Notify
* Mark as stub
* Update legoanimationmanager.cpp
* Rename function/style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-23 19:00:34 +01:00
Christian Semmler
8b43e940f8
Implement/match LegoCameraController::FUN_100123e0 ( #715 )
2024-03-23 18:46:27 +01:00
Christian Semmler
0391b5b42a
Replace more magic numbers with script values ( #714 )
...
* Replace more magic numbers with script values
* Matches/fixes
* Make const
2024-03-23 18:06:31 +01:00
Christian Semmler
18377c2f1f
Implement/match LegoNavController::UpdateCameraLocation ( #713 )
...
* Implement/match LegoNavController::UpdateCameraLocation
* Add size assert
2024-03-23 17:10:12 +01:00
Nathan M Gilbert
8b21e8136e
Animmanager ( #712 )
...
* Implement LegoAnimationManager::StartEntityAction
Fix some class definitions
* Fix style issues
* Add size annotations
* Fix global pointer
* Style/naming
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-23 15:09:20 +01:00
Nathan M Gilbert
fca8f74bd8
Fix Annotations and LegoAnimActor class structure. ( #710 )
...
* Fix size annotations for legoomni
Fix structure and add placeholder annotations for LegoAnimActor and subclasses
* Fix LegoCarRaceActor constructor
Fix function name in LegoRaceCar
* Add size assertions for legoomni and fix sizes
* Various style fixes
* Use other marker so vtable.py doesn't compare
* Revert "Use other marker so vtable.py doesn't compare"
This reverts commit 608985cd73856598b95c15aed9f8f022645e9e7a.
* Fix copy/paste error
* Remove stale comment.
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-22 21:30:58 -04:00
Ramen2X
96f7219811
implement/match Hospital::HandleButtonDown() ( #711 )
2024-03-22 17:27:22 -04:00
Christian Semmler
68bb20f04f
Implement LegoCharacterManager::CreateROI ( #709 )
...
* WIP
* Create globals
* Add Read
* Name Init
* Add LegoCharacter init data
* Add define for NULL
* Use MxS8
* Add LegoCharacterLOD
* WIP CreateROI
* Fix
* WIP
* Match
* Match
* Match, implement Find
* Fix MeshBuilder
* Fix
* space
2024-03-22 18:40:19 +01:00
Ramen2X
8cffa7cf8c
implement Hospital::HandleClick() ( #708 )
...
* implement Hospital::HandleClick()
* style
* style
2024-03-21 13:27:51 -04:00
Misha
9256554406
Implement LegoCameraController::Notify & TimeROI::FUN_100a9b40 ( #707 )
...
* Implement LegoCameraController::Notify & TimeROI::FUN_100a9b40
* Fixes/matches
* Style
* Fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-21 15:39:23 +01:00
Ramen2X
770da22a1d
implement/match Hospital::HandleEndAction() ( #704 )
...
* implement Hospital::HandleEndAction()
* don't compare m_unk0x128 against char
* fix gotos
* match
2024-03-20 19:19:08 -04:00
Misha
3ce1e4985e
begin LegoAnimMMPresenter ( #706 )
2024-03-20 22:11:40 +01:00
Misha
d8fedab090
Implement MxDisplaySurface::VTable0x30 ( #705 )
...
* Implement MxDisplaySurface::VTable0x30
* improve match
* style
* fix style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-20 21:44:30 +01:00
Misha
e5fa35fd99
Implement a few registrationbook methods ( #703 )
...
* Implement a few registrationbook methods
* Match RegistrationBook::HandleKeyPress
* Match RegistrationBook::CreateSurface
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-20 17:26:10 +01:00
Misha
556c7698d8
implement RemoveFromCurrentWorld ( #700 )
...
* implement RemoveFromCurrentWorld
* Replace magic values
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 21:07:07 +01:00
Ramen2X
2477b89e32
add actions forward decl header ( #699 )
...
* add actions forward decl header
* newline
* format
* remove existing fwd declares
* Headers
* replace COMPAT_MODE check
* flip
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:54:13 -04:00
Misha
eaa935f646
Finish LegoVariables class ( #698 )
...
* Finish LegoVariables class
* Update legonavcontroller.cpp
* Update legobackgroundcolor.cpp
* Match functions, style, refactor visible
* Use MxBool
* Merge/fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 19:44:42 +01:00
Misha
d92963982a
Implement ViewManager::FUN_100a6dc0 ( #697 )
...
* Update viewmanager.cpp
* Fix function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 19:24:53 +01:00
Christian Semmler
0994d6dbfb
Implement LegoCharacterManager::GetROI ( #696 )
...
* Implement LegoCharacterManager::GetROI
* Add TODO
2024-03-19 19:23:34 +01:00
Misha
277957f0d5
implement misc presenter functions ( #695 )
...
* implement misc presenter functions
* style/spacing
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 16:07:11 +01:00
Misha
fd1b371864
Implement a few LegoBackgroundColor functions ( #694 )
...
* Update legobackgroundcolor.cpp
* Update legobackgroundcolor.cpp
* minor style
* minor style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:22:11 +01:00
Misha
e454e56b52
Implement a few RegistrationBook functions ( #693 )
...
* Implement a few RegistrationBook functions
* Match functions
* minor style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:15:24 +01:00
Christian Semmler
44bc575a2d
Replace some magic numbers with enum values ( #692 )
2024-03-19 07:45:29 -04:00
Christian Semmler
52d74647be
Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction ( #691 )
...
* WIP
* Match
2024-03-18 15:00:58 -04:00
Christian Semmler
d96679ea9e
Implement/match Isle::HandleClick ( #690 )
...
* Isle::HandleClick
* WIP
* Match
2024-03-18 17:31:22 +01:00
Ramen2X
44f49a7a57
implement/match Hospital::HandleKeyPress() ( #689 )
2024-03-18 12:23:19 -04:00
Christian Semmler
e1135d9c1d
Use script values from enum for clicked objects ( #688 )
2024-03-18 16:05:05 +01:00
Christian Semmler
ba5bc46c0c
Implement/match FUN_10032620 ( #687 )
2024-03-18 15:38:02 +01:00
Ramen2X
937a45020c
refactor action headers ( #686 )
2024-03-17 16:52:42 -04:00
Misha
b38a2a4980
implement RegistrationBook::HandleClick ( #685 )
...
* implement RegistrationBook::HandleClick
* fix build
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-17 19:58:27 +01:00
Christian Semmler
0fe3fa65aa
Implement/match Isle::FUN_10032d30 ( #684 )
2024-03-17 18:26:41 +01:00
Christian Semmler
5b8f515968
Implement/match Isle::HandleTransitionEnd ( #683 )
...
* Implement/match Isle::HandleTransitionEnd
* Rename enums
* Forward declare enum for C++11+
* Add underlying storage to action headers
* Fix missing define
2024-03-17 18:01:47 +01:00
Ramen2X
4197e3c326
implement Hospital::ReadyWorld() ( #682 )
2024-03-16 17:02:05 -04:00
Christian Semmler
0a4db65b24
Implement/match Isle::Enable ( #681 )
...
* Implement/match Isle::Enable
* Fix order
2024-03-16 19:20:44 +01:00
Christian Semmler
70e8796af3
Implement/match LegoEntity::VTable0x3c ( #680 )
2024-03-16 03:20:44 +01:00
Ramen2X
bf6765b575
fix dupes in action headers ( #679 )
2024-03-16 02:43:56 +01:00
Ramen2X
6cd5ffcf1a
implement RegistrationBook::ReadyWorld(), impl/match MxDisplaySurface::CopySurface() ( #678 )
...
* implement RegistrationBook::ReadyWorld()
* don't fix the size of letterBuffer
* Fix crash in MxStillPresenter::Clone
* Implement MxDisplaySurface::CopySurface
100% match
* improve accuracy
* invert HasRegistered check
* fix legogamestate structure, documentation tweaks
* this might be cleaner actually
* Update mxdisplaysurface.cpp
* Update legogamestate.h
* don't hardcode action ids in VTable0x64
* Match ~98%
---------
Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-16 02:32:06 +01:00
Nathan M Gilbert
d07d7edc81
Implement methods to load dta files. ( #673 )
...
* Implement methods to load dta files.
* fix style issues
* fix vtables
* fix more style issues
* fix ddtor names
* Remove explicit padding, add annotations, asserts
* Use List template
* trigger CI
* Fix class refactor
* Match code, fix annotations
* Fix
* 98% match
* Fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-16 01:43:45 +01:00
Ramen2X
4ddd9e200c
implement/match Hospital::Tickle() ( #677 )
2024-03-15 19:16:43 -04:00
Christian Semmler
78f0455463
Fix code quirk ( #676 )
2024-03-15 17:05:09 +01:00
Christian Semmler
10ae05a888
Add missing size assert
2024-03-15 16:35:28 +01:00
Christian Semmler
0e146f08d6
Implement/match LegoNavController::CalculateNewPosDir ( #675 )
...
* Implement/match LegoNavController::CalculateNewPosDir
* Fix naming
* Fix naming
2024-03-15 16:33:32 +01:00
MS
331aac73f2
Implement MxMemoryPool ( #671 )
...
* Implement MxMemoryPool
* Naming fix
* Annotations and size asserts
* hex padding
2024-03-13 21:44:07 -04:00
Christian Semmler
7edad07d18
Implement/match LegoEntity::GetWorldPosition/Direction/Up ( #672 )
...
* Implement/match LegoEntity::GetPosition/Direction/Up
* Rename
2024-03-13 20:29:28 -04:00
Ramen2X
aaee10949e
implement Hospital::Notify(), Enable(), VTable0x64() ( #670 )
...
* implement Hospital::Notify(), Enable(), VTable0x64()
* function order
* Fix HandleClick
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-13 16:32:20 -04:00
Ramen2X
a9a564b25e
implement/match Hospital::~Hospital() ( #669 )
2024-03-13 15:10:53 -04:00
Christian Semmler
0f2aee1849
Implement/match LegoPointOfViewController::SetEntity ( #668 )
...
* Implement/match LegoPointOfViewController::SetEntity
* Fix order
2024-03-13 19:03:30 +01:00
Christian Semmler
0623e6a766
Implement/match LegoPointOfViewController::Tickle ( #667 )
2024-03-13 18:46:20 +01:00
Ramen2X
beb30e80ea
slight style tweaks to legogamestate and related members ( #666 )
2024-03-13 13:17:20 -04:00
Ramen2X
4aafc435f5
implement/match Hospital::Create() ( #665 )
2024-03-13 11:45:27 -04:00
Christian Semmler
06080b6492
Changes to GasStation::Create based on beta debug build ( #664 )
...
* Implement/match LegoAnimNodeData::FUN_100a0990
* Change GasStation::Create based on beta debug build
2024-03-13 16:38:38 +01:00
MS
dcc3946a08
Separate MxCore counter ( #663 )
2024-03-12 14:59:39 -04:00
MS
62a3f50287
KeyValueStringParse closer to beta version ( #656 )
...
* KeyValueStringParse closer to beta version
* Line numbers out
2024-03-12 14:27:24 -04:00
Christian Semmler
9d80cf4824
Implement/match LegoAnimNodeData::FUN_100a0990 ( #662 )
2024-03-12 14:11:13 -04:00
Christian Semmler
02838d0f57
Implement LegoAnimNodeData::GetRotation ( #661 )
...
* WIP
* Improve matches
2024-03-12 18:21:58 +01:00
MS
e3d7188ec9
Use AUTOLOCK macro ( #660 )
...
* Use AUTOLOCK macro
* MxAutoLock
* Remove semicolon
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
---------
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2024-03-12 15:23:50 +01:00
Ramen2X
b0483000d8
TransitionNone() -> NoTransition() ( #659 )
2024-03-11 21:23:31 -04:00
Ramen2X
9207d1cb28
remove redundant MxU16 cast in MosaicTransition()
...
mistake, but it gets optimized out anyways
2024-03-11 17:37:45 -04:00
Ramen2X
121708a574
match MxTransitionManager::MosaicTransition() ( #658 )
2024-03-11 17:33:43 -04:00
Christian Semmler
7659db49e7
Implement LegoAnim::CreateLocalTransform ( #657 )
...
* Implement LegoAnim::CreateLocalTransform
* Match Matrix4::Scale
2024-03-11 15:15:18 -04:00
Ramen2X
6dfee432ea
rename MxTransitionManager transitions ( #655 )
2024-03-11 04:57:58 -04:00
Ramen2X
c28c2aeb52
fix regressions ( #653 )
2024-03-10 12:45:46 -04:00
Ramen2X
7fad763699
refactor script enum structure ( #649 )
...
* add autogenerated action headers
* refactor police
* refactor infocenter
* refactor jukebox
* refactor regbook
* format
* scope headers in namespaces instead
* attempt to dynamically build headers ignore list in ncc
* correct whitespace in naming.yml
* fix wrong folder
* fix accidental extra newline in cmakelists
2024-03-10 17:08:21 +01:00
Christian Semmler
6972142923
Implement OrientableROI::GetLocalTransform ( #652 )
2024-03-10 16:10:53 +01:00
Christian Semmler
d090b449d1
Add CalcWorldBoundingVolumes ( #651 )
2024-03-10 15:29:16 +01:00
Christian Semmler
660c1e1170
Implement ViewManager::FUN_100a65b0 ( #650 )
2024-03-10 05:12:15 +01:00
Christian Semmler
a55b01d186
Implement ViewManager::FUN_100a66f0 ( #648 )
2024-03-10 04:47:13 +01:00
Christian Semmler
4b0c6d1f5f
Implement/match ViewManager::Update ( #647 )
...
* Implement/match ViewManager::Update
* Fix
2024-03-10 02:14:53 +01:00
Christian Semmler
86f84e1740
Implement/match ViewManager::FUN_100a6b90 ( #646 )
...
* Implement/match ViewManager::FUN_100a6b90
* Fix comment
* Fix order
2024-03-10 00:40:29 +01:00
Christian Semmler
8069923651
Refactor files based on beta debug build ( #645 )
...
* Rename LegoUnkSaveDataWriter -> LegoCharacterManager
* Refactor mxomni into mxomni/mxmisc
* Refactor legoomni into legoomni/misc
* Resolve deps
* Refactor atom
* Refactor mxutil
* Refactor mxio
* Rename/relocate files
* Fix format
2024-03-09 21:07:52 +01:00
Christian Semmler
c62469fef4
Implement/match LegoPartPresenter::ReadyTickle ( #644 )
...
* Implement/match LegoPartPresenter::ReadyTickle
* Remove space
2024-03-09 19:11:34 +01:00
Christian Semmler
6fa4a0dbec
Implement/match LegoPartPresenter::Store ( #643 )
2024-03-09 19:03:21 +01:00
Christian Semmler
9f875d01e5
Implement/match LegoPartPresenter::Read ( #642 )
...
* WIP
* Match
* Remove TODO
* Fix
2024-03-09 18:27:53 +01:00
Christian Semmler
9e2f37e7ca
Implement LegoTexturePresenter::Read and Store ( #641 )
...
* LegoTexturePresenter::Read
* Implement LegoTexturePresenter::Store
* Rename
* Fix naming
2024-03-09 16:49:13 +01:00
Christian Semmler
fb800db862
Implement OrientableROI::FUN_100a46b0 ( #640 )
...
* Implement OrientableROI::FUN_100a46b0
* Fix
2024-03-09 03:52:42 +01:00
Christian Semmler
32ae9f3803
Implement/match LegoROI::FUN_100a9170 ( #639 )
...
* Implement.match LegoROI::FUN_100a9170
* Add two LOD functions
2024-03-08 21:29:16 +01:00
Christian Semmler
d978cbe7f9
Implement/match LegoROI::FUN_100a9210 ( #638 )
...
* Implement/match LegoROI::FUN_100a9210
* Fix order
2024-03-08 21:01:18 +01:00
Christian Semmler
309997fddc
Implement various LegoROI functions ( #637 )
...
* WIP
* Fix
* Fix
2024-03-08 20:28:52 +01:00
Christian Semmler
45cba2c00e
Implement/match remaining LegoLOD functions ( #636 )
...
* Implement/match remaining LegoLOD functions
* Add param name
2024-03-08 18:03:26 +01:00
Christian Semmler
873926afe2
Implement TglImpl::MeshBuilder::CreateMesh ( #635 )
...
* WIP
* Change
* Fix
* Improve match
* Rename class
* Fix function
* Fix annotation
* Fix annotations
* Fix annotation
2024-03-08 17:55:25 +01:00
Christian Semmler
53e2353f78
Implement LegoLOD::Read and related ( #634 )
...
* WIP
* Fix
* Remove bogus
* Fix
* Match
* Fix
* Remove TODO
2024-03-07 20:57:17 +01:00
Christian Semmler
a12146f52f
Implement/match LegoEntity::VTable0x34 ( #633 )
...
* Implement/match LegoEntity::VTable0x34
* Change parameter name
* Fix order
2024-03-06 20:12:20 +01:00
Christian Semmler
71bcd4c771
Implement/match LegoEntity::SetWorldTransform and ResetWorldTransform ( #632 )
...
* Implement/match LegoEntity::SetWorldTransform and ResetWorldTransform
* Add param name
2024-03-06 19:25:45 +01:00
Misha
8ecae549df
implement functions in ViewROI and ViewLodList ( #631 )
2024-03-05 22:15:32 +01:00
Misha
3897e9c015
Add JailEntity class ( #630 )
...
* Add JailEntity class
* Update legoobjectfactory.h
* Update jailentity.h
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-05 16:05:38 -05:00
Christian Semmler
a93e2ae0d3
Implement/match LegoEntity::SetLocation ( #629 )
...
* Implement/match LegoEntity::SetLocation
* Remove comment
2024-03-05 20:31:57 +01:00
Christian Semmler
3b2bd0e9d4
Implement/match LegoEntity::SetROI ( #628 )
2024-03-05 19:35:28 +01:00
Christian Semmler
f6e44b1c1b
Implement LegoROI::Read and geom library ( #627 )
...
* Implement LegoROI::Read and geom library
* Match
* Match
* Fixes
* Fix
2024-03-05 18:38:53 +01:00
MS
ec1fcce08c
Data comparison tool ( #618 )
...
* Parse cvdump TYPES section. Add datacmp tool.
* Corrections
* Use static
* Revert "Use static"
This reverts commit e0a4324e004e83565a9880e457c588ed0cf71931.
* Handle partially initialized variable
* Shuffle order of legounksavedatawriter
* Revert "Shuffle order of legounksavedatawriter"
This reverts commit 506e06f1174739fdbfade73e29b9ce4eac44b06c.
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-05 09:45:09 +01:00
Misha
068760056a
fix bug in MxPresenter::CreateEntity ( #626 )
...
* fix bug in MxPresenter::CreateEntity
* Match 100%
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-04 23:00:38 +01:00
Christian Semmler
a78b1c7d49
Add missing include guard
2024-03-04 15:20:42 -05:00