Christian Semmler
11410890cd
Implement/match LegoPhonemePresenter::LoadFrame & PutFrame ( #812 )
...
* Implement/match LegoPhonemePresenter::LoadFrame & PutFrame
* add beta10 annotations
2024-04-17 13:26:11 +02:00
MS
536c4336f3
Beta matching MxVariableTable ( #811 )
2024-04-17 11:31:48 +02:00
MS
46362a0f6e
Fix some issues with annotations ( #808 )
2024-04-15 14:42:25 -04:00
MS
ce134e79ef
Use reference on MxDSObject Deserialize calls ( #767 )
2024-04-03 12:06:53 -04: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
Christian Semmler
52d74647be
Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction ( #691 )
...
* WIP
* Match
2024-03-18 15:00:58 -04: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
Christian Semmler
78f0455463
Fix code quirk ( #676 )
2024-03-15 17:05:09 +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
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
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
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
a93e2ae0d3
Implement/match LegoEntity::SetLocation ( #629 )
...
* Implement/match LegoEntity::SetLocation
* Remove comment
2024-03-05 20:31:57 +01:00
MS
ec1fcce08c
Data comparison tool ( #618 )
...
* Parse cvdump TYPES section. Add datacmp tool.
* Corrections
* Use static
* Revert "Use static"
This reverts commit e0a4324e00
.
* Handle partially initialized variable
* Shuffle order of legounksavedatawriter
* Revert "Shuffle order of legounksavedatawriter"
This reverts commit 506e06f117
.
---------
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
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
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
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
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
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
1d189b013d
Rename MxDSSubscriber functions ( #573 )
2024-02-17 16:35:10 +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
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
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
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 96c4c65fed
.
* 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
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
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
96234ddc23
Implement/match MxStillPresenter::Clone ( #502 )
...
* Implement/match MxStillPresenter::Clone
* Fix
2024-01-29 11:29:12 -05: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
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
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
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
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
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
Christian Semmler
1c4f772a82
Implement/match MxOmni::ActionSourceEquals ( #462 )
2024-01-19 23:06:39 +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