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
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
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
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
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
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
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
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
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
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
bee101b1f4
Add clang-tidy readability-redundant-inline-specifier ( #1060 )
...
* Add clang-tidy readability-redundant-inline-specifier
* fix
* Update CONTRIBUTING.md
* format
* fix
2024-07-05 01:06:32 +02:00
Christian Semmler
e1a97cab2d
Implement LegoAnimScene::FUN_1009f490 ( #1032 )
...
* Implement LegoAnimScene::FUN_1009f490
* Update legoanim.cpp
* Update legoanim.cpp
* Update legoanim.cpp
2024-06-13 17:53:45 -04:00
Christian Semmler
dd1c11a933
Fix camera glitch ( #1031 )
2024-06-13 22:09:14 +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
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
60b747d7b2
Implement/match LegoPathBoundary::FUN_100586e0 and FUN_10057fe0 ( #962 )
2024-05-28 17:20:23 +02:00
Christian Semmler
3c45022864
Fix extra actor collisions ( #958 )
2024-05-26 19:13:56 +02:00
Christian Semmler
765c49fd4e
Match LegoUnknown::FUN_1009a1e0 ( #957 )
2024-05-26 17:12:37 +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
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
8428cde67f
Implement LegoUnknown::FUN_1009a1e0 ( #940 )
2024-05-19 16:36:11 -04:00
Christian Semmler
fb16b2c896
Implement/match LegoPathBoundary::FUN_100575b0 ( #939 )
2024-05-19 21:41:07 +02:00
Christian Semmler
23cc82c532
Implement/match LegoPathBoundary::Intersect ( #937 )
2024-05-19 17:24:09 +02:00
Christian Semmler
aab6a17d2f
Implement/match LegoAnimationManager::FUN_10064120 ( #932 )
...
* Implement/match LegoAnimationManager::FUN_10064120
* Fix naming
* Fix parentheses
2024-05-18 17:48:07 +02:00
Christian Semmler
29a0e32739
Implement/match remaining LegoHideAnimPresenter functions ( #923 )
...
* Implement/match remaining LegoHideAnimPresenter functions
* Fix type
* Fix marker
* Fix type
2024-05-14 20:50:37 +02:00
Christian Semmler
e32e06321a
Rename _countof to sizeOfArray ( #921 )
2024-05-14 16:35:22 +02:00
Christian Semmler
939c09139f
Match LegoOmni::Destroy and related ( #917 )
...
* Match LegoOmni::Destroy and related
* Write COMPAT_MODE macro differently
* fix lint issue
2024-05-14 14:13:27 +02:00
Christian Semmler
ccf33575db
Implement/match LegoPathController::FUN_10046050 ( #916 )
2024-05-13 14:39:43 +02:00
Christian Semmler
91fe09af3c
Implement various small LegoPathController functions ( #914 )
...
* Implement/match LegoPathController::Tickle
* Implement various small LegoPathController functions
* Add 0x10046b30
2024-05-12 21:30:34 +02:00
Christian Semmler
f88f7b115e
Implement/match LegoPathController::ReadBoundaries ( #908 )
...
* Implement/match LegoPathController::ReadBoundaries
* Allow spawn
2024-05-11 19:55:28 +02:00
Christian Semmler
1f0a2a50ce
Implement/match LegoPathController::ReadEdge ( #907 )
...
* Implement/match LegoPathController::ReadEdge
* Fix
* Rename
* Add 100482b0
* Rename
2024-05-11 19:45:13 +02:00
MS
b3d6319656
Beta addrs for TglSurface and related ( #905 )
2024-05-11 18:27:06 +02:00
Christian Semmler
f442f1a2f7
Implement/match LegoPathController::Read ( #904 )
...
* Implement/match LegoPathController::Read
* Add size asserts
2024-05-11 18:23:18 +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
Mark Langen
55299229c2
LegoBuildingManager Round 2 ( #890 )
...
* LegoBuildingManager Round 2
* 100% match most of the remaining methods, only
Tickle and FUN_10030630 remain.
* The interesting finding is that the curious
members of the LegoBuildingManager form a short
embedded fixed-length array used to store info
about current animation of buildings.
* I saw that you removed the SetY which I had
added to MxMatrix. Agree that this method
doesn't make sense on MxMatrix, however I've
added it back to Matrix4. I see the pattern of
setting / getting the Y component used in enough
places that I doubt they were just hoping they
remembered the subscript correctly every time.
Let me know if you agree or still don't think it
makes sense to include.
* Formatting
* Order
* Satisfy name checker
* Add beta annotations and adjust style/naming
* Make function STUB
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-09 15:57:38 +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
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
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
f898462d17
Implement/match LegoROI::FUN_100a8fd0 ( #845 )
2024-04-24 15:19:14 +02:00
Christian Semmler
b789a15d0b
Implement/match LegoAnimPresenter::FUN_1006b900 ( #844 )
2024-04-24 14:51:20 +02:00
Christian Semmler
57589c082c
Fix default light position
2024-04-21 10:03:14 -04:00
Christian Semmler
c9db98c4c3
Fix writing/reading of game state ( #834 )
...
* Fix writing/reading of game state
* Match existing state serialization functions
2024-04-21 15:42:08 +02:00
Christian Semmler
e7aec124a2
Implement/match LegoPhonemePresenter::EndAction ( #816 )
2024-04-17 17:03:17 +02:00