jonschz
3e6d789324
Add all BETA10 ClassName() functions and vtables ( #1258 )
...
* Add all BETA10 `ClassName()` functions and vtables
* Run formatter, fix copy error
* Fix copy error
* Add BETA10 library functions
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-22 08:13:34 -07:00
Christian Semmler
fe2a65c8da
Implement/match LegoNavController::Notify ( #1253 )
...
* Implement/match `LegoNavController::Notify`
* Move function
* Add to total function count
* Add OPT:REF to lego1
2024-12-21 22:41:47 +01:00
Christian Semmler
bcc41256f8
Add LegoOmni::World enum ( #1252 )
2024-12-21 18:08:55 +01:00
Christian Semmler
c9acd9a49f
Minor fixes ( #1248 )
2024-12-20 20:23:01 +01:00
Christian Semmler
e73f60e2c6
merge from isle/master
2024-12-20 11:54:06 -07:00
Christian Semmler
cb38cf7673
Implement/match Act3Brickster::FUN_100417c0 ( #1240 )
...
* Implement/match `Act3Brickster::FUN_100417c0`
* Move function
* Rename var
* Revert "Rename var"
This reverts commit c9ca75ae7f1d894f976ce6d383d5b4d13ead99a5.
2024-12-19 20:22:34 +01:00
Christian Semmler
66e3c9a2e1
Implement/match Act3Brickster::Animate ( #1237 )
...
* Implement/match `Act3Brickster::Animate`
* Improve loop
2024-12-17 19:11:47 +01:00
Christian Semmler
f51b1867ee
Use SDL3 for filesystem access ( #36 )
...
* Use SDL IOStream in for MXIOINFO
* Use SDL IOStream for WDB file
* Use SDL IOStream for LegoStorage
* Update README.md
* Fixes
* Add names to skip.yml
* Add #include <stdio.h> where necessary
2024-12-16 22:25:52 +01:00
Christian Semmler
73b9e9a06f
Fix LegoAct2::Notify ( #1234 )
2024-12-15 19:45:17 +01:00
jonschz
ace2a9f047
Add g_copDest ( #1229 )
...
* Implement `AddCop` and `g_copDest`
* Fix formatting
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-15 05:50:52 -07:00
Christian Semmler
2d74f14de0
Implement/match Act3::FUN_10072ad0 ( #1228 )
...
* Implement `Act3::FUN_10072ad0`
* Improve match
* Improve match
* Match
2024-12-14 14:30:21 -07:00
Christian Semmler
1aeb458be1
Implement/match Act3Ammo::Animate ( #1221 )
...
* Implement/match `Act3Ammo::Animate`
* Match
* Rename
* Rename
* Rename
2024-12-13 22:56:26 +01:00
Christian Semmler
6da2faa48c
Refactor actor states, define enum ( #1220 )
...
* Refactor actor states, define enum
* Revert
* Rename `UpdateState` to `Animate`
2024-12-13 20:30:50 +01:00
Christian Semmler
ce3f71ea0f
Rename LegoPathActor::VTable0x70 to UpdateState ( #1219 )
2024-12-13 19:20:03 +01:00
Christian Semmler
263d7d1e4f
Implement/match Act3::GoodEnding ( #1218 )
2024-12-13 18:49:45 +01:00
Christian Semmler
de7bc813ca
Implement/match LegoAct2::BadEnding ( #1217 )
...
* Implement/match `LegoAct2::BadEnding`
* Name some vars
2024-12-13 17:26:06 +01:00
jonschz
054f56fd9f
Implement Act2Actor::FUN_10019700 ( #1215 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-12 17:54:51 -07:00
Christian Semmler
894034f9cf
Implement/match WriteDefaultTexture ( #1213 )
2024-12-12 19:02:14 +01:00
Christian Semmler
aceba71fbb
Implement/match Act3Brickster::HitActor ( #1212 )
...
* Implement/match `Act3Brickster::HitActor`
* Fixes
* Fixes
* Fixes
* Add `Act3Cop::VTable0x9c`
* Fix
2024-12-12 17:10:44 +01:00
Christian Semmler
fe57a94416
Implement/match Act3Brickster::ParseAction ( #1211 )
2024-12-12 16:06:15 +01:00
Christian Semmler
598d6dd10c
Refactor act 3 actors into act3actors.cpp ( #1210 )
2024-12-12 15:14:46 +01:00
MS
c05ff6ff4a
Act3Cop::VTable0x94 and related ( #1209 )
...
* Act3Cop::VTable0x94 and related
* No need to include
* Cast LegoWorld* to Act3*
2024-12-11 22:20:21 +01:00
MS
6d9fa3ed7f
Act3List Insert() and Clear() ( #1206 )
...
* Act3List Insert() and Clear()
* Fix Act3ListElement constructors
2024-12-11 18:01:55 +01:00
Christian Semmler
adc83dc76e
Implement/match Act3Ammo::Create, Act3Ammo::FUN_10053cb0, Act3Ammo::FUN_10053d30 ( #1205 )
...
* Implement/match Act3Ammo::Create
* Fix BETA addr
* Move
* Move
* Remove header
* Add missing header
2024-12-10 22:35:59 +01:00
Christian Semmler
59e2aa2804
Implement/match LegoAct2::FUN_100516b0 and LegoAct2::FUN_100517b0 ( #1204 )
...
* Implement/match `LegoAct2::FUN_100516b0` and `LegoAct2::FUN_100517b0`
* Fix
2024-12-10 21:49:13 +01:00
Christian Semmler
c2ee761f81
Implement/match Act3::ShootPizza and Act3::ShootDonut ( #1203 )
...
* Implement/match `Act3::LaunchPizza` and `Act3::LaunchDonut`
* Match Helicopter::HandleControl
* Rename
* Adjust total function count
* Rename
2024-12-09 23:41:51 +01:00
jonschz
07def56326
Implement Act2Actor::VTable0x70 ( #1201 )
...
* Implement draft of `Act2Actor::VTable0x70`
* Fix CI errors
* Implement `Act2Actor::FUN_100199f0`
* WIP: cleanup
* Address review comments
* Run formatter
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-09 22:05:08 +01:00
Christian Semmler
d9b9178d27
Implement/match Act3::Notify ( #1200 )
...
* Implement/match Act3::Notify
* Fix typo
2024-12-08 20:52:32 +01:00
Christian Semmler
564fb7f7c0
Implement/match Act3::Enable ( #1198 )
...
* Implement Act3::Enable
* Match
* Change back to private
* Remove unused function
2024-12-08 19:39:03 +01:00
Christian Semmler
1aff40dd94
Implement/match several functions in Act3, refactor ( #1197 )
...
* Implement/match several functions in Act3, refactor
* Fix naming
* Rename
* Add comment
* Add annotation
* Add BETA assert
2024-12-08 18:00:57 +01:00
Christian Semmler
97fb6e4f15
Add Act3Ammo, match Act3::Act3 ( #1196 )
...
* Implement `Act3Ammo`, match `Act3::Act3`
* Move
* Fix match
2024-12-07 11:57:59 -07:00
Christian Semmler
94ce89cbaa
(Proposal) Introduce arithmetic operators to Vector2 ( #1193 )
2024-12-07 17:26:22 +01:00
Christian Semmler
c51a09af0b
Fix a bug in LegoAct2::Notify ( #1190 )
2024-12-04 23:32:53 +01:00
Christian Semmler
8dd7bc63be
Implement/match LegoAct2::SpawnBricks ( #1189 )
...
* Implement/match LegoAct2::SpawnBricks
* Name brick vars
* Add LegoAct2::FUN_10051fa0
* Add LegoAct2::FUN_100521f0
2024-12-04 23:11:16 +01:00
MS
7ece9cf37b
Fix MxParam casts in Notify functions ( #1188 )
...
* First batch
* Second batch
2024-12-03 15:51:03 -07:00
Christian Semmler
5693b1a266
Implement/match LegoAct2::HandlePathStruct ( #1187 )
...
* Implement/match `LegoAct2::HandlePathStruct`
* Add Act2Brick::FUN_1007a670
* Add Act2Brick::Create
* Name variable
* Add stdio.h
2024-12-03 21:31:24 +01:00
Christian Semmler
aaf5e1ddc7
Implement/match LegoAct2::ReadyWorld ( #1185 )
2024-12-02 19:44:42 +01:00
Christian Semmler
a0a114135a
Implement/match LegoAct2::HandleEndAction and related ( #1184 )
...
* Implement/match LegoAct2::HandleEndAction
* Reorder
2024-12-02 18:58:08 +01:00
Christian Semmler
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
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
d6796ad86a
Implement remaining LegoGameState functions ( #1172 )
...
* Implement remaining LegoGameState functions
* Naming fixes
* Fix naming
2024-11-27 23:42:05 +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
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
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
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
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
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
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
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
2b9d8f1fba
Implement/match Pizza::FUN_100382b0 and Pizza::StopActions ( #1118 )
2024-10-26 18:34:43 +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
Christian Semmler
30e9e43cda
Implement/match RegistrationBook::HandlePathStruct ( #1084 )
2024-08-12 18:21:18 +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
87a9a37b33
Implement/match Jetski class ( #1061 )
2024-07-05 02:11:20 +02:00
Christian Semmler
09684b3c03
Implement/match BumpBouy class ( #1058 )
2024-07-04 23:28:23 +02:00
Christian Semmler
d92fc97a58
Implement/match DuneBuggy class ( #1055 )
...
* Implement/match DuneBuggy class
* Fix name
* Fix
2024-07-02 21:16:35 +02:00
Christian Semmler
788cec2560
Implement GasStation::HandleEndAction ( #1053 )
2024-07-02 02:37:51 +02:00
Christian Semmler
7bee5fc6a5
Implement/match GasStation::HandleButtonDown ( #1052 )
...
* Implement/match GasStation::HandleButtonDown
* Use enum
2024-07-02 01:43:03 +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
Christian Semmler
e4e0f4e4d3
Implement/match Motocycle, consistent notification names ( #1037 )
...
* Implement/match Motocycle, consistent notification names
* Format
* Fix
* Fix return types
* Fix return type
* Fix annotations
* Rename function
2024-06-16 16:47:53 +02:00
Christian Semmler
68023379d8
Implement/match Bike ( #1036 )
2024-06-16 15:54:40 +02:00
jonschz
a6644801f1
feat: Implement several ::Serialize functions ( #1017 )
...
* feat: Implement many ::Serialize functions
* address review comments, part 1 [skip ci]
* address review comments, part 2 [skip ci]
* review comments (final part)
* refactor: Remove Read/Write duplication
* fix merge conflict
* Match PizzeriaState::Serialize again
* Remove unused variable, add LegoVehicleBuildState::Serialize
* Implement AnimState::Serialize
* fix: Conform with naming scheme
* refactor: change names back
* refactor: int to MxS32
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-14 23:24:34 +02:00
Christian Semmler
bbc304ce46
Implement/match Ambulance::HandlePathStruct ( #1029 )
...
* Implement/match Ambulance::HandlePathStruct
* Add annotation
2024-06-13 20:10:19 +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
475d21f8c8
Implement/match Ambulance::ActivateSceneActions ( #1023 )
2024-06-12 16:08:55 +02:00
Christian Semmler
1f360929cb
Implement/match Ambulance::Tickle ( #1021 )
2024-06-12 15:13:52 +02: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
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
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
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
23e5ad7d15
Name/rename functions in LegoCharacterManager ( #982 )
...
* Name/rename functions in LegoCharacterManager
* Name flag
2024-06-01 18:45:34 +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
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
b978787f8f
Implement/match LegoAnimationManager::FUN_10062e20 ( #967 )
2024-05-29 19:24:08 +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
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
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
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
e32e06321a
Rename _countof to sizeOfArray ( #921 )
2024-05-14 16:35:22 +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
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
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
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
Christian Semmler
cd39e71597
Implement/match LegoAnimationManager::Notify ( #875 )
...
* Implement/match LegoAnimationManager::Notify
* Rename notification type
2024-05-01 15:00:42 +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
599d8c91c8
Implement/match LegoAnimationManager::Resume ( #869 )
...
* Implement/match LegoAnimationManager::FUN_1005f0b0
* Rename
2024-04-30 10:27:57 +02: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
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
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
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
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
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
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
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
f157f01f71
implement/match UpdateLightPosition() ( #744 )
2024-03-28 10:27:44 -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
77b5f1338c
label some hospital members ( #728 )
2024-03-25 11:59:24 -04: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
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
Ramen2X
8cffa7cf8c
implement Hospital::HandleClick() ( #708 )
...
* implement Hospital::HandleClick()
* style
* style
2024-03-21 13:27:51 -04: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
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
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
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
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
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
Ramen2X
4ddd9e200c
implement/match Hospital::Tickle() ( #677 )
2024-03-15 19:16:43 -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