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
MS
abcc3afb31
Fix reccmp html output for template functions ( #296 )
2023-11-22 02:52:57 -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
Christian Semmler
17b0eeddb4
Update CONTRIBUTING.md
2023-11-19 14:17:01 +01:00
Thomas Phillips
dff410d87a
Use templates instead of replacing ( #292 )
...
* Use templates instead of replacing
* Use Renderer to avoid loading templates ourselves
---------
Co-authored-by: Thomas Phillips <thomas@teknique.com>
2023-11-19 13:55:01 +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
Thomas Phillips
bd85abaf2a
Improve python tools ( #273 )
...
* Use python3 features
* Use `with` statement for file access
* Use f-strings instead of modulo string formatting
* Single quotes in most places
Fix typo in 'with' statement
* Add files into missing messages
* Fix can_resolve_register_differences and round percentages
* Return modified value instead of relying on in-place modification
2023-11-08 10:47:11 +01: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
MS
8a528e4146
Big performance gain to reccmp ( #271 )
2023-11-06 10:07:02 +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 7b88625988
.
---------
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
Paul Kaefer
1562fab522
added direct link to mxtypes.h in CONTRIBUTING.md ( #257 )
...
* added link to mxtypes.h
* switch to relative link
2023-10-31 14:33:03 +01: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