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