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
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
31f5143741
Implement/match LegoAnimPresenter::VTable0x94 ( #852 )
2024-04-25 17:27:55 +02:00
Christian Semmler
054120bc5d
Implement/match LegoAnimPresenter::FUN_1006aa60 ( #851 )
2024-04-25 17:00:42 +02:00
Christian Semmler
ce3d915bba
Implement/match LegoAnimPresenter::SubstituteVariables ( #850 )
2024-04-25 16:36:28 +02:00
Christian Semmler
830c0827af
Implement/match LegoAnimPresenter::Destroy ( #849 )
...
* WIP Destroy
* Match
2024-04-25 16:24:06 +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
f898462d17
Implement/match LegoROI::FUN_100a8fd0 ( #845 )
2024-04-24 15:19:14 +02:00
Christian Semmler
b789a15d0b
Implement/match LegoAnimPresenter::FUN_1006b900 ( #844 )
2024-04-24 14:51:20 +02:00
Christian Semmler
67c9736953
Implement/match LegoAnimPresenter::FUN_1006afc0 ( #843 )
...
* Implement/match LegoAnimPresenter::FUN_1006afc0
* empty
2024-04-24 14:24:59 +02:00
Christian Semmler
9025d5ed06
Implement/match LegoWorld::FUN_1001fda0 ( #840 )
2024-04-23 10:33:38 +02:00
Christian Semmler
7efbb04999
Implement/match LegoAnimPresenter::FUN_1006ab70 ( #839 )
2024-04-23 10:03:10 +02:00
Christian Semmler
c01fd9b260
Implement/match LegoAnimPresenter::EndAction ( #838 )
2024-04-22 15:42:52 +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
57589c082c
Fix default light position
2024-04-21 10:03:14 -04: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
Christian Semmler
c617139d5b
Implement/match LegoAnimMMPresenter::EndAction ( #826 )
...
* Implement/match LegoAnimMMPresenter::EndAction
* Add missing vtable
2024-04-20 16:41:34 +02:00
Christian Semmler
8d729f77b7
Implement/match LegoAnimMMPresenter Streaming/RepeatingTickle and Notify ( #825 )
2024-04-20 16:24:12 +02:00
Christian Semmler
9cc5df8c40
Implement/match LegoAnimMMPresenter::StartingTickle ( #824 )
2024-04-20 16:07:58 +02:00
Christian Semmler
0b08b0ae69
Implement/match LegoAnimMMPresenter::ReadyTickle ( #823 )
2024-04-20 15:52:10 +02:00
Christian Semmler
5021f66de2
Imlpement/match LegoAnimMMPresenter::ParseExtra and related ( #822 )
...
* Imlpement/match LegoAnimMMPresenter::ParseExtra and related
* sort
2024-04-20 15:32:10 +02:00
MS
2ce9ff06fc
Enable some multiple-inheritance vtables ( #821 )
2024-04-19 16:23:36 -04: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
Christian Semmler
fb0f35188b
Implement/match LegoCharacterManager::FUN_10083c30 ( #819 )
2024-04-19 14:30:36 +02:00
Christian Semmler
e7aec124a2
Implement/match LegoPhonemePresenter::EndAction ( #816 )
2024-04-17 17:03:17 +02:00
Christian Semmler
97b502362d
Implement/match LegoTextureInfo::FUN_10066010 ( #815 )
2024-04-17 16:05:51 +02:00
Christian Semmler
7d0957aa3c
LegoTextureContainer::AddToList bugfix
2024-04-17 09:37:26 -04:00
Christian Semmler
06fadd922e
Implement/match LegoROI/LegoLOD::GetTexture ( #814 )
...
* Implement/match LegoROI/LegoLOD::GetTexture
* Remove explicit truth tests
* LegoTextureContainer::AddToList fix
* Revert "Remove explicit truth tests"
This reverts commit d169349bd61294e3cf4d645ac59244b48fb95867.
2024-04-17 15:18:34 +02:00
Christian Semmler
a64bb4d460
Implement/match LegoCharacterManager::FUN_100849a0 ( #813 )
2024-04-17 13:52:59 +02:00
Christian Semmler
11410890cd
Implement/match LegoPhonemePresenter::LoadFrame & PutFrame ( #812 )
...
* Implement/match LegoPhonemePresenter::LoadFrame & PutFrame
* add beta10 annotations
2024-04-17 13:26:11 +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
Christian Semmler
2600b1b421
Implement/match LegoPhonemePresenter::StartingTickle ( #809 )
...
* Implement/match LegoPhonemePresenter::StartingTickle
* Name vars
* Fix name
2024-04-16 16:07:13 +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
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
Misha
540bcc61ad
Implement LegoVideoManager::FUN_1007c520 ( #803 )
2024-04-14 16:23:32 -04:00
Misha
e251ddb17d
implement LegoAnimNodeData::FindKeys ( #802 )
...
* implement LegoAnimNodeData::FindKeys
* Update legoanim.cpp
* fix flickering
* Match
* Fix cond
* clang
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-14 14:25:39 -04:00
Christian Semmler
dcc42c33d8
Implement/match LegoROI::FUN_100a8e80 ( #801 )
2024-04-14 17:46:56 +02:00
Misha
69b250e40c
implement FUN_1003e050 ( #799 )
...
* FUN_1003e050
* Match FUN_1003e050
* Remove unused function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-14 17:19:16 +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
Misha
c282b3019d
implement LegoAnimPresenter::VTable0x8c ( #798 )
2024-04-13 17:42:05 -04:00
Christian Semmler
54421ebcdf
Implement/match LegoAnimPresenter::FUN_1006b9a0 ( #797 )
2024-04-13 18:05:43 +02:00
Christian Semmler
67127e2515
Implement/match LegoAnimPresenter::PutFrame ( #796 )
...
* Implement/match LegoAnimPresenter::PutFrame
* compat mode
2024-04-13 17:59:16 +02:00
Christian Semmler
d469cabd6b
Implement/match LegoAnimPresenter::FUN_1006abb0 ( #795 )
2024-04-13 16:35:55 +02:00
Christian Semmler
93257a7c8c
Implement/match LegoAnimPresenter::FUN_1006c8a0 ( #794 )
2024-04-13 16:11:24 +02:00
Christian Semmler
4502737fe2
Implement/match LegoAnimPresenter::FUN_100699e0 ( #793 )
2024-04-13 16:02:55 +02:00
Christian Semmler
e43749c8bb
Implement/match LegoAnimPresenter::FUN_10069b10 ( #792 )
2024-04-13 15:55:26 +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
dc3259bb17
Implement/match LegoAnimPresenter::FUN_1006a4f0 ( #789 )
2024-04-12 17:53:22 +02:00
Misha
4374891ac8
Implement IslePathActor::VTable0xe0 & VTable0xec ( #788 )
...
* Implement IslePathActor::VTable0xe0 & VTable0xec
* Revert random change
2024-04-12 07:02:32 -04:00
Joshua Peisach
8cbb094b75
IsleActor::Create, IsleActor::Notify ( #779 )
...
* IsleActor::Create, IsleActor::Notify
* fix pizzeria vtable
* clang-format
* fix pizza vtable
* fix annotation
* refactor, add annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-11 13:55:22 +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
Nathan M Gilbert
507cd0cff4
Refactor/Implement/Match LegoEdge ( #786 )
...
* Refactor/Implement/Match LegoEdge
* Reorder annotation
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-09 11:25:24 +02: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
cf18aa8072
Match LegoExtraActor::FUN_1002aae0
2024-04-08 04:18:55 -04:00
Christian Semmler
1bfe47357b
Refactor LegoActorStruct into unknown class in misc lib ( #782 )
2024-04-07 14:36:58 +02:00
Nathan M Gilbert
b394770864
Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140 ( #781 )
...
* Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140
* Match functions, fixes
* fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-07 14:03:21 +02:00
Christian Semmler
17680522c2
Use proper boolean constant
2024-04-06 15:32:02 -04:00
Christian Semmler
458d4b0988
Use button constant for modifier
2024-04-06 15:30:32 -04:00
Christian Semmler
4b4f2f321c
Implement/match LegoInputManager::FUN_1005cdf0 ( #780 )
2024-04-06 21:16:35 +02:00
Christian Semmler
f30ed0212b
Implement/match LegoEntity::Notify ( #778 )
2024-04-06 19:59:38 +02:00
Joshua Peisach
fc91da8666
More gasstation functions ( #776 )
...
* More gasstation functions
* Match GasStation::HandleClick
* Match GasStation::Tickle
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-06 19:07:57 +02:00
Christian Semmler
4795eac37c
Implement LegoCharacterManager::FUN_10083db0 ( #775 )
2024-04-06 18:11:13 +02:00
Christian Semmler
3bafe2d3a4
Implement/match LegoCharacterManager::FUN_10083f10 ( #774 )
...
* Implement LegoCharacterManager::FUN_10083f10
* style
* Match
* Fix naming
2024-04-06 17:46:40 +02:00
Christian Semmler
75dc04f40a
Implement/match LegoCharacterManager::FUN_10084cf0 ( #773 )
...
* Implement/match LegoCharacterManager::FUN_10084cf0
* Compat mode for iterator
2024-04-06 14:08:38 +02:00
Joshua Peisach
4e74747451
GasStation::ReadyWorld ( #765 )
...
* Start GasStation::ReadyWorld
* fixes (up to 69.43%)
* what is this file and how did it get here
* don't hardcode (likely) action id
* Match FUN_10005590 (non-inlined version of PlayAction?)
* fixes (75.07%)
* Fixes (77.87%)
* style
* fix
* style
* style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-06 13:48:09 +02:00
Nathan M Gilbert
14cb3e621a
Implement/Match LegoPathActor ctor ( #772 )
...
* Implement/Match LegoPathActor ctor
* style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-06 12:49:22 +02:00
Nathan M Gilbert
6450774aa7
Implement/Match LegoExtraActor::VTable0xc4 ( #771 )
...
* Implement/Match LegoExtraActor::VTable0xc4
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-05 17:20:30 +02:00
Christian Semmler
c9ce9b56bb
Implement/match LegoCharacterManager::FUN_10084ec0 ( #770 )
...
* Implement LegoCharacterManager::FUN_10084ec0
* Match
* Match CreateROI
* Match
* Improve match
2024-04-05 15:57:20 +02:00
Nathan M Gilbert
32f1621ec7
Implement LegoExtraActor::VTable0x70 ( #769 )
...
* Implement LegoExtraActor::VTable0x70
* whitespace
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-05 12:56:31 +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
Christian Semmler
8225a38a01
Implement/match LegoCharacterManager::FUN_10085870 ( #764 )
2024-04-02 14:04:17 +02:00
Christian Semmler
60388c8c5d
Implement/match LegoCharacterManager::FUN_10085210 ( #763 )
...
* Implement/match LegoCharacterManager::FUN_10085210
* Update params
* Update param names
* param to bool
* Update var names based on beta
2024-03-31 16:05:38 +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
Christian Semmler
ed9e9efdab
Implement/match LegoBackgroundColor::SetLightColor and related ( #758 )
2024-03-29 21:50:00 +01:00
Christian Semmler
369f3fba22
Implement SetLightPosition and related ( #757 )
...
* Implement SetLightPosition and related
* Update p name
* style
2024-03-29 21:42:39 +01:00
MS
f447397eef
Fix loop in LegoROI::ColorAliasLookup ( #756 )
2024-03-29 19:47:46 +01:00
Christian Semmler
3878f79847
Implement/match LegoCharacterData::GetData and FUN_10085140 ( #755 )
2024-03-29 19:34:50 +01:00
Joshua Peisach
92357d77e1
Most entities with VTable0x50 function overrides ( #752 )
...
* BeachHouseEntity::VTable0x50
* GasStationEntity::VTable0x50
* RaceStandsEntity::VTable0x50
* Run clang-format
* Fix use of NULL
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-29 19:11:48 +01:00
Joshua Peisach
87f633af54
InfoCenterEntity::VTable0x50 implementation ( #725 )
...
* Start InfoCenterEntity::VTable0x50 implementation
* Fully implement InfoCenterEntity::VTable0x50
* Fix function name typo
* match
* fix style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-29 19:09:53 +01:00
Ramen2X
2c57e33ce5
implement/match LegoAnimationManager::DeleteAnimations() ( #753 )
2024-03-29 14:09:46 -04:00
Christian Semmler
ed1a25a636
Implement/match LegoCharacterManager GetActor/Exists, fix loops ( #750 )
2024-03-29 13:30:46 -04:00
Christian Semmler
e260a407ba
Implement/match LegoCharacterManager::GetRefCount ( #749 )
2024-03-29 13:30:31 -04:00
Ramen2X
7431d9d650
implement/match LegoAnimationManager::FindVehicle() ( #748 )
2024-03-29 11:50:16 -04:00
Christian Semmler
bfc2b76a61
Implement/match LegoCharacterManager::FUN_100832a0 ( #747 )
2024-03-29 15:41:12 +01:00
Ramen2X
5e10e01014
implement/match ReadNamedTexture() ( #745 )
2024-03-28 17:03:51 -04:00
MS
e4570b520b
Define g_characters ( #743 )
...
* Define g_characters
* Update with known struct types
2024-03-28 19:15:39 +01:00
Ramen2X
f157f01f71
implement/match UpdateLightPosition() ( #744 )
2024-03-28 10:27:44 -04:00
Nathan M Gilbert
13d994a1ee
Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0 ( #742 )
...
* Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0
* Match LegoExtraActor::FUN_1002aae0
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-28 14:19:32 +01:00
Ramen2X
97ebb22c42
implement/match FUN_1003ef60() ( #740 )
2024-03-27 15:46:03 -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
Ramen2X
1cf60ccda6
implement/match HospitalEntity::VTable0x50() ( #738 )
2024-03-27 12:12:20 -04:00
Nathan M Gilbert
483b3a5ab7
ExtraActor ctor/dtor ( #737 )
2024-03-27 16:53:38 +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
Ramen2X
4e9dbfe331
implement HospitalState::VTable0x1c() ( #734 )
2024-03-26 18:25:41 -04:00
Nathan M Gilbert
1e3ca11886
Implement/match LegoAnimActor ( #730 )
...
* Implement/match LegoAnimActor
* Name changes (deviation from original source)
* Attempt to fix modern build
* Add missing override
* Match LegoAnimActor::SetWorldSpeed
* Remove junk
* Style changes and implement WEEdge
* Add override
* Match LegoAnimActor::FUN_1001c1f0, style
* Style
* Add missing annotations, STUB LegoPathBoundary
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-26 18:51:52 +01:00
Ramen2X
43ce89224a
match LegoGameState::RegisterState() ( #729 )
2024-03-25 14:34:28 -04:00
Ramen2X
77b5f1338c
label some hospital members ( #728 )
2024-03-25 11:59:24 -04:00
Christian Semmler
0ed9f37587
Match LegoPointOfViewController::Tickle ( #726 )
2024-03-25 15:00:59 +01:00
Joshua Peisach
2261f7f039
IslePathActor: implement notify, remove usage of this keyword ( #724 )
2024-03-25 12:43:03 +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
Misha
2e5d54c03e
Finish LegoPathPresenter ( #721 )
...
* Finish LegoPathPresenter
* Update legopathcontroller.cpp
* Fixes
* fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:30:04 +01:00
Joshua Peisach
3f6f59852f
Ambulance::Create, dtor ( #719 )
...
* Ambulance::Create, dtor
* annotations
* fix
* remove comment
---------
Co-authored-by: Ramen2X <rmn@legoisland.org>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:28:44 +01:00
Joshua Peisach
313bd9ffd0
PoliceEntity::VTable0x50 ( #720 )
...
* PoliceEntity::VTable0x50
* fix
* don't hardcode Isle world object id
* style
---------
Co-authored-by: Ramen2X <rmn@legoisland.org>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:26:55 +01:00
Misha
b66e28ac5e
implement a few legonavcontroller functions ( #718 )
...
* implement a few legonavcontroller functions
* Match LegoNavController::ProcessJoystickInput
* Style
* Match LegoNavController::ProcessKeyboardInput
* Style
* Fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 15:30:12 +01:00
Misha
b279e8b8b9
Begin LegoNavController::Notify ( #716 )
...
* Partial implementation of LegoNavController::Notify
* Mark as stub
* Update legoanimationmanager.cpp
* Rename function/style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-23 19:00:34 +01:00
Christian Semmler
8b43e940f8
Implement/match LegoCameraController::FUN_100123e0 ( #715 )
2024-03-23 18:46:27 +01:00
Christian Semmler
0391b5b42a
Replace more magic numbers with script values ( #714 )
...
* Replace more magic numbers with script values
* Matches/fixes
* Make const
2024-03-23 18:06:31 +01:00
Christian Semmler
18377c2f1f
Implement/match LegoNavController::UpdateCameraLocation ( #713 )
...
* Implement/match LegoNavController::UpdateCameraLocation
* Add size assert
2024-03-23 17:10:12 +01:00
Nathan M Gilbert
8b21e8136e
Animmanager ( #712 )
...
* Implement LegoAnimationManager::StartEntityAction
Fix some class definitions
* Fix style issues
* Add size annotations
* Fix global pointer
* Style/naming
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-23 15:09:20 +01:00
Nathan M Gilbert
fca8f74bd8
Fix Annotations and LegoAnimActor class structure. ( #710 )
...
* Fix size annotations for legoomni
Fix structure and add placeholder annotations for LegoAnimActor and subclasses
* Fix LegoCarRaceActor constructor
Fix function name in LegoRaceCar
* Add size assertions for legoomni and fix sizes
* Various style fixes
* Use other marker so vtable.py doesn't compare
* Revert "Use other marker so vtable.py doesn't compare"
This reverts commit 608985cd73856598b95c15aed9f8f022645e9e7a.
* Fix copy/paste error
* Remove stale comment.
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-22 21:30:58 -04:00
Ramen2X
96f7219811
implement/match Hospital::HandleButtonDown() ( #711 )
2024-03-22 17:27:22 -04:00
Christian Semmler
68bb20f04f
Implement LegoCharacterManager::CreateROI ( #709 )
...
* WIP
* Create globals
* Add Read
* Name Init
* Add LegoCharacter init data
* Add define for NULL
* Use MxS8
* Add LegoCharacterLOD
* WIP CreateROI
* Fix
* WIP
* Match
* Match
* Match, implement Find
* Fix MeshBuilder
* Fix
* space
2024-03-22 18:40:19 +01:00
Ramen2X
8cffa7cf8c
implement Hospital::HandleClick() ( #708 )
...
* implement Hospital::HandleClick()
* style
* style
2024-03-21 13:27:51 -04:00
Misha
9256554406
Implement LegoCameraController::Notify & TimeROI::FUN_100a9b40 ( #707 )
...
* Implement LegoCameraController::Notify & TimeROI::FUN_100a9b40
* Fixes/matches
* Style
* Fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-21 15:39:23 +01:00
Ramen2X
770da22a1d
implement/match Hospital::HandleEndAction() ( #704 )
...
* implement Hospital::HandleEndAction()
* don't compare m_unk0x128 against char
* fix gotos
* match
2024-03-20 19:19:08 -04:00
Misha
3ce1e4985e
begin LegoAnimMMPresenter ( #706 )
2024-03-20 22:11:40 +01:00
Misha
e5fa35fd99
Implement a few registrationbook methods ( #703 )
...
* Implement a few registrationbook methods
* Match RegistrationBook::HandleKeyPress
* Match RegistrationBook::CreateSurface
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-20 17:26:10 +01:00
Misha
556c7698d8
implement RemoveFromCurrentWorld ( #700 )
...
* implement RemoveFromCurrentWorld
* Replace magic values
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 21:07:07 +01:00
Ramen2X
2477b89e32
add actions forward decl header ( #699 )
...
* add actions forward decl header
* newline
* format
* remove existing fwd declares
* Headers
* replace COMPAT_MODE check
* flip
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:54:13 -04:00
Misha
eaa935f646
Finish LegoVariables class ( #698 )
...
* Finish LegoVariables class
* Update legonavcontroller.cpp
* Update legobackgroundcolor.cpp
* Match functions, style, refactor visible
* Use MxBool
* Merge/fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 19:44:42 +01:00
Christian Semmler
0994d6dbfb
Implement LegoCharacterManager::GetROI ( #696 )
...
* Implement LegoCharacterManager::GetROI
* Add TODO
2024-03-19 19:23:34 +01:00
Misha
277957f0d5
implement misc presenter functions ( #695 )
...
* implement misc presenter functions
* style/spacing
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 16:07:11 +01:00
Misha
fd1b371864
Implement a few LegoBackgroundColor functions ( #694 )
...
* Update legobackgroundcolor.cpp
* Update legobackgroundcolor.cpp
* minor style
* minor style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:22:11 +01:00
Misha
e454e56b52
Implement a few RegistrationBook functions ( #693 )
...
* Implement a few RegistrationBook functions
* Match functions
* minor style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:15:24 +01:00
Christian Semmler
44bc575a2d
Replace some magic numbers with enum values ( #692 )
2024-03-19 07:45:29 -04:00
Christian Semmler
52d74647be
Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction ( #691 )
...
* WIP
* Match
2024-03-18 15:00:58 -04:00
Christian Semmler
d96679ea9e
Implement/match Isle::HandleClick ( #690 )
...
* Isle::HandleClick
* WIP
* Match
2024-03-18 17:31:22 +01:00
Ramen2X
44f49a7a57
implement/match Hospital::HandleKeyPress() ( #689 )
2024-03-18 12:23:19 -04:00
Christian Semmler
e1135d9c1d
Use script values from enum for clicked objects ( #688 )
2024-03-18 16:05:05 +01:00
Christian Semmler
ba5bc46c0c
Implement/match FUN_10032620 ( #687 )
2024-03-18 15:38:02 +01:00
Ramen2X
937a45020c
refactor action headers ( #686 )
2024-03-17 16:52:42 -04:00
Misha
b38a2a4980
implement RegistrationBook::HandleClick ( #685 )
...
* implement RegistrationBook::HandleClick
* fix build
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-17 19:58:27 +01:00
Christian Semmler
0fe3fa65aa
Implement/match Isle::FUN_10032d30 ( #684 )
2024-03-17 18:26:41 +01:00
Christian Semmler
5b8f515968
Implement/match Isle::HandleTransitionEnd ( #683 )
...
* Implement/match Isle::HandleTransitionEnd
* Rename enums
* Forward declare enum for C++11+
* Add underlying storage to action headers
* Fix missing define
2024-03-17 18:01:47 +01:00
Ramen2X
4197e3c326
implement Hospital::ReadyWorld() ( #682 )
2024-03-16 17:02:05 -04:00
Christian Semmler
0a4db65b24
Implement/match Isle::Enable ( #681 )
...
* Implement/match Isle::Enable
* Fix order
2024-03-16 19:20:44 +01:00
Christian Semmler
70e8796af3
Implement/match LegoEntity::VTable0x3c ( #680 )
2024-03-16 03:20:44 +01:00
Ramen2X
bf6765b575
fix dupes in action headers ( #679 )
2024-03-16 02:43:56 +01:00
Ramen2X
6cd5ffcf1a
implement RegistrationBook::ReadyWorld(), impl/match MxDisplaySurface::CopySurface() ( #678 )
...
* implement RegistrationBook::ReadyWorld()
* don't fix the size of letterBuffer
* Fix crash in MxStillPresenter::Clone
* Implement MxDisplaySurface::CopySurface
100% match
* improve accuracy
* invert HasRegistered check
* fix legogamestate structure, documentation tweaks
* this might be cleaner actually
* Update mxdisplaysurface.cpp
* Update legogamestate.h
* don't hardcode action ids in VTable0x64
* Match ~98%
---------
Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-16 02:32:06 +01:00
Nathan M Gilbert
d07d7edc81
Implement methods to load dta files. ( #673 )
...
* Implement methods to load dta files.
* fix style issues
* fix vtables
* fix more style issues
* fix ddtor names
* Remove explicit padding, add annotations, asserts
* Use List template
* trigger CI
* Fix class refactor
* Match code, fix annotations
* Fix
* 98% match
* Fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-16 01:43:45 +01:00
Ramen2X
4ddd9e200c
implement/match Hospital::Tickle() ( #677 )
2024-03-15 19:16:43 -04:00
Christian Semmler
10ae05a888
Add missing size assert
2024-03-15 16:35:28 +01:00
Christian Semmler
0e146f08d6
Implement/match LegoNavController::CalculateNewPosDir ( #675 )
...
* Implement/match LegoNavController::CalculateNewPosDir
* Fix naming
* Fix naming
2024-03-15 16:33:32 +01:00
Christian Semmler
7edad07d18
Implement/match LegoEntity::GetWorldPosition/Direction/Up ( #672 )
...
* Implement/match LegoEntity::GetPosition/Direction/Up
* Rename
2024-03-13 20:29:28 -04:00
Ramen2X
aaee10949e
implement Hospital::Notify(), Enable(), VTable0x64() ( #670 )
...
* implement Hospital::Notify(), Enable(), VTable0x64()
* function order
* Fix HandleClick
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-13 16:32:20 -04:00
Ramen2X
a9a564b25e
implement/match Hospital::~Hospital() ( #669 )
2024-03-13 15:10:53 -04:00
Christian Semmler
0f2aee1849
Implement/match LegoPointOfViewController::SetEntity ( #668 )
...
* Implement/match LegoPointOfViewController::SetEntity
* Fix order
2024-03-13 19:03:30 +01:00
Christian Semmler
0623e6a766
Implement/match LegoPointOfViewController::Tickle ( #667 )
2024-03-13 18:46:20 +01:00
Ramen2X
beb30e80ea
slight style tweaks to legogamestate and related members ( #666 )
2024-03-13 13:17:20 -04:00
Ramen2X
4aafc435f5
implement/match Hospital::Create() ( #665 )
2024-03-13 11:45:27 -04:00
Christian Semmler
06080b6492
Changes to GasStation::Create based on beta debug build ( #664 )
...
* Implement/match LegoAnimNodeData::FUN_100a0990
* Change GasStation::Create based on beta debug build
2024-03-13 16:38:38 +01:00
Christian Semmler
9d80cf4824
Implement/match LegoAnimNodeData::FUN_100a0990 ( #662 )
2024-03-12 14:11:13 -04:00
Christian Semmler
02838d0f57
Implement LegoAnimNodeData::GetRotation ( #661 )
...
* WIP
* Improve matches
2024-03-12 18:21:58 +01:00
MS
e3d7188ec9
Use AUTOLOCK macro ( #660 )
...
* Use AUTOLOCK macro
* MxAutoLock
* Remove semicolon
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
---------
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2024-03-12 15:23:50 +01:00
Ramen2X
b0483000d8
TransitionNone() -> NoTransition() ( #659 )
2024-03-11 21:23:31 -04:00
Ramen2X
9207d1cb28
remove redundant MxU16 cast in MosaicTransition()
...
mistake, but it gets optimized out anyways
2024-03-11 17:37:45 -04:00
Ramen2X
121708a574
match MxTransitionManager::MosaicTransition() ( #658 )
2024-03-11 17:33:43 -04:00
Christian Semmler
7659db49e7
Implement LegoAnim::CreateLocalTransform ( #657 )
...
* Implement LegoAnim::CreateLocalTransform
* Match Matrix4::Scale
2024-03-11 15:15:18 -04:00
Ramen2X
6dfee432ea
rename MxTransitionManager transitions ( #655 )
2024-03-11 04:57:58 -04:00
Ramen2X
c28c2aeb52
fix regressions ( #653 )
2024-03-10 12:45:46 -04:00
Ramen2X
7fad763699
refactor script enum structure ( #649 )
...
* add autogenerated action headers
* refactor police
* refactor infocenter
* refactor jukebox
* refactor regbook
* format
* scope headers in namespaces instead
* attempt to dynamically build headers ignore list in ncc
* correct whitespace in naming.yml
* fix wrong folder
* fix accidental extra newline in cmakelists
2024-03-10 17:08:21 +01:00
Christian Semmler
d090b449d1
Add CalcWorldBoundingVolumes ( #651 )
2024-03-10 15:29:16 +01:00
Christian Semmler
8069923651
Refactor files based on beta debug build ( #645 )
...
* Rename LegoUnkSaveDataWriter -> LegoCharacterManager
* Refactor mxomni into mxomni/mxmisc
* Refactor legoomni into legoomni/misc
* Resolve deps
* Refactor atom
* Refactor mxutil
* Refactor mxio
* Rename/relocate files
* Fix format
2024-03-09 21:07:52 +01:00
Christian Semmler
c62469fef4
Implement/match LegoPartPresenter::ReadyTickle ( #644 )
...
* Implement/match LegoPartPresenter::ReadyTickle
* Remove space
2024-03-09 19:11:34 +01:00
Christian Semmler
6fa4a0dbec
Implement/match LegoPartPresenter::Store ( #643 )
2024-03-09 19:03:21 +01:00
Christian Semmler
9f875d01e5
Implement/match LegoPartPresenter::Read ( #642 )
...
* WIP
* Match
* Remove TODO
* Fix
2024-03-09 18:27:53 +01:00
Christian Semmler
9e2f37e7ca
Implement LegoTexturePresenter::Read and Store ( #641 )
...
* LegoTexturePresenter::Read
* Implement LegoTexturePresenter::Store
* Rename
* Fix naming
2024-03-09 16:49:13 +01:00
Christian Semmler
fb800db862
Implement OrientableROI::FUN_100a46b0 ( #640 )
...
* Implement OrientableROI::FUN_100a46b0
* Fix
2024-03-09 03:52:42 +01:00
Christian Semmler
32ae9f3803
Implement/match LegoROI::FUN_100a9170 ( #639 )
...
* Implement.match LegoROI::FUN_100a9170
* Add two LOD functions
2024-03-08 21:29:16 +01:00
Christian Semmler
d978cbe7f9
Implement/match LegoROI::FUN_100a9210 ( #638 )
...
* Implement/match LegoROI::FUN_100a9210
* Fix order
2024-03-08 21:01:18 +01:00
Christian Semmler
309997fddc
Implement various LegoROI functions ( #637 )
...
* WIP
* Fix
* Fix
2024-03-08 20:28:52 +01:00
Christian Semmler
45cba2c00e
Implement/match remaining LegoLOD functions ( #636 )
...
* Implement/match remaining LegoLOD functions
* Add param name
2024-03-08 18:03:26 +01:00
Christian Semmler
873926afe2
Implement TglImpl::MeshBuilder::CreateMesh ( #635 )
...
* WIP
* Change
* Fix
* Improve match
* Rename class
* Fix function
* Fix annotation
* Fix annotations
* Fix annotation
2024-03-08 17:55:25 +01:00
Christian Semmler
53e2353f78
Implement LegoLOD::Read and related ( #634 )
...
* WIP
* Fix
* Remove bogus
* Fix
* Match
* Fix
* Remove TODO
2024-03-07 20:57:17 +01:00
Christian Semmler
a12146f52f
Implement/match LegoEntity::VTable0x34 ( #633 )
...
* Implement/match LegoEntity::VTable0x34
* Change parameter name
* Fix order
2024-03-06 20:12:20 +01:00
Christian Semmler
71bcd4c771
Implement/match LegoEntity::SetWorldTransform and ResetWorldTransform ( #632 )
...
* Implement/match LegoEntity::SetWorldTransform and ResetWorldTransform
* Add param name
2024-03-06 19:25:45 +01:00
Misha
3897e9c015
Add JailEntity class ( #630 )
...
* Add JailEntity class
* Update legoobjectfactory.h
* Update jailentity.h
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-05 16:05:38 -05:00
Christian Semmler
a93e2ae0d3
Implement/match LegoEntity::SetLocation ( #629 )
...
* Implement/match LegoEntity::SetLocation
* Remove comment
2024-03-05 20:31:57 +01:00
Christian Semmler
3b2bd0e9d4
Implement/match LegoEntity::SetROI ( #628 )
2024-03-05 19:35:28 +01:00
Christian Semmler
f6e44b1c1b
Implement LegoROI::Read and geom library ( #627 )
...
* Implement LegoROI::Read and geom library
* Match
* Match
* Fixes
* Fix
2024-03-05 18:38:53 +01:00
MS
ec1fcce08c
Data comparison tool ( #618 )
...
* Parse cvdump TYPES section. Add datacmp tool.
* Corrections
* Use static
* Revert "Use static"
This reverts commit e0a4324e004e83565a9880e457c588ed0cf71931.
* Handle partially initialized variable
* Shuffle order of legounksavedatawriter
* Revert "Shuffle order of legounksavedatawriter"
This reverts commit 506e06f1174739fdbfade73e29b9ce4eac44b06c.
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-05 09:45:09 +01:00
Christian Semmler
c9210c02fb
Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0 ( #625 )
...
* Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0
* Fixes
* Try fix
* Try this
* Fix
2024-03-04 22:57:35 +01:00
Christian Semmler
b8aa16ff80
Implement/match ViewManager::Remove ( #624 )
2024-03-04 22:06:40 +01:00
Christian Semmler
00c05aa80b
Implement/match remaining Lego3DView functions ( #623 )
2024-03-04 18:54:25 +01:00
Christian Semmler
d3b575169e
Implement/match LegoModelPresenter::FUN_1007ff70 ( #622 )
2024-03-04 18:26:36 +01:00
Misha
c2a46b058b
implement various LegoWorldPresenter functions ( #621 )
...
* implement LegoWorldPresenterFunctions
* fix typo
* Fixes/match
* Fix
* Match
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-03 20:34:55 -05:00
Christian Semmler
01f07a323c
Implement ModelDb (WDB reader/parser) ( #619 )
...
* WIP Read WDB
* Fixes
* WIP
* WIP
* WIP
* WIP
* Match
* Match
* Fix Compare
* Rename member
2024-03-03 21:35:56 +01:00
Misha
a6cf0b5856
implement BuildingEntity functions ( #617 )
...
* implement BuildingEntity functions
* fix build
* Update infocenterentity.h
2024-03-02 17:11:03 -05:00
Christian Semmler
de5cd98b76
Implement/match ViewManager::RemoveAll ( #616 )
...
* Implement/match ViewManager::RemoveAll
* Use const_iterator
* const
* Naming
2024-03-02 20:26:19 +01:00
Christian Semmler
6de17cf1b6
Implement/match some ViewManager functions ( #615 )
2024-03-02 19:40:42 +01:00
Christian Semmler
c643723a9c
Improve match of LegoView1::Create ( #613 )
2024-03-01 22:53:42 +01:00
Christian Semmler
baacb42bfb
Improve match of LegoVideoManager::Create ( #612 )
2024-03-01 22:46:28 +01:00
Christian Semmler
0067c24ead
Implement/match ViewLODListManager::Create ( #611 )
...
* Implement/match ViewLODListManager::Create
* Add stdio.h header
* Add remaining annotations
2024-03-01 22:32:10 +01:00
Christian Semmler
fb6eed9bff
Match StartAction functions, remove NextFragment ( #610 )
2024-03-01 19:07:07 +01:00
Christian Semmler
ec29f2633d
Improve matches in ROI classes ( #608 )
...
* Improve matches in ROI classes
* More function implementations
* Fix name
* Fix vtables
* Add annotation
2024-03-01 18:19:41 +01:00
Christian Semmler
49d6c88912
Match ParseExtra functions ( #605 )
...
* Match ParseExtra functions
* Match MxStillPresenter::ParseExtra
* Match remaining ParseExtra functions
2024-02-29 19:15:20 +01:00
Christian Semmler
f3f29e5536
Allow game to start
2024-02-28 15:09:08 -05:00
Nathan M Gilbert
0e7823cedd
LegoGameState player functions ( #603 )
...
* LegoGameState player functions
* Style
* use sizeof
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-28 21:03:27 +01:00
Nathan M Gilbert
4d84157888
Implement Save, Load, DeleteState ( #602 )
...
* Implement Save, Load, DeleteState
* WIP
* WIP
* Match LegoGameState::Save
* Spacing
* Match LegoGameState::DeleteState()
* More match
* Match
* Move vars
* Other fixes
* Rename
* Fix error
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-27 21:04:17 +01:00
Christian Semmler
c0a988b0fe
Implement/match LegoAnimPresenter::StartingTickle ( #601 )
...
* Implement/match LegoAnimPresenter::StartingTickle
* Fix vtable
* Fix vtable
2024-02-27 17:49:31 +01:00
Christian Semmler
68893d67ed
Implement/match LegoAnimPresenter::FUN_10069150 ( #600 )
2024-02-27 16:13:00 +01:00
Christian Semmler
60161c43b5
Implement/match LegoAnimPresenter::FUN_100698b0 ( #598 )
...
* Implement/match LegoAnimPresenter::FUN_100698b0
* Use const_iterator
2024-02-26 19:39:03 +01:00
Christian Semmler
e6c347b8ab
Implement/match LegoAnimPresenter::FUN_100697c0 ( #597 )
...
* Implement/match LegoAnimPresenter::FUN_100697c0
* Use LegoU32
2024-02-26 18:41:18 +01:00
Nathan M Gilbert
124b73046b
Continued work on LegoGameState ( #596 )
...
* Continued work on LegoGameState
* Fixes/matches/refactor
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-26 17:19:16 +01:00
Joshua Peisach
b524b47723
jukebox functions ( #592 )
...
* start jukebox functions
* JukeBox::notify
* implement remaining functions/fixes
* Fixes/matches
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-26 16:12:14 +01:00
Christian Semmler
c5318dca13
Implement/match LegoAnimPresenter::FUN_100695c0 ( #595 )
2024-02-25 18:55:57 +01:00
Christian Semmler
96c98cec3d
Implement LegoAnimPresenter::FUN_100692b0 ( #594 )
...
* Implement LegoAnimPresenter::FUN_100692b0
* Match
2024-02-25 18:04:30 +01:00
Christian Semmler
377eebb610
Minor style/naming fixes ( #593 )
2024-02-25 15:14:39 +01:00
Christian Semmler
b281866ea6
Implement/match LegoModelPresenter::CreateROI ( #591 )
...
* Implement/match LegoModelPresenter::CreateROI
* Match
* Use inline function
* Note about Get()
2024-02-24 17:48:16 +01:00
Nathan M Gilbert
13fc4e3285
LegoGameState::SwitchArea ( #590 )
2024-02-24 14:55:00 +01:00
Christian Semmler
91a585ae49
Remove TODO
2024-02-23 12:58:59 -05:00
Christian Semmler
9d0ff0425c
Implement LegoTextureContainer::Insert ( #589 )
...
* WIP
* Fix
* Fix
* Match
* Match
2024-02-23 18:54:45 +01:00
Joshua Peisach
51520aaae6
LegoActor: destructor, SetROI ( #588 )
...
* LegoActor: destructor, SetROI
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-23 18:51:49 +01:00
Christian Semmler
6b1c75ab5a
Refactor LegoContainer ( #587 )
...
* Refactor LegoContainer
* Fix name
* Fix build
* Refactor some includes
* Update STL compat
* Fix
* Fix annotations
2024-02-23 16:06:16 +01:00
Christian Semmler
9d8820ee06
Implement TextureData::Create ( #586 )
...
* Implement TextureData::Create
* Fix names
* Rename
* Fix name
* Fix annotation
* Add missing annotation
* Fix annotation
* More annotation fixes
* Compat template type ambiguity
* Fix
2024-02-22 16:59:44 -05:00
MS
761b120aee
CustomizeAnimFile MxVariable ( #584 )
...
* CustomizeAnimFile MxVariable
* Fixes
* Remove returns
* Add size asserts
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-21 21:30:02 +01:00
Christian Semmler
d76d334197
Minor fixes
2024-02-20 12:14:52 -05:00
Christian Semmler
eefb05de73
Implement remaining anim.lib read functions ( #582 )
2024-02-20 18:03:24 +01:00
Christian Semmler
21f80c825a
Fix unsigned/signed
2024-02-19 09:35:20 -05:00
Nathan M Gilbert
cc1bc148d0
Implement HistoryBook::ReadyWorld ( #579 )
...
* Implement HistoryBook::ReadyWorld
* Fix names and annotations
* WIP improvements
* Remove unnecessary padding/pack
* Remove packing
* Style
* Use countof
* Fix signed
* Fixes
* Remove duplicate annotation
* Rename
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-19 15:24:30 +01:00
Christian Semmler
dbb2acf71c
Implement more anim.lib Read functions ( #578 )
...
* Implement Read functions
* Add annotation
2024-02-18 21:31:29 +01:00
Christian Semmler
58482ff676
Bootstrap anim.lib ( #577 )
...
* Bootstrap anim.lib
* Fix order
* Fix LegoMorphKey
2024-02-18 18:43:42 +01:00
Joshua Peisach
35a566c243
Bike::Create, Bike::VTable0xe4 ( #576 )
...
* Bike::Create, Bike::VTable0xe4
* Readability
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-17 20:26:29 +01:00
Joshua Peisach
4a7ab43b45
Main HistoryBook function implementations ( #575 )
...
* Main HistoryBook function implementations
* fix names
2024-02-17 20:04:48 +01:00
Joshua Peisach
d71987b369
implement GasStation::Notify ( #574 )
...
* implement GasStation::Notify
* Fix code
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-17 18:23:09 +01:00
Christian Semmler
1d189b013d
Rename MxDSSubscriber functions ( #573 )
2024-02-17 16:35:10 +01:00
Christian Semmler
332d8da695
Fix LegoROI / add TimeROI ( #572 )
...
* Fix LegoROI / add TimeROI
* Fix order
* Remove extra fwd decl
2024-02-17 16:07:34 +01:00
Christian Semmler
b47412183b
Implement/match LegoOmni::GetScriptIndex ( #571 )
...
* Implement/match LegoOmni::GetScriptIndex
* Fix type
* Fix
2024-02-17 02:10:42 +01:00
Christian Semmler
c67f613b8d
Implement/match LegoOmni::FindROI and related ( #570 )
...
* Implement/match LegoOmni::FindROI and related
* Add missing file
2024-02-17 01:34:30 +01:00
Christian Semmler
5b06054375
Implement/match RegisterPaths ( #569 )
2024-02-17 00:25:32 +01:00
MS
ad3a1de055
Match more scalar deleting destructors ( #568 )
2024-02-16 13:15:53 -05:00
Christian Semmler
9bc5890da6
Implement/match LegoOmni::RegisterScripts ( #567 )
...
* Implement/match LegoOmni::RegisterScripts
* Fix const
2024-02-16 18:12:45 +01:00
Christian Semmler
5d80733cb1
Implement/match Tgl::View::Render ( #566 )
2024-02-16 16:28:20 +01:00
Joshua Peisach
efcb3cac2a
Police: HandleClick ( #565 )
...
* Police: HandleClick
* Spacing
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-16 15:53:17 +01:00
Joshua Peisach
91643d59ba
PoliceState: Create script enum + implement FUN_1005ea40 ( #564 )
...
* PoliceState: Create script enum + implement FUN_1005ea40
* Clean up code
* Match
* Match
* Fix type
* Fix error
* Remove return
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-15 17:22:58 +01:00
Nathan M Gilbert
271df035fd
Implement/Match JukeboxEntity ( #562 )
...
* Implement/Match JukeboxEntity
* Style/naming
* Style/naming
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-14 17:48:39 +01:00
MS
1b696e4bd8
reccmp: Unique addresses and stub reporting ( #554 )
2024-02-13 20:25:51 -05:00
Joshua Peisach
eb3b339454
GasStation destructor, enable, create ( #561 )
...
* GasStation destructor, enable, create
* Fixes
* Remove comment
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-14 00:40:04 +01:00
MS
971ac8b6e7
LegoCacheSound and related STL ( #560 )
...
* LegoCacheSound and related STL
* Changes/annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-14 00:34:14 +01:00
Misha
6d3ce3b5cb
implement RegistrationBook::Notify ( #559 )
...
* implement RegistrationBook::Notify
* Update registrationbook.cpp
* Fixes
* Change type
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-11 17:16:10 -05:00
Christian Semmler
5bba81c0ca
Rename Infocenterstate::m_buffer to m_letters
( #558 )
...
* Rename Infocenterstate::m_buffer
* Rename function
* Fix
* Fix
* Rename function
* Rename function
* Rename function
2024-02-11 10:44:55 -05:00
Misha
5233b48c59
Implement LegoModelPresenter::ParseExtra ( #557 )
...
* Implement LegoModelPresenter::ParseExtra
* rename function according to leaked source code
* Minor improvement
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-11 15:03:56 +01:00
Christian Semmler
a29c0aca3f
Implement/match LegoOmni::Create ( #556 )
...
* Implement/match LegoOmni::Create
* Fix var
* Rename
* Fix style
2024-02-11 02:52:16 +01:00
Misha
8786a5b44a
Add JetSkiRace vtable and CaveEntity classes from LegoObjectFactory ( #553 )
...
* Add JetSkiRace vtable
* Fix vtable
* Fixes
* Update jetskirace.cpp
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-11 00:44:00 +01:00
Christian Semmler
e42e0d1ca2
Replace more magic numbers
2024-02-09 07:10:47 -05:00
Christian Semmler
c8930815c5
Add LegoGameState::Area enum ( #552 )
...
* Add area enum
* Fix
* Fix
* Fix
* empty
2024-02-10 19:17:07 +01:00
Misha
0463d48540
implement NotifyEntity ( #550 )
...
* implement NotifyEntity
* Fix/match
* Rename
* Fix style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-10 19:02:52 +01:00
Misha
f378b2e535
implement LegoWorldPresenter::ParseExtra ( #551 )
2024-02-10 18:54:38 +01:00
Christian Semmler
27390e80c0
Name dialogue playlists ( #549 )
...
* Add names for dialogue playlists
* Rename remaining playlists
* Revert bogus
2024-02-10 17:51:56 +01:00
Christian Semmler
ec3bcaf9bf
Introduce and use enum for acts ( #548 )
...
* Introduce and use enum for acts
* Use enum in Helicopter
* Revert change
2024-02-10 17:37:22 +01:00
Misha
32681935ca
Partial implementation of LegoGameState::SwitchArea ( #547 )
2024-02-10 15:36:01 +01:00
Misha
223b07ee3d
Implement LegoModelPresenter::ReadyTickle ( #546 )
...
* Implement LegoModelPresenter::ReadyTickle
* Update legoworld.h
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-10 00:41:35 +01:00
Nathan M Gilbert
84af3e2158
Match some names/values ( #545 )
...
* Match some names/values
* Fix mingw warning as error
2024-02-10 00:40:52 +01:00
Joshua Peisach
94c4576e8d
Implement Police::HandleEndAction ( #543 )
...
* Implement Police::HandleEndAction
* Style fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-09 16:28:22 +01:00
Christian Semmler
c17ef9a805
Implement rest of Infocenter::HandleClick ( #542 )
2024-02-08 19:30:55 -05:00
Christian Semmler
897f9a3371
End LegoPhonemePresenter actions to prevent lockups
2024-02-06 17:53:35 -05:00
Christian Semmler
97de164a7f
Implement Infocenter::ReadyWorld ( #538 )
...
* Implement Infocenter::ReadyWorld
* Match
* Use TRUE
2024-02-07 21:23:35 +01:00
Daniel Hejduk
5e38a010dd
Removing unnecessary TODO comment in legoact2state.cpp ( #539 )
...
* Updating legoact2state.cpp
* Fixing format issues
2024-02-07 19:34:47 +01:00
Christian Semmler
a12fdadd4a
Implement/match Infocenter::StartCredits ( #537 )
...
* Implement Infocenter::StartCredits
* Match
2024-02-07 18:19:46 +01:00
Joshua Peisach
18dff31dbd
Children classes of LegoWorld's VTable0x5c ( #536 )
2024-02-07 12:13:20 +01:00
Misha
917485247b
implement Enable and Create in RegistrationBook ( #535 )
2024-02-06 19:06:32 -05:00
Christian Semmler
03423b2ffa
Implement/match Infocenter::Reset ( #532 )
...
* Implement Infocenter::Reset
* Move code
* Move function
* Fix bug
* Fix another bug
2024-02-05 12:35:26 -05:00
Joshua Peisach
0497ef13fb
Implement Police::HandleKeyPress, Enable, VTable0x64 ( #529 )
...
* Implement Police::HandleKeyPress, Enable, VTable0x64
* fix return type
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-04 23:40:51 +01:00
Christian Semmler
b4c9d78eb4
Minor fixes
2024-02-04 12:44:51 -05:00
Christian Semmler
434deecee4
Implement/match remaining LegoWorld functions ( #526 )
...
* Implement/match remaining LegoWorld functions
* Move functions
* Move function
* Fix function location
* Fix function return type
2024-02-04 18:33:37 +01:00
Daniel Hejduk
d324fd664a
Implementing RegistrationBook::RegistrationBook()
and removing this->
from Gasstation.cpp
( #508 )
...
* Implementing RegistrationBook::RegistrationBook()
* Update registrationbook.h
* Update registrationbook.h
* Removing this keyword
* TESTING: fixing the format errors
* Update registrationbook.cpp
* Update registrationbook.h
* Update registrationbook.h
* Update registrationbook.h
* Update registrationbook.h
* TEST fixing format errors
* Update registrationbook.h
* Update registrationbook.h
* Removing this-> from gasstation.cpp
* Fix outstanding issues, match function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-04 16:36:47 +01:00
Joshua Peisach
724cdeb86f
Implement Police::Notify ( #524 )
...
* Implement Police::Notify
* Fix HandleKeyPress
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-03 22:30:00 +01:00
Misha
83e116defc
push changes ( #522 )
2024-02-03 07:38:57 -05:00
Misha
2158142b08
Implement LegoSoundManager ( #521 )
...
* push code
* begin work on subclass
* fixes
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-03 02:16:57 +01:00
Anonymous Maarten
57d5949d84
Implement some Act1State functions ( #520 )
...
* Implement some Act1State functions
* ci: push fix commits to pr
* ci fix
* Show diffs generated by clang-format
* Run clang-format
* Fix naming
* re-use _countof + add parentheses
* Fix naming
* Use MxS32
* Annotate Act1State::NamedPlane::~NamedPlane
* Apply suggestions
* Read and Write Mx3DPointFloat's
* Annotations, spacing
* Add Mx3DPointFloat copy ctor, match some functions
* Fix WriteVector3
* Adding more spacing for readability
* Use MxResult as a return type for Serialize
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-03 02:03:52 +01:00
Christian Semmler
6653533b1f
Hotfix Laura selected
2024-02-02 16:58:33 -05:00
Misha
0c47ed5056
Implement more infocenter methods ( #519 )
...
* push changes
* format fix
* Update legogamestate.cpp
* Update legogamestate.cpp
* Fixes
* Match Infocenter::Create
* Style
* Fix InfocenterDoor::HandleClick
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-02 22:32:50 +01:00
Christian Semmler
a28113a26f
Fix/match MxBackgroundAudioManager::FUN_1007ef40 ( #518 )
...
* Fix
* Match
2024-02-02 21:00:44 +01:00
Christian Semmler
b7e274f902
Implement LegoState::Playlist ( #517 )
2024-02-02 20:09:45 +01:00
Christian Semmler
558bda4dd2
Implement LegoWorld::Enable ( #516 )
...
* WIP VTable0x68
* Improve match
* Match
* Fix
* Fix
* Move vars
* Match
* Add call to Isle
* Rename functions
* Fix style
2024-02-02 18:18:46 +01:00
Christian Semmler
a7acf8c607
Implement/match InfocenterState::InfocenterState ( #515 )
...
* Implement LegoState::Shuffle
* Remove unused params
* Move ctor
* Asm generate hotfix
---------
Co-authored-by: MS <disinvite@users.noreply.github.com>
2024-02-02 00:08:56 +01:00
Christian Semmler
17252b95f4
Implement Infocenter::HandleNotification0 ( #514 )
...
* Implement Infocenter::HandleNotification0
* Match
* Match
* Match
* Match
* Braces
* Add enum constants
2024-02-01 21:56:27 +01:00
Anonymous Maarten
9e686e2a87
cmake+ci: run clang-tidy ( #512 )
...
* cmake+ci: run clang-tidy
* Remove DESCRIPTION from LEGO1/LegoOmni.mingw.def
* Add initial .clang-tidy and fixes
* fix file perms
* Comment out DESCRIPTION
* Remove LegoEntity::~LegoEntity and MxPresenter::~MxPresenter from mingw's LEGO1.def
* Looks like clang is allergic to the libs in the directx5 SDK
* Update .clang-tidy
* Fix typo in .clang-tidy
* Attempt to generate an action error
* Revert "Attempt to generate an action error"
This reverts commit 96c4c65fedbc4102837f4bcbbb9ee83a7d14cba3.
* cmake: test with -Wparentheses + optionally with -Werror
* ci: -k0 is a Ninja argument
* Use -Werror only for msys2 builds
* cmake: only emit warnings for specific warnings
* cmake: and don't do -Werror/-WX anymore
* Fix warnings
* Fix mingw warnings
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-01 21:42:10 +01:00
MS
97d1ba7c71
MxTransitionManager corrections ( #513 )
2024-01-31 23:39:50 +01:00
Misha
9e0b19856c
Implement various infocenter functions ( #510 )
...
* Implement various infocenter methods
* fix order
* Update infocenter.cpp
* Update infocenter.cpp
* Update infocenter.cpp
* Update mxcontrolpresenter.cpp
* Rename stuff for consistency
* Add StateStruct to InfocenterState
* Resolve some TODO
* Use MxRect32
* Improve match
* Match Infocenter::UpdateFrameHot
* Fix VTable0x64
* WIP Match
* Match
* Cleanup
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-31 15:47:15 +01:00
Misha
bad32149ca
implement LegoGameState::StopPreviousAction ( #511 )
...
* implement RemoveFromWorld
* fix unloading
* Rename stuff, add default arg
* Rename functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-31 13:34:36 +01:00
Christian Semmler
cdf76754f7
Implement/match Radio, RadioState ( #509 )
...
* WIP RadioState
* WIP
* WIP
* Implement/match Radio/RadioState
* Fix naming
* Use sizeof
2024-01-30 19:57:20 +01:00
Misha
743e042564
Finish MxControlPresenter ( #505 )
...
* Push changes
* fix order
* use MxBitmap::Start
* Fixes/changes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-29 23:46:22 +01:00
Christian Semmler
baed704a38
(clang-format) Add RemoveSemicolon ( #506 )
2024-01-29 23:30:20 +01:00
Christian Semmler
bcdddd4c7e
Pad all single-digit hexadecimal values with zero ( #504 )
...
* Pad all single-digit hexadecimal values with zero
* One more fix
2024-01-29 22:17:17 +01:00
Christian Semmler
35def3013a
Fix various state classes/missing annotations ( #503 )
2024-01-29 19:54:47 +01:00
Christian Semmler
96234ddc23
Implement/match MxStillPresenter::Clone ( #502 )
...
* Implement/match MxStillPresenter::Clone
* Fix
2024-01-29 11:29:12 -05:00
Misha
445084f4b0
Implement LegoOmni::DeleteObject ( #501 )
...
* Push changes
* fixes
* Match
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 23:10:04 +01:00
Misha
4314d3e297
Implement LegoControlManager ( #500 )
...
* Push changes
* Update score.cpp
* fix
* Update score.h
* Fixes/matches
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 22:09:33 +01:00
Nathan M Gilbert
c0acf11f9b
Implement/Match LegoTree ( #485 )
...
* Implement/Match LegoTree
* Fix vtable
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 17:45:49 +01:00
Misha
d9c4151bb8
implement LegoInputManager::ProcessOneEvent ( #498 )
...
* push changes
* fix
* Match
* Rename functions
* Space
* Fix GetPresenterAt
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 15:20:21 +01:00
Christian Semmler
f1fc5e1d0d
Implement/match LegoEventNotifcationParam::Clone ( #497 )
2024-01-27 23:57:42 +01:00
Misha
d4cb8677b8
implement LegoInputManager register and unregister ( #496 )
...
* implement LegoInputManager::Create
* Fixes
* Add annotation
* Add size assert
* push changes
* Add size assert
* Order annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-27 23:15:12 +01:00
Christian Semmler
159e27baba
Sort annotations
2024-01-26 05:37:50 -05:00
Misha
f706f80483
implement LegoInputManager::Create ( #495 )
...
* implement LegoInputManager::Create
* Fixes
* Add annotation
* Add size assert
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-27 22:55:59 +01:00
Christian Semmler
19c771b85d
Implement/match LegoWorld::PresentersPending ( #494 )
...
* Implement/match LegoWorld::PresentersPending
* Rename functions
2024-01-27 21:18:35 +01:00
Christian Semmler
fadf8e7fd5
Move some functions from LegoWorld to Act3 ( #493 )
2024-01-27 18:15:14 +01:00
Christian Semmler
883f3429a7
Implement/match LegoWorld::Destroy (and destructor) ( #492 )
...
* Implement/match LegoWorld::Destroy
* Match
* Match
2024-01-27 17:48:50 +01:00
Christian Semmler
4df7dee037
Implement/match LegoWorld::Remove ( #491 )
...
* Implement/match LegoWorld::Remove
* Fix comparison
* Match 100%
2024-01-27 16:10:09 +01:00
Christian Semmler
7b6ec235d8
Implement LegoWorld::Add ( #490 )
...
* LegoWorld::Add
* Add annotations
* Fix include guard
* Make stub
* Change MxPresenterSet to MxCoreSet
* Improve match
* Match
* Fix annotation
2024-01-26 23:52:03 +01:00
Christian Semmler
b6aac26269
Implement LegoWorld::Find ( #489 )
...
* Implement LegoWorld::FUN_100213a0
* Rename lists
* Rename cursors
* Rename cursor
* Rename functions
* Remove a comment
* Rename more functions
* Fix return type
2024-01-26 22:00:02 +01:00
Joshua Peisach
0a672d2146
RaceCar destructor ( #488 )
...
* RaceCar destructor
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-26 18:13:09 +01:00
Joshua Peisach
88fd1e658d
HelicopterState vtable ( #487 )
...
* HelicopterState vtable
* Move functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-26 18:09:59 +01:00
Christian Semmler
a3868e3808
Implement/match LegoWorld::FUN_10021790 ( #486 )
...
* Implement/match LegoWorld::FUN_10021790
* Improve match
* Match
* Specify python package versions
* Use wildcard version
* Use const atom
* Use const atom
2024-01-26 18:03:29 +01:00
Anonymous Maarten
5f413165cc
Spinoff some sources to static libraries ( #484 )
...
* cmake: use imported targets for 3rd party libs
* Fix casing of skateboard.h include
* cmake: tglrl realtime viewmanager mxgeometry
* cmake: spin off some source in static libraries
* dx5 for everyone
* ci: bump actions/checkout to v4
* move LEGO1/realtime/realtimeview.cpp to lego1 because it exports symbols
* add misc library
* Add omni library
* Return of the .def's
* Remove COMPAT_CONST in MxVideoParam::MxVideoParam
* Run clang-format
* move LEGO1/realtime/realtimeview.cpp to realtime lib
* Add 3dmanager library
* Rename .def files
* Remove incorrect deps to Omni
* Remove DLL expor decls
* Remove unnecessary library dep from ROI
* Remove COMPAT_CONST
* Move 3dmanager lib before Omni
* Remove mxgeometry lib (`geom` is actually `lego/sources/geom`, which we don't have in our decomp yet)
* viewmanager has a dependency on realtime + fix mingw's def
* Remove Smacker::Smacker from lego1 link libraries
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-24 21:16:29 -05:00
Nathan M Gilbert
2bebc09da3
Implement misc.lib ( #483 )
...
* Implement misc.lib
* Lowercase files
* Minor changes
* Fix file cases
* Fixes
* Fix missing dtor
* Add override
* Match LegoImage::Read
* Fix delete call
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-24 18:12:57 +01:00
MS
a19165a749
LegoWorld::LegoWorld to 100% ( #480 )
2024-01-22 16:18:46 +01:00
Misha
05bc94f030
implement MxControlPresenter::ParseExtra ( #477 )
...
* MxControlPresenter::ParseExtra
* Update mxcontrolpresenter.h
* fix loop
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-21 12:45:40 -05:00
Misha
7b0d4dd502
Implement Infocenter::InitializeBitmaps ( #478 )
2024-01-21 18:38:22 +01:00
Christian Semmler
43c692c9d7
Minor fixes
2024-01-20 10:46:49 -05:00
Misha
8e1197d14c
implement LegoLoadCacheSoundPresenter ( #475 )
...
* fix
* fixes
* Fix WaveFormat, match LegoLoadCacheSoundPresenter
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-21 16:30:19 +01:00
Misha
3f35302e76
begin LegoLocomotionAnimPresenter ( #474 )
...
* LegoLocomotionAnimPresenter
* Fix game startup
* Fixes
* Add size assert
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-21 15:58:15 +01:00
MS
b5a3c5feea
Enforce vtable match ( #464 )
...
* vtable enforce
* Vtable progress
* IslePathActor subclasses
* LegoState subclasses
* LegoWorld subclasses
* Presenter progress
* Remaining presenters
* All but two that need new files
* Merge into vtable branch (#3 )
* Implement MxDisplaySurface::VTable0x44 (#467 )
* Update mxdisplaysurface.cpp
* add arguments to header
* Fix glitched bitmaps
* WIP fixes
* Match
* Fix
* Changes
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Implmement PoliceState::VTable0x1c (#468 )
* Implmement PoliceState::VTable0x1c
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Implement Lego3DView::Render (#470 )
* Implement Lego3DView::Render
* use MxDouble
* Revert "use MxDouble"
This reverts commit a006b60e2066b79ded3e15e143a302d8fd707deb.
* Begin work on Police class (#469 )
* Begin work on Police class
* Use JukeBox::e_policeStation value
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Implement MxDisplaySurface::CreateCursorSurface (#471 )
* Update mxdisplaysurface.cpp
* Fixes
* Update legovideomanager.cpp
* Match to 100%
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
---------
Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
* Police fix
* Finish
* motocycle lower case
* Update historybook.h
* Update hospitalstate.h
* Update jetski.h
* Update legoinputmanager.h
* Update legolocomotionanimpresenter.h
* Update pizza.h
* Update act3shark.h
* Update ambulancemissionstate.h
* Update bumpbouy.h
* Update doors.h
---------
Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
2024-01-20 18:04:46 -05:00
Misha
93012b62f4
Implement MxDisplaySurface::CreateCursorSurface ( #471 )
...
* Update mxdisplaysurface.cpp
* Fixes
* Update legovideomanager.cpp
* Match to 100%
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-20 22:12:35 +01:00
Joshua Peisach
67fa5e7cca
Begin work on Police class ( #469 )
...
* Begin work on Police class
* Use JukeBox::e_policeStation value
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-20 21:49:56 +01:00
Misha
1c612a2d25
Implement Lego3DView::Render ( #470 )
...
* Implement Lego3DView::Render
* use MxDouble
* Revert "use MxDouble"
This reverts commit a006b60e2066b79ded3e15e143a302d8fd707deb.
2024-01-20 21:43:53 +01:00
Joshua Peisach
46ad567760
Implmement PoliceState::VTable0x1c ( #468 )
...
* Implmement PoliceState::VTable0x1c
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-20 21:40:00 +01:00
Ramen2X
961282e3c6
add jukeboxscript enum ( #466 )
2024-01-20 12:41:22 -05:00
Misha
9a3df8d9f8
Implement various methods in InfoCenter folder ( #465 )
...
* push changes
* Fix return type of Infocenter::Tickle
* Fixes/matches
* Code clarity
* Move assert
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-20 15:24:54 +01:00
Joshua Peisach
9000f731ac
PoliceState constructor ( #463 )
...
* PoliceState constructor
* Changes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-20 15:22:33 +01:00
MS
ee7241f73d
GifManager: use STL members ( #460 )
...
* Truncate symbol names to 255 characters when matching
* GifManager refactor
* Refactor, annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-19 21:23:12 +01:00
Nathan M Gilbert
d5658efe02
Finish Bitmap ( #458 )
...
* Finish Bitmap
* Add missing vtable annotations
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-19 15:38:06 +01:00
Ramen2X
578e48ce52
implement/match InfoCenter::~InfoCenter() ( #457 )
2024-01-18 21:00:55 -05:00
Misha
61dd687f53
Implement InfoCenter folder vtable stubs ( #456 )
...
* Implement InfoCenter vtable stubs
* fix build
* Update infocenterdoor.cpp
* Update infocenterdoor.cpp
* Update legoworld.h
* Update elevatorbottom.h
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-18 20:24:15 -05:00
Ramen2X
ffee6a4e5b
rename dialogue to action in methods ( #454 )
2024-01-18 14:04:50 -05:00
Nathan M Gilbert
30b35981d3
finish MusicManager ( #453 )
...
* finish MusicManager
* Fixes/improvements
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-18 19:23:13 +01:00
MS
909c44b679
reccmp: vtable comparison ( #452 )
...
* Add vtable comparison to reccmp
* Add missing scalar deleting destructors
* Fix some vtables
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-18 14:34:14 +01:00
Ramen2X
99917ca765
initialize more members in LegoGameState ( #451 )
2024-01-17 16:24:22 -05:00
Misha
c0af1dbac4
implement LegoOmni::FUN_1005b4f0 ( #450 )
...
* push changes
* push changes
* fixes
* Changes
* Use proper values
* Name vtable function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-17 21:48:48 +01:00
Ramen2X
cf7466f901
name nearly every infomain action ( #449 )
...
* name nearly every infomain action
* label two more unused actions
2024-01-17 14:08:05 -05:00
Daniel Hejduk
6032c1bb27
Implement GasStation:GasStation() function ( #424 )
...
* Implementing GasStation:GasStation() function
* Update gasstation.cpp
* Update gasstation.cpp
* Adding m_unk variables to gasstation.h
* Update gasstation.h
* Update gasstation.h
* fixes + match gasstation ctor
* formatting fixes
* add offset markers to members
* formatting fix
---------
Co-authored-by: Ramen2X <64166386+Ramen2X@users.noreply.github.com>
2024-01-17 12:24:42 -05:00
Joshua Peisach
d369429e98
video/legohideanimpresenter: Init, dtor, most of destroy function ( #447 )
...
* video/legohideanimpresenter: Init, dtor, most of destroy function
* Format
* Finish Destroy
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-17 18:24:05 +01:00
Nathan M Gilbert
b25239f22d
Finish some missing methods ( #448 )
...
* Finish some missing methods
* Minor style updates/fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-17 18:08:48 +01:00
Christian Semmler
240ca5570d
Rename enum
2024-01-17 11:56:41 -05:00
Misha
f50b771fff
begin implementation of InfoCenter class ( #444 )
...
* Push changes
* fixes
* Implement Infocenter::HandleEndAction
* match Infocenter::StopCutScene
* implement Infocenter::HandleKeyPress
* fixes
* Update infocenter.cpp
* Update legoworld.cpp
* use enums
* WIP Fixes
* Fix
* Fix
* Fix
* Rename function
* Change enum
* Update enums
* Refactor another enum
* Refactor MxDSType
* Refactor HashTableOpt
* Fixes
* Refactor tickle enum
* Update other enums
* Add EnumConstantName to ncc
* Move enum to global namespace
* Rename enum
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-17 17:53:53 +01:00
MS
aaa18bc9e2
Decomp parser: indirect globals and string markers ( #446 )
...
* Enable string annotations and indirect globals
* Adding some STRING annotations
* Library functions
2024-01-17 12:56:34 +01:00
Christian Semmler
6af0c6cb1a
Implement/match a few LegoEntity functions ( #445 )
...
* Implement/match a few LegoEntity functions
* Add annotations
2024-01-16 20:33:03 +01:00
Christian Semmler
b1fdb780de
Add missing size asserts for lists
2024-01-15 15:59:57 -05:00
Christian Semmler
a4c4ee656f
Implement lists used in LegoWorld ( #443 )
...
* Add LegoEntityList
* Add MxCoreList, match LegoWorld::Create
2024-01-15 21:44:04 +01:00
Misha
6df310bb66
Implement LegoWorldPresenter::VTable0x60 ( #442 )
...
* LegoWorldPresenter::VTable0x60
* Update infocenter.cpp
* Minor adjustments
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-15 21:17:54 +01:00
Misha
5b7624c32a
implement part of LegoAnimPresenter ( #441 )
...
* push changes
* implement + match a few functions
* Update legoanimpresenter.h
* reorder
* Update legoanimpresenter.cpp
* Update legoanimpresenter.cpp
* Update legoanimpresenter.cpp
* fix build
* Allow isle to start
* Match LegoAnimPresenter::VTable0x88
* Fixes
* use EndAction in StartingTickle stub
* Match StreamingTickle
* Fix override
* Comment about missing vtable functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-15 20:37:50 +01:00
Misha
f116389373
implement a few MxControlPresenter functions ( #440 )
...
* MxControlPresenter
* Fixes
* Minor change
* Match MxControlPresenter::StartAction
* Use flags instead
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-15 20:08:28 +01:00
Misha
7f72a36462
Implement LegoMeterPresenter ( #439 )
...
* push changes
* Update legometerpresenter.h
* fix wrong offset
* fix deconstructor
* fix + improve accuracy
* Update legometerpresenter.cpp
* Match functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-15 16:26:52 +01:00
Misha
e9d8fde8bc
Fix wrong class name ( #438 )
...
* push changes
* fix
* rename file
2024-01-14 23:00:03 +01:00
Joshua Peisach
763fcf8980
ElevatorBottom ctor/dtor ( #436 )
...
* ElevatorBottom ctor
* ElevatorBottom destructor
* Use setters
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-14 22:58:00 +01:00
Christian Semmler
dd72bcc666
Use names from 1996 sources ( #437 )
2024-01-14 22:49:11 +01:00
MS
7e9d3bde65
Reccmp: Use symbol names in asm output ( #433 )
...
* Name substitution for reccmp asm output
* Decomp marker corrections
* Fix a few annotations
* Fix IslePathActor dtor
* Fix audio presenter
* Fix LegoEntity::Create
* Fix Pizza and related
* Fix path part
* Add missing annotations
* Add missing annotations
* Add more missing annotations
* Fix MxNotificationParam
* More fixes
* More fixes
* Add missing annotations
* Fixes
* More annotations
* More annotations
* More annotations
* More annotations
* Fixes and annotations
* Find imports and thunk functions
* Fix more bugs
* Add some markers for LEGO1 imports, fix SIZE comment
* Add more annotations
* Rename annotation
* Fix bugs and annotations
* Fix bug
* Order
* Update legoanimpresenter.h
* Re-enable print-rec-addr option
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-14 22:28:46 +01:00
Misha
7f7e6e37dd
implement LegoOmni::FindByEntityIdOrAtomId ( #435 )
...
* push changes
* Match and add annotations
* Fix annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-14 02:34:54 +01:00
Misha
8b34b38ac0
implement LegoActorPresenter ( #434 )
...
* LegoActorPresenter
* Add ddtor
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-13 23:06:13 +01:00
Misha
5b8ea35756
Implement Isle::VTable0x50 ( #432 )
...
* push changes
* fix formatting
* Fix structure
* Fix return
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-13 21:42:09 +01:00
Misha
c2da041f40
Implement a few legoworld methods ( #430 )
...
* Push changes
* Update legoworld.cpp
* Update legoworld.cpp
* Minor style fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-13 21:00:11 +01:00
Christian Semmler
7d2629318c
Match Lego3DView::Create ( #431 )
2024-01-13 20:58:10 +01:00
Christian Semmler
d24f5db42f
Matrix/vector refactor ( #426 )
2024-01-12 19:34:38 -05:00
Misha
eac096036a
implement LegoModelPresenter::Destroy ( #428 )
...
* LegoModelPresenter::Destroy
* remove debug print
* Update legomodelpresenter.cpp
2024-01-12 23:30:50 +01:00
Misha
3c0bf7191c
implement LegoWorldPresenter deconstructor ( #425 )
...
* Implement LegoWorldPresenter::~LegoWorldPresenter
* Rename incorrect function name
* fixes
* Rename functions
* fix format
2024-01-12 23:27:07 +01:00
Misha
602ba30fae
fix LegoPathPresenter vtable ( #427 )
...
* fix LegoPathPresenter vtbl
* Update legopathpresenter.cpp
* Update legopathpresenter.cpp
* fix override
* Update legopathpresenter.cpp
2024-01-12 23:22:42 +01:00
Christian Semmler
516e16faf6
Further clean up Omni/LegoOmni separation ( #423 )
...
* Fix inline functions
* Whitespace
* Try this
* Fix MxEntity
* Further fixes
* Move main out
* Replace tickle code
2024-01-11 16:02:55 +01:00
Christian Semmler
9eea48f629
Fix structure of Lego3DView ( #422 )
2024-01-10 23:40:24 +01:00
Anonymous Maarten
b996fff6fa
Support building isle with modern MSVC + msys2 ( #421 )
...
* cmake: detect older MSVC and define ENABLE_DECOMP_ASSERTS to enable decomp asserts
* Add /Zc:__cplusplus to define __cplusplus with c++ version number
* Silence deprecated CRT releated warnings
* LegoCameraController overrids some methods that are not defined in its parent(s)
* Tgl::Device::GetDrawnTriangleCount does not exist (FIXME: INCORRECT FIX -> Tgl::Device should be updated instead)
* Remove copy/pasted APP_ICON from lego1 resource.h header
* Implement empty ViewLODList::Dump method
* Also enable "compat mode" for newer MSVC compilers
* Only do decomp assertions when using older MSVC compilers
* msys2 mingw compat (cannot pass reference of rvalue)
* Fix msys2 mingw warning: declaration 'class Tgl::Group' does not declare anything
* Add FIXME comment to LEgo3DView::m_previousRenderTime
* LegoView1 is 16 bytes bigger then LegoView ==> 4 32-bit pointers
* include string.h for strlen
* Fix overrides
* Fix constness of method
* Fixes
* Formatting
* Add size assert for MxFrequencyMeter
* ci: build isle with msys2 + msvc on GitHub actions
* Set vcvars for msvc
* msys2 needs the msys2 shell
* Build in default shell
* isle is not 64-bit yet (I think)
* Print bitness
* Use amd64_x64 cross tools
* Minor updates
* Add more names
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-10 23:34:32 +01:00
Christian Semmler
01f3168e71
Use NULL where appropriate
2024-01-10 13:47:54 -05:00
Christian Semmler
e55b2ad639
Name a few members in LegoVideoManager
2024-01-10 13:45:52 -05:00
Christian Semmler
f6ced08b20
Add scalar ddtor annotations
2024-01-09 05:31:00 -05:00
Misha
58085df6b0
Implement most of LegoCameraController ( #419 )
...
* Implement LegoCameraController subclasses
* Update legopovcontroller.cpp
* fixes
* Update legocameracontroller.cpp
* fix naming conventions
* Update legopointofviewcontroller.h
* Update legopointofviewcontroller.h
* Fixes
* Match LegoPointOfViewController::Create
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-09 10:43:21 +01:00
Christian Semmler
58ea45f4cc
Name various functions and other members ( #418 )
...
* Name various functions and other members
* Rename var
2024-01-08 19:07:13 +01:00
Christian Semmler
091ecd5935
Move some classes to LegoOmni ( #417 )
2024-01-08 12:45:07 +01:00
Christian Semmler
c47206617d
Reorganize sources and files ( #414 )
...
* Reorganize sources
* Refactor
* Remove relative paths
* Renames
* Fix gitignore
* Remove stuff
* Try fixing format script
* Fix format
* Fix format
* Fix naming script
* Test format
* Fix format
2024-01-08 10:58:49 +01:00