Commit graph

1380 commits

Author SHA1 Message Date
Christian Semmler
2b9d8f1fba
Implement/match Pizza::FUN_100382b0 and Pizza::StopActions (#1118) 2024-10-26 18:34:43 +02:00
Anonymous Maarten
0cb753e523
Use reccmp as a python requirement (#1116)
* Use reccmp as a python requirement

* Add BETA10 to reccmp-project.yml
2024-10-26 05:57:47 -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
MS
91205be031
Handle duplicate thunks in BETA10 (#1113) 2024-10-17 20:17:00 -07:00
jonschz
8446a7ffa1
Add new script to compare the stack layout (#1112)
* Add new script to debug the stack layout

* fix small error in script

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-13 14:31:15 -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
fa6de9cb6b
Implement/match Pizza::FUN_10038220 (#1107) 2024-10-03 21:43:18 +02: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
f89ee5c13d
BETA10 import: Fix FUN_... collisions (#1105)
* Improve BETA10 name import, refactor

* Run formatter

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-14 07:16:12 -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
jonschz
ece3550e62
Fix spurious reccmp warnings (#1101)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-08 22:00:08 +02: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
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
30be1ed4b8
Brute force string search for BETA10 (#1097)
* Brute force string search for BETA10

* improved string check

* Skip this unless source binary is debug

* remove misplaced comment
2024-09-01 22:34:58 +02:00
MS
2af5f87051
MxTimer touch-up (#1096) 2024-09-01 11:51:33 -07:00
MS
f242130382
Sanitize args for assert in BETA10 (#1095) 2024-08-31 22:37:32 -07:00
MS
990725ba0b
Add more MSVC annotations for LEGO1 (#1094) 2024-08-31 20:02:19 -07:00
jonschz
0256fc4acf
Fix Ghidra import call type (#1093)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-31 08:00:35 -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
ce3fc57025
BETA10 Readme additions (#1090)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-23 12:22:03 -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
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
412200ecbc
Ghidra Import: Support virtual inheritance (#1071)
* Implement/fix Ghidra imports for multiple and virtual inheritance

Unfortunately, the handling in Ghidra is still far from perfect. This is a good place to start, though.

* Support offsets in vbase pointers

* Support `this adjust`

* minor stylistic improvement

* Improvements to documentation

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-30 10:02:15 -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