Commit Graph

1540 Commits

Author SHA1 Message Date
Anonymous Maarten
0b9c1756c7
Fix inclusion guards of 3 files (#1509)
* Fix inclusion guards of 3 files

* Apply suggestions from code review

Co-authored-by: Christian Semmler <mail@csemmler.com>

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-20 02:15:30 +02:00
Erik Schulze
d67318e78b
propagate name changes from commit fce97ea (#1508)
* propagate name changes from commit fce97ea

* remove dependency on omni types

* rename parameter too
2025-05-19 21:25:52 +02:00
Erik Schulze
7b34eea690
Use SUCCESS and FAILURE in MxPalette::SetSkyColor (#1506) 2025-05-18 16:36:25 -07:00
Anonymous Maarten
2915aa014f
Use sizeof(type) instead of sizeof(variableName) when (de)serializing data (#1505)
* Use sizeof(type) instead of sizeof(variableName) when (de)serializing data

* Less usage of sizeof(variableName) while (de)serializing
2025-05-18 22:56:28 +02:00
Anders Jenbo
c9b41e2db8
Fix delete in legoanimmmpresenter.cpp (#1504) 2025-05-17 19:09:44 -07:00
Anders Jenbo
d00c08cc19
Rename FUN_1009e020 to ClearBackBuffers (#1503)
* Rename FUN_1009e020 to ClearBackBuffers

* Update mxdirectdraw.h
2025-05-17 18:01:29 -07:00
Anders Jenbo
3f0fe654ff
Fix delete[] in mxstillpresenter.cpp (#1496)
* Fix delete[] in mxstillpresenter.cpp

Without this the game doesn't  run on Linux :)

* Update LEGO1/omni/src/video/mxstillpresenter.cpp

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Update mxstillpresenter.cpp

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-17 16:14:25 -07:00
Anders Jenbo
45e0e5bdd1
Correct delete[] in mxflcpresenter.cpp (#1501)
* Correct delete[] in mxflcpresenter.cpp

* Update LEGO1/omni/src/video/mxflcpresenter.cpp

Co-authored-by: Christian Semmler <mail@csemmler.com>

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-17 14:22:30 -07:00
Anders Jenbo
bc920a295b
Correct assert in view.cpp (#1500) 2025-05-17 13:26:01 -07:00
Anders Jenbo
d3cd491765
Correct delete[] in legowegedge.cpp (#1499) 2025-05-17 13:25:22 -07:00
Anders Jenbo
2d92aee589
Correct delete[] in mxcontrolpresenter.cpp (#1498) 2025-05-17 13:24:06 -07:00
Anders Jenbo
46ae3fbe89
Order enums the same way in both places (#1495)
To match LEGO1/mxdirectx/mxdirectdraw.cpp so it's not so confusing to compare uage
2025-05-15 21:11:06 -07:00
Anders Jenbo
f5cb2d4732
Use consts in callbacks (#1494) 2025-05-15 19:22:40 -07:00
Anders Jenbo
4c754b376c
Enums in mxdisplaysurface.cpp (#1493)
* Enums in mxdisplaysurface.cpp

* Update mxdisplaysurface.cpp
2025-05-14 22:08:50 -07:00
Anders Jenbo
d52af9f4e3
Enum in legovideomanager.cpp (#1492) 2025-05-14 22:03:52 -07:00
Anders Jenbo
ad5ccd4e8b
Enums in mxtransitionmanager.cpp (#1491) 2025-05-14 22:03:33 -07:00
Anders Jenbo
dabd404111
Correct enums in mxdirectdraw.cpp (#1490) 2025-05-14 22:03:16 -07:00
Anders Jenbo
f99da0cea7
Correct enums in legotextureinfo.cpp (#1489) 2025-05-14 22:02:35 -07:00
Anders Jenbo
dbbf373748
Correct dwCaps bit flags (#1487)
* Correct dwCaps bit flags

* Update legotextureinfo.cpp
2025-05-15 02:01:10 +02:00
Anders Jenbo
fce97ea06f
Correct check for lighting support (#1486) 2025-05-15 01:39:55 +02:00
Christian Semmler
396bf6b562
Fix wrong deletes in MxBitmap (#1482) 2025-05-13 18:42:12 -07:00
Christian Semmler
934d90fc96
Fix wrong use of delete vs delete[] (#1481) 2025-05-14 00:37:53 +02:00
MS
810c0b0654
Fix some MSVC annotations for LEGO1 (#1480) 2025-05-13 14:18:08 -04:00
Anders Jenbo
7e98f0e11c
Rename FUN_1009d0d0 into GetBestDevice (#1478) 2025-05-12 22:34:37 +02:00
Florian Kaiser
e59345c88c
Rename SetUnknown84 to SetNotificationObject (#1474) 2025-05-12 17:20:38 +02:00
Anders Jenbo
6482a89ea2
Correct argument names for FUN_100bc8b0 (#1472)
* Correct argument names for FUN_100bc8b0

* Update mxdisplaysurface.h
2025-05-11 16:17:28 -07:00
Ramen2X
38e3ecb1c6
make MIDIOUTCAPS format-agnostic (#1471)
Signed-off-by: Ramen2X <contact@ramen2x.com>
2025-05-11 19:02:41 -04:00
Ramen2X
2b3e7176d3
make all calls to winapi format-agnostic (#1470) 2025-05-11 15:03:32 -04:00
Anders Jenbo
00ac032761
Fix input to FUN_10064740 (#1467) 2025-05-10 17:37:02 -07:00
Christian Semmler
fff2021bb5
Match Hospital::ReadyWorld (#1465) 2025-05-10 18:11:53 +02:00
Christian Semmler
447fcd0c00
Match LegoCarBuild::FUN_100246e0 (#1464) 2025-05-10 17:48:08 +02:00
Christian Semmler
30facd3c90
Match JetskiRace::Create (#1463) 2025-05-10 17:16:18 +02:00
Florian Kaiser
a3d773f629
Rename functions in LegoWorldPresenter : FUN_10067360 to LoadWorldPart and FUN_100674b0 to LoadWorldModel. Update m_unk0x50 to m_maxObjectId. (#1460) 2025-05-09 21:23:02 +02:00
Florian Kaiser
c59343c220
Rename m_unk0x64 to m_world in LegoAnimMMPresenter (#1461) 2025-05-09 20:55:22 +02:00
Florian Kaiser
81ce446628
Rename m_unk0x28 to m_characterIndex in AnimInfo struct and update references in LegoAnimationManager (#1462) 2025-05-09 20:54:44 +02:00
Florian Kaiser
674197555c
Rename m_list0x68 to m_pathControllerList in LegoWorld class (#1459) 2025-05-09 20:49:52 +02:00
Florian Kaiser
5fd5a4cec0
Clear unknowns in LegoROI and related classes (#1457)
* Clear unknowns in LegoROI and related classes

* Update names

* Consistently naming: `GetTextureInfo`

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-09 18:13:19 +02:00
Florian Kaiser
3811d61ea4
Rename c_bit5 to c_ctrl in LegoInputManager, change m_unk0x6c to m_isAccelerating and clear some local unknowns (#1458) 2025-05-09 07:40:00 -07:00
Florian Kaiser
711134b3b8
Replace m_unk0x04 and m_unk0x08 with m_modelDataLength and m_modelDataOffset (#1456) 2025-05-09 07:35:11 -07:00
Florian Kaiser
9027849848
Rename parameter p_stack to p_stackSize in MxThread::Start method (#1452) 2025-05-09 12:44:53 +02:00
Florian Kaiser
0a2d598b57
Refactor Deserialize method parameters in MxDS classes to use p_flags instead of p_unk0x24 (#1450) 2025-05-08 12:26:48 -07:00
Christian Semmler
f851103d48
Match LegoDeviceEnumerate::SupportsMMX (#1443)
* Match `LegoDeviceEnumerate::SupportsMMX`

* Fix indent
2025-05-08 00:46:21 +02:00
Christian Semmler
02c38d55a3
Match MxDisplaySurface::SetPalette (#1438)
* Match `MxDisplaySurface::SetPalette`

* Match
2025-05-05 17:19:23 -07:00
Christian Semmler
fa6c62f7b3
Match MxCompositeMediaPresenter::Tickle (#1437)
* Match `MxCompositeMediaPresenter::Tickle`

* Remove file
2025-05-06 01:04:55 +02:00
MS
2fef2858c9
Add all TglImpl::ImplementationData methods (#1436)
* ImplementationData methods and typedefs

* RendererImpl::CreateView

* RendererImpl::CreateMeshBuilder

* DeepClone

* CreateCamera and CreateTexture

* CreateDevice

* Disable static var annotation
2025-04-19 10:30:47 -04:00
MS
451fd63eee
Match a few more Tgl functions (#1435)
* RendererImpl::CreateLight

* Swap addrs for LightImpl and MeshBuilderImpl

* SetShadingModel functions
2025-04-17 17:19:54 -04:00
MS
544372759e
Add abstraction functions to TglImpl::ViewImpl (#1434)
* Add Destroy methods to TglImpl

* Test one abstraction

* More ViewImpl abstractions

* Finish ViewImpl
2025-04-15 16:30:56 -04:00
MS
0bc31450a4
Some beta addrs for Tgl and TglImpl (#1433) 2025-04-14 18:29:38 -04:00
MS
688c203f70
Beta match and cleanup of MxDS* classes (#1432)
* Clean up / beta match MxDS* classes

* ;)
2025-04-10 22:59:55 -04:00
MS
95431347ee
Add getters to AlphaMask (#1431) 2025-04-09 23:48:16 -04:00
MS
4ec020ed89
MxVideoPresenter::IsHit to 100% (#1428) 2025-04-06 10:36:13 -04:00
MS
93d6c18c9a
Fix AlphaMask functions (#1425) 2025-04-03 20:18:00 -04:00
MS
3b63506648
Fix FUN_10044270 (#1423) 2025-04-03 17:10:11 -04:00
MS
8821593b63
Improve MxControlPresenter::FUN_10044270 (#1422) 2025-04-03 16:25:40 -04:00
MS
20bcea0c81
Fix address for MxRect constructor (#1419) 2025-03-16 19:47:06 -04:00
Christian Semmler
6220ab32c3
Match FUN_100b7220 (#1418) 2025-03-16 23:19:13 +01:00
Christian Semmler
1027a80d9e
Match MxEventPresenter::PutData (#1417) 2025-03-16 23:02:13 +01:00
Christian Semmler
aa60386196
Match MxStreamController::RemoveSubscriber (#1416) 2025-03-16 22:59:10 +01:00
Christian Semmler
a301f84566
Match LegoAnimPresenterSetCompare comparison (#1415) 2025-03-16 22:58:48 +01:00
Christian Semmler
e9467864d8
Match LegoHideAnimPresenter::FUN_1006db60 (#1414)
* Match `LegoHideAnimPresenter::FUN_1006db60`

* Remove comment
2025-03-16 22:57:23 +01:00
Christian Semmler
401fa7674e
Match MxBackgroundAudioManager::FadeInOrFadeOut (#1413) 2025-03-16 22:19:11 +01:00
Christian Semmler
67c71cb9e6
Match MxControlPresenter::HasTickleStatePassed (#1412) 2025-03-15 14:19:09 -07:00
MS
51fc69e49f
Various DirectDraw items (#1411) 2025-03-15 11:12:10 -04:00
Christian Semmler
b0b68052d4
Improve Isle::Enable match (#1410) 2025-03-14 21:45:53 +01:00
Christian Semmler
421a317050
Match Isle::HandleEndAction (#1409) 2025-03-14 21:24:50 +01:00
Christian Semmler
77435427b3
Match Radio::HandleControl (#1408) 2025-03-14 21:24:11 +01:00
MS
d663e26321
Use MxGeometry header (#1399)
* Use MxGeometry header

* Fix comment

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-03-11 21:13:13 -04:00
jonschz
06d23a4e99
Add BETA10 reference to _aexit_rtn (#1397)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-03-02 19:59:16 +01:00
jonschz
87d13aa277
Add various BETA10 references and fixes (#1398)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-03-02 19:59:03 +01:00
MS
8b7182f9db
MxDirect3D::SetDevice to 100% (#1396) 2025-02-27 22:02:17 -05:00
MS
92f20e7f7b
Fix enum in Ambulance::HandlePathStruct (#1395) 2025-02-27 21:32:27 -05:00
Christian Semmler
67b25b0bcc
Adapt MxRegion.h (#1393)
* Adapt MxRegion.h

* Use specific GH action version

* Disable clang32 for now

* Fix regression

* Add space

* Add BETA annotations
2025-02-27 03:30:11 +01:00
Christian Semmler
ea5a722311
Fix Matrix4::operator[] annotation (#1390) 2025-02-22 06:48:11 -07:00
Christian Semmler
5e5b048b34
Match Act3::DebugCopter (#1392)
* Match `Act3::DebugCopter`

* Rename param
2025-02-21 23:50:38 +01:00
jonschz
78e924e4ee
Match Infocenter::ReadyWorld (#1389)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-21 21:26:10 +01:00
jonschz
777dfa82ec
Match Infocenter::HandleControl (#1386)
* Add BETA10 references

* Refactor non-existent getters

* Infocenter::HandleControl maybe down to entropy

* Rename variable

* More refactoring

* Refactor public variable

* 100 %

* Fix clang-format

* Fix clang-format

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-02-18 01:12:51 +01:00
jonschz
d88ab0a50a
Match Act2Brick::Create (#1385)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-15 16:47:55 +01:00
Christian Semmler
347da7d555
Match Infocenter::HandleButtonUp (#1383) 2025-02-11 23:23:20 +01:00
jonschz
956c900ec6
Match simple BETA10 vector calls (#1382)
* Add BETA10 for Vector2

* BETA10 match the remaining vector vtables

* Match vector implementations to BETA10

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-10 18:08:49 +01:00
Christian Semmler
82453f62d8
Match Hospital::HandleButtonDown (#1381) 2025-02-02 17:42:37 +01:00
jonschz
bc0344a8c4
Match Jetski::HandleClick (#1380)
* Match `Jetski::HandleClick`

* Formatting

* Clean up, document, add BETA10 references

* Fix formatting

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-02 15:44:00 +01:00
MS
dad44535bd
Beta matching LegoCacheSound (#1379) 2025-01-29 10:41:50 -05:00
MS
29bf588870
LegoRaceCar and LegoJetski tweaks (#1378) 2025-01-26 21:00:51 -05:00
jonschz
fe36c2543e
BETA10 match RegistrationBook::ReadyWorld() (#1376)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-01-26 08:02:01 +01:00
MS
f542b3aeba
Fix some beta annotations (#1377) 2025-01-25 12:17:23 -05:00
Christian Semmler
382f058c23
Match RegistrationBook::ReadyWorld (#1375) 2025-01-25 00:32:08 +01:00
jonschz
82f2e2e755
Match HistoryBook::ReadyWorld() (#1373)
* Some progress on HistoryBook::ReadyWorld

* Refactor getter

* 48 %

* 49 %

* 53 %

* Improve BETA10 stack, LEGO1 now at 91

* variable number match on BETA10, 91 % on LEGO1

* Cleanup

* Match

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-01-25 00:09:04 +01:00
Christian Semmler
99befafff2
Remove LegoEventNotificationParam unit (#1372) 2025-01-23 01:25:53 +01:00
Christian Semmler
49cb120795
Order symbols until end of LegoOmni (#1371)
* Order

* Improve

* Move function

* Order until end of LegoOmni

* Remove header
2025-01-22 22:22:58 +01:00
MS
4db8b44ce0
Implement LegoCarBuildAnimPresenter::Serialize (#1366) 2025-01-20 21:43:24 -05:00
Christian Semmler
5a7df7f95d
Order until LegoCarBuildAnimPresenter (#1365)
* Order until `Infocenter`

* Order until RaceSkel

* More order

* Order until `LegoCarBuildAnimPresenter`

* Add blank line

* Add BETA annotation
2025-01-21 01:31:28 +01:00
MS
9480fd9d98
Fix annotations for overloaded functions (#1354) 2025-01-19 13:46:42 -07:00
MS
038ec6b2ec
Some improvements to LegoGameState (#1353)
* Beta match ReadVariable and WriteVariable

* Change param type for GetFileSavePath

* Remove copy constructor for LegoGameState::Username
2025-01-19 13:34:06 -07:00
Christian Semmler
fc03e7a682
Improve order until legomain.cpp (#1350)
* Fix `LegoBackgroundColor` order

* Order

* Improve order in Act3Actors

* Improve order

* Add BETA annotation

* Order more

* More order

* More order

* Order

* Match/order

* Remove blank line

* Modern compiler fix

* vtable annotation
2025-01-17 18:33:27 -07:00
Christian Semmler
e1ce96c473
Order symbols until end of LegoGameState (#1340)
* Order `Ambulance`

* More ordering

* Order until `LegoGameState`

* Move
2025-01-17 03:42:38 +01:00
Christian Semmler
e8c856c585
Order symbols in Act1State (#1336)
* Order functions in `Act1State`

* Remove IsPresent

* Revert some stuff
2025-01-17 02:25:31 +01:00
Christian Semmler
70b0f76fa1
Move Read/Write functions to LegoStorage base class, match Act1State::Serialize (#1335)
* Move Read/Write function to LegoStorage base class

* Proper const use for vector / BETA match

* Match `Act1State::Serialize`
2025-01-17 00:13:23 +01:00
Christian Semmler
77a3dc0795
Match Serialize functions to BETA10 (#1334)
* Begin refactor Serialize functions

* Match more Serialize functions

* Match `LegoVehicleBuildState::Serialize`

* Match `LegoGameState::Username::Serialize`

* Match `LegoGameState::ScoreItem::Serialize`

* Match `LegoGameState::History::Serialize`

* Var name

* Var name

* Revert "Var name"

This reverts commit 1c0cccfba7.

* Add other Serialize implementations

* Add remaining Serialize implementations

* Add Read for char*

* Improvements
2025-01-16 00:52:29 +01:00
Christian Semmler
f95eedd0ce
Improve match of LegoPathActor::FUN_1002edd0, reorder (#1332)
* Relocate annotation

* Improve match of `LegoBuildingManager::ScheduleAnimation`

* try fix

* Revert "try fix"

This reverts commit e8f5db6fec.

* Order isle

* Move annotation
2025-01-12 21:31:58 +01:00
Christian Semmler
5c57b805de
Fix regression in LegoWorld::Enable (#1329)
* Fix regression in `LegoWorld::Enable`

* Update legoworld.cpp
2025-01-11 11:39:27 -07:00
Christian Semmler
33d8192d75
Implement/match LegoWorld::ActorExists (#1330) 2025-01-11 17:55:19 +01:00
MS
4d3481d2bd
LegoWorld::Add to 100% (#1328) 2025-01-11 10:51:02 -05:00
Christian Semmler
ac3a551bcc
Improve symbol order until LegoActor, match LegoPlantManager::ScheduleAnimation (#1327)
* Order `LegoCarBuild`, `LegoPlantManager`

* Order until `LegoActor`
2025-01-11 01:42:03 +01:00
Christian Semmler
ee2bcb4d53
Order symbols in LegoWorld (#1321)
* Partially order `LegoWorld` symbols

* Further order `LegoWorld`
2025-01-10 01:31:45 +01:00
Christian Semmler
58d3bd39e1
Add missing SpawnLocation ctor annotation (#1320) 2025-01-09 01:36:54 +01:00
Christian Semmler
5cd365c4f1
Order until the end of LegoAnimActor (#1319) 2025-01-09 01:28:43 +01:00
Christian Semmler
646ee0d70a
Use COMPAT_MODE to fix inline function not defined warnings on modern compilers (#1315)
* Use `COMPAT_MODE` to fix inline function not defined

* Fix
2025-01-09 01:15:29 +01:00
Christian Semmler
8026025fbd
Improve LegoRacers HitActor matches (#1318) 2025-01-09 01:15:05 +01:00
Christian Semmler
4c32abd16d
Add BETA10 macro to enable conditional compilation for BETA10 targets (#1270)
* Add BETA10 macro to enable conditional compilation for BETA10 targets

* Adjustments to CMakeLists.txt
2025-01-07 00:06:07 +01:00
MS
2cdbd1b94f
Beta match MxDSStreamingAction (#1314)
* Beta match MxDSStreamingAction

* Call the operator directly
2025-01-06 15:41:40 -07:00
MS
93815ca545
Refactor surrounding MxDSChunk utility functions (#1313) 2025-01-06 13:20:47 -07:00
Christian Semmler
7c452e9453
Order functions in binary up to end of Act2Actor (#1312)
* Order more functions

* Order LegoRaceActor

* Further ordering

* Order `Act2Actor`

* Fix
2025-01-05 21:00:50 +01:00
Christian Semmler
72aa7e330d
Order functions up to the end of GasStation, match GasStation::ReadyWorld (#1311)
* Minor improvements

* Match `GasStation::ReadyWorld`

* Reorder
2025-01-05 18:40:07 +01:00
Christian Semmler
c54805fde8
Order functions in binary up to the end of Helicopter; refactor vector/matrix classes (#1309)
* Order experimentation

* Revert IslePathActor

* Fix order

* Fix inlining

* Fixes

* WIP

* WIP

* Refactor

* Refactor

* Fix operators

* Remove obsolete inline keyword

* Fix ctors

* Refactor

* Rename files

* Refactor

* Remove empty line
2025-01-04 15:07:04 -07:00
jonschz
b8f1364ac7
Add smack functions and math globals (#1310)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-01-04 12:56:15 -07:00
Christian Semmler
10d318a5de
Fix inlining in Helicopter::FUN_100042a0 (#1307) 2025-01-01 21:09:18 +01:00
MS
a7f008568a
Add MXIOINFO::CreateChunk (#1306) 2025-01-01 19:23:16 +01:00
MS
70e72de20f
Some tweaks to LegoCharacterManager (#1305) 2024-12-30 13:46:55 -07:00
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
795d6e144d
Match LegoPathActor::VTable0x8c (#1303)
* Match `LegoPathActor::VTable0x8c`

* Fix
2024-12-29 20:46:03 +01:00
Christian Semmler
d97ce96768
Use Windows virtual key macros for keys (#1302)
* Use Windows virtual key macros for keys

* Add `VK_OEM_MINUS`

* Fix missing key

* Name variable
2024-12-29 17:14:36 +01:00
Christian Semmler
9b96f3c338
Match LegoWorld::Find (#1301) 2024-12-28 21:17:03 +01:00
Christian Semmler
3140ba73eb
Match TglD3DRMIMAGE::FillRowsOfTexture (#1300) 2024-12-28 19:10:02 +01:00
Christian Semmler
724a566c2e
Match MxDiskStreamProvider::FUN_100d1780 (#1299) 2024-12-28 18:41:35 +01:00
Christian Semmler
a97934e188
Match LegoNavController::ProcessKeyboardInput (#1298) 2024-12-28 18:30:07 +01:00
Christian Semmler
e4e8ad6da5
Match LegoWorld::Tickle (#1297) 2024-12-28 18:23:27 +01:00
Christian Semmler
fd27efcc22
Match LegoCarBuild::FUN_10024c20 (#1296) 2024-12-28 18:00:53 +01:00
Christian Semmler
63bfb95d80
Match LegoActor::SetROI (#1295) 2024-12-28 17:43:06 +01:00
Christian Semmler
2303dafaae
Match LegoInputManager::ProcessOneEvent (#1294) 2024-12-28 17:11:00 +01:00
MS
29e77210e8
Rename some things in Infocenter (#1293) 2024-12-27 17:21:49 -07: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
Christian Semmler
d5fdea372b
Match LegoAnimationManager::FUN_10063b90 (#1289) 2024-12-27 19:11:25 +01:00
Ramen2X
fb2e9fb5ec
rename MxSmack to MxSmk (#1288)
* rename MxSmack to MxSmk

* format
2024-12-27 13:00:56 -05:00
Christian Semmler
669454a194
Use virtual operators in vector.h (#1287)
* Use virtual operators in vector.h

* Remove public
2024-12-27 18:20:18 +01:00
Christian Semmler
f475d5e196
Match MxTransitionManager::Tickle (#1286) 2024-12-27 17:33:20 +01:00
Christian Semmler
fd5f7ad620
Match MxPtrList<LegoNamedPart>::Destroy (#1285) 2024-12-26 20:57:30 +01:00
Christian Semmler
667ea3ff82
Various matches with BETA functions (#1281)
* Match functions to BETA

* Improve `Matrix4::FromQuaternion`

* Improve `Matrix4::ToQuaternion` match

* Fix bug that was fixed in retail

* Match `Vector4::NormalizeQuaternion`
2024-12-25 22:05:28 +01:00
jonschz
70baf8cecc
Fix float constants and conversions (#1279)
* Fix legoplants warnings, add BETA10 references

* Fix warnings in various header files, improve match

* Fix floats in legoactors.cpp

* Fix `legolocations.cpp`

* fix typo

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-25 21:01:00 +01:00
Christian Semmler
6b3fcafbe1
Match Helicopter::HandleEndAnim (#1276) 2024-12-25 18:39:51 +01:00
Christian Semmler
0f338a882b
Match some list functions in MxStreamController to BETA10 (#1273) 2024-12-24 22:42:20 +01:00
Christian Semmler
c2c9c75f1a
Fix Vector2/Vector3 order (#1272)
* Fix Vector2/Vector3 order

* Refactor vector classes to be const and reference param consistent

* Add BETA10 annotations and fixes
2024-12-24 22:21:26 +01:00
Christian Semmler
7c41ff4569
Order compilation units according to retail, match and align Score class (#1271)
* Initial changes for ordering, Score

* Add mxdebug

* Match `Score::Paint`

* Refactor

* Add BETA asserts

* BETA match
2024-12-24 19:38:15 +01:00
Joshua Peisach
bb29d289fe
SkateBoard: name m_unk0x160 -> m_pizzaVisible (#1269) 2024-12-24 07:50:37 -07:00
Anonymous Maarten
b4d2ea72af
Fix -Wwrite-strings warnings (#1267)
warning: ISO C++ forbids converting a string constant to 'LegoChar*'
2024-12-23 17:11:38 -07: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
1b99d75543
Refactor geom library into geom and shape (#1263)
* Refactor `geom` library into `geom` and `util`

* Rename to `shape`
2024-12-23 17:25:23 +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
Christian Semmler
cbc3d7227e
Implement/match LegoWEGEdge functions (#1259)
* Implement/match `LegoWEGEdge::VTable0x04`

* Implement/match `LegoWEGEdge::FUN_1009aea0`

* Rename
2024-12-22 19:47:39 +01: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
Christian Semmler
b03de35e30
Further accuracy improvement on LegoNavController::Notify (#1255)
* Further accuracy improvement on `LegoNavController::Notify`

* Use enum
2024-12-21 23:38:22 +01:00
Christian Semmler
a987533ba1
Fix a bug in LegoNavController, improve accuracy (#1254)
* Fix a bug in `LegoNavController`, improve accuracy

* Fix
2024-12-21 23:17:45 +01:00
Christian Semmler
fe2a65c8da
Implement/match LegoNavController::Notify (#1253)
* Implement/match `LegoNavController::Notify`

* Move function

* Add to total function count

* Add OPT:REF to lego1
2024-12-21 22:41:47 +01:00
Christian Semmler
bcc41256f8
Add LegoOmni::World enum (#1252) 2024-12-21 18:08:55 +01:00
jonschz
3e427ab03e
Improve Helicopter::Animate() (#1251)
* Small improvements

* More improvements

* Small drive-by refactor

* Do not inline `UnknownMx4DPointFloat::FUN_10004520()`

* Fix `Act3Brickster::Animate`

* Fixes

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-21 17:21:22 +01: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
c9acd9a49f
Minor fixes (#1248) 2024-12-20 20:23:01 +01:00
Christian Semmler
2b4f71e17d
Implement/match Act3Cop::FUN_10040360 (#1247)
* Implement/match `Act3Cop::FUN_10040360`

* Remove comments

* Modern compiler fix
2024-12-20 19:49:18 +01:00
Anonymous Maarten
581ba0f5ae
Implement GroupImpl::Bounds (#1246)
* Implement/match DeviceImpl::HandleActivate

* Implement/match DeviceImpl::HandlePaint

* Implement GroupImpl::Unknown (71.63%)

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 19:48:31 +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
b338a66a77
Implement GroupImpl::RemoveAll (#1244)
* Implement GroupImpl::RemoveAll (81.30%)

* Minor improvement

* Add 2 to total function count

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 17:50:33 +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
jonschz
7ed2ac9ccc
Progress on Helicopter::FUN_100042a0 (#1242)
* Implement `LegoCameraController::FUN_100123b0`

* Improve `UnknownMx4DPointFloat::Unknown7` match, add BETA10

* Add draft for `FUN_100042a0`

* Improve match

* Match

* Use better naming

* Remove comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 01:27:14 +01:00
Anonymous Maarten
a8729dfef6
glD3DRMIMAGE::CreateBuffer, LegoVideoManager::EnableRMDevice and LegoVideoManager::DisableRMDevice (#1241)
* Implement TglD3DRMIMAGE::CreateBuffer (ecx/edi are swapped)

* Implement LegoVideoManager::EnableRMDevice

* Implement LegoVideoManager::DisableRMDevice

* clang-format

* Match `LegoVideoManager::EnableRMDevice`

* Remove padding

* Fix naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-19 22:52:33 +01:00
Christian Semmler
cb38cf7673
Implement/match Act3Brickster::FUN_100417c0 (#1240)
* Implement/match `Act3Brickster::FUN_100417c0`

* Move function

* Rename var

* Revert "Rename var"

This reverts commit c9ca75ae7f.
2024-12-19 20:22:34 +01:00
Christian Semmler
18fc084a3f
Match LegoGameState::Load (#1239) 2024-12-18 01:10:42 +01:00
Christian Semmler
90c687bde0
Implement/match Act3Brickster::FUN_10042300 (#1238)
* Implement/match `Act3Brickster::FUN_10042300`

* Add comment about assignment operator

* Add another comment

* Fix

* add back BETA annotation
2024-12-17 23:16:00 +01:00
Christian Semmler
66e3c9a2e1
Implement/match Act3Brickster::Animate (#1237)
* Implement/match `Act3Brickster::Animate`

* Improve loop
2024-12-17 19:11:47 +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
615c3a5047
Implement/match Act3Cop::Animate (#1233)
* Implement/match `Act3Cop::Animate`

* Fix
2024-12-15 19:48:47 +01:00
Christian Semmler
73b9e9a06f
Fix LegoAct2::Notify (#1234) 2024-12-15 19:45:17 +01:00
Christian Semmler
1b4142c6a9
Implement/match Write functions in LegoAnim class (#1232)
* Implement/match `LegoAnim::Write`

* Implement remaining Write functions

* Bump total function count
2024-12-15 18:15:10 +01:00
jonschz
2e7f2edbf1
Implement/match Act3Cop::ParseAction (#1230)
* Implement/match `Act3Cop::ParseAction`

* Fix formatting

* Address review comment

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-15 18:09:29 +01:00
Christian Semmler
661c76c6e0
Implement/match Act3Shark::Animate (#1231)
* Implement/match `Act3Shark::Animate`

* Add BETA annotation

* Raise max functions

* Mark as FUNCTION
2024-12-15 17:18:25 +01:00
jonschz
ace2a9f047
Add g_copDest (#1229)
* Implement `AddCop` and `g_copDest`

* Fix formatting

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-15 05:50:52 -07:00
Christian Semmler
2d74f14de0
Implement/match Act3::FUN_10072ad0 (#1228)
* Implement `Act3::FUN_10072ad0`

* Improve match

* Improve match

* Match
2024-12-14 14:30:21 -07:00
Christian Semmler
16730ef9c1
Implement/match Act3Ammo::FUN_10053db0 (#1227) 2024-12-14 21:36:14 +01:00
Christian Semmler
67b4553eaa
Implement/match LegoPathController::FUN_1004a380 (#1226) 2024-12-14 20:02:48 +01:00
jonschz
413bd5ae7b
Implement/match LegoJetski::HitActor (#1225)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-14 19:46:51 +01:00
jonschz
97ff27af9e
Implement/match LegoPlantManager::FUN_10026410 (#1223)
* Implement/match  `LegoPlantManager::FUN_10026410`

* Full match on LEGO1 and BETA10

* Improve `LegoBuildingManager::FUN_10030630`

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-14 16:35:08 +01:00
jonschz
57aa5a9f8a
Refactor legoracers.h and legoracers.cpp (#1224)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-14 07:03:19 -07:00
jonschz
5a6415e0cf
Implement/match Act2Actor::FUN_10019b90 (#1222)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-13 16:19:55 -07:00
Christian Semmler
1aeb458be1
Implement/match Act3Ammo::Animate (#1221)
* Implement/match `Act3Ammo::Animate`

* Match

* Rename

* Rename

* Rename
2024-12-13 22:56:26 +01:00
Christian Semmler
6da2faa48c
Refactor actor states, define enum (#1220)
* Refactor actor states, define enum

* Revert

* Rename `UpdateState` to `Animate`
2024-12-13 20:30:50 +01:00
Christian Semmler
ce3f71ea0f
Rename LegoPathActor::VTable0x70 to UpdateState (#1219) 2024-12-13 19:20:03 +01:00
Christian Semmler
263d7d1e4f
Implement/match Act3::GoodEnding (#1218) 2024-12-13 18:49:45 +01:00
Christian Semmler
de7bc813ca
Implement/match LegoAct2::BadEnding (#1217)
* Implement/match `LegoAct2::BadEnding`

* Name some vars
2024-12-13 17:26:06 +01:00
Christian Semmler
32392a8e55
Fix Act2Actor::FUN_10019700 (#1216) 2024-12-13 17:12:53 +01:00
jonschz
054f56fd9f
Implement Act2Actor::FUN_10019700 (#1215)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-12 17:54:51 -07:00
Christian Semmler
1bfeebd004
Implement most of LegoJetski, refactor (#1214)
* Implement most of `LegoJetski`, refactor

* Fix
2024-12-12 21:17:25 +01:00
Christian Semmler
894034f9cf
Implement/match WriteDefaultTexture (#1213) 2024-12-12 19:02:14 +01:00
Christian Semmler
aceba71fbb
Implement/match Act3Brickster::HitActor (#1212)
* Implement/match `Act3Brickster::HitActor`

* Fixes

* Fixes

* Fixes

* Add `Act3Cop::VTable0x9c`

* Fix
2024-12-12 17:10:44 +01:00
Christian Semmler
fe57a94416
Implement/match Act3Brickster::ParseAction (#1211) 2024-12-12 16:06:15 +01:00