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
jonschz
3e6d789324
Add all BETA10 ClassName() functions and vtables ( #1258 )
...
* Add all BETA10 `ClassName()` functions and vtables
* Run formatter, fix copy error
* Fix copy error
* Add BETA10 library functions
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-22 08:13:34 -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
Christian Semmler
e73f60e2c6
merge from isle/master
2024-12-20 11:54:06 -07: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
Christian Semmler
d3212a0523
Fix repeating sounds in MxWavePresenter (again) ( #40 )
...
* Commit
* Use audio buffer
* Add assert for buffer
* Fix naming
2024-12-18 22:27:29 +01:00
MS
9c951c4974
Implement MxDisplaySurface::DrawTransparentRLE ( #1236 )
...
* Implement MxDisplaySurface::DrawTransparentRLE
* ncc fix
2024-12-17 01:07:39 -07:00
Christian Semmler
f51b1867ee
Use SDL3 for filesystem access ( #36 )
...
* Use SDL IOStream in for MXIOINFO
* Use SDL IOStream for WDB file
* Use SDL IOStream for LegoStorage
* Update README.md
* Fixes
* Add names to skip.yml
* Add #include <stdio.h> where necessary
2024-12-16 22:25:52 +01:00
Christian Semmler
aa3a66cd82
Merge remote-tracking branch 'isle/master'
2024-12-16 14:14:14 -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 28b6f577dc0c47070064070f4655a15dab3bda25.
2024-12-16 22:13:52 +01:00
Christian Semmler
874714a40d
Fix repeating sounds in MxWavePresenter ( #35 )
2024-12-16 00:29:41 +01:00
Christian Semmler
d22c4cd1f2
merge from isle/master
2024-12-07 10:17:25 -07:00
Christian Semmler
94ce89cbaa
(Proposal) Introduce arithmetic operators to Vector2 ( #1193 )
2024-12-07 17:26:22 +01:00
MS
6ca54824e6
Rename c_notificationDrag* enum ( #1191 )
...
* Improve functions with drag notifications
* Rename drag notifications
* A couple more addrs
2024-12-04 16:19:48 -07:00
Christian Semmler
5ade193261
merge from isle/master
2024-11-29 15:27:01 -07:00
jonschz
29a0ae8f07
Implement/match LegoAct2::FUN_10052560() ( #1174 )
...
* Implement/match `LegoAct2::FUN_10052560()`
* Fix formatting
* Fix linter errors
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-29 21:04:50 +01:00
Christian Semmler
5f0575124f
Merge from isle/master
2024-11-24 08:01:05 -07:00
jonschz
0aa5e010ae
Implement CarRace ( #1165 )
...
* Implement `CarRace`
* Improve `CarRace::Create`
* Fix arrays
* Clean up array
* Fix CI errors
* Implement `LegoRaceCar::FUN_10012e00()`
* Implement `Doors::VTable0xcc`
* Address review comments, part 1
* Address review comments, part 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-23 12:33:15 -07:00
MS
5e0dc1a160
Beta match progress for flic.cpp ( #1162 )
2024-11-22 01:07:40 +01:00
Christian Semmler
bb36eda0dd
Merge remote-tracking branch 'isle/master'
2024-11-14 13:42:52 -07:00
jonschz
71a7498481
Implement most of JetskiRace, add BETA10 annotations ( #1149 )
...
* Implement most of `JetskiRace`, add BETA10 annotations
* Fix declaration order issue
* Clean up FUN_10012de0
* Fix regression
* Address review comments
* Address another review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-14 21:42:38 +01:00
Christian Semmler
bf5379992e
merge from isledecomp/isle
2024-10-26 08:06:31 -07:00
jonschz
c38e157fdb
Implement LegoCarBuild functions, refactor BackgroundAudioManager ( #1117 )
...
* Implement LegoCarBuild functions, refactor BackgroundAudioManager
* Refactor LegoVehicleBuildState::m_animationState to enum
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-25 09:04:01 -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
85ce10ab50
Refactor various operator[] based on BETA10 ( #1110 )
...
* Tidy up `operator[]` code
* Add weird index operator for `FUN_1002ddc0`
* Cleanup
* Add Matrix4 BETA10 annotations, fix typo
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-06 07:50:34 -07:00
jonschz
1a15981324
Implement LegoCarBuildAnimPresenter::StreamingTickle() ( #1109 )
...
* Implement LegoCarBuildAnimPresenter::StreamingTickle and dependents
* Fix naming issue
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-05 16:20:45 -07:00
Christian Semmler
9397458854
merge from isledecomp/isle
2024-10-03 12:14:05 -07: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
Christian Semmler
318c46b881
merge
2024-09-05 12:09:19 -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
jonschz
757df96c0d
Implement/match LegoRaceMap ( #1087 )
...
* Implement/match LegoRaceMap
* Fix CI, address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-17 11:30:39 -07:00
Christian Semmler
30e9e43cda
Implement/match RegistrationBook::HandlePathStruct ( #1084 )
2024-08-12 18:21:18 +02: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
Christian Semmler
03781da2ed
merge
2024-08-08 13:07:47 -07:00
MS
51d4dead1a
MxSmack::LoadHeader ( #1080 )
2024-08-07 20:19:12 -07:00
Christian Semmler
c0bd989dc5
merge
2024-07-28 10:01:31 -07:00
jonschz
0d385e27d0
Implement/match LegoRaceCar::VTable0x94 ( #1068 )
...
* Implement LegoRaceCar::VTable0x94
* Remove redundant inline modifiers
* Fix offsets
* Fix minor inconsistency
* Address review comments
* Address review comments, round 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-26 10:53:09 -07:00
Christian Semmler
49a304d0b9
merge
2024-07-04 16:09:48 -07:00
Christian Semmler
bee101b1f4
Add clang-tidy readability-redundant-inline-specifier ( #1060 )
...
* Add clang-tidy readability-redundant-inline-specifier
* fix
* Update CONTRIBUTING.md
* format
* fix
2024-07-05 01:06:32 +02:00
MS
14653070cc
Refactor surrounding MxBitmap::GetAdjustedStride ( #1057 )
...
* Refactor surrounding MxBitmap::GetAdjustedStride
* Remove this-> from MxDisplaySurface
2024-07-04 09:50:04 -07:00
Christian Semmler
b17762ebe3
merge
2024-07-02 12:19:13 -07:00
MS
05fa715550
Add MxTrace function ( #1054 )
2024-07-02 10:46:40 -07:00
Christian Semmler
af513734fa
Merge remote-tracking branch 'isle/master'
2024-07-01 17:38:28 -07:00
Christian Semmler
788cec2560
Implement GasStation::HandleEndAction ( #1053 )
2024-07-02 02:37:51 +02:00
Anonymous Maarten
554a679dc0
Merge commit '8113a17167e92133f5a0793967bf1e485dafd07a' into new-isle-decomp
2024-06-25 20:22:08 +02:00
Anonymous Maarten
ec19d5edb0
Fix mingw build + copy d3drm from wine ( #25 )
...
* Fix engineConfig declaration crossing jump
This fixes the following error:
```
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp: In member function 'virtual MxResult MxSoundManager::Create(MxU32, MxBool)':
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:119:1: error: jump to label 'done'
119 | done:
| ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:78:22: note: from here
78 | goto done;
| ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:84:26: note: crosses initialization of 'ma_engine_config engineConfig'
84 | ma_engine_config engineConfig = ma_engine_config_init();
| ^~~~~~~~~~~~
```
* Fix 'invalid conversion from 'SDL_FunctionPointer' {aka 'void (*)()'} to 'void*'
* /SAFESEH:NO is a VC thing
* SDL3 is still instable
* Cannot forward declare and use enum
* Remove MusicManager from public LEGO1.DLL interface
* Copy d3d from wine git 6c5d17af07a318d754c0c21023b2d162a0d3725d
* Build d3drm-wine with 32-bit mingw
* cmake: move 3rd party targets to cmake script in 3rdparty directory
* cmake: bump minimum required CMake version to 3.25 to allow adding a subproject with SYSTEM automatically applied
An alternative would be to use SYSTEM in target_include_directories in the 3rd party cmake script.
* Add a minimal Findiniparser.cmake (not all distributions carry the upstream iniparser-config.cmake files)
* Add wine's d3drm headers
* cmake: merge ISLE_USE_DX5_LIBS into ISLE_USE_DX5
* cmake: Build all shared libraries in the binary output directory (to avoid PATH issues)
* ci: enable msys2 mingw32 build
* Disable clang-tidy on d3drm wine
* Thread functions must have SDLCALL call convention
* cmake: disable clang-tidy for miniaudio and libsmacker as well
* Hopefully fix c++ format and skip ncc naming violation
* clang-format violations keep up popping out of nowhere
* No need for lego/legoomni/include
* ncc: define SDLCALL as empty instead
2024-06-25 20:02:58 +02:00
Christian Semmler
806afaa210
Replace DirectSound with miniaudio ( #21 )
...
* Add miniaudio
* WIP
* static const
* Fix missing looping
* Fix volume
* Implement 3D sound, WIP
* Remove unused WinMM code
* Update README.md
* Fixes
* Fix naming
* Fix naming
* disable ma threading
* Invert Z axis for OpenGL system
* Update comment
* Set rolloff
* Fix minimize/maximize suspension
* Rename function
* SDL3: changed macro name
2024-06-25 20:02:58 +02:00
Anonymous Maarten
d537d69d13
Merge commit 'd869d565c282b89bffefd8b298048dfbbbc7808b' into new-isle-portable
2024-06-25 20:02:43 +02:00
Anonymous Maarten
974cb8e6d3
Merge commit 'c22c6f337960f0c4c2f1170e857417926cbeeb0f' into new-isle-portable
2024-06-25 20:00:25 +02:00
Christian Semmler
71559309a9
Rename InitPresenters to Create, remove this keyword ( #1000 ) ( #20 )
2024-06-25 19:57:18 +02:00
Anonymous Maarten
3d59615274
Merge commit 'ba378eb22442d71fe4f23a5c818cdfad16d3b16d' into new-isle-decomp
2024-06-25 19:57:16 +02:00
Anonymous Maarten
8d5bfb40d9
Merge commit '828b35e9d22c7a17f7af4906049b56e0b1f4c789' into new-isle-decomp
2024-06-25 19:55:43 +02:00
Christian Semmler
880ae98f0b
Remove dependency on dinput, use SDL keyboard state for navigation ( #14 )
...
* WIP
* Use SDL kb state for navigational keys
* Remove linking against dinput
2024-06-25 19:51:12 +02:00
Christian Semmler
21502ecf18
Replace Windows threads with SDL threads ( #8 )
...
* Replace Windows threads with SDL threads
* Wait for thread in dtor
2024-06-25 19:51:12 +02:00
Christian Semmler
641ae70ab9
Replace Windows CriticalSection with SDL Mutex ( #7 )
...
* Replace Windows CriticalSection with SDL Mutex
* Update README.md
2024-06-25 19:51:12 +02:00
Anonymous Maarten
fc76114a36
Merge commit '76435d803f768be8da9821d72b98306a4b043ad2' into new-isle-decomp
2024-06-25 19:51:12 +02:00
Christian Semmler
6f1aebbb02
Add SDL3 and replace Windows semaphores ( #4 )
...
* Add SDL3 and replace Windows semaphores
* Try this
* Change for now
2024-06-25 19:50:27 +02:00
Anonymous Maarten
94081312c3
Merge commit 'ac41854149776a30b7acaa89808cee0a7cad7380' into new-isle-decomp
2024-06-25 19:50:27 +02:00
Anonymous Maarten
c1f20a4502
Merge commit '6774784b37ec185297191c0dd87251a53f3c7e4c' into new-isle-decomp
2024-06-25 19:49:56 +02:00
Christian Semmler
a548770f7e
Add libsmacker to replace smack.lib
2024-06-25 19:48:56 +02: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
bbc304ce46
Implement/match Ambulance::HandlePathStruct ( #1029 )
...
* Implement/match Ambulance::HandlePathStruct
* Add annotation
2024-06-13 20:10:19 +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
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
Christian Semmler
ab4ba9fc4f
Implement/match Lego3DWavePresenter::StartingTickle ( #972 )
...
* Implement/match Lego3DWavePresenter::StartingTickle
* Fix annotation
* Add StreamingTickle
* Rename
2024-05-30 16:27:18 +02:00
Christian Semmler
650903d043
Implement/match Pizzeria::HandleClick ( #971 )
2024-05-30 15:54:24 +02:00
Christian Semmler
ae859fbc19
Implement/match LegoControlManager::FUN_100293c0 ( #970 )
2024-05-30 15:15:16 +02:00
MS
085bdbe74b
Beta match MxPalette ( #968 )
...
* Beta match MxPalette
* Modern compiler fix
2024-05-29 22:52:45 +02:00
MS
5f00634b9c
Implement LegoMeterPresenter::DrawMeter ( #964 )
...
* Implement LegoMeterPresenter::DrawMeter
* New MxRect16 header, offsets and size annotations
* Missing mxtypes include
2024-05-29 16:47:25 +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
Christian Semmler
7c9fdd255e
Implement/match Isle::HandleType19Notification ( #952 )
...
* Implement/match Isle::HandleType19Notification
* Fix
2024-05-25 03:23:41 +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
732de04433
Implement/match PlayCamAnim and CameraTriggerFire ( #935 )
...
* Implement/match PlayCamAnim and CameraTriggerFire
* Fix type
* Name var
2024-05-18 20:43:19 +02:00
Christian Semmler
9a05edd0a7
Implement/match LegoLoopingAnimPresenter ( #924 )
2024-05-15 20:34:36 +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
Christian Semmler
cd39e71597
Implement/match LegoAnimationManager::Notify ( #875 )
...
* Implement/match LegoAnimationManager::Notify
* Rename notification type
2024-05-01 15:00:42 +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
c617139d5b
Implement/match LegoAnimMMPresenter::EndAction ( #826 )
...
* Implement/match LegoAnimMMPresenter::EndAction
* Add missing vtable
2024-04-20 16:41:34 +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
Christian Semmler
fb0f35188b
Implement/match LegoCharacterManager::FUN_10083c30 ( #819 )
2024-04-19 14:30:36 +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
Christian Semmler
2600b1b421
Implement/match LegoPhonemePresenter::StartingTickle ( #809 )
...
* Implement/match LegoPhonemePresenter::StartingTickle
* Name vars
* Fix name
2024-04-16 16:07:13 +02:00
MS
46362a0f6e
Fix some issues with annotations ( #808 )
2024-04-15 14:42:25 -04:00
Joshua Peisach
4e74747451
GasStation::ReadyWorld ( #765 )
...
* Start GasStation::ReadyWorld
* fixes (up to 69.43%)
* what is this file and how did it get here
* don't hardcode (likely) action id
* Match FUN_10005590 (non-inlined version of PlayAction?)
* fixes (75.07%)
* Fixes (77.87%)
* style
* fix
* style
* style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-06 13:48:09 +02:00
MS
ce134e79ef
Use reference on MxDSObject Deserialize calls ( #767 )
2024-04-03 12:06:53 -04:00
Christian Semmler
68bb20f04f
Implement LegoCharacterManager::CreateROI ( #709 )
...
* WIP
* Create globals
* Add Read
* Name Init
* Add LegoCharacter init data
* Add define for NULL
* Use MxS8
* Add LegoCharacterLOD
* WIP CreateROI
* Fix
* WIP
* Match
* Match
* Match, implement Find
* Fix MeshBuilder
* Fix
* space
2024-03-22 18:40:19 +01:00
Misha
9256554406
Implement LegoCameraController::Notify & TimeROI::FUN_100a9b40 ( #707 )
...
* Implement LegoCameraController::Notify & TimeROI::FUN_100a9b40
* Fixes/matches
* Style
* Fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-21 15:39:23 +01: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
Misha
eaa935f646
Finish LegoVariables class ( #698 )
...
* Finish LegoVariables class
* Update legonavcontroller.cpp
* Update legobackgroundcolor.cpp
* Match functions, style, refactor visible
* Use MxBool
* Merge/fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 19:44:42 +01:00
Christian Semmler
52d74647be
Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction ( #691 )
...
* WIP
* Match
2024-03-18 15:00:58 -04:00
Christian Semmler
0fe3fa65aa
Implement/match Isle::FUN_10032d30 ( #684 )
2024-03-17 18:26:41 +01: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
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
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
9e2f37e7ca
Implement LegoTexturePresenter::Read and Store ( #641 )
...
* LegoTexturePresenter::Read
* Implement LegoTexturePresenter::Store
* Rename
* Fix naming
2024-03-09 16:49:13 +01:00
Christian Semmler
71bcd4c771
Implement/match LegoEntity::SetWorldTransform and ResetWorldTransform ( #632 )
...
* Implement/match LegoEntity::SetWorldTransform and ResetWorldTransform
* Add param name
2024-03-06 19:25:45 +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
Misha
c2a46b058b
implement various LegoWorldPresenter functions ( #621 )
...
* implement LegoWorldPresenterFunctions
* fix typo
* Fixes/match
* Fix
* Match
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-03 20:34:55 -05:00
Christian Semmler
fb6eed9bff
Match StartAction functions, remove NextFragment ( #610 )
2024-03-01 19:07:07 +01:00
Christian Semmler
ec29f2633d
Improve matches in ROI classes ( #608 )
...
* Improve matches in ROI classes
* More function implementations
* Fix name
* Fix vtables
* Add annotation
2024-03-01 18:19:41 +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
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
c0a988b0fe
Implement/match LegoAnimPresenter::StartingTickle ( #601 )
...
* Implement/match LegoAnimPresenter::StartingTickle
* Fix vtable
* Fix vtable
2024-02-27 17:49:31 +01:00
Christian Semmler
377eebb610
Minor style/naming fixes ( #593 )
2024-02-25 15:14:39 +01: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
Christian Semmler
c67f613b8d
Implement/match LegoOmni::FindROI and related ( #570 )
...
* Implement/match LegoOmni::FindROI and related
* Add missing file
2024-02-17 01:34:30 +01:00
MS
ad3a1de055
Match more scalar deleting destructors ( #568 )
2024-02-16 13:15:53 -05: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
a29c0aca3f
Implement/match LegoOmni::Create ( #556 )
...
* Implement/match LegoOmni::Create
* Fix var
* Rename
* Fix style
2024-02-11 02:52:16 +01: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
2158142b08
Implement LegoSoundManager ( #521 )
...
* push code
* begin work on subclass
* fixes
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-03 02:16:57 +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 96c4c65fedbc4102837f4bcbbb9ee83a7d14cba3.
* 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
9e0b19856c
Implement various infocenter functions ( #510 )
...
* Implement various infocenter methods
* fix order
* Update infocenter.cpp
* Update infocenter.cpp
* Update infocenter.cpp
* Update mxcontrolpresenter.cpp
* Rename stuff for consistency
* Add StateStruct to InfocenterState
* Resolve some TODO
* Use MxRect32
* Improve match
* Match Infocenter::UpdateFrameHot
* Fix VTable0x64
* WIP Match
* Match
* Cleanup
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-31 15:47:15 +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
baed704a38
(clang-format) Add RemoveSemicolon ( #506 )
2024-01-29 23:30:20 +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
Misha
d9c4151bb8
implement LegoInputManager::ProcessOneEvent ( #498 )
...
* push changes
* fix
* Match
* Rename functions
* Space
* Fix GetPresenterAt
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 15:20:21 +01:00
Christian Semmler
4df7dee037
Implement/match LegoWorld::Remove ( #491 )
...
* Implement/match LegoWorld::Remove
* Fix comparison
* Match 100%
2024-01-27 16:10:09 +01:00
Christian Semmler
7b6ec235d8
Implement LegoWorld::Add ( #490 )
...
* LegoWorld::Add
* Add annotations
* Fix include guard
* Make stub
* Change MxPresenterSet to MxCoreSet
* Improve match
* Match
* Fix annotation
2024-01-26 23:52:03 +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