Commit Graph

80 Commits

Author SHA1 Message Date
Christian Semmler
133a312aee Consolidate state and building entity classes (#989) 2024-06-03 18:53:25 +02:00
Christian Semmler
828b35e9d2 Implement/match LegoCacheSound::Play and Lego3DSound::FUN_10011a60 (#987)
* Implement/match LegoCacheSound::Play and Lego3DSound::FUN_10011a60

* Update names

* Update
2024-06-02 17:09:09 +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
b978787f8f Implement/match LegoAnimationManager::FUN_10062e20 (#967) 2024-05-29 19:24:08 +02:00
Christian Semmler
60b747d7b2 Implement/match LegoPathBoundary::FUN_100586e0 and FUN_10057fe0 (#962) 2024-05-28 17:20:23 +02:00
Christian Semmler
3cfb918559 Implement/match LegoExtraActor::VTable0x6c (#956) 2024-05-26 01:16:20 +02:00
Christian Semmler
db90807d53 Implement/match LegoPathActor::ParseAction (#946)
* Implement/match LegoPathActor::ParseAction

* Fix naming

* Space
2024-05-24 19:07:45 +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
7538988f50 Implement LegoPathActor::VTable0x9c (#942)
* Implement LegoPathActor::VTable0x9c

* Add annotation
2024-05-20 18:27:54 +02:00
Christian Semmler
3342464321 Implement/match LegoPathController::FUN_1004a240 (#941) 2024-05-20 17:34:31 +02:00
Christian Semmler
fb16b2c896 Implement/match LegoPathBoundary::FUN_100575b0 (#939) 2024-05-19 21:41:07 +02:00
Christian Semmler
c8a0e4cf8d Implement LegoPathActor::VTable0x68 (#938)
* Implement LegoPathActor::VTable0x68

* Fix naming
2024-05-19 20:22:53 +02:00
Christian Semmler
23cc82c532 Implement/match LegoPathBoundary::Intersect (#937) 2024-05-19 17:24:09 +02: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
710f07e632 Implement/match LegoAnimationManager::FUN_10064380 (#928)
* Implement/match LegoAnimationManager::FUN_10064380

* Fix naming

* Revert
2024-05-17 14:21:48 -04:00
Christian Semmler
9a05edd0a7 Implement/match LegoLoopingAnimPresenter (#924) 2024-05-15 20:34:36 +02:00
Christian Semmler
e4a899350e Move strings to proper location in define.cpp (#922) 2024-05-14 16:43:06 +02:00
Christian Semmler
e32e06321a Rename _countof to sizeOfArray (#921) 2024-05-14 16:35:22 +02:00
Christian Semmler
a1be306df7 Implement/match LegoPathBoundary ctor/dtor (#919)
* Implement/match LegoPathBoundary ctor/dtor

* Add missing BETA annotation
2024-05-14 15:42:44 +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
5f34d2e877 Implement/match LegoPathController::AddActor and RemoveActor (#915)
* Implement/match LegoPathController::AddActor and RemoveActor

* Fix types
2024-05-13 12:46:59 +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
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
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
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
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
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
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
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
916c039e72 Implement/match LegoAnimPresenter::ParseExtra (#848)
* Implement/match LegoAnimPresenter::ParseExtra

* Fix
2024-04-25 16:00:58 +02: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
9025d5ed06 Implement/match LegoWorld::FUN_1001fda0 (#840) 2024-04-23 10:33:38 +02:00
Christian Semmler
f637dcaa29 Implement/match LegoAnimMMPresenter::FUN_1004b530 (#828) 2024-04-20 17:40:23 +02:00
Nathan M Gilbert
d639eb4c2b Implement LegoPathActor::Vtable0x6c (#810)
* Implement LegoPathActor::VTable0x6c

* Update LEGO1/lego/legoomni/src/paths/legopathactor.cpp

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Fix logic / match

* Add BETA annotation

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2024-04-17 12:34:21 +02:00
Nathan M Gilbert
41281dcbec Implement LegoPathActor::VTable0x70 (#807)
* Implement LegoPathActor::VTable0x70

* match

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-16 12:54:08 +02:00
Nathan M Gilbert
dcbad318e0 Implement/Match LegoPathActor::VTable0x74 (#805)
* Implement/Match LegoPathActor::VTable0x74

* Remove superfluous early returns

* fix

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-15 13:38:30 +02:00
Nathan M Gilbert
7821d952ec Pathactor (#800)
* Implement LegoPathActor::VTable0x8c

* Fix paramater name

* WIP fixes

* more fixes

* style

* fix

* fix

* fix

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-14 16:43:07 +02:00
Christian Semmler
f5e81777bc Implement LegoAnimPresenter::FUN_1006a3c0 (#791) 2024-04-13 14:57:18 +02:00
Nathan M Gilbert
e8b61d5a1d Implement LegoPathActor::Vtable0x84 (#790)
* Implement LegoPathActor::Vtable0x84

* fix condition

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-13 14:05:20 +02:00
Christian Semmler
91ae26589a Remove TODO 2024-04-11 07:36:55 -04: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