Commit graph

1381 commits

Author SHA1 Message Date
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
b6fc8e27b1
Implement/match LegoPathController::Tickle (#913) 2024-05-12 21:10:26 +02:00
Christian Semmler
32a3373360
Implement/match LegoPathController::Destroy (#912) 2024-05-12 20:48:50 +02:00
Christian Semmler
dcaa07cc49
Implement/match LegoPathController::Create and Init (#911) 2024-05-12 20:33:20 +02:00
MS
119ff93461
Parser bugfix: vtable namespace (#910) 2024-05-11 18:40:31 -04: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
Christian Semmler
09394c3512
Implement/match LegoPathController::FUN_10047b30 (#906)
* Implement/match LegoPathController::FUN_10047b30

* Fix delete
2024-05-11 18:57:07 +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
Christian Semmler
c77dd44105
Implement/match LegoCharacterManager::FUN_10083b20 and FUN_10085180 (#902) 2024-05-11 14:13:27 +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
f5ffd3aba3
Implement/match LegoAnimationManager::FUN_100627d0 (#899) 2024-05-10 15:11:35 +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
172db7b5d8
Implement/match LegoAnimationManager::FUN_10062710 (#897) 2024-05-09 22:32:06 +02: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
Christian Semmler
6a8fb3f46b
Implement/match LegoAnimationManager::FUN_10062580 (#895) 2024-05-09 22:10:00 +02:00
Christian Semmler
9ae2acbea8
Implement/match LegoAnimationManager::ModelExists (#894)
* Implement/match LegoAnimationManager::FUN_10062520

* Name function
2024-05-09 21:53:13 +02:00
Christian Semmler
5629eb3c85
Implement/match LegoAnimationManager::FUN_100623a0 (#893) 2024-05-09 21:33:48 +02:00
Christian Semmler
001b46b2ab
Implement/match LegoAnimationManager::FUN_10062110 (#892)
* Implement/match LegoAnimationManager::FUN_10062110

* Fix param name

* Return other value in stub
2024-05-09 18:49:43 +02:00
Christian Semmler
36d681fde4
Implement/match LegoAnimationManager::FUN_100617c0 (#891) 2024-05-09 16:30:34 +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
5c8249f334
Implement/match LegoAnimationManager::FUN_10061530 (#889) 2024-05-08 16:28:32 +02:00
Christian Semmler
05edf96186
Implement LegoAnimationManager::FUN_10061010 (#888) 2024-05-07 21:59:46 +02:00
MS
4b386fe738
Tweak MxOmni::Destroy and add more beta annotations (#887)
* Fix long function name

* Omni getter beta annotations

* MxMisc asserts and beta annotations

* Helper function for MxNotificationManager list
2024-05-07 13:00:16 -04:00
Christian Semmler
bac891cb0c
Implement/match LegoAnimationManager::FUN_10060570 (#886) 2024-05-07 16:54:06 +02:00
Mark Langen
253882bdcb
Start work on building save data (#885)
* Start work on building save data

* Add LegoBuildingData struct to LegoBuildingManager, naming mirrors
  LegoCharacterData in LegoCharacterManager.

* 100% match of many methods in LegoBuildingManager using the struct.

* Formatting

* Add required includes post merge

* Format again

* Better follow naming conventions

* Format again again

* Also fill in template data

* Fix data

* Change braces

* Match functions, consistent style, add missing annotations, some BETA annotations

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-06 13:15:19 +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
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
3519a8356b
Beta matching MxDSMediaAction (#882) 2024-05-03 12:51:58 -04: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
01b861bc09
Update README.md and CONTRIBUTING.md (#880)
* Update README.md and CONTRIBUTING.md

* typo

* style

* comma
2024-05-03 15:43:59 +02: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
Christian Semmler
72cbd1fc60
Refactor LegoOmni::PathContainer into IslePathActor::SpawnLocation (#877)
* Refactor LegoOmni::PathContainer into IslePathActor::SpawnLocation

* Add beta annotation

* Type var
2024-05-02 16:51:41 +02:00
Christian Semmler
0bf39c7108
Implement/match LegoAnimationManager::Tickle (#876)
* Implement/match LegoAnimationManager::Tickle

* Resolve out of order

* Fix naming
2024-05-02 15:22:09 +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
Christian Semmler
6c89cd3315
Minor refactor SkateBoard setter in Pizza (#874) 2024-05-01 13:49:47 +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
b902790c54
Implement/match LegoAnimationManager::FUN_1005f6d0 and FUN_1005f700 (#871)
* Implement/match LegoAnimationManager::FUN_1005f6d0 and FUN_1005f700

* Use bool constants
2024-04-30 12:38:55 +02:00
Christian Semmler
60796eff74
Implement/match LegoAnimationManager::Suspend (#870) 2024-04-30 12:18:44 +02:00
Christian Semmler
599d8c91c8
Implement/match LegoAnimationManager::Resume (#869)
* Implement/match LegoAnimationManager::FUN_1005f0b0

* Rename
2024-04-30 10:27:57 +02:00
MS
e7670f9a81
Read floating point constants up front (#868)
* Read floating point constants before sanitize

* Fix roadmap
2024-04-29 14:33:16 -04:00
Christian Semmler
7c6c68d6f9
Rename LegoCharacterData to LegoCharacterInfo (#867) 2024-04-28 15:04:27 +02:00
Christian Semmler
ca9b611251
Add enums for character LODs and parts (#866) 2024-04-28 14:49:07 +02:00
jonschz
b17d76c2cc
Refactor: Replace magic values by enum values (#865)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-04-28 07:27:17 -04:00
jonschz
dede20000f
Progress towards implementing SkateBoard (#864)
* 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

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-04-28 07:23:29 -04:00