Christian Semmler
63586f88b2
Implement/match TowTrack::ActivateSceneActions ( #1075 )
...
* Implement/match TowTrack::ActivateSceneActions
* Add PlayAction
2024-08-03 20:17:17 +02:00
Christian Semmler
a1c6196bbc
Implement/match TowTrack::Leave and related ( #1074 )
2024-08-03 20:07:08 +02:00
Christian Semmler
f94d39bf63
Implement/match TowTrack::HandleClick ( #1073 )
2024-08-03 19:59:12 +02:00
jonschz
4a861faca3
Refactor file names based on BETA10 ( #1064 )
...
* Refactor file names based on BETA10
* Extract LegoDeviceEnumerate to dedicated file
* Fix compiler errors
* Migrate contiguous block of code to `LegoDeviceEnumerate`
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-08 14:52:50 -07:00
Christian Semmler
a75ace8a53
Implement/match TowTrack::VTable0x70 ( #1062 )
2024-07-06 04:44:01 +02:00
Christian Semmler
87a9a37b33
Implement/match Jetski class ( #1061 )
2024-07-05 02:11:20 +02:00
Christian Semmler
09684b3c03
Implement/match BumpBouy class ( #1058 )
2024-07-04 23:28:23 +02:00
Christian Semmler
d92fc97a58
Implement/match DuneBuggy class ( #1055 )
...
* Implement/match DuneBuggy class
* Fix name
* Fix
2024-07-02 21:16:35 +02:00
Christian Semmler
e4e0f4e4d3
Implement/match Motocycle, consistent notification names ( #1037 )
...
* Implement/match Motocycle, consistent notification names
* Format
* Fix
* Fix return types
* Fix return type
* Fix annotations
* Rename function
2024-06-16 16:47:53 +02:00
Christian Semmler
68023379d8
Implement/match Bike ( #1036 )
2024-06-16 15:54:40 +02:00
jonschz
a6644801f1
feat: Implement several ::Serialize functions ( #1017 )
...
* feat: Implement many ::Serialize functions
* address review comments, part 1 [skip ci]
* address review comments, part 2 [skip ci]
* review comments (final part)
* refactor: Remove Read/Write duplication
* fix merge conflict
* Match PizzeriaState::Serialize again
* Remove unused variable, add LegoVehicleBuildState::Serialize
* Implement AnimState::Serialize
* fix: Conform with naming scheme
* refactor: change names back
* refactor: int to MxS32
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-14 23:24:34 +02:00
Christian Semmler
e5d66d597d
Implement/match remaining Ambulance functions ( #1030 )
2024-06-13 20:32:28 +02:00
Christian Semmler
bbc304ce46
Implement/match Ambulance::HandlePathStruct ( #1029 )
...
* Implement/match Ambulance::HandlePathStruct
* Add annotation
2024-06-13 20:10:19 +02:00
Christian Semmler
cf7246ac6c
Implement/match Ambulance::HandleButtonDown ( #1028 )
2024-06-13 17:34:44 +02:00
Christian Semmler
33c64bb002
Implement/match Ambulance::VTable0x70 ( #1027 )
2024-06-13 17:25:48 +02:00
Christian Semmler
cf576ca78f
Add remaining classes, implement/match LegoObjectFactory ( #1026 )
...
* Add missing classes
* Match LegoObjectFactory
* Remove semicolon
* Add symbol
* Fix
2024-06-13 02:02:47 +02:00
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
Christian Semmler
c22c6f3379
Implement/match LegoFlcTexturePresenter ( #1015 )
...
* Implement/match LegoFlcTexturePresenter
* Move files
2024-06-10 17:44:55 +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
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
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
77af1a5483
Fix Radio::HandleControl COMPAT_MODE branch ( #978 )
2024-05-31 23:15:35 +02:00
Christian Semmler
650903d043
Implement/match Pizzeria::HandleClick ( #971 )
2024-05-30 15:54:24 +02:00
Christian Semmler
b978787f8f
Implement/match LegoAnimationManager::FUN_10062e20 ( #967 )
2024-05-29 19:24:08 +02:00
Christian Semmler
219b65f5ad
Implement/match IslePathActor::FUN_1001b660 ( #960 )
2024-05-27 21:49:41 +02:00
Christian Semmler
f380fa3b84
Implement/match LegoAnimationManager::FUN_100648f0 ( #954 )
2024-05-25 17:18:24 +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
db90807d53
Implement/match LegoPathActor::ParseAction ( #946 )
...
* Implement/match LegoPathActor::ParseAction
* Fix naming
* Space
2024-05-24 19:07:45 +02: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
3342464321
Implement/match LegoPathController::FUN_1004a240 ( #941 )
2024-05-20 17:34:31 +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
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
4419007355
Replace magic values with script actions
2024-05-16 15:36:52 -04: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
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
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
05edf96186
Implement LegoAnimationManager::FUN_10061010 ( #888 )
2024-05-07 21:59:46 +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
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
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
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
659599b635
Implement/match Pizzeria::Create ( #862 )
2024-04-27 16:06:12 +02:00
Christian Semmler
916c039e72
Implement/match LegoAnimPresenter::ParseExtra ( #848 )
...
* Implement/match LegoAnimPresenter::ParseExtra
* Fix
2024-04-25 16:00:58 +02:00
MS
2ce9ff06fc
Enable some multiple-inheritance vtables ( #821 )
2024-04-19 16:23:36 -04: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
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
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
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
Joshua Peisach
2261f7f039
IslePathActor: implement notify, remove usage of this keyword ( #724 )
2024-03-25 12:43:03 +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
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
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
Christian Semmler
52d74647be
Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction ( #691 )
...
* WIP
* Match
2024-03-18 15:00:58 -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
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
Christian Semmler
0a4db65b24
Implement/match Isle::Enable ( #681 )
...
* Implement/match Isle::Enable
* Fix order
2024-03-16 19:20:44 +01:00
Christian Semmler
02838d0f57
Implement LegoAnimNodeData::GetRotation ( #661 )
...
* WIP
* Improve matches
2024-03-12 18:21:58 +01:00
Ramen2X
6dfee432ea
rename MxTransitionManager transitions ( #655 )
2024-03-11 04:57:58 -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
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