Commit Graph

361 Commits

Author SHA1 Message Date
Christian Semmler
fe40cbb772 Implement/match MxRegionTopBottom::MxRegionTopBottom 2023-10-19 15:39:06 -04:00
Christian Semmler
27e064e69d Add GetPoint 2023-10-19 09:19:23 -04:00
Christian Semmler
26bde7a03d Refactor 2023-10-19 08:03:11 -04:00
Christian Semmler
20d08d3124 Fix another bug 2023-10-19 07:58:22 -04:00
Christian Semmler
28d497966b Fix missing instructions 2023-10-19 07:41:17 -04:00
Christian Semmler
553734c9f6 Add two template annotations 2023-10-18 18:35:29 -04:00
Christian Semmler
85c6a0b049 Add MxSize32, match MxRegion ctor 2023-10-18 18:21:49 -04:00
Christian Semmler
ab81adf774 Refactor 2023-10-18 16:42:38 -04:00
Christian Semmler
d3858d51a6 Use MxRect32 ctor 2023-10-18 16:22:29 -04:00
Christian Semmler
e7f14ecda4 WIP 2023-10-18 16:09:33 -04:00
Christian Semmler
2407b9e798 Refactor 2023-10-17 18:37:56 -04:00
Christian Semmler
1289a16cf0 Remove junk 2023-10-17 18:19:12 -04:00
Christian Semmler
63e7e305d7 MxRegion structures 2023-10-17 18:12:47 -04:00
Christian Semmler
0604f25778 MxRegion structures 2023-10-17 18:12:24 -04:00
Ramen2X
7c26a4d2dc fix LegoState::VTable0x1C fake-match & implement LegoFileStream::FUN_10006030 (#217)
* fix LegoState::VTable0x1C fake-match, implement LegoFileStream::FUN_10006030

* Match and relocate FUN_10006030

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-18 00:05:31 +02:00
Christian Semmler
476af22b36 Add size assert for MxVideoManager, sort functions 2023-10-17 09:16:37 -04:00
Christian Semmler
727c748ecd Implement/match MxVideoManager::InvalidateRect and UpdateRegion (#214)
* Implement/match MxVideoManager::InvalidateRect and UpdateRegion

* Update comment
2023-10-16 16:20:52 -07:00
Ramen2X
8b1c8f7abe use MxResult return type in MxCore::Tickle() 2023-10-16 18:46:45 -04:00
Ramen2X
3a1cab323f complete and match LegoState vtable (#216) 2023-10-16 16:18:35 -04:00
Misha
3dee6eae7a MxVideoPresenter functions (#187)
* mxvideopresenter

* Update mxvideopresenter.cpp

* use inline getter for rectange width/height

* Update mxvideopresenter.cpp

* Match MxVideoPresenter::Destroy to ~88%

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-16 22:09:08 +02:00
Ramen2X
b95656a735 implement GasStationState::GasStationState() (#215)
* implement GasStationState::GasStationState()

* Match 100%

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-16 20:17:23 +02:00
Christian Semmler
50b9a39b2f Use memset to be consistent with the rest 2023-10-16 09:27:23 -04:00
Andrew Gutekanst
000c019a0e Add LegoVehicleBuildState (#213)
* Add LegoVehicleBuildState

* Update LegoVehicleBuildState member-var names to include offsets
2023-10-16 15:22:21 +02:00
Ramen2X
ba8ae8138e implement/match MxTransitionManager::Transition_Windows() (#212) 2023-10-15 19:41:05 -04:00
Christian Semmler
37e75703d4 MxOmni::Create 100% match, make Create calls consistent (#211)
* Improve MxOmni::Create match, make Create calls consistent

* Match MxEventManager::Create

* Fix MxTickleClientPtrList

* 100% match

* Update mxomnicreateparam.h
2023-10-14 20:49:07 -04:00
Ramen2X
0c8705a9df implement/match MxTransitionManager::Transition_Broken() (#210) 2023-10-14 15:54:49 -04:00
Christian Semmler
0580b2870c Use MxResult for RealizePalette 2023-10-14 15:31:30 -04:00
Christian Semmler
e4f87ad7dd Implement MxVideoManager::vtable0x28 and Create (#208)
* MxVideoManager::Destroy / destructor

* Consistency

* Add missing override

* Implement MxVideoManager::vtable28

* Implement vtable2c

* Rename to Create
2023-10-14 21:33:11 +02:00
MS
e08717f496 MxTransitionManager Pixelation transition (#209)
* Pixelation transition and improved variable names

* More accurate pointer math for the 16-bit case
2023-10-14 15:15:51 -04:00
Christian Semmler
5ddfaab9e7 Implement MxVideoManager::Destroy / destructor (#207)
* MxVideoManager::Destroy / destructor

* Consistency

* Add missing override
2023-10-14 11:46:00 -07:00
Christian Semmler
f062543f87 Match MxPresenter::StartAction to 100% 2023-10-14 09:27:58 -04:00
Joshua Peisach
a814132ab9 MxMIDIPresenter functions (#204)
* MxMIDIPresenter destructor, stub Destroy for now

* MxMIDIPresenter::EndMIDIAction + update param name

m_MIDIInitialized is definitely public, since it is accessed from the global
MusicManager.

* Add getter for MIDIInitialized, fix virtual function decl

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-14 15:25:53 +02:00
Andrew Gutekanst
7cf85e6f06 Add LegoMeterPresenter stub class (#206) 2023-10-14 15:08:51 +02:00
Christian Semmler
b92b2604d5 Match MxObjectFactory::Create to 100% 2023-10-14 09:02:44 -04:00
Andrew Gutekanst
c66b6aa123 Refine MxObjectFactory (#205)
* Refine MxObjectFactory

* Change interface of Destroy

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-14 14:59:06 +02:00
Ramen2X
a24a798c82 rename all uncertain names to unk (#203) 2023-10-13 17:36:16 -04:00
DmitriLeon2000
34e09c2bb3 Clean up Destroy pattern everywhere, fix missing overrides (#202)
* Rename MxMusicPresenter function vtable38

* Rename MxMusicPresenter function vtable38

* MxMediaPresenter, MxMusicManager and MxMusicPresenter
* Refactoring Destroy functions

* MxMediaManager & MxMusicPresenter

* Fix some vtable declarations, more renames

* Fix MxEventManager

* More rename fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-13 18:43:45 +02:00
Mark Langen
91c3ed3e70 100% match of many functions in the LegoGameState::Save codepath (#86)
* Only include decomps

* One more function

* Add offset to endOfVariables

* Remove leftover header

* Use undefined where applicable

* Fixes, refactorings

* Fixes

* Fix calling convention

* Added offset comment

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-12 18:18:24 +02:00
Christian Semmler
49ec7364c2 MxDSAction::MergeFrom: match to 100% (#200)
* Minor accuracy improvement

* Workaround for 100% match

* Update mxdsaction.cpp
2023-10-12 08:54:02 -07:00
Misha
b7b0ac6ae7 Implement a few functions in LegoEntity (#201) 2023-10-12 00:15:36 +02:00
Angel
19ee8cdc30 Implemented MxVector4::SetMatrixProductWrapper (#198)
* Implemented the function wrapper for SetMatrixProduct labeled as
SetMatrixProductWrapper with 100% match.

* Rename for consistency

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-11 12:18:48 +02:00
DmitriLeon2000
02d003673d Implement MxMusicPresenter's Destroy method and move MxMediaPresenter's Destroy method to "protected" (#199)
* MxMusicPresenter destroy

* Implement MxMusicPresenter's Destroy method and move MxMediaPresenter's Destroy method to "protected"

* MxMediaPresenter Destroy to "protected", for real

* MxMusicPresenter Destroy
2023-10-11 12:18:26 +02:00
Christian Semmler
11dafaf816 Fix MxDSMediaAction structure/matches (#194) 2023-10-11 00:50:14 -07:00
Christian Semmler
93ce1ccfe8 Implement remaining MxDSSelectAction functions (#183)
* Implement remaining MxDSSelectAction functions

* Fix match
2023-10-10 13:22:00 -04:00
vMidz
23b9d47e8a implement EndAction (#196)
* implement EndAction

implement EndAction
+offsets commenets

* Refactor MxParam/MxNotificationParam

* Add correct address for destructor

* Make MxNoticiationParam more concise

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-10 13:05:04 -04:00
Christian Semmler
d65c87f04d Add missing space 2023-10-10 05:30:56 -04:00
Misha
114a959741 MxDiskStreamController vtable (#197)
* mxdiskstreamcontroller vtable + MxStreamController::vtable0x20

* stub MxDiskStreamController::Open

* MxDiskStreamProvider

* MxNextActionDataStart

* Revert "MxNextActionDataStart"

This reverts commit 41e8cfa2f1.

* Match MxStreamController::vtable0x20

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-10 10:27:00 +02:00
MS
49efa02eaa MxBitmap code clarity (#195)
* MxBitmap code clarity

* Use mxtypes. TWOCC for BM string. SetSize arg to FALSE
2023-10-10 00:20:38 +02:00
Christian Semmler
28206402f9 Use forward declaration for LegoAnimationManager in LegoOmni 2023-10-09 06:33:06 -04:00
Misha
625ee52fe0 implement a few mxomni/legoomni functions (#193) 2023-10-09 12:31:36 +02:00