Commit Graph

177 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
f6ffeabed7 Implement/match LegoAnimationManager::GetCharacterIndex (#861) 2024-04-27 15:59:00 +02:00
Christian Semmler
c7e5457f95 Implement/match LegoAnimationManager::FUN_10062770 (#860) 2024-04-27 15:46:47 +02:00
Christian Semmler
e49d05c410 Implement/match LegoAnimationManager::FUN_10063780 and FUN_10063aa0 (#859) 2024-04-27 15:19:55 +02:00
Christian Semmler
86203f1704 Implement/match LegoAnimationManager::Init (#858) 2024-04-27 15:07:28 +02:00
Christian Semmler
00f5eff792 Implement/match LegoAnimationManager ctor/dtor (#857) 2024-04-27 14:52:28 +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
180a1e6360 Define LegoEntity::Type enum (#854)
* Define LegoEntity::Type enum

* Use enum constant
2024-04-26 16:03:13 +02:00
Christian Semmler
916c039e72 Implement/match LegoAnimPresenter::ParseExtra (#848)
* Implement/match LegoAnimPresenter::ParseExtra

* Fix
2024-04-25 16:00:58 +02:00
MS
311b27b697 Beta matching MxString (#842)
* Beta matching MxString

* Add /opt:ref for lego1. Reorder MxString header.

* const fix

* Remove lego1 Opt:ref
2024-04-24 12:10:51 -04:00
Christian Semmler
410824bd0f Implement/match various small LegoAnimPresenter functions (#846)
* Implement/match various small LegoAnimPresenter functions

* Fix location of anim function

* fix
2024-04-24 15:51:28 +02:00
Christian Semmler
7efbb04999 Implement/match LegoAnimPresenter::FUN_1006ab70 (#839) 2024-04-23 10:03:10 +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
Christian Semmler
0e0d6890ad Fix SwitchHat (#835) 2024-04-21 16:41:38 +02: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
26f2dd1e5f Implement/match LegoAnimMMPresenter::~LegoAnimMMPresenter (#833)
* Implement/match LegoAnimMMPresenter::~LegoAnimMMPresenter

* add missing override

* use NULL
2024-04-20 18:53:53 +02:00
Christian Semmler
30747dbae6 Implement/match LegoAnimMMPresenter::FUN_1004b6d0 (#832) 2024-04-20 18:33:10 +02:00
Christian Semmler
b39ea845b0 Implement/match LegoAnimMMPresenter::FUN_1004b610 and FUN_1004b6b0 (#831) 2024-04-20 18:24:09 +02:00
Christian Semmler
a3bd98a04d Implement/match LegoAnimMMPresenter::FUN_1004b5b0 (#830) 2024-04-20 18:03:42 +02:00
Christian Semmler
3cab989250 Implement/match LegoAnimMMPresenter::FUN_1004b580 (#829) 2024-04-20 17:52:46 +02:00
Christian Semmler
f637dcaa29 Implement/match LegoAnimMMPresenter::FUN_1004b530 (#828) 2024-04-20 17:40:23 +02:00
Christian Semmler
91d043a9ae Implement/match LegoAnimMMPresenter::FUN_1004b450 (#827) 2024-04-20 17:18:19 +02:00