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
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
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
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
5d19b6afe3
Improve UnknownMx4DPointFloat::FUN_100040a0
( #1102 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-09 12:45:48 -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
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
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
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
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
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
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
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
jonschz
fb34f86171
Improve several functions in vector.h
( #1049 )
...
* Improve some functions in vector.h
- Add BETA10 references
- inline some functions based on BETA10
- Identify and improve `Vector4::EqualsHamiltonProduct`
* Fix BETA10 offset
* Fix BETA10 annotation order
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-30 13:45:10 -07: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
Christian Semmler
689178f689
Implement/match LegoCameraController::FUN_10012290 and FUN_10012320 ( #969 )
2024-05-30 14:48:14 +02:00
Christian Semmler
da48dfb40d
Implement/match LegoAnimPresenter::FUN_1006b140 ( #963 )
2024-05-28 15:23:23 -04:00
Christian Semmler
8428cde67f
Implement LegoUnknown::FUN_1009a1e0 ( #940 )
2024-05-19 16:36:11 -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
dcaa07cc49
Implement/match LegoPathController::Create and Init ( #911 )
2024-05-12 20:33:20 +02:00
MS
79791be574
Beta addrs for ViewLODList ( #898 )
...
* Beta addrs for ViewLODList
* unsigned char
2024-05-09 22:16:12 -04:00
Christian Semmler
556cbdaab3
Implement/match LegoAnimationManager::FUN_10062650 ( #896 )
...
* Implement/match LegoAnimationManager::FUN_10062650
* Shorten code
2024-05-09 22:24:45 +02:00
jonschz
6382347f73
Refactor Matrix4::ToQuaternion() ( #879 )
...
* Refactor Matrix4::ToQuaternion()
* fix CI errors
* Apply feedback by @foxtacles
* run formatter
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-05-03 14:08:58 -04:00
MS
446caa4ca1
Beta matching MxDSObject/MxDSAction ( #878 )
...
* Beta matching MxDSObject/MxDSAction
* MxDSAction copy constructor
* A bit more refactor
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-03 14:01:27 +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
5f1642bf73
Implement Matrix4::FromQuaternion ( #806 )
2024-04-15 15:15:13 +02:00
Christian Semmler
67127e2515
Implement/match LegoAnimPresenter::PutFrame ( #796 )
...
* Implement/match LegoAnimPresenter::PutFrame
* compat mode
2024-04-13 17:59:16 +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
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
Nathan M Gilbert
13d994a1ee
Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0 ( #742 )
...
* Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0
* Match LegoExtraActor::FUN_1002aae0
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-28 14:19:32 +01:00
Nathan M Gilbert
38cfad8b17
Implement LegoExtraActor::VTable0x90 ( #739 )
...
* Implement LegoExtraActor::VTable0x90
* Improve LegoExtraActor::VTable0x90
* Match
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-27 20:38:13 +01:00
Christian Semmler
68bb20f04f
Implement LegoCharacterManager::CreateROI ( #709 )
...
* WIP
* Create globals
* Add Read
* Name Init
* Add LegoCharacter init data
* Add define for NULL
* Use MxS8
* Add LegoCharacterLOD
* WIP CreateROI
* Fix
* WIP
* Match
* Match
* Match, implement Find
* Fix MeshBuilder
* Fix
* space
2024-03-22 18:40:19 +01:00
Misha
eaa935f646
Finish LegoVariables class ( #698 )
...
* Finish LegoVariables class
* Update legonavcontroller.cpp
* Update legobackgroundcolor.cpp
* Match functions, style, refactor visible
* Use MxBool
* Merge/fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 19:44:42 +01:00
Christian Semmler
02838d0f57
Implement LegoAnimNodeData::GetRotation ( #661 )
...
* WIP
* Improve matches
2024-03-12 18:21:58 +01:00
Christian Semmler
7659db49e7
Implement LegoAnim::CreateLocalTransform ( #657 )
...
* Implement LegoAnim::CreateLocalTransform
* Match Matrix4::Scale
2024-03-11 15:15:18 -04:00
Christian Semmler
6972142923
Implement OrientableROI::GetLocalTransform ( #652 )
2024-03-10 16:10:53 +01:00
Christian Semmler
d090b449d1
Add CalcWorldBoundingVolumes ( #651 )
2024-03-10 15:29:16 +01:00
Christian Semmler
a55b01d186
Implement ViewManager::FUN_100a66f0 ( #648 )
2024-03-10 04:47:13 +01:00
Christian Semmler
fb800db862
Implement OrientableROI::FUN_100a46b0 ( #640 )
...
* Implement OrientableROI::FUN_100a46b0
* Fix
2024-03-09 03:52:42 +01:00
Christian Semmler
a93e2ae0d3
Implement/match LegoEntity::SetLocation ( #629 )
...
* Implement/match LegoEntity::SetLocation
* Remove comment
2024-03-05 20:31:57 +01:00
Christian Semmler
c9210c02fb
Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0 ( #625 )
...
* Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0
* Fixes
* Try fix
* Try this
* Fix
2024-03-04 22:57:35 +01:00
Christian Semmler
00c05aa80b
Implement/match remaining Lego3DView functions ( #623 )
2024-03-04 18:54:25 +01:00
Christian Semmler
6de17cf1b6
Implement/match some ViewManager functions ( #615 )
2024-03-02 19:40:42 +01:00
Christian Semmler
05965f5357
Implement/match ViewManager ctor/dtor/structure ( #614 )
...
* Implement/match ViewManager constructor/structure
* Add dtor
2024-03-02 15:43:19 +01:00
Christian Semmler
0067c24ead
Implement/match ViewLODListManager::Create ( #611 )
...
* Implement/match ViewLODListManager::Create
* Add stdio.h header
* Add remaining annotations
2024-03-01 22:32:10 +01:00