Anonymous Maarten
c77b5869f5
Fix warnings triggered by isle-portable ( #1304 )
...
* Replace computed constant with more readable computed constants
* LegoAnim::GetActorUnknown0x04 returns a number, not a pointer
* Add macro for creating RGB555 colors
* Texture pixel data is passed through as const data
* Compare palette index against 0 instead of NULL pointer
* warning: deleting 'void*' is undefined [-Wdelete-incomplete] warning
Some DirectX sdk's declars D3DRMIMAGE::buffer1 and D3DRMIMAGE::buffer2
as a void pointer.
* Don't use floats
* Fix wrong op
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-29 22:45:00 +01:00
Christian Semmler
724a566c2e
Match MxDiskStreamProvider::FUN_100d1780 ( #1299 )
2024-12-28 18:41:35 +01:00
Christian Semmler
8afa64048b
More BETA matches in MxDiskStreamController ( #1292 )
...
* More BETA matches in `MxDiskStreamController`
* Fix
2024-12-27 21:03:04 +01:00
Christian Semmler
2422d997cf
Match some more MxDiskStreamController functions ( #1291 )
2024-12-27 20:14:16 +01:00
Christian Semmler
a3b191f601
Match MxPresenter::StartAction ( #1290 )
2024-12-27 20:05:22 +01:00
Ramen2X
fb2e9fb5ec
rename MxSmack to MxSmk ( #1288 )
...
* rename MxSmack to MxSmk
* format
2024-12-27 13:00:56 -05:00
Christian Semmler
0f338a882b
Match some list functions in MxStreamController to BETA10 ( #1273 )
2024-12-24 22:42:20 +01:00
Anonymous Maarten
938a5d7f19
Implement MxDisplaySurface::VTable0x34 ( #1264 )
...
* Implement MxDisplaySurface::VTable0x34
* Match
* Remove function count since we got them all
* Update README.md
* Remove emphasis on work-in-progress
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-23 19:18:14 +01:00
Christian Semmler
5ffa91d5fd
Match MxDiskStreamController::FUN_100c7db0 ( #1265 )
...
* Match `MxDiskStreamController::FUN_100c7db0`
* Modern compiler fix
2024-12-23 19:06:45 +01:00
Christian Semmler
5b19d7953a
Refactor MxStreamList based lists ( #1260 )
...
* Refactor stream lists
* Fix naming
* Fix header inclusion
* Fix annotations
* Move function definitions to header
* Remove mxstreamprovider.cpp
* Naming
2024-12-23 16:32:16 +01:00
Joshua Peisach
48c327ca5a
Implement MxDisplaySurface::VTable0x2c ( #1262 )
...
* Implement MxDisplaySurface::VTable0x2c
* fix header namespace
* Incorporate improvements from @madebr branch
* Naming
* Naming
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2024-12-23 16:17:36 +01:00
MS
1f582eb610
Implement MxDisplaySurface::VTable0x24 ( #1261 )
...
* MxDisplaySurface::VTable0x24
* Fix stride/length check in vtable24 and vtable28
2024-12-22 20:21:07 -07:00
MS
276ad8d735
MxDSBuffer::ParseChunk to 100% (#1257 )
...
* MxDSBuffer::ParseChunk to 100%
* Restore SUCCESS tests
2024-12-21 20:03:12 -07:00
MS
fc93b84655
MxDSBuffer::FUN_100c67b0 100% ( #1250 )
2024-12-21 00:36:57 -07:00
Christian Semmler
5a61cf6566
Move CreateStreamObject to proper location ( #1249 )
2024-12-20 22:15:52 +01:00
MS
bfc6d460a8
MxDSBuffer::SkipToData to 100% (#1245 )
...
* MxDSBuffer::SkipToData to 100%
* Add blank line
2024-12-20 19:23:24 +01:00
Anonymous Maarten
6f3f8c2ade
Implement LegoVideoManager::DrawFPS ( #1243 )
...
* Implement LegoVideoManager::DrawFPS
* Implement MxDisplaySurface::FUN_100bc8b0
* Match functions
* type
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 17:05:40 +01:00
MS
9c951c4974
Implement MxDisplaySurface::DrawTransparentRLE ( #1236 )
...
* Implement MxDisplaySurface::DrawTransparentRLE
* ncc fix
2024-12-17 01:07:39 -07:00
Christian Semmler
cfa3769abf
Use macros for Seek modes ( #1235 )
...
* Use macros for `Seek` modes
* Fix syntax
* Use `OF_READ`
* Add names to skip.yml
* Revert "Add names to skip.yml"
This reverts commit 28b6f577dc .
2024-12-16 22:13:52 +01:00
Christian Semmler
94ce89cbaa
(Proposal) Introduce arithmetic operators to Vector2 ( #1193 )
2024-12-07 17:26:22 +01:00
MS
7ece9cf37b
Fix MxParam casts in Notify functions ( #1188 )
...
* First batch
* Second batch
2024-12-03 15:51:03 -07:00
MS
5e0dc1a160
Beta match progress for flic.cpp ( #1162 )
2024-11-22 01:07:40 +01:00
jonschz
4c0aae720b
Implement LegoCarBuild::FUN_10024890() and others, refactor ( #1126 )
...
* Commit finished code changes
* Add enum data type
* Refactor away GetCurrentArea, SetCurrentArea
* Clean up and add FUN_10024890
* Add `SetPartObjectIdByName()`
* Fix naming error
* Address review comments, part 1
* Address review comments, part 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-01 09:21:15 -07:00
jonschz
b5fee6b240
Complete LegoCarBuildAnimPresenter ( #1114 )
...
* Complete `LegoCarBuildAnimPresenter`
* fix CI errors
* Drive-by BETA10 fixes
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-20 14:00:44 -07:00
jonschz
974cd7ce7c
Implement LegoCarBuildAnimPresenter::FUN_10079160() and others ( #1111 )
...
* Implement `LegoCarBuildAnimPresenter::FUN_10079160()` and others
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-11 20:21:33 +02:00
jonschz
7a6935a165
Progress on LegoCarBuildAnimPresenter ( #1103 )
...
* Progress on `LegoCarBuildAnimPresenter`
* Rename argument
* fix copy-paste error
* Address review comments
* Remove obsolete comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-12 21:51:33 +02:00
MS
4a01d15c36
MxStreamListMxDSAction helper functions ( #1100 )
...
* MxStreamListMxDSAction Find/FindAndErase
* Beta addrs for other stream lists
2024-09-06 13:13:16 -07:00
MS
97b3dcaa2c
Beta match* MxStreamer ( #1099 )
...
* Beta addrs
* Streamer changes
* Typo and comment. One more beta addr
* Rename member to m_controllers
2024-09-05 16:06:40 -07:00
MS
73938ac2ab
Beta match MxDSFile ( #1098 )
2024-09-01 17:08:53 -07:00
MS
2af5f87051
MxTimer touch-up ( #1096 )
2024-09-01 11:51:33 -07:00
jonschz
1b46859cf6
Implement RaceSkel, add BETA10 annotations ( #1088 )
...
* Implement `RaceSkel`, add BETA10 annotations
* fix formatting
* Fix order
* Address some review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-21 22:30:27 +02:00
MS
9555aaba74
Remove USHRT_MAX from ParseExtra functions ( #1086 )
2024-08-17 08:56:25 -07:00
MS
9ab3954bbb
Minor tweak to MxList template ( #1083 )
...
* Beta addrs for MxList and related functions
* MxList DeleteAll and Empty functions
2024-08-11 13:23:39 -07:00
MS
51d4dead1a
MxSmack::LoadHeader ( #1080 )
2024-08-07 20:19:12 -07:00
MS
14653070cc
Refactor surrounding MxBitmap::GetAdjustedStride ( #1057 )
...
* Refactor surrounding MxBitmap::GetAdjustedStride
* Remove this-> from MxDisplaySurface
2024-07-04 09:50:04 -07:00
MS
05fa715550
Add MxTrace function ( #1054 )
2024-07-02 10:46:40 -07:00
Anonymous Maarten
8113a17167
Backports of isle-portable x64 fixes ( #1044 )
...
* Introduce LPD3DRM_APPDATA typedef for setting d3drm appdata
* Fix warning about assigning const string literals to variable char pointers
* Don't cast pointers to integers on non-32-bit architectures
* memset 2nd argument is int
* Assume cpuid is available on x86_64, needs testing on i386 and unavailable on anything else
* Store HFILE in its own member variable
2024-06-25 17:56:30 +02:00
Christian Semmler
cf576ca78f
Add remaining classes, implement/match LegoObjectFactory ( #1026 )
...
* Add missing classes
* Match LegoObjectFactory
* Remove semicolon
* Add symbol
* Fix
2024-06-13 02:02:47 +02:00
Christian Semmler
be4c351d7d
Rename Start/StopTimer to Pause/Resume ( #1007 )
...
* Rename Start/StopTimer to Pause/Resume
* Fix
2024-06-09 13:39:22 -04:00
Christian Semmler
2147be19de
Rename InitPresenters to Create, remove this keyword ( #1000 )
2024-06-07 22:13:42 +02:00
MS
ba378eb224
Streamline MxVideoParamFlags ( #999 )
...
* Streamline MxVideoParamFlags
* Remove this-> from MxOmniCreateFlags
2024-06-06 17:15:57 -04:00
Christian Semmler
03ffb9c5de
Implement/match LegoCacheSound::Create and LegoLoadCacheSoundPresenter::StreamingTickle ( #986 )
...
* Implement/match LegoCacheSound::Create
* Naming
* Fix naming
* Fix parens
2024-06-01 17:29:37 -04:00
Christian Semmler
eeb81b7223
Use USHRT_MAX instead of MAXWORD ( #975 )
2024-05-30 22:02:58 +02:00
Christian Semmler
76435d803f
Style refactor omni/system components ( #974 )
...
* Style refactor omni/system components
* Fix
* Fix
2024-05-30 21:03:43 +02:00
MS
ac41854149
Add static HandlerClassName function ( #973 )
...
* Add static HandlerClassName function
* Use method in PresenterNameDispatch
2024-05-30 19:10:41 +02:00
MS
085bdbe74b
Beta match MxPalette ( #968 )
...
* Beta match MxPalette
* Modern compiler fix
2024-05-29 22:52:45 +02:00
MS
a88546baad
Refactor MxBitmap (again) ( #961 )
...
* Remove this
* Starting list of beta addrs
* Static for height-specific abs, fix StrechBits
* MxBitmap refactor
2024-05-28 09:32:51 +02:00
Cameron
d106aada11
basic name improvements ( #930 )
...
* basic name improvements
* clang-format
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-18 15:20:05 -04:00
Christian Semmler
9a05edd0a7
Implement/match LegoLoopingAnimPresenter ( #924 )
2024-05-15 20:34:36 +02:00
Christian Semmler
e4a899350e
Move strings to proper location in define.cpp ( #922 )
2024-05-14 16:43:06 +02:00
MS
4b386fe738
Tweak MxOmni::Destroy and add more beta annotations ( #887 )
...
* Fix long function name
* Omni getter beta annotations
* MxMisc asserts and beta annotations
* Helper function for MxNotificationManager list
2024-05-07 13:00:16 -04:00
MS
3519a8356b
Beta matching MxDSMediaAction ( #882 )
2024-05-03 12:51:58 -04:00
Christian Semmler
51adf75b9b
(Refactor) Use more forward declarations ( #881 )
...
* Use more forward declarations
* Use more forward declarations
* Add more forward declarations
* Fix
2024-05-03 18:19:12 +02:00
MS
446caa4ca1
Beta matching MxDSObject/MxDSAction ( #878 )
...
* Beta matching MxDSObject/MxDSAction
* MxDSAction copy constructor
* A bit more refactor
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-03 14:01:27 +02:00
MS
a9d67e4dd7
Beta match MXIOINFO ( #853 )
2024-04-26 04:57:10 -04:00
MS
612eec6889
Beta matching MxAtom classes ( #847 )
...
* Beta matching MxAtom classes
* Remove unused getter
* Restore operator!= for modern compilers
2024-04-25 17:43:42 +02:00
MS
311b27b697
Beta matching MxString ( #842 )
...
* Beta matching MxString
* Add /opt:ref for lego1. Reorder MxString header.
* const fix
* Remove lego1 Opt:ref
2024-04-24 12:10:51 -04:00
Christian Semmler
f1688be263
Make NotificationManager::Send take a const reference to notification ( #836 )
...
* Make NotificationManager::Send take a const reference to notification
* Fix virtual func
2024-04-22 14:11:38 +02:00
Christian Semmler
91d043a9ae
Implement/match LegoAnimMMPresenter::FUN_1004b450 ( #827 )
2024-04-20 17:18:19 +02:00
Christian Semmler
d5dd8db46e
Implement LegoAnimationManager::FUN_100609f0 / LegoTranInfo ( #820 )
...
* Implement LegoAnimationManager::FUN_100609f0 / LegoTranInfo
* use NULL
2024-04-19 17:42:28 +02:00
MS
9c6120fc37
Beta matching MxOmniCreateFlags ( #817 )
...
* Beta matching MxOmniCreateFlags
* Add newlines and swap order
* Add newline
2024-04-17 16:37:16 -04:00
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