Commit Graph

126 Commits

Author SHA1 Message Date
Christian Semmler
375ac29b9b Implement/match Lego3DSound::Create (#981)
* Implement/match Lego3DSound::Create

* Add space

* Naming

* Changes
2024-06-01 18:23:48 +02:00
Christian Semmler
df20b05510 Define cursor enum and custom cursor window message (#980)
* Define cursor enum and custom cursor window message

* Fix param name

* Remove unused header
2024-06-01 16:07:58 +02:00
Christian Semmler
b67af71f33 Improve naming, use virtual key constants (#979) 2024-06-01 04:46:05 +02:00
Christian Semmler
eeb81b7223 Use USHRT_MAX instead of MAXWORD (#975) 2024-05-30 22:02:58 +02:00
Christian Semmler
650903d043 Implement/match Pizzeria::HandleClick (#971) 2024-05-30 15:54:24 +02:00
Christian Semmler
689178f689 Implement/match LegoCameraController::FUN_10012290 and FUN_10012320 (#969) 2024-05-30 14:48:14 +02:00
Christian Semmler
b978787f8f Implement/match LegoAnimationManager::FUN_10062e20 (#967) 2024-05-29 19:24:08 +02:00
Christian Semmler
b759390060 Implement/match Isle::Escape (#950) 2024-05-25 02:41:57 +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
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
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
732de04433 Implement/match PlayCamAnim and CameraTriggerFire (#935)
* Implement/match PlayCamAnim and CameraTriggerFire

* Fix type

* Name var
2024-05-18 20:43:19 +02:00
Christian Semmler
e32e06321a Rename _countof to sizeOfArray (#921) 2024-05-14 16:35:22 +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
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
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
05edf96186 Implement LegoAnimationManager::FUN_10061010 (#888) 2024-05-07 21:59:46 +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
599d8c91c8 Implement/match LegoAnimationManager::Resume (#869)
* Implement/match LegoAnimationManager::FUN_1005f0b0

* Rename
2024-04-30 10:27:57 +02: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
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
180a1e6360 Define LegoEntity::Type enum (#854)
* Define LegoEntity::Type enum

* Use enum constant
2024-04-26 16:03:13 +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
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
30747dbae6 Implement/match LegoAnimMMPresenter::FUN_1004b6d0 (#832) 2024-04-20 18:33:10 +02:00
Christian Semmler
d5dd8db46e Implement LegoAnimationManager::FUN_100609f0 / LegoTranInfo (#820)
* Implement LegoAnimationManager::FUN_100609f0 / LegoTranInfo

* use NULL
2024-04-19 17:42:28 +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
MS
46362a0f6e Fix some issues with annotations (#808) 2024-04-15 14:42:25 -04:00
Misha
c282b3019d implement LegoAnimPresenter::VTable0x8c (#798) 2024-04-13 17:42:05 -04:00
Christian Semmler
5cf04bc3c3 Implement/match LegoActor::ParseAction (#785)
* Implement/match LegoActor::ParseAction

* Add call to parent
2024-04-08 14:23:31 +02:00
Christian Semmler
f30ed0212b Implement/match LegoEntity::Notify (#778) 2024-04-06 19:59:38 +02:00
Nathan M Gilbert
a8eebe454e Implement/match LegoExtraActor:: WaitForAnimation, Restart (#768)
* Implement/match LegoExtraActor:: WaitForAnimation, Restart

* whitespace

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-04 12:26:03 +02:00
Nathan M Gilbert
a956b19ac6 Fix some names (#762)
* Fix some names

* reorder unit in CMake

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-31 15:09:51 +02:00
Nathan M Gilbert
3839b3278c Implement/match LegoExtraActor::VTable0x94 (#759)
* Implement/match LegoExtraActor::VTable0x94

* attempt to fix gcc

* WIP fixes

* Match

* Match

* Match

* add TODO

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-30 12:18:15 -04: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
Nathan M Gilbert
32bc6c4264 Implement ExtraActor vftable and passthrough methods (#735)
* Implement ExtraActor vftable and passthrough methods

* Remove unused param names
2024-03-26 19:24:01 -04:00
Christian Semmler
0ed9f37587 Match LegoPointOfViewController::Tickle (#726) 2024-03-25 15:00:59 +01:00
Christian Semmler
0aa8d54990 Revert "Match LegoNavController::CalculateNewPosDir & LegoNavController::CalculateNewTargetVel (#723)"
This reverts commit 6464486800.
2024-03-25 06:01:50 -04:00
Misha
6464486800 Match LegoNavController::CalculateNewPosDir & LegoNavController::CalculateNewTargetVel (#723) 2024-03-24 21:16:49 -04:00