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 6e7a1e2b08 .
* Revert "Revert "Partially fix vector interface""
This reverts commit e3860e3c9f .
* 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 608985cd73 .
* 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