Commit Graph

718 Commits

Author SHA1 Message Date
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
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
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
Christian Semmler
10d318a5de Fix inlining in Helicopter::FUN_100042a0 (#1307) 2025-01-01 21:09:18 +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
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
d5fdea372b Match LegoAnimationManager::FUN_10063b90 (#1289) 2024-12-27 19:11:25 +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
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
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
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
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
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
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
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