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
d8fedab090
Implement MxDisplaySurface::VTable0x30 ( #705 )
...
* Implement MxDisplaySurface::VTable0x30
* improve match
* style
* fix style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-20 21:44:30 +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
Misha
d92963982a
Implement ViewManager::FUN_100a6dc0 ( #697 )
...
* Update viewmanager.cpp
* Fix function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 19:24:53 +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
78f0455463
Fix code quirk ( #676 )
2024-03-15 17:05:09 +01: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
MS
331aac73f2
Implement MxMemoryPool ( #671 )
...
* Implement MxMemoryPool
* Naming fix
* Annotations and size asserts
* hex padding
2024-03-13 21:44:07 -04: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
MS
dcc3946a08
Separate MxCore counter ( #663 )
2024-03-12 14:59:39 -04:00
MS
62a3f50287
KeyValueStringParse closer to beta version ( #656 )
...
* KeyValueStringParse closer to beta version
* Line numbers out
2024-03-12 14:27:24 -04: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
6972142923
Implement OrientableROI::GetLocalTransform ( #652 )
2024-03-10 16:10:53 +01:00
Christian Semmler
d090b449d1
Add CalcWorldBoundingVolumes ( #651 )
2024-03-10 15:29:16 +01:00
Christian Semmler
660c1e1170
Implement ViewManager::FUN_100a65b0 ( #650 )
2024-03-10 05:12:15 +01:00
Christian Semmler
a55b01d186
Implement ViewManager::FUN_100a66f0 ( #648 )
2024-03-10 04:47:13 +01:00
Christian Semmler
4b0c6d1f5f
Implement/match ViewManager::Update ( #647 )
...
* Implement/match ViewManager::Update
* Fix
2024-03-10 02:14:53 +01:00
Christian Semmler
86f84e1740
Implement/match ViewManager::FUN_100a6b90 ( #646 )
...
* Implement/match ViewManager::FUN_100a6b90
* Fix comment
* Fix order
2024-03-10 00:40:29 +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
8ecae549df
implement functions in ViewROI and ViewLodList ( #631 )
2024-03-05 22:15:32 +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
Misha
068760056a
fix bug in MxPresenter::CreateEntity ( #626 )
...
* fix bug in MxPresenter::CreateEntity
* Match 100%
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-04 23:00:38 +01:00
Christian Semmler
a78b1c7d49
Add missing include guard
2024-03-04 15:20:42 -05: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
Misha
7f5ad98749
implement ModelDbPart::Read & ModelDbModel::Read ( #620 )
...
* implement ModelDbPart::Read & ModelDbModel::Read
* Update modeldb.cpp
* Minor style fixes
* Add comment about buffer overrun
* Use sizeof on var
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-03 17:15:24 -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
05965f5357
Implement/match ViewManager ctor/dtor/structure ( #614 )
...
* Implement/match ViewManager constructor/structure
* Add dtor
2024-03-02 15:43:19 +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
ba8744ef8f
Match MxTickleManager::Tickle ( #609 )
2024-03-01 18:46: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
e609924e4c
Match MxDisplaySurface::Display ( #607 )
2024-03-01 03:42:50 +01:00
Christian Semmler
79713698cf
Improve match of MxVideoPresenter::PutFrame ( #606 )
...
* Improve match of PutFrame
* Fix
* Fix
* Fix
2024-03-01 02:45:30 +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
Nathan M Gilbert
ff04b0ba5a
Implement FLIC ( #481 )
...
* Implement FLIC
* Refactor/style
* Remove library_flic.h
* Exclude flic.cpp from naming
* Temporary workaround
* Fix type
* Fix bugs in FLC decoding, and cleanup
* Fix braces
* Match ClampLine
* Fix struct type
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-29 18:00:57 +01:00
Christian Semmler
dd1979154d
Match MxWavePresenter::DoneTickle ( #604 )
2024-02-28 23:10:05 +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
Anonymous Maarten
ccb6223d70
Decompiled CONFIG.EXE executable ( #533 )
...
* mxdirectdraw: no need to explicitly add a terminating '\0' in C
* mxstopwatch must include LIMITS.H for ULONG_MAX
* Add Config app
* 88.78%
* style fixes
* Test more CONFIG things
* Add a few assertions on MFC classes
* reformat
* actionSSSSSSSSSSSSSSS
* actions again
* decomplint needed a shebang
* Fix annotations of Message Map entries
* ci: We're building CONFIG.EXE, not CONFIG.DLL
* remove ninja.exe
* Fix CAboutDialog::GetMessageMap annotation
* format reloaded
* Fix global CConfigApp object annotation
* trigger worflows
* ci: request at least python 3
* oops :)
* curl CONFIGPROGRESS-OLD.TXT will fail
* Forget about actions/setup-python (for now)
* Annotation fixes
* Config tweaks and MxDirect3d annotations
* It's important to compare against the correct file
* Introduce common CDialog parent for CAboutDialog and CMainDialog
* format
* Remove CSerializer
---------
Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2024-02-07 12:11:45 +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
Anonymous Maarten
ac8ddca405
Implement mxdirectx stubs ( #525 )
...
* Implement MxDeviceEnumerate::SupportsMMX
* Implement MxDeviceEnumerate::EnumerateErrorToString
* fixes
* fixes
* Remove STUB from function
* Fix error messages
* Use return type int
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-04 15:46:15 +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
Christian Semmler
e68e25275f
Fix buffer exhaustion / audio glitches
2024-02-03 16:12:31 -05:00
Christian Semmler
f405ca51fc
Fix MXIOINFO::Advance
2024-02-02 22:17:10 -05:00
Christian Semmler
a131f89290
Fix MxDSBuffer::FUN_100c6fa0
2024-02-02 22:01:57 -05:00
Christian Semmler
f0ea8850c4
Match MxDSFile scalar ddtor, add annotations ( #523 )
2024-02-03 17:33:22 +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
Christian Semmler
b4bc0e51c9
Make all functions public symbols in FLIC library ( #472 )
2024-01-20 20:23:23 -05: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
Misha
ea5f9b4886
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>
2024-01-20 20:31:07 +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
Christian Semmler
701c700d69
Add library symbols for flic and smack ( #461 )
2024-01-19 23:11:51 +01:00
Christian Semmler
1c4f772a82
Implement/match MxOmni::ActionSourceEquals ( #462 )
2024-01-19 23:06:39 +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
Christian Semmler
35e5a62ff7
Implement/match MxLoopingFlcPresenter remaining functions ( #459 )
...
* Implement/match MxLoopingFlcPresenter remaining functions
* Remove include
* Change to long
2024-01-19 16:33:04 +01:00
Christian Semmler
dbfe28db51
Fix type
2024-01-18 21:24:12 -05:00
Christian Semmler
8007c5e483
Match MxFlcPresenter::LoadFrame to 100%
2024-01-18 21:23:07 -05: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
Christian Semmler
cecaced797
Implement MxFlcPresenter::LoadFrame, add flic
library ( #455 )
...
* WIP
* Match
* Fix flic.lib
* Add source assembly
* Rename variable
2024-01-19 15:01:57 +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
Christian Semmler
f1300d9de5
Match MxMusicManager::ResetStream
2024-01-18 14:42:37 -05:00
Ramen2X
ffee6a4e5b
rename dialogue to action in methods ( #454 )
2024-01-18 14:04:50 -05:00
Christian Semmler
62e584b024
Fix build
2024-01-18 13:49:08 -05:00
Christian Semmler
ea9d92e1e3
Use MSVC 4.20 definition of MIDICALLBACK
2024-01-18 13:39:26 -05:00
Christian Semmler
be045514ed
Add test for SUCCESS
2024-01-18 13:29:00 -05:00
Christian Semmler
5d79ac9436
Fix MxMusicManager::InitializeMIDI return type
2024-01-18 13:26:51 -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
0edbd9dab9
Update mxvideopresenter.cpp
2024-01-13 09:39:33 -05:00
Misha
d5d4a8b0ff
Update mxvideopresenter.cpp ( #429 )
2024-01-13 09:32:45 -05: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
99ee212213
Fix inclusion of MxPresenter class in ISLE
2024-01-11 10:48:00 -05: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
Nathan M Gilbert
5a2be934be
Finish StreamProvider classes ( #420 )
...
* Finish StreamProvider classes
* Fix variable name
* Use FOURCC
* Match FUN_100c7090
* Changes
* Readability
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-10 12:55:25 +01:00
Christian Semmler
872c62fd39
Match LegoCameraController::LegoCameraController
2024-01-09 10:30:37 -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
79465d358d
Fix MxWavePresenter::StartingTickle
2024-01-07 22:28:16 -05:00
Christian Semmler
855e548516
Make comparison more obvious
2024-01-07 21:23:09 -05:00
Christian Semmler
569d8ace96
Fix actions not ending
2024-01-07 20:55:32 -05: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
Misha
4c0de81b6a
Update legoactioncontrolpresenter.cpp ( #416 )
2024-01-07 17:03:04 -05:00
Anonymous Maarten
fbe7f8bbb0
Fix all mingw errors & warnings ( #411 )
...
* Use COMPAT_MODE macro to fix errors with mingw gcc 12.2
* MxOmni::m_timerRunning is a MxBool
* MxDirect3D::m_unk0x88c is a MxBool
* MxBackgroundAudioManager::m_unk0x13c is a MxS32
* Fix warning: deleting 'void*' is undefined [-Wdelete-incomplete]
* Fix inline function 'void TglImpl::RendererImpl::Destroy()' used but never defined
* Fix warning: inline function 'MxStreamerSubClass1::MxStreamerSubClass1(undefined4)' used but never defined
* Use `FALSE` for m_timerRunning
* Format
* Format
* Remove comment
* Limit scope for variables in compat mode
* clang-format
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-07 18:30:45 +01:00
Christian Semmler
bb7e4df11b
Move MxDirectDraw and MxDirect3D to mxdirectx ( #413 )
2024-01-07 18:07:22 +01:00
Christian Semmler
8db36722d8
Implement/match Lego3DView and parent classes ( #412 )
...
* Implement/match TglSurface
* Implement/match LegoView/1
* Lego3DView
* Fixes
* Lego3DManager
* Remove garbage
* Remove garbage
* Use shorthand calls
2024-01-07 03:29:32 +01:00
Anonymous Maarten
dc3500f631
Fixes for building isle with mingw on Linux ( #410 )
...
* Add LEGO1.DLL resources
* Rename smack files to lowercase
This fixes casing issues with mingw on Linux
Also use double quotes for #error
* cmake: dxguid must come after dinput
* cmake: create LEGO1.DLL instead of libLEGO1.DLL, when using mingw
* act3actor.h was not including mxcore.h, and using incorrect override
* g_mcoreCount seem to be signed integers
* LegoCameraController: return references to static data in stub functions
* Include string.h, stdlib.h and stdio.h for use of libc functions
* Override MxAtomId::operator!=
* Fix use of STL's std::map + std::vector
* Fix template functions for mingw
* iterator object is used after the for loop
* IDirectDrawSurface::BltFast's first 2 arguments are x/y coordinates, not pointers
* Add stub ViewLODListManager::Lookup
* Fixes
* Format
* Remove unnecessary COMPAT_CONST use
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-06 18:56:15 +01:00
Christian Semmler
dac2a517c3
Implement/match LegoVideoManager::Tickle ( #409 )
...
* Implement LegoVideoManager::Tickle
* Match
* Remove duplicate annotations
* Add missing annotations
* Rename list functions
* Fix
* Rename some symbols
2024-01-06 18:06:50 +01:00
Christian Semmler
27269647f8
Implement/match LegoVideoManager::ConfigureD3DRM ( #408 )
...
* Implement/match LegoVideoManager::ConfigureD3DRM
* Fix name
* Remove unnecessary forward decl
2024-01-05 20:38:34 +01:00
Misha
9651ece809
Improve accuracy of MxOmni::CreatePresenter ( #407 )
...
* Improve accuracy of MxOmni::CreatePresenter
* Update mxactionnotificationparam.cpp
* Match to 100%
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-05 18:31:19 +01:00
Misha
9a5e1cb853
legomodelpresenter vtable ( #406 )
...
* legomodelpresenter vtable
* Update legomodelpresenter.cpp
* Update legomodelpresenter.cpp
2024-01-04 20:01:04 -05:00
MS
ce68a7b1f4
Reccmp comparison engine refactor ( #405 )
...
* Reccmp comparison engine refactor
* Remove redundant references to 'entry' symbol
2024-01-04 18:12:55 -05:00
Christian Semmler
eeb980fa0f
Let game boot again ( #404 )
2024-01-04 22:46:16 +01:00
Christian Semmler
5aef35d9c7
Fix member visibility
2024-01-04 06:35:28 -05:00
Christian Semmler
54ed98b9d6
Implement/match MxDirect3D::D3DSetMode ( #403 )
...
* Implement/match MxDirect3D::D3DSetMode
* Match
2024-01-04 22:16:16 +01:00
Misha
a899b06f5a
implement MxDirect3D::GetZBufferDepth ( #402 )
...
* GetZBufferDepth
* Match
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-04 21:35:52 +01:00
Christian Semmler
d4e7bb1132
Implement/match MxDirect3D::SetDevice ( #401 )
...
* WIP
* WIP
* WIP
* Rename class
* Rename vars
* Rename function
* Rename
* Rename flag
* Fix deletion of modeArray
* Remove obsolete comment
2024-01-04 20:37:15 +01:00
Misha
21d096dcd2
implement TowTrackMissionState ( #399 )
...
* TowTrackMissionState
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-04 04:31:55 +01:00
Christian Semmler
49e3fa238f
Implement/match most remaining MxDirect3D device enumeration functions ( #400 )
...
* WIP
* WIP
* Implement/match most remaining MxDirect3D device enumeration functions
* Fix names
2024-01-04 04:03:02 +01:00
Christian Semmler
778b0f2108
Implement/match MxDeviceEnumerate::ParseDeviceName and ProcessDeviceBytes ( #398 )
...
* WIP
* WIP
* WIP
* WIP
* WIP
* WIP
2024-01-03 21:53:21 +01:00
Christian Semmler
5ee268a36c
Implement/match device enumeration ( #397 )
...
* Implement/match device enumeration
* Update skip
2024-01-03 18:50:25 +01:00
Christian Semmler
106dd7cebc
Implement/match display mode enumeration ( #396 )
...
* Implement/match display mode enumeration
* Improve match of EnumDirectDrawCallback
* Fix annotations
2024-01-03 18:12:17 +01:00
Christian Semmler
31a5562034
Implement/match MxDeviceEnumerate::EnumDirectDrawCallback ( #395 )
...
* Implement/match MxDeviceEnumerate::EnumDirectDrawCallback
* Change type
* Annotate copy ctor
* Fix type
2024-01-03 17:35:55 +01:00
Christian Semmler
7d4e94abd6
Match EnumerateCallback
2024-01-02 14:57:30 -05:00
Christian Semmler
afe537b99e
Name some MxDSChunk flags ( #394 )
2024-01-02 19:32:01 +01:00
Joshua Peisach
3f2fac72e4
Hospital ctor ( #392 )
...
* Hospital ctor
* Remove padding
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-02 04:30:50 +01:00
Christian Semmler
56af87b229
Implement/match LegoVideoManager::CreateDirect3D
2024-01-01 21:23:47 -05:00
Christian Semmler
935ebe6910
Implement LegoVideoManager::Create and related ( #393 )
...
* WIP
* Match
* Changes
* Fix format
* Style fixes
* Update naming.yml
* Match to ~85%
2024-01-02 01:17:38 +01:00
Christian Semmler
1e43f20af5
Implement MxDisplaySurface::VTable0x28 ( #391 )
...
* WIP
* Fixes
* Fixes
* Fixes
* Remove comments
* Create native palette in LegoVideoManager
* Improvements
* Improvements
* Improvements
* Improvements
* Improvements
* Improvements
* Improvements
* Improvements
* Fixes
* Improvements
2023-12-31 21:29:05 +01:00
Joshua Peisach
5400d7476f
MxDisplaySurface::SetPalette() ( #358 )
...
* Start MxDisplaySurface::SetPalette()
* Add Counting functions, more on SetPalette
* Finish base implementation of SetPalette and begin cleanup
* clang-format
* Fixes/improvements
* Format
* Fix naming
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-30 22:47:07 +01:00
Christian Semmler
bb22b21260
Implement FUN_100b6e10
and MxRect32 adjustments ( #390 )
...
* Some WIP rect
* Adjustments to MxRect32
* Spacing
* Changes
* Spacing
* Spacing
2023-12-30 05:55:36 +01:00
Christian Semmler
b4b73465d0
Mostly match MxStreamer::Notify
2023-12-29 18:44:46 -05:00
Christian Semmler
56687e86fb
Mostly match MxStreamer::Close
2023-12-29 18:40:54 -05:00
Christian Semmler
562d6a966e
Match MxRAMStreamProvider::SetResourceToGet
2023-12-29 18:33:30 -05:00
Christian Semmler
c890831c41
Remove obsolete comment
2023-12-29 18:04:54 -05:00
Christian Semmler
4b08cb4a7e
Rename functions for consistency
2023-12-29 18:01:24 -05:00
Christian Semmler
6ac505fb49
Add missing annotations to MxDisplaySurface
2023-12-29 17:59:09 -05:00
Christian Semmler
a8837a72cf
MxVideoPresenter::GetHeight hotfix
2023-12-29 17:34:10 -05:00
Christian Semmler
51adb31541
Implement MxVideoPresenter::PutFrame ( #389 )
...
* Implementation of MxVideoPresenter::PutFrame
* Add TODOs
2023-12-29 16:30:17 -05:00
Misha
ceb5339369
Infocenter vtable ( #387 )
...
* implement parts of legoworld/infocenter
* Update infocenter.cpp
* Update infocenter.cpp
* Update infocenter.cpp
* Update infocenter.cpp
* Update infocenter.cpp
* Match LegoWorld::Tickle
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-29 19:04:18 +01:00
Misha
a95bdcc4ad
Implement InvokeAction ( #386 )
...
* push changes
* Update legoutil.cpp
* Fixes / match
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-29 16:22:18 +01:00
Christian Semmler
d82d062e92
Implement/match MxRegionCursor class ( #385 )
...
* Implement/match MxRegionCursor class
* Rename function
2023-12-29 05:37:21 +01:00
MS
3f63950a7d
Fix new/delete symbol reference ( #384 )
2023-12-28 18:02:02 -05:00
MS
9a6d555508
Cvdump parser and comparing library functions ( #383 )
...
* Cvdump wrapper and parser. Matching library functions
* Remove 'Self' type int (3.11+)
* Add temp reference for entrypoints
* ISLE using multithreaded libc
* 🙄
2023-12-28 22:10:57 +01:00
Joshua Peisach
ff4845a6ea
MxLoopingFlcPresenter::Destroy ( #382 )
...
* MxLoopingFlcPresenter::Destroy
* Use parent class call
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-28 19:55:03 +01:00
Misha
a06a360dc6
Implement Lego3DManager ( #380 )
...
* Implement Lego3DManager
* Update lego3dview.cpp
* fix
* fixes
* fix wrong vtable address
* Fixes/matches
* Fix Lego3DView
* Use undefined
* More fixes
* Rename
* Rename pad
* Add blank line
* Delete stuff
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-28 18:38:37 +01:00
Christian Semmler
e76cf3427c
Add and fix some annotations
2023-12-28 11:56:54 -05:00
Christian Semmler
e17e8ed5ae
Implement/match MxDiskStreamProvider destructor ( #381 )
2023-12-28 17:46:12 +01:00
Christian Semmler
e3488498f9
Implement/match MxDiskStreamController destructor ( #379 )
2023-12-28 17:19:40 +01:00
Misha
4d7968c7af
implement LegoWorldPresenter::StartingTickle ( #378 )
2023-12-27 16:05:21 -05:00
MS
bcb7bec68b
Improve handling of variables for decomp parser ( #376 )
...
* Parser refactor:
- Handling LIRBARY and STRING markers
- Extracting global variable name for future comparison
- Marking function static variables
- More fluent error messages
* String constants annotated with STRING
* fix variable name
* Should compare LIBRARY markers
2023-12-27 15:59:42 -05:00
Misha
dfad323880
Finish LegoPalettePresenter ( #377 )
...
* LegoPalettePresenter implementation
* Update legopalettepresenter.cpp
* Update legopalettepresenter.h
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-27 21:44:51 +01:00
Christian Semmler
306d08c581
Reorder delcarations, add some annotations
2023-12-27 15:31:51 -05:00
Joshua Peisach
d5854a46ae
HospitalState ctor ( #375 )
...
* HospitalState ctor
* Add member offsets in HospitalState header
* Remove unhelpful comment
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-27 19:36:32 +01:00
Joshua Peisach
c6174c2a13
Bootstrap rest of LegoTexturePresenter ( #374 )
...
* Bootstrap rest of LegoTexturePresenter
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-27 19:32:32 +01:00
Joshua Peisach
d2b05a0983
LegoFlcTexturePresenter init function ( #373 )
...
* LegoFlcTexturePresenter init function
say that 5 times fast
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-27 19:30:16 +01:00
Joshua Peisach
f1f6743d08
CarRace ctor ( #372 )
...
* CarRace ctor
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-27 19:27:02 +01:00
Misha
5a1ba02772
implement LegoWorldPresenter::StartAction ( #371 )
2023-12-27 16:31:06 +01:00
Christian Semmler
ac6eb28dc4
Implement/match MxStreamer::DeleteObject ( #370 )
2023-12-27 03:17:20 +01:00
Christian Semmler
6e947c3789
Implement/match MxStreamController::FUN_100c20d0 ( #369 )
...
* Implement/match MxStreamController::FUN_100c1f00
* Implement/match MxStreamController::FUN_100c20d0
2023-12-27 02:54:17 +01:00
Christian Semmler
88d267f9f3
Implement/match MxStreamController::FindNextActionDataStartFromStreamingAction ( #368 )
...
* Implement/match MxStreamController::FUN_100c1f00
* Implement/match MxStreamController::FindNextActionDataStartFromStreamingAction
2023-12-27 02:39:48 +01:00
Christian Semmler
cfe28a2b26
Implement/match MxStreamController::FUN_100c1f00 ( #367 )
2023-12-27 02:33:53 +01:00
Misha
59d999f6dc
LegoWorldPresenter vtables ( #366 )
...
* Legoworld vtables
* fixes
* fix
* formatting
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-27 01:45:48 +01:00
Christian Semmler
b35a121ee2
Fix LegoModelPresenter::IsA
2023-12-26 19:44:55 -05:00
Misha
40d51659d3
Add most of LegoObjectFactory ( #365 )
...
* push changes
* push changes
* fix
* Update legoracecar.h
2023-12-26 18:10:28 -05:00
Misha
22d72893f9
Finish LegoEntityPresenter ( #363 )
...
* Lego entity implementation
* Finish LegoEntityPresenter::ReadyTickle
* Update legoentitypresenter.h
* use empty
* Formatting
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-26 23:42:29 +01:00
Misha
ceca2aac31
Implement a few LegoVideoManager/MxDisplaySurface functions ( #364 )
...
* implement a few functions
* fixes
* Fixes
* Add annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-26 23:20:20 +01:00
Misha
e824e321e8
Implement chunk parsing ( #362 )
...
* partial parsechunk implementation
* fix format
* param name fix
* rename functions
* match MxStreamController::RemoveSubscriber
* implement rest of MxDSBuffer
* Fixes and better matches
* Matche ParseChunk 100%
* Match MxDiskStreamProvider::VTable0x20
* Match MxDSBuffer::CalcBytesRemaining
* Minor stuff
* Minor improvements
* Refactor functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-26 22:27:54 +01:00
Christian Semmler
17522b98d4
Refactor MxBitmap inline functions, match ImportBitmap
2023-12-25 21:58:39 -05:00
Christian Semmler
c507454dd1
Match MxBitmap::CreatePalette
2023-12-25 21:16:14 -05:00
Christian Semmler
a25bcecf47
Fix/match MxBitmap::SetBitDepth
2023-12-25 20:54:44 -05:00
Christian Semmler
77755570f2
Fix a few annotations
2023-12-25 19:42:40 -05:00
Christian Semmler
33bf35af95
Remove OutputDebugString
2023-12-25 17:51:15 -05:00
Joshua Peisach
c8ec60b62c
LegoLoadCacheSoundPresenter ctor, dtor, init, destroy ( #360 )
...
* LegoLoadCacheSoundPresenter ctor, dtor, init, destroy
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-25 23:46:15 +01:00
Misha
57b11866ed
Implement MxDSBuffer::FUN_100c67b0 ( #361 )
...
* push changes
* improve match of SwapBuffers
* rename function
* Improve match of MxDSBuffer::FUN_100c67b0
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-25 23:39:31 +01:00
Christian Semmler
2827ef74de
Hotfix GetString missing pointer indirection
2023-12-25 15:22:20 -05:00
Christian Semmler
762681a821
Create MxSoundManager in LegoSoundManager for now
2023-12-25 13:34:13 -05:00
Misha
cb8c143ce5
Finish MxDiskStreamController methods ( #359 )
...
* more mxdiskstreamcontroller methods
* further debugging and fixes
* add more functions
* Update mxdiskstreamprovider.cpp
* fix build
* implement MxDiskStreamProvider::PerformWork
* Update mxdiskstreamprovider.cpp
* Update mxdiskstreamprovider.cpp
* Update mxdssource.h
* remove debug prints
* Update mxdiskstreamprovider.cpp
* Mostly match MxDiskStreamController::FUN_100c8540
* Mostly match MxDiskStreamProvider::FUN_100d1780
* Mostly match MxDiskStreamProvider::PerformWork
* Fixes
* Retype some members
* Various annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-25 19:32:01 +01:00
Christian Semmler
f3c1fc75e2
Mostly match MxDSBuffer::AllocateBuffer
2023-12-24 18:09:01 -05:00
Christian Semmler
afd24fbe18
Implement MxStreamController::FUN_100c1a00 ( #357 )
...
* Implement MxStreamController::FUN_100c1a00
* Move include
2023-12-24 21:00:20 +01:00
Christian Semmler
84056c6ea2
Improve MxTickleManager::Tickle code gneeration
2023-12-24 11:48:40 -05:00
Christian Semmler
d23b4db2ff
Match MxDiskStreamProvider::SetResourceToGet
2023-12-24 10:01:23 -05:00
Joshua Peisach
43efcc5253
jukebox ctor ( #356 )
...
* jukebox ctor
* naming conventions
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-24 15:16:07 +01:00
Christian Semmler
848a92735f
Match MxStreamer::Open
2023-12-24 09:14:47 -05:00
Christian Semmler
bbe5d6f810
Add MxStreamController::~MxStreamController ( #355 )
2023-12-24 14:52:26 +01:00
Christian Semmler
24a3a8f3fd
Fix match of MxDiskStreamController::VTable0x28
2023-12-23 14:19:32 -05:00
Christian Semmler
439173f1d5
Implement/match rest of MxDSSubscriber ( #354 )
...
* Implement/match rest of MxDSSubscriber
* Fix MxRAMStreamController::VTable0x20 match
* Match MxRAMStreamController::DeserializeObject
2023-12-23 16:42:30 +01:00
Christian Semmler
9eefc82c8c
Bootstrap MxDSSubscriber ( #352 )
...
* Bootstrap MxDSSubscriber
* Fix offset comment
2023-12-23 14:40:39 +01:00
Christian Semmler
f75bbf478e
Replace more magic values
2023-12-22 14:10:20 -05:00
Christian Semmler
2686643d20
Replace magic values with proper flag clearing
2023-12-22 13:57:23 -05:00
Christian Semmler
cdc7b43db2
Implement/match MxLoopingSmkPresenter ( #351 )
...
* Implement/match MxLoopingSmkPresenter
* Rename variable
* Rename variable
2023-12-22 20:05:42 +01:00
Misha
e22ad6031c
More MxDiskStreamController functions ( #350 )
...
* push code
* remove accidently commited code
* Update mxstreamcontroller.cpp
* implement MxDiskStreamController::VTable0x30
* implement MxDiskStreamController::VTable0x28
* Update mxdiskstreamcontroller.cpp
* FUN_100c7d10 & FUN_100c8360
* fix format
* Match MxDiskStreamController::FUN_100c7980
* Improve match of MxDiskStreamController::VTable0x28
* Match MxDiskStreamController::FUN_100c7d10
* Minor style fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-22 20:03:55 +01:00
Christian Semmler
acdaf4ed4c
Finish implementation of MxSmack ( #349 )
...
* Finish implementation of MxSmack
* Fix var name
2023-12-22 07:26:54 -05:00
Christian Semmler
c51aed256b
Implement/match MxSmack::LoadFrame ( #348 )
2023-12-22 03:11:14 +01:00
Misha
6d0d308c37
Add unknown render class stub ( #347 )
...
* Add mxrender manager class stub
* fix format
* rename the class
* Update MxUnknown100dbdbc.cpp
* rename class
* fix clang format
* Remove accidently committed code
* Update LEGO1/legoomni.cpp
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
* fix
* fix 2
---------
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
2023-12-21 19:21:56 +01:00
Nathan M Gilbert
2c018c117c
Implement Helicopter subclass ( #336 )
...
* Implement Helicopter subclass
* Minor fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-21 16:59:26 +01:00
Christian Semmler
71ed20bf11
Implement/match rest of MxSmkPresenter ( #345 )
...
* Implement/match rest of MxSmkPresenter
* Fix include guard
* Update mxregion.cpp
* Match MxRegion::VTable0x18
* Fix
* Fix matches
* Remove class name
2023-12-21 16:52:42 +01:00
Misha
20a9a2b4c3
implement EnableFullScreenMovie and FUN_100ba640 ( #346 )
...
* implement EnableFullScreenMovie and FUN_100ba640
* Match MxDisplaySurface::FUN_100ba640
* Match LegoVideoManager::EnableFullScreenMovie
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-21 16:44:54 +01:00
Christian Semmler
afadca953b
Refactor MxPtrList to use p_ownership
( #344 )
...
* Refactor MxPtrList to use p_ownership
* Remove class names
2023-12-21 02:09:05 +01:00
Christian Semmler
db60467ba3
Bootstrap MxSmack ( #343 )
...
* Bootstrap MxSmack
* Add comment about incorrect structure
* Fix naming
* Fix name
* Add a comment about SDK
* Add names from Smacker SDK
* Use SMACK.LIB and interface
* Use RAD.H defined types
* Use different commets
* Fix member offset
* Update mxsmack.cpp
2023-12-21 02:07:48 +01:00
MS
994d17a85e
Decomp linter warning for offset reuse ( #342 )
...
* Linter warning for offset reuse in codebase
* Fix repeated offset problems
2023-12-17 17:45:33 -05:00
Christian Semmler
59ca9b6155
Sort inline function with the others
2023-12-17 10:57:29 -05:00
Misha
9eebe18161
fix incorrect location of functions ( #341 )
2023-12-17 18:28:11 +01:00
Misha
20daddde32
implement MxDSBuffer object creation ( #340 )
...
* push changes
* Update mxstreamcontroller.cpp
* fix build
* MxStreamChunk
* fix format
* Match functions
* Add a comment
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-17 18:24:39 +01:00
Misha
d72c767685
Implement a few legoomni/mxomni functions ( #339 )
...
* LegoOmni functions
* fix build
* Update mxstreamcontroller.cpp
* fixes + improve match
* Update mxomni.cpp
* Update mxdsobject.h
* improve match
* Update mxactionnotificationparam.h
* MxOmni::HandleActionEnd
* fixes
* Update LEGO1/mxstreamer.cpp
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
* A bunch of fixes
---------
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-16 19:14:01 +01:00
Misha
72c34949e5
implement Isle::Notify ( #338 )
...
* isle::notify
* Match Isle::Notify
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-16 17:01:22 +01:00
Christian Semmler
412dda3e99
Implement/match rest of MxCompositeMediaPresenter ( #331 )
...
* Implement/match rest of MxCompositeMediaPresenter
* Fix annotation
2023-12-16 16:59:01 +01:00
Misha
76b4edaa9e
AmbulanceMissionState/AnimState constructors ( #337 )
...
* implement a few states
* Update animstate.h
* Update animstate.cpp
2023-12-16 09:11:10 -05:00
Christian Semmler
ad9cc339e9
Add missing override specifier, fix some types
2023-12-15 17:29:32 -05:00
Misha
a1b7a8bc66
Additional isle functions ( #335 )
...
* additional Isle functions
* fix
* Update isle.cpp
* add notify + fix typo
* Update legoutil.h
* Match Isle::Create
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-16 00:11:34 +01:00
Christian Semmler
1dc5d90d45
Disable warning 4237
2023-12-15 23:09:34 +01:00
Misha
04d9524a90
some gamestate functions ( #333 )
...
* some gamestate functions
* fix order
* fix naming convention
* Update legogamestate.cpp
* fix
* Add stub ScoreStruct
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-15 23:01:09 +01:00
Christian Semmler
540a930494
Fix annotation
2023-12-15 17:43:44 +01:00
Joshua Peisach
0eada87b93
Bootstrap MxControlPresenter ( #332 )
...
* Start MxControlPresenter vtable functions
* Add changes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-15 17:41:07 +01:00
Christian Semmler
7615585f36
Implement/match MxCompositeMediaPresenter::StartAction ( #326 )
...
* Implement/match MxCompositeMediaPresenter::StartAction
* Add missing override
2023-12-15 16:22:07 +01:00
Misha
53caf30ab0
Isle & Radio constructors ( #330 )
2023-12-15 00:24:21 +01:00
Nathan M Gilbert
deaed23e41
Implement Helicopter ( #329 )
...
* Implement Helicopter
* Fix names
* Fix some issues
* Disable warning
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-14 17:50:29 +01:00
Misha
88581420d5
Finish MxRAMStreamProvider and MxRAMStreamController ( #328 )
...
* Finish MxRAMStreamProvider
* Fix formatting
* fix naming conventions
* use no parameter name for FUN_100c67b0
* fixes
* fixes
* Update mxramstreamcontroller.h
* fix build
2023-12-13 18:11:07 -05:00
MS
5f8e26fc5b
Use relocation table with reccmp ( #327 )
2023-12-13 17:30:34 -05:00
Misha
403b3dddb4
Implement MxDiskStreamController::VTable0x20 ( #325 )
...
* push code
* fixes
* Update mxdiskstreamcontroller.h
* Update mxdsstreamingaction.h
* Match MxDiskStreamController::VTable0x20
* Move declaration
* Remove cast
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-13 22:44:14 +01:00
Christian Semmler
0278d032b9
Bootstrap MxCompositeMediaPresenter ( #321 )
...
* Bootstrap MxCompositeMediaPresenter
* Fixes
2023-12-13 13:53:17 +01:00
Christian Semmler
fd656eacdc
Implement/match rest of MxCompositePresenter ( #320 )
...
* Implement/match more of MxCompositePresenter
* Use parameter to `DeleteAll` instead of separate function
* StartAction match
* Implement/match rest of MxCompositePresenter
* Move annotation
* Add parameter name
* Merge
* Remove junk
* Move annotation
* Fixes
2023-12-13 12:59:22 +01:00
Christian Semmler
bc5ca621a4
(Proposal) Introduction of naming convention checker (ncc
) ( #322 )
...
* Add ncc tool
* Add symlink
* Fixes
* Try this
* Try this
* Try this
* Try this
* Add include path
* Update style
* Update style
* Add more rules
* Fix style
* Update styles
* Fix name parameter
* Fix MxParam p
* Fix m_unk0x pattern
* Allow 4 digits for relative hex
* Add missing offset
* Fix some parameters
* Fix some vtables
* Fix more vtables
* Update rules, fixes
* More fixes
* More fixes
* More fixes
* More fixes
* More fixes
* More fixes
* More fixes
* Fix last issue
* Update readme
* Update readme
* Update CONTRIBUTING.md
* Fix annotations
* Rename
* Update CONTRIBUTING.md
* Update README.md
2023-12-13 11:48:14 +01:00
Christian Semmler
3b155bfe38
(Discussion/Proposals) Consistency regarding annotations of header-implemented functions ( #316 )
...
* Open discussion
* Move annotations of header-implemented functions back to `.h` files
* Adjust `README.md`
* Relocate annotation
* linter
* Comment markers in headers only, rename script, update github actions
* type hint compat
* Rename github action, better argparse for linter
* Type hints, working test for byname ignore
* Move annotation
* CI rename and enable warnfail, enforce mode always on
* Two step linting
* or one step
* continue on error
* two jobs instead
* Fixes
---------
Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-12 20:27:17 +01:00
Christian Semmler
4dd0d60dec
Implement/match more of MxCompositePresenter ( #315 )
...
* Implement/match more of MxCompositePresenter
* Use parameter to `DeleteAll` instead of separate function
* StartAction match
2023-12-11 16:35:50 -05:00
Christian Semmler
a7194266b3
Refactor utility/decomp headers ( #318 )
2023-12-11 16:33:46 -05:00
Misha
3b30607337
implement a few mxstreamercontroller vtables ( #323 )
...
* implement a few mxstreamercontroller vtables
* Update mxstreamcontroller.cpp
2023-12-11 16:17:25 -05:00
Christian Semmler
2a16a508a5
(Proposal) Use alternative C4786 warning suppression ( #312 )
...
* Use alternative warning suppression
* Remove newline
* Fix script
* Patch C2.EXE to disable C4786 warning
* Delete compile.cmd
* py-fixes
* Update tools/patch_c2.py
* Update tools/patch_c2.py
---------
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2023-12-08 06:37:44 -05:00
MS
ce686705f2
Refactor MxList cursors ( #313 )
...
* LegoWorldList
* Refactor list cursors
* Add decomp markers for list cursors
* Fix decomp markers
* MxRegionListCursor edit to prevent accuracy drop
* Better fix for MxRegionListCursor
2023-12-07 14:14:49 -05:00
Christian Semmler
1485e5df47
Implement/match most of MxStillPresenter ( #309 )
...
* Implement/match most of MxStillPresenter
* Fix merge
2023-12-07 13:13:31 +01:00
Mark Langen
260772e374
Bootstrap decomp of Tgl rendering library ( #293 )
...
* Bootstrap decomp of D3DRM rendering code
* This PR kicks off work on decompiling the D3D Retained Mode (D3DRM)
rendering part of the codebase.
* High level overview:
* There is a base IMxDirect3DRMObject class which all of the D3DRM
rendering objects inherit from. Its only virtual method is one to get
the underlying object handle.
* A hierarchy of abstract classes inherits from this base class, which
I've called "IMxDirect3DRM<class>". These classes only have pure
virtual methods on them and don't contain any data.
* Each one of the abstract classes has exactly one concrete
implementation, which I've called "MxDirect3DRM<class>". These classes
have exactly one piece of data, which is a pointer to the underlying
D3D Retained Mode object.
* If the classes need to store additional data, they store it in a
userdata blob which is attached to the D3DRM object rather than the
additional data being stored in the class itself.
* I've worked out about twice this many classes related to D3DRM
rendering so far but the PR was getting large enough as is, so I'm
cutting it here for now.
* I decomped sufficiently many methods of these classe to convince
myself that the above observations are correct. About 60% of the
decomped methods here are perfect matches, including at least one
non-trivial method per class.
* Formatting
* Restructure changes using Tgl naming / details
* Restructure the changes to use the naming that we know from Tgl.
* Fill in some parts of the implementation I couldn't initially figure
out using the details from Tgl (got more 100% matches).
* Move d3drm link requirement
* Fixups FloatMatrix -> FloatMatrix4
* Fix order
* Full fix for ordering problems
* Put back accidentally removed include.
* Fix call which should have been Release
* Use new and delete for DeepClone
* Missing Tgl:: on CreateRenderer
* Revert change to bool return value.
* Rename Something -> Unk
* Return paramter naming convention to what Tgl used
* Add scalar ddtor to verify inline destructor
* Fix order
* Change malloc/free -> new/delete in Tgl
* Remove duplicate destructor.
* Check all inline destructors
* Fix dtor comments
* Third time's the charm
* Alphabetical sort
* Decomp adjustments
* Add d3drm files to clang-format
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-07 13:10:42 +01:00
Christian Semmler
8bf0bde6b9
Bootstrap MxCompositePresenter ( #310 )
...
* Bootstrap MxCompositePresenter
* Remove MxUnkList
* Use TickleState_Idle
* Add all annotations
* Add vtable
* Add Notify
* Update mxcompositepresenter.h
* Remove extra TEMPLATE
* Update mxcompositepresenter.cpp
2023-12-07 13:06:44 +01:00
Christian Semmler
a7b81539b1
Match MxBitmap::ImportColorsToPalette
2023-12-06 08:29:24 -05:00
Christian Semmler
494a556f8e
(Proposal) Adjustments to "decomp" language ( #308 )
...
* Adjustments to "decomp" language
* Fix a comment
* Fix accidental clang-formatting
* Fix order
* Fix order
* Remove junk
* Fix OFFSET
* Adjustments based on new suggestions
* Annotate globals
* Globals in ISLE
* More globals
* Merge from parser2 branch
* Allow prepending space for exact marker match
* To eliminate noise, require the 0x prefix on offset for marker match
* fix test from previous
* Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise
* FUNCTION to SYNTHETIC where needed
* Missed marker conversion on SetAtomId
* pylint cleanup, remove unused code
* Fix unexpected function end, add more unit tests
* Be more strict about synthetic name syntax
* Revert "Missed marker conversion on SetAtomId"
This reverts commit d87d665127fae7dd6e5bd48d9af14a0a829bf9e2.
* Revert "FUNCTION to SYNTHETIC where needed"
This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8.
* Implicit lookup by name for functions
* Fix VTABLE SYNTHETIC and other decomp markers
* Get vtable class name
* Vtable marker should identify struct
* No colon for SIZE comment
* Update README.md
* Update README.md
* Update CONTRIBUTING.md
* Update README.md
* Update README.md
* Update CONTRIBUTING.md
* Update README.md
* Update CONTRIBUTING.md
* Fix destructor/annotation
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
---------
Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 13:10:45 +01:00
Christian Semmler
4f5b70013f
Implement MxStillPresenter::LoadFrame ( #306 )
2023-12-01 05:59:32 -05:00
Joshua Peisach
f7dcdf9894
MxFlcPresenter vtable70, m_unk64 ( #304 )
...
* MxFlcPresenter: vtable70
* begin work on MxFlcPresenter's m_unk64
* Add another function that makes use of the FLIC header
* Remove space
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-29 13:35:32 +01:00
MS
3d48cdede1
STL lists for stream classes ( #307 )
2023-11-28 14:26:39 +01:00
Christian Semmler
10062d2b28
Return type of PutData is MxResult ( #305 )
...
* Return type of PutData is MxResult
* Remove out.html
2023-11-26 15:03:40 +01:00
Christian Semmler
d46f2e094b
Bootstrap MxStillPresenter ( #303 )
2023-11-25 20:08:10 +01:00
Christian Semmler
fb0d1ccb62
Implement/match MxLoopingMIDIPresenter ( #302 )
...
* Implement/match MxLoopingMIDIPresenter
* Move declarations
2023-11-25 13:26:44 -05:00
Christian Semmler
5aa548c449
Replace FALSE with NULL
2023-11-25 07:22:23 -05:00
Christian Semmler
7db2b2e6b7
Implement/match MxMidiPresenter ( #301 )
2023-11-24 12:21:26 -05:00
Christian Semmler
db77350169
(clang-format) Add EmptyLineBeforeAccessModifier ( #300 )
2023-11-24 12:10:09 -05:00
Christian Semmler
1d3ce6b0aa
Implement/match remaining MxWavePresenter functions ( #294 )
...
* Implement/match remaining MxWavePresenter functions
* Name m_unk65
* Match WriteToSoundBuffer
* Remove header
* Match StreamingTickle
* Name more variables
* Give names to some things
2023-11-24 12:09:53 -05:00
Joshua Peisach
a577b393bf
LegoRace initial layout ( #299 )
...
* LegoRace initial layout
* fix function ordering
* Fix it all
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-24 13:11:32 +01:00
MS
14f05ea823
MXIOINFO code style ( #297 )
2023-11-22 02:54:08 -05:00
Misha
343b0ff3cb
LegoActionControlPresenter functions ( #295 )
...
* LegoActionControlPresenter
* fix formatting
* fix format
* Fixes
* Fix order
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-21 11:35:03 +01:00
MS
1ae3b07dc2
Checkorder tool to keep functions in original binary order ( #228 )
...
* First commit of order tool
* More flexible match on module name. Bugfix on blank_or_comment
* Report inexact offset comments in verbose mode. Bugfix for exact regex
* Refactor checkorder into reusable isledecomp module
* Find bad comments in one pass, add awareness of TEMPLATE
* Refactor of state machine to prepare for reccmp integration
* Use isledecomp lib in reccmp
* Build isledecomp in GH actions, fix mypy complaint
* Ensure unit test cpp files will be ignored by reccmp
* Allow multiple offset markers, pep8 cleanup
* Remove unused variable
* Code style, remove unneeded module and TODO
* Final renaming and type hints
* Fix checkorder issues, add GH action and enforce (#2 )
* Fix checkorder issues
* Add GH action
* Test error case
* Works
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-21 09:44:45 +01:00
Christian Semmler
714d36b57d
Bootstrap MxWavePresenter, implement/match some functions ( #286 )
...
* Bootstrap MxWavePresenter, implement/match some functions
* Fix
* Use constant for 0x7f
* Update mxwavepresenter.cpp
* Update mxwavepresenter.h
2023-11-19 12:10:49 -05:00
Christian Semmler
6441391092
Implement/match MxEventPresenter ( #285 )
2023-11-19 12:10:32 -05:00
Christian Semmler
e0c168367a
Fix ROI acronym explanation
2023-11-19 09:49:36 -05:00
Nathan M Gilbert
7fc1f8019f
Implement ViewROI and base classes ( #287 )
...
* Implement ViewROI and base classes
* Clean up Orientable header
* Move tgl to tgl subdirectory, and use target_include_directories
* Move classes to submodules
* Fix some missed references
* Fix/match UpdateWorldData
* Renaming / removing MxTypes / refactoring
* Consistent naming for Matrix
* Adjust format action
* Add Vector3/Vector4 to Data vector
* Add TGL comment
* Add a comment about Matrix4Impl
* Add ROI comment
---------
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-19 15:38:07 +01:00
Joshua Peisach
0b0a9a6d6f
MxFlcPresenter: vtable70 ( #291 )
...
* MxFlcPresenter: vtable70
* Fix function
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-19 13:28:06 +01:00
MS
0bb3ea6a03
MxList refactor ( #290 )
...
* MxList refactor
* Reorder LegoPathControllerList::Destroy
* MxPtrList custom destructor and more offsets
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Fix member offset comments in collection classes
* Fix template annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-19 13:23:30 +01:00
Nathan M Gilbert
93eb4dc82d
Create ( #289 )
...
* Align name of Create method with known source
Fix name in Score for reccmp
* Also update MxEntity::Vtable0x14
2023-11-18 10:08:49 -05:00
Joshua Peisach
eee80250c0
LegoPalettePresenter - destroy function and destructor ( #288 )
...
* LegoPalettePresenter - destroy function and destructor
* Update legopalettepresenter.h
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-17 15:01:27 -05:00
Christian Semmler
d8bf4aebf4
Implement/match most of MxVideoPresenter ( #280 )
...
* Bootstrap MxMediaPresenter
* Implement/match MxMediaPresenter::Tickle and related
* Implement AppendChunk and Enable
* Implement/match most of MxVideoPresenter
* Add missing offset
2023-11-14 12:25:14 -08:00
Christian Semmler
c626f18b03
Prepare MxMidiPresenter vtable and refactoring ( #278 )
2023-11-14 12:10:43 -08:00
DmitriLeon2000
e86d6f0cc7
Marking LegoOmni::Notify as STUB ( #284 )
2023-11-13 13:21:58 +01:00
Christian Semmler
ba82821501
Implement/match MxMediaPresenter::Tickle and related ( #277 )
...
* Bootstrap MxMediaPresenter
* Implement/match MxMediaPresenter::Tickle and related
* Implement AppendChunk and Enable
2023-11-13 12:25:27 +01:00
Christian Semmler
a087c666b4
Remove unnecessary namespace
2023-11-13 12:15:13 +01:00
Christian Semmler
8a1422f13e
Implement/match MxMediaPresenter::EndAction ( #276 )
...
* Bootstrap MxMediaPresenter
* Implement/match MxMediaPresenter::EndAction
* Merge
* Remove garbage
2023-11-13 11:22:58 +01:00
MS
8861acaf20
Refactor MxHashTable/MxVariableTable ( #283 )
...
* Refactor MxHashTable/MxVariableTable
* Use MxS8 for Compare return type
* Cursor::DeleteMatch check and clang fix
2023-11-12 19:25:56 -05:00
Joshua Peisach
8b2e7a92e1
LegoTexturePresenter destructor and AddToManager ( #282 )
...
* LegoTexturePresenter destructor and AddToManager
* clang-format
2023-11-12 14:21:22 -05:00
Joshua Peisach
888205c1fa
Unstub LegoBuildingManager ctor ( #281 )
2023-11-12 14:21:01 -05:00
Christian Semmler
04b503c79f
Bootstrap MxMediaPresenter ( #274 )
...
* Bootstrap MxMediaPresenter
* Add override
2023-11-12 13:47:01 +01:00
Joshua Peisach
e2f2ef6152
MxControlPresenter: destructor and ReadyTickle ( #279 )
2023-11-10 19:27:10 +01:00
Christian Semmler
82697d7148
Add missing override keywords
2023-11-09 10:52:58 -05:00
Misha
1f6d1ddab0
Lego video manager constructor and deconstructor ( #275 )
...
* commit
* Update legovideomanager.cpp
* add offset comments
* Update legovideomanager.h
* Update legovideomanager.h
2023-11-08 17:05:20 -05:00
Christian Semmler
42c47a6540
Fix clang-format
2023-11-06 16:17:23 -05:00
Christian Semmler
a2c83a1b69
(clang-format) Add QualifierOrder ( #272 )
2023-11-07 14:00:00 +01:00
MS
7834f18999
MxQueue and parts of LegoInputManager ( #268 )
...
* MxQueue and parts of LegoInputManager
* Missed clang-format on mxqueue.h
* Fix declarations
* MxParamType -> NotificationId
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-07 09:30:26 +01:00
Christian Semmler
23f4fda304
Improve match of MxRegion::vtable18 ( #266 )
...
* Match MxRegionTopBottom::FUN_100c5280
* Resolve OtherAppend/Append
* Remove old code
* MxRegion::vtable18 up to 80%, refactor MxRect
2023-11-06 18:12:09 -05:00
Christian Semmler
d5cf23bada
Match MxRegionTopBottom::FUN_100c5280 ( #261 )
...
* Match MxRegionTopBottom::FUN_100c5280
* Resolve OtherAppend/Append
* Remove old code
2023-11-06 14:04:51 +01:00
Misha
a8254c048d
Implement more of LegoOmni ( #267 )
...
* commit code
* implement a few functions
* Update mxdsobject.h
* more stuff
* Update legoomni.cpp
* Update legoomni.cpp
* rename function
* fix
* undo useless changes
* Fixes
* Add global addr
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-06 10:00:24 +01:00
Joshua Peisach
ca359e9002
MxEventPresenter: AddToManager and small destroy cleanup ( #269 )
...
* MxEventPresenter: AddToManager and small destroy cleanup
* Update mxeventpresenter.h
* Update mxeventpresenter.h
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-05 17:45:48 -05:00
Misha
33dcb139b7
Match a few methods ( #270 )
...
* match a few misc methods
* Update legonavcontroller.h
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-05 17:41:35 -05:00
Misha
42a82794a8
Implement MxStreamController::vtable0x2c ( #265 )
...
* MxStreamController::vtable0x2c
* Add size comment
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-05 16:25:38 +01:00
Misha
49bad74104
implement register/unregister scripts ( #264 )
...
* register/unregister implementation
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-05 16:20:00 +01:00
Misha
4c4dce1302
Finish MxBackgroundAudioManager ( #263 )
...
* MxBackgroundAudioManager additional functions
* fix code style
* MxBackgroundAudioManager::PlayMusic
* match MxBackgroundAudioManager::Notify
* MxBackgroundAudioManager::Notify
* rename functions
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-05 16:07:28 +01:00
Joshua Peisach
22ac0b9296
Add missing ClassName's and IsA's ( #262 )
...
* Add missing ClassName's and IsA's
Exceptions: LegoAnimActor as it does something weird with a call to another private/inlined function(?) and RaceStandsEntity which seems to have two vtables
* clang-format
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-04 14:47:35 +01:00
Misha
24e889ee3d
some LegoEntityPresenter & LegoWorldPresenter functions ( #260 )
...
* LegoEntityPresenter & LegoWorldPresenter
* format fix
* Fixes
* Add size assert
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-02 11:54:08 +01:00
MS
176bd1d8fd
LegoGameState destructor and related ( #259 )
...
* LegoGameState destructor and related
* MxTypes, naming convention, and using a fraction
* use m_ prefix in struct
2023-11-01 11:12:03 -04:00
Christian Semmler
9ac9fe2761
MxRegion: initial implementation ( #218 )
...
* MxRegion structures
* MxRegion structures
* Remove junk
* Refactor
* WIP
* Use MxRect32 ctor
* Refactor
* Add MxSize32, match MxRegion ctor
* Add two template annotations
* Fix missing instructions
* Fix another bug
* Refactor
* Add GetPoint
* Implement/match MxRegionTopBottom::MxRegionTopBottom
* Implement/match more functions
* More implementation
* Don't expose internal match
* Fix indent
* Add template annotations
* Implement remaining functions
* Fix comment
* Match loops
* Simplify function
* Merge
* Remove junk
* Format
* Format
* match MxRegion::vtable1c
* revert vtable1c match-hack
This reverts commit 7b886259882e2d04444546c1323734ec3c243cf6.
---------
Co-authored-by: Ramen2X <64166386+Ramen2X@users.noreply.github.com>
2023-10-31 11:30:13 -04:00
Christian Semmler
cb286520e5
Add missing MxSoundManager functions ( #258 )
2023-10-31 10:22:01 -04:00
Misha
1db48b3b2c
MxSmkPresenter vtables ( #254 )
...
* implement vtbls
* Update smk.h
2023-10-30 12:46:38 -04:00
Misha
f3b0de0609
more MxDSBuffer functions ( #255 )
...
* FUN_100c6f80
* AllocateBuffer
* Update mxdsbuffer.h
* Update mxdsbuffer.cpp
* Update mxdsbuffer.cpp
* Return reference
* Fix delete call
* Fix GetWriteOffset
* Remove cast
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-30 14:54:00 +01:00
Misha
787d932825
LegoActor implementation ( #253 )
...
* LegoActor
* LegoEntity
* Replace float with MxFloat
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-30 14:15:43 +01:00
Misha
f4646a7075
implement a few mxstream* methods ( #252 )
...
* commit code
* commit code
* Update mxdiskstreamprovider.cpp
* Update mxstreamprovider.h
* improve match + add html file to gitignore
* improve match of MxRAMStreamController::Open
* MxDiskStreamController::Open
* Match some functions, relocate m_target to `MxThread`
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-29 15:01:14 +01:00
Ramen2X
153f4a872e
implement/match several mxsmkpresenter functions ( #251 )
...
* implement/match several mxsmkpresenter functions
* formatting
* formatting (sequel)
* Match remaining functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-27 19:00:20 +02:00
Christian Semmler
6594cc78ea
Implement/match remaining MxSoundManager virtual functions ( #250 )
2023-10-26 13:20:14 +02:00
Christian Semmler
89b3c5f8ae
Implement/match MxSoundManager::Create ( #249 )
...
* Implement/match MxSoundManager::Create
* Fix offset
2023-10-26 13:19:59 +02:00
Christian Semmler
4c387d6d49
Use sizeof() instead of magic number
2023-10-26 06:11:43 -04:00
MS
24c9f8b9ed
MxStillPresenter::ParseExtra ( #248 )
...
* MxStillPresenter::ParseExtra
* resolve clang-format complaints
2023-10-26 00:16:08 +02:00
Christian Semmler
20c4f832ca
Match MxList<T>::_InsertEntry to 100%
2023-10-25 18:02:49 -04:00
Nathan M Gilbert
7d8c57fc9c
Rename some functions and members ( #246 )
...
* Rename some functions and members
* Match LegoWorld::Notify to 100%
* Match MxOmni::Destroy to 100%
* Fix parameter prefix
* Fix another parameter
* Fix CR at EOF
* Fix CR at EOF
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-25 16:51:59 -04:00
Christian Semmler
a01bcf5241
(clang-format) Insert newline at end of file ( #247 )
...
* Insert newline at EOF
* Fix formatting
2023-10-25 11:51:59 -07:00
Christian Semmler
6b8dc8a0cc
Match MxVariableTable::SetVariable to 100%
2023-10-25 14:44:28 -04:00
Christian Semmler
220ad5d537
Use TEMPLATE syntax for MxHashTable decomp declarations
2023-10-25 14:32:51 -04:00
MS
10ebdfa608
MxVideoPresenter::IsHit ( #244 )
...
* MxVideoPresenter::IsHit
* Apply clang-format
* Minor logic fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-25 12:02:36 +02:00
Christian Semmler
b449da1fa3
Introduce clang-format ( #240 )
2023-10-25 01:38:27 +02:00
Anonymous Maarten
e928fc9425
Build fixes for mingw ( #245 )
2023-10-25 01:24:29 +02:00
Ramen2X
4c5c709af6
correct 0 in LEGO1 comment [skip ci]
2023-10-24 09:58:27 -04:00
Nathan M Gilbert
af1745db18
Implement Helicopter::VTable0xe4 ( #243 )
...
Clean up parent classes
2023-10-24 14:37:02 +02:00
Ramen2X
74329d681b
implement/match CalcLocalTransform ( #241 )
...
* implement/match CalcLocalTransform
* fix odd build error
* address feedback
move vec.h to thirdparty folder
update vec.h
move all realtime code to realtime folder
move calclocaltransform out of legoutil and into realtime
cast shift to MxS32
add additional unroll hack to CalcLocalTransform to prevent msvc entropy
2023-10-24 14:27:24 +02:00
Nathan M Gilbert
1ab29590ee
Start of helicopter Implementation ( #239 )
...
* Start of helicopter Implementation
Mostly Matching, some issues with MxMatrix and/or MxVector4
* Fix some style issues
* Fix some style issues
2023-10-24 10:14:45 +02:00
vMidz
587ac7a9d7
implement LegoPathPresenter ( #238 )
...
* implement LegoPathPresenter
implement some LegoPathPresenter functions
* Update legopathpresenter.cpp
* Minor fixes
* Order functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-23 16:08:22 +02:00
Joshua Peisach
34ce795cdd
MxWavePresenter ClassName, IsA ( #237 )
2023-10-23 09:33:07 -04:00
Nathan M Gilbert
4cc6b9b8ec
Implement Score ( #230 )
...
* Implement Score
* Update mxomni.cpp
Fix case of OFFSET comment.
* Fix DeleteObjects
* Apply changes (see comment)
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-23 13:16:21 +02:00
Misha
724c953947
Implement MxDSBuffer constructor, match MxDSSource::FUN_100bffd0 ( #235 )
...
* Implement MxDSBuffer constructor, match FUN_100bffd0
* Match to 100%, minor style fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-22 21:58:05 +02:00
Ramen2X
5ab993bfda
cleanup: fix all improper uses of MxResult ( #234 )
...
* cleanup: fix all improper uses of MxResult
2023-10-22 13:38:25 -04:00
Ramen2X
7e907cfe3f
implement/match JukeBoxState ( #233 )
2023-10-22 11:33:29 -04:00
Misha
681ab9c026
implement most of MxBackgroundAudioManager ( #232 )
...
* implement most of MxBackgroundAudioManager
* Match OpenMusic to 100%, style fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-22 16:11:46 +02:00
Misha
50fe5f9c83
implement LegoSoundManager vtable ( #231 )
...
* LegoSoundManager
* Fix virtual function declarations/locations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-22 15:48:20 +02:00
MS
ae908a74cc
Copy constructor for MxVideoPresenter::AlphaMask ( #229 )
2023-10-21 19:47:48 -04:00
Joshua Peisach
af0e38176c
MxSoundPresenter ( #227 )
...
* MxSoundPresenter
Destructor, destroy, function adding itself to the sound manager and vtable38.
* Fix virtual function declarations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-22 00:41:05 +02:00
MS
85d94baa50
MxVideoPresenter AlphaMask (formerly UnkStruct) ( #226 )
2023-10-22 00:40:31 +02:00
Christian Semmler
5dfb132025
Implement MxOmni::DoesEntityExist and related ( #225 )
...
* Implement MxOmni::DoesEntityExist and related
* Rename function for consistency
2023-10-21 17:23:55 -04:00
Christian Semmler
6931a817a6
Implement NotifyCurrentEntity ( #224 )
2023-10-21 17:02:55 -04:00
Joshua Peisach
4f201eaa48
MxEventPresenter destructor ( #223 )
...
* MxEventPresenter destructor
* Fix and implement Destroy
* Fix scope of Destroy decl
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-20 20:41:23 +02:00
Christian Semmler
3a21834382
Rename virtual function to fix override ( #222 )
2023-10-19 13:07:05 -04:00
Ramen2X
fbb3b4930c
label ScoreState::VTable0x18 and associated member ( #221 )
2023-10-19 12:56:56 -04:00