Commit Graph

139 Commits

Author SHA1 Message Date
Christian Semmler
be4c351d7d Rename Start/StopTimer to Pause/Resume (#1007)
* Rename Start/StopTimer to Pause/Resume

* Fix
2024-06-09 13:39:22 -04:00
MS
88805f9fcb TowTrack and LegoAct2 destructors (#1005)
* Add some missing dtors

* Add missing 'override'
2024-06-08 19:17:33 -04:00
Joshua Peisach
14a2aaadea Act2PoliceStation::Notify (#1002)
* Act2PoliceStation::Notify

* Match code

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-06-08 23:40:20 +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
49c17c9c6a Implement/match LegoEntity::SwitchSound / SwitchMove / SwitchColor / SwitchMood (#995)
* Implement/match LegoEntity::SwitchSound

* Name

* Name

* Implement/match LegoEntity::SwitchMove

* Mood
2024-06-05 19:40:44 +02:00
Christian Semmler
f6c923a84e Implement/match LegoEntity::ClickAnimation (#994)
* Implement/match LegoEntity::VTable0x38

* Update names
2024-06-05 19:00:46 +02:00
Christian Semmler
6a9f68872b Add enum for actor IDs (#993) 2024-06-05 18:11:46 +02:00
Christian Semmler
0c7c77aad3 Implement/match LegoActor::Mute (#992) 2024-06-04 12:19:59 -04:00
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
Christian Semmler
1423eb56fc Implement/match LegoSoundManager::UpdateListener (#985) 2024-06-01 23:13:57 +02:00
Christian Semmler
ac4e8da662 Implement/match Lego3DSound::SetDistance and Reset (#984) 2024-06-01 19:45:22 +02:00
Christian Semmler
23e5ad7d15 Name/rename functions in LegoCharacterManager (#982)
* Name/rename functions in LegoCharacterManager

* Name flag
2024-06-01 18:45:34 +02:00
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