Commit Graph

50 Commits

Author SHA1 Message Date
jonschz
b7090bd838 Match LegoActor and LegoPathActor in BETA10 (#1524)
* Match `LegoActor` in BETA10

* Cleanup

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-05-27 22:04:01 +02:00
Florian Kaiser
804632b13f Refactor LegoUnknown100db7f4 to LegoOrientedEdge (#1515)
* Refactor `LegoUnknown100db7f4` to `LegoOrientedEdge`

* Update LEGO1/lego/sources/geom/legoorientededge.h

* Update legopathcontroller.h

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-24 23:09:24 -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
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
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
cbc3d7227e Implement/match LegoWEGEdge functions (#1259)
* Implement/match `LegoWEGEdge::VTable0x04`

* Implement/match `LegoWEGEdge::FUN_1009aea0`

* Rename
2024-12-22 19:47:39 +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
67b4553eaa Implement/match LegoPathController::FUN_1004a380 (#1226) 2024-12-14 20:02:48 +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
c2ee761f81 Implement/match Act3::ShootPizza and Act3::ShootDonut (#1203)
* Implement/match `Act3::LaunchPizza` and `Act3::LaunchDonut`

* Match Helicopter::HandleControl

* Rename

* Adjust total function count

* Rename
2024-12-09 23:41:51 +01:00
Christian Semmler
5be00e1799 Implement/match LegoPathCtrlEdge::FUN_10048c40 (#1195)
* Implement/match LegoPathCtrlEdge::FUN_10048c40

* Improve matches
2024-12-07 17:58:51 +01:00
Christian Semmler
94ce89cbaa (Proposal) Introduce arithmetic operators to Vector2 (#1193) 2024-12-07 17:26:22 +01:00
Christian Semmler
4d8098a6c2 Implement LegoPathController::FUN_10048310 (#1192)
* WIP

* Rename

* Fix

* More WIP

* WIP

* WIP

* Fix

* Annotations

* Add more annotations, improve match

* Raise max functions
2024-12-06 20:50:40 +01:00
jonschz
8b9f6f1007 Implement more functions in Act2Actor (#1183)
* Implement `Act2Actor::VTable0xa0`

* Implement `Act2Actor::FUN_10019520()`

* Implement/match `Act2Actor::FUN_100192a0()`

* Fix clang32 issue

* Address review comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-01 10:21:59 -07:00
jonschz
e09acfcddb Implement/match LegoCarRaceActor::VTable0x1c (#1078)
* Implement/match `LegoCarRaceActor::VTable0x1c`

* Fix formatting

* Fix LegoEdge::CWVertex()

* Fix more CI issues

* Trz to fix lvalue compile issue

* Fix formatting

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-04 21:13:12 +02:00
Christian Semmler
9a9bccda0e Implement/match IslePathActor::Exit (#997)
* Implement/match IslePathActor::Exit

* Name

* Name

* Partially fix vector interface

* Revert "Partially fix vector interface"

This reverts commit 6e7a1e2b08.

* Revert "Revert "Partially fix vector interface""

This reverts commit e3860e3c9f.

* Fix

* Remove some COMPAT_MODE
2024-06-06 17:45:37 +02:00
DmitriLeon2000
3b3ac07cac Rename LegoEdge::GetOpposingPoint to LegoEdge::CWVertex (#977) 2024-05-30 20:04:06 -04:00
Christian Semmler
b978787f8f Implement/match LegoAnimationManager::FUN_10062e20 (#967) 2024-05-29 19:24:08 +02:00
Christian Semmler
6774784b37 Implement/match LegoPathActor::VTable0xa4 and VTable0xa8 (#945)
* Implement/match LegoPathActor::VTable0xa4

* Implement/match LegoPathActor::VTable0xa8

* Name enum constants
2024-05-22 14:09:06 -04:00
Christian Semmler
8fee73c525 Implement/match LegoPathStruct (#944)
* Implement/match LegoPathStruct

* Rename some nums

* Consistent naming

* Naming

* relax regex

* Name some functions

* Improve naming

* Rename
2024-05-21 15:03:50 -04:00
Christian Semmler
7538988f50 Implement LegoPathActor::VTable0x9c (#942)
* Implement LegoPathActor::VTable0x9c

* Add annotation
2024-05-20 18:27:54 +02:00
Christian Semmler
3342464321 Implement/match LegoPathController::FUN_1004a240 (#941) 2024-05-20 17:34:31 +02:00
Christian Semmler
fb16b2c896 Implement/match LegoPathBoundary::FUN_100575b0 (#939) 2024-05-19 21:41:07 +02:00
Christian Semmler
e32e06321a Rename _countof to sizeOfArray (#921) 2024-05-14 16:35:22 +02:00
Christian Semmler
939c09139f Match LegoOmni::Destroy and related (#917)
* Match LegoOmni::Destroy and related

* Write COMPAT_MODE macro differently

* fix lint issue
2024-05-14 14:13:27 +02:00
Christian Semmler
ccf33575db Implement/match LegoPathController::FUN_10046050 (#916) 2024-05-13 14:39:43 +02:00
Christian Semmler
5f34d2e877 Implement/match LegoPathController::AddActor and RemoveActor (#915)
* Implement/match LegoPathController::AddActor and RemoveActor

* Fix types
2024-05-13 12:46:59 +02:00
Christian Semmler
91fe09af3c Implement various small LegoPathController functions (#914)
* Implement/match LegoPathController::Tickle

* Implement various small LegoPathController functions

* Add 0x10046b30
2024-05-12 21:30:34 +02:00
Christian Semmler
b6fc8e27b1 Implement/match LegoPathController::Tickle (#913) 2024-05-12 21:10:26 +02:00
Christian Semmler
32a3373360 Implement/match LegoPathController::Destroy (#912) 2024-05-12 20:48:50 +02:00
Christian Semmler
dcaa07cc49 Implement/match LegoPathController::Create and Init (#911) 2024-05-12 20:33:20 +02:00
Christian Semmler
f88f7b115e Implement/match LegoPathController::ReadBoundaries (#908)
* Implement/match LegoPathController::ReadBoundaries

* Allow spawn
2024-05-11 19:55:28 +02:00
Christian Semmler
1f0a2a50ce Implement/match LegoPathController::ReadEdge (#907)
* Implement/match LegoPathController::ReadEdge

* Fix

* Rename

* Add 100482b0

* Rename
2024-05-11 19:45:13 +02:00
Christian Semmler
09394c3512 Implement/match LegoPathController::FUN_10047b30 (#906)
* Implement/match LegoPathController::FUN_10047b30

* Fix delete
2024-05-11 18:57:07 +02:00
Christian Semmler
f442f1a2f7 Implement/match LegoPathController::Read (#904)
* Implement/match LegoPathController::Read

* Add size asserts
2024-05-11 18:23:18 +02:00
Christian Semmler
5df947dbb9 Implement/match LegoPathController::FUN_10045c20 and LegoPathController ctor (#903)
* Implement/match LegoPathController::FUN_10045c20 and LegoPathController ctor

* Remove obsolete struct
2024-05-11 15:32:11 +02:00
Christian Semmler
d9a82323ca Implement/match LegoAnimationManager::AddExtra (#901)
* Implement/match LegoAnimationManager::AddExtra

* Rename member

* Fix param names

* Remove space
2024-05-10 20:07:38 +02:00
Mark Langen
55299229c2 LegoBuildingManager Round 2 (#890)
* LegoBuildingManager Round 2

* 100% match most of the remaining methods, only
  Tickle and FUN_10030630 remain.

* The interesting finding is that the curious
  members of the LegoBuildingManager form a short
  embedded fixed-length array used to store info
  about current animation of buildings.

* I saw that you removed the SetY which I had
  added to MxMatrix. Agree that this method
  doesn't make sense on MxMatrix, however I've
  added it back to Matrix4. I see the pattern of
  setting / getting the Y component used in enough
  places that I doubt they were just hoping they
  remembered the subscript correctly every time.
  Let me know if you agree or still don't think it
  makes sense to include.

* Formatting

* Order

* Satisfy name checker

* Add beta annotations and adjust style/naming

* Make function STUB

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-09 15:57:38 +02:00
Christian Semmler
45f9f54f21 Implement/match IslePathActor::SpawnPlayer (#884)
* Implement/match IslePathActor::SpawnPlayer

* Fix

* Fix

* Add skip

* Rename param
2024-05-04 16:13:05 +02:00
Christian Semmler
410824bd0f Implement/match various small LegoAnimPresenter functions (#846)
* Implement/match various small LegoAnimPresenter functions

* Fix location of anim function

* fix
2024-04-24 15:51:28 +02:00
Christian Semmler
9025d5ed06 Implement/match LegoWorld::FUN_1001fda0 (#840) 2024-04-23 10:33:38 +02:00
Misha
2e5d54c03e Finish LegoPathPresenter (#721)
* Finish LegoPathPresenter

* Update legopathcontroller.cpp

* Fixes

* fix

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:30:04 +01:00
Nathan M Gilbert
8b21e8136e Animmanager (#712)
* Implement LegoAnimationManager::StartEntityAction
Fix some class definitions

* Fix style issues

* Add size annotations

* Fix global pointer

* Style/naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-23 15:09:20 +01:00
Nathan M Gilbert
fca8f74bd8 Fix Annotations and LegoAnimActor class structure. (#710)
* Fix size annotations for legoomni
Fix structure and add placeholder annotations for LegoAnimActor and subclasses

* Fix LegoCarRaceActor constructor
Fix function name in LegoRaceCar

* Add size assertions for legoomni and fix sizes

* Various style fixes

* Use other marker so vtable.py doesn't compare

* Revert "Use other marker so vtable.py doesn't compare"

This reverts commit 608985cd73.

* Fix copy/paste error

* Remove stale comment.

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-22 21:30:58 -04:00
Christian Semmler
434deecee4 Implement/match remaining LegoWorld functions (#526)
* Implement/match remaining LegoWorld functions

* Move functions

* Move function

* Fix function location

* Fix function return type
2024-02-04 18:33:37 +01:00
Christian Semmler
558bda4dd2 Implement LegoWorld::Enable (#516)
* WIP VTable0x68

* Improve match

* Match

* Fix

* Fix

* Move vars

* Match

* Add call to Isle

* Rename functions

* Fix style
2024-02-02 18:18:46 +01:00
MS
909c44b679 reccmp: vtable comparison (#452)
* Add vtable comparison to reccmp

* Add missing scalar deleting destructors

* Fix some vtables

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-18 14:34:14 +01:00
Christian Semmler
c47206617d Reorganize sources and files (#414)
* Reorganize sources

* Refactor

* Remove relative paths

* Renames

* Fix gitignore

* Remove stuff

* Try fixing format script

* Fix format

* Fix format

* Fix naming script

* Test format

* Fix format
2024-01-08 10:58:49 +01:00