Commit graph

803 commits

Author SHA1 Message Date
Christian Semmler
a9fa734844
Refactor deserialization of objects (#170)
* Use template helpers for deserialization

* Remove space

* Fix naming
2023-10-07 20:07:26 +02:00
Misha
62b97b8f1f
Implement MxOmni::Create (#182)
* implement mxomni::create, and match MxStreamController::Open

* Use enum for mxparam type

* Fix return type

* Match MxOmni::Notify

* Remove unused variable

* Added override keywords

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-07 20:05:45 +02:00
Christian Semmler
4a674d823b
Implement MxDSSelectAction Clone/operator=/CopyFrom (#154) 2023-10-07 20:03:15 +02:00
Christian Semmler
e6507b874a
Refactor vector EqualsScalar (#171)
* Refactor vector EqualsScalar

* Fix param name
2023-10-07 11:00:20 -07:00
Christian Semmler
201125d209
Silence all C4786 warnings (#180) 2023-10-07 10:28:52 -07:00
Misha
8281e195f7
Implement MxOmni Start/stop timer (#181)
* Implement start/stop timer

* Mark StartDirectSound as stub

* remove accidently committed files
2023-10-07 19:12:59 +02:00
MS
907c85616b
Supporting items for SetupCopyRect() (#177)
* Minor improvements all related to SetupCopyRect

* Rename inline getters. malloc/free -> new/delete

* MxTypes in TransitionManager. Remove stub marker (oops)
2023-10-07 18:48:36 +02:00
Christian Semmler
5164ef1a54
Refactor MxOmni/LegoOmni headers to use forward declarations (#148)
* Refactor MxOmni/LegoOmni headers to use forward declarations

* Fixes

* Fix build

* Fix deps
2023-10-07 17:30:04 +02:00
DmitriLeon2000
775ee9f05f
Move MxMIDIManager to MxMusicManager (#178) 2023-10-07 17:02:12 +02:00
Misha
50b9a6dea5
Implement Start() (#176)
* Implement Start()

* Undo isleapp changes

* Implement LegoOmni::Start

* fix vtable0x20

* Address review

* fix build
2023-10-07 09:05:44 -04:00
Joshua Peisach
85fe4ad07a
MxAudioPresenter - vtable functions (#175)
* MxAudioPresenter - vtable functions

* Rename parameter

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-07 00:17:49 +02:00
Joshua Peisach
1217e4aa58
MxMusicPresenter dtor, stub destroy (#174)
* MxMusicPresenter dtor, stub destroy

* Fix destructor declaration

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-06 19:00:49 +02:00
Joshua Peisach
7f5198220c
Unstub MxLoopingFlcPresenter destructor (#173)
sorry guys
2023-10-06 18:54:58 +02:00
Christian Semmler
1da1d291a8
Fix line endings 2023-10-06 09:00:00 -04:00
Angel
5ac6cf55a9
Corrected typo in reccmp.py (#169) 2023-10-05 22:26:48 -07:00
Ramen2X
666c65fa4f rename FUN_1004bcf0 to Transition_None 2023-10-05 18:55:35 -04:00
Ramen2X
8e87b5b4c8
MxTransitionManager::Tickle() & FUN_1004bcf0 (#168)
* implement MxTransitionManager::Tickle()

* improved accuracy of MxTransitionManager::Tickle

* implement MxTransitionManager::FUN_1004bcf0

* improved accuracy of FUN_1004bcf0

* move/rename stubbed transition methods

---------

Co-authored-by: MattKC <34096995+itsmattkc@users.noreply.github.com>
2023-10-05 18:51:34 -04:00
vMidz
e767d6524e
implement MxMIDIManager (#167)
* added MxMIDIManager

* implement MxMIDIManager

implement MxMIDIManager
implement MxAudioManager::GetVolume
implement MxAudioManager::SetVolume

* added override + small changes
2023-10-05 16:06:11 -04:00
Regan Green
c46bc985c2
Implement MxTransitionManager SetWaitIndicator and SetupCopyRect (#165)
* Implement MxTransitionManager SetWaitIndicator and SetupCopyRect

* More accurate SetupCopyRect

* Add MxDSAction::Flag_Bit5

* SetupCopyRect PR Amends

* Correct braces formatting

* Stub MxVideoPresenter::Destroy
2023-10-05 06:31:20 -04:00
Joshua Peisach
2d45914ddf
MxSoundManager: dtor, destroy, update types (#164)
* MxSoundManager: dtor, destroy, update types

Also make MxThread's destructor public

* Minor adjustments

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-05 09:47:37 +02:00
Joshua Peisach
6916aa49e3
MxLoopingSmkPresenter - dtor, Init, stub Destroy (#162) 2023-10-04 13:30:37 -04:00
MS
5125314755
Wipe transition (#161) 2023-10-04 17:48:25 +02:00
Regan Green
7c7311ea5e
Implement MxTransitionManager::SubmitCopyRect (#160)
* Implement MxTransitionManager::SubmitCopyRect

* MxTransitionManager::SubmitCopyRect Amendments

* Fix MxTransitionManager::EndTransition

* Fix MxDSAction::SetLoopCount
2023-10-04 15:43:34 +02:00
MattKC
6da912e932
Implement MxTransitionManager::EndTransition and GetCurrentWorld (#159)
* Implement MxTransitionManager::EndTransition and GetCurrentWorld

* Match EndTransition

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-04 08:56:16 +02:00
MS
129e8d6373
MxTransitionManager::Dissolve (#155)
* MxTransitionManager::Dissolve

* Some comments and better names

* use refs instead of pointers

* slightly improved name for rect

* Use MxS32 instead of int
2023-10-03 18:03:10 -04:00
Joshua Peisach
62d953c6c3
MxLoopingFlcPresenter ctor/half of Init (#158)
* MxLoopingFlcPresenter ctor/half of Init

* MxLoopingFlcPresenter - finish Init, stub Destroy function, match dtor

* Update mxloopingflcpresenter.cpp

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-03 17:38:03 -04:00
Christian Semmler
f9cd17e3dc
Initialize bool members with FALSE 2023-10-03 14:50:14 -04:00
Christian Semmler
6c86503d35
Remove UINT cast 2023-10-03 14:02:50 -04:00
ecumber
a6f3acf5b7
LegoInputManager: some members and functions (#81)
* Squashed commit of the following:

commit 1fe03a4a787693616c56f59622bcaae8fd53b30b
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 21:04:15 2023 -0700

    data types

commit 7c8432f88236c42c17998d51e820b5e219f3c326
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 12:39:13 2023 -0700

    Destroy

commit f60eb3923b24bc87bb31ba783676c6a50d48e9b8
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 12:15:33 2023 -0700

    compile fix

commit e2f78d557f223c2552a046470578d154c29e473b
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 13:37:33 2023 -0700

    Timer functions

commit 447e234e6324a5b0958e9e94c5cda53703abada2
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 02:40:10 2023 -0700

    fix

commit 4670fd790b16a15b5797d50bc3cd1f6e2c9e890d
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 02:39:04 2023 -0700

    improvements

commit 7f70bce1eefe550fe6bef193e7ee54948af354b6
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 03:42:47 2023 -0700

    Update legoinputmanager.cpp

commit 0d3433a75d2b20a3fff1da8147ce502b279b1e9c
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 03:38:32 2023 -0700

    Add ReleaseDX

commit 72d27fd402efb37da1ce8c41a3350df66c99db1d
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 02:27:12 2023 -0700

    Update CMakeLists.txt

commit 09626a62f9d2c56a523ca582be95a4dfb29ee188
Author: ecumber <ecumber05@gmail.com>
Date:   Mon Jul 3 13:48:46 2023 -0700

    Move to new branch

* Squashed commit of the following:

commit d9148242a322ec54750c89357a0db2154310907d
Author: ecumber <ecumber05@gmail.com>
Date:   Sun Jul 16 23:56:54 2023 -0700

    Update legoinputmanager.cpp

commit 983d08650eb3df0b9103761b4023a6d3395686b2
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 21:04:15 2023 -0700

    data types

commit 4e8aac36ece6f3d7cfff39432ebc4e731876fb75
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 12:39:13 2023 -0700

    Destroy

commit 907801567a8c93ebd242b25b4aa2b00d38eaedc8
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 12:15:33 2023 -0700

    compile fix

commit 91a5f75e938d796f153cc872e46acef2c342818c
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 13:37:33 2023 -0700

    Timer functions

commit e77f08f5358b6cc4ee41583f70281c40b95bea29
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 02:40:10 2023 -0700

    fix

commit 30d204b7734a56b4140a3bf53c9825126a1f80c7
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 02:39:04 2023 -0700

    improvements

commit dd4ff493355796c41a6fb328fda1892c0f1fec0a
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 03:42:47 2023 -0700

    Update legoinputmanager.cpp

commit 852658cdbc0e6f792a6a79dfc77df3539ea4a15a
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 03:38:32 2023 -0700

    Add ReleaseDX

commit 430d4e100811bc00dc983a9fe78aa1482fb92f7f
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 02:27:12 2023 -0700

    Update CMakeLists.txt

commit 6fb94f007613e920b1d64775b7b76cb721482884
Author: ecumber <ecumber05@gmail.com>
Date:   Mon Jul 3 13:48:46 2023 -0700

    Move to new branch

* Fixes

* Remove obsolete stuff

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-03 19:53:22 +02:00
Joshua Peisach
6480fd90e7
Motorcycle initial class structure and ctor (#156) 2023-10-03 04:02:08 -04:00
Christian Semmler
b7efd64ac1
Bootstrap MxDSSelectAction, generalize MxList (#142)
* reccmp: Add ability to compare template instantiations

* Add example of template instantiation comparison.

* merge

* Add template compare annotations for MxList instances

* Bootstrap MxDSSelectAction, generalize MxList

* Fix template annotations

* Fix merge error

* Fix merge error

---------

Co-authored-by: Brendan Dougherty <brandougherty1@gmail.com>
2023-10-02 15:51:43 +02:00
MattKC
56f3d12096
Implement MxTransitionManager ctor/dtor/rest of StartTransition (#153) 2023-10-01 20:18:16 -04:00
MS
592ede1c7b
LegoEntity::Reset (#152) 2023-10-01 15:06:29 +02:00
Joshua Peisach
8725986085
MxControlPresenter ctor/structure (#151)
* MxControlPresenter ctor/structure

* Use undefined types where possible, remove implicit pads

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-01 14:49:55 +02:00
Joshua Peisach
7f423439b7
Fix pizza constructor (#149)
* Pizza: fix type of m_unk98

* Fix pizza constructor

* Match Pizza::Pizza

* Use undefined type

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-10-01 01:25:33 +02:00
Joshua Peisach
b20aa9b8fb
Police, PoliceEntity ClassName and IsA (#150) 2023-10-01 00:57:10 +02:00
Joshua Peisach
06c7ba2c37
MxDiskStreamProvider constructor (#131)
* MxDiskStreamProvider constructor

* Add work-in-progress list struct to MxDiskStreamProvider

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-09-29 23:53:02 +02:00
MS
0dc8dd641a
MxVariable subclass for fsmovie setting (#147)
* LegoFullScreenMovie variable and related

* Changes after review
- Reduce scope on global strings
- Size assert for LegoGameState (based on the constructor references only)
- 1 -> TRUE for EnableFullScreenMovie
2023-09-29 16:38:08 -04:00
pewpew
b77cd067d3
reccmp: template compare annotations (#88)
* reccmp: Add ability to compare template instantiations

* Add example of template instantiation comparison.

* merge

* Add template compare annotations for MxList instances

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-09-29 11:40:46 -07:00
Joshua Peisach
f7743c51fb
MxMIDIPresenter: ClassName, IsA (#146) 2023-09-29 13:18:22 -04:00
Joshua Peisach
5b7954a97b
MxMusicPresenter: ClassName, IsA, ctor, Init (#145) 2023-09-29 12:51:05 -04:00
Christian Semmler
dc869c441c
Relocate SetAppCursor to legoutil (#144) 2023-09-29 12:42:15 -04:00
Ramen2X
44c3ae478b
implement some of MxTransitionManager (#143)
* implement some of MxTransitionManager

start working on MxTransitionManager::StartTransition
add TransitionType enum
implement/match MxTransitionManager::GetDDrawSurfaceFromVideoManager
implement/match global function SetAppCursor

* remove offset comment from mxomni.h

* remove misc offset comments from mxtransitionmanager.h

* address feedback

* merge m_unk20-24 into pad
2023-09-29 18:09:46 +02:00
Ramen2X
2794525564 make note of enum style in CONTRIBUTING.md [skip ci] 2023-09-28 13:11:30 -04:00
MS
749c553325
LegoEntity parsing extra Action strings (#141)
* LegoEntity parse action string

* Reduced size assert for MxEntity

* remove override keyword for LegoEntity function

* Move global strings to new define.cpp file
2023-09-27 15:16:46 -04:00
Christian Semmler
e341afd411
Match ~MxDSStreamingAction 2023-09-26 07:25:23 -04:00
Christian Semmler
915390602b
Add size assert for MxString 2023-09-26 07:24:28 -04:00
MattKC
574a9dc6f1
Implement some MxStreamer functions (#130)
* Implement some MxStreamer stuff

* Implement/match MxVideoManager::Tickle (#128)

* Implement/match MxPresenter::StartAction

* Update mxpoint32.h

* Implement/match MxVideoManager::Tickle

* Update mxlist.h

* Update mxpresenter.cpp

* MxFlcPresenter ctor/dtor (#132)

* MxFlcPresenter ctor/dtor

* Match constructor

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* LegoOmni::CreateStreamObject and related (#129)

* LegoOmni::CreateStreamObject and related

* Revert change to MxDSSource/MxDSFile Read export

* Bootstrap MxDSMultiAction (#133)

* Bootstrap MxDSMultiAction

* Move destroy function to list class

* Fix unk14 call

* Quick patch for EqualsDataProduct (#134)

* MxLong Tickle() -> MxResult Tickle() (#135)

* MxLong Tickle() -> MxResult Tickle()

* Remove garbage

* Fix implementations

* PresenterNameDispatch (#137)

* PresenterNameDispatch

* Use reference for PresenterNameDispatch param
- fix or add const markers so we can use a const reference

* Implement/match remaining MxDSMultiAction functions (#136)

* Implement/match MxDSMultiAction::Deserialize

* Implement remaining functions of MxDSMultiAction

* Remove space

* Implement/match MxDSParallelAction (#138)

* Implement/match MxDSParallelAction

* Fix type

* Remove space

* Add neccessary MxDSMultiAction functions

* Implement/match MxDSSerialAction (#139)

* Implement/match MxDSSerialAction

* Add neccessary MxDSMultiAction functions

* Fix LegoOmni vtable (#140)

* matched GetOpenStream

* matched MakeSourceName

* add MxDSBuffer stub

* add MxRAMStreamController stub

* add stubbed functions for MxStreamController used by MxStreamer

* implement AddStreamControllerToOpenList

* implement most of MxStreamer::Open

* add note for MxStreamerSubclass1

* fix compiler issue

* implement MxStreamer::Notify

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
Co-authored-by: MS <disinvite@users.noreply.github.com>
2023-09-25 19:30:56 -07:00
MattKC
3f6e3af8ca
Fix LegoOmni vtable (#140) 2023-09-25 13:28:25 -07:00
Christian Semmler
e1e2abc510
Implement/match MxDSSerialAction (#139)
* Implement/match MxDSSerialAction

* Add neccessary MxDSMultiAction functions
2023-09-25 12:53:57 -07:00