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
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
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
MS
05fa715550
Add MxTrace function ( #1054 )
2024-07-02 10:46:40 -07: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
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
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
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
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
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
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
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
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
Christian Semmler
219b65f5ad
Implement/match IslePathActor::FUN_1001b660 ( #960 )
2024-05-27 21:49:41 +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