33 Commits

Author SHA1 Message Date
Fabian Neundorf
0832bedbf2 Improve naming for Equals in MxMatrix (#1685) 2025-09-08 18:21:12 -07:00
Fabian Neundorf
6497cb42b7 Clear unknowns in Matrix (#1615) 2025-07-10 18:58:53 -07:00
Christian Semmler
ea5a722311 Fix Matrix4::operator[] annotation (#1390) 2025-02-22 06:48:11 -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
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
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
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
1aeb458be1 Implement/match Act3Ammo::Animate (#1221)
* Implement/match `Act3Ammo::Animate`

* Match

* Rename

* Rename

* Rename
2024-12-13 22:56:26 +01: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
jonschz
a942325b29 More functions in LegoCarBuild (#1104)
* Add BETA10 annotations

* Clean up

* Implement multiple functions

* fix minor annotation error

* Undo formatting

* Fix formatting

* Implement more functions

* Rename variables, address review comment

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-14 16:14:11 -07:00
jonschz
4a41671759 Implement/match LegoRaceActor (#1072)
* Implement LegoRaceActor, add annotations

* Change code duplication comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-02 22:29:21 -07:00
jonschz
afa5b90117 Implement LegoRaceCar::FUN_10012ff0(), refactoring (#1063)
* Implement `LegoRaceCar::FUN_10012ff0()`, refactor based on BETA10

* Add BETA10 annotations
* Rename functions and variables based on BETA10 assertions

* Address issues raised by linter

* Rename variable, add BETA10 vtables

* Rename legoracecar files to legoracers

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-07 05:10:46 -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
Christian Semmler
689178f689 Implement/match LegoCameraController::FUN_10012290 and FUN_10012320 (#969) 2024-05-30 14:48:14 +02:00
Christian Semmler
da48dfb40d Implement/match LegoAnimPresenter::FUN_1006b140 (#963) 2024-05-28 15:23:23 -04:00
jonschz
6382347f73 Refactor Matrix4::ToQuaternion() (#879)
* Refactor Matrix4::ToQuaternion()

* fix CI errors

* Apply feedback by @foxtacles

* run formatter

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-05-03 14:08:58 -04:00
jonschz
84b789ef9e Implement the rest of the SkateBoard class (#873)
* Implement SkateBoard::~SkateBoard()

* Implement SkateBoard::VTable0xd4

* Implement SkateBoard::Create()

- one typecast is still not clear

* Add SkateBoard::VTable0xe4()

* apply clang-format

* Apply clang-format to legocontrolmanager.h

* Address review comments

* 57 percent match

* 63 percent

* 82 percent match

* previous 86 was bugged, unfortunately

* 85 percent on FUN_10010270

* 92 percent FUN_10010270

* 69 percent VTable0xcc

* 73 percent VTable0xcc

* more progress, not quite there yet

* minor 10010510 improvement

* 100 % on FUN_10010510

* slowly making progress on SkateBoard::VTable0xcc (broken decomp)

* getting closer, now only wrong registers

* 89 percent VTable0xcc

* 92 percent

* 95 % VTable0xcc

* Changes, see comment

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-05-01 13:36:58 +02:00
Christian Semmler
5f1642bf73 Implement Matrix4::FromQuaternion (#806) 2024-04-15 15:15:13 +02:00
Nathan M Gilbert
b394770864 Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140 (#781)
* Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140

* Match functions, fixes

* fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-07 14:03:21 +02:00
Nathan M Gilbert
13d994a1ee Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0 (#742)
* Implement LegoExtraActor:: VTable0xa4 & FUN_1002aae0

* Match LegoExtraActor::FUN_1002aae0

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-28 14:19:32 +01:00
Nathan M Gilbert
38cfad8b17 Implement LegoExtraActor::VTable0x90 (#739)
* Implement LegoExtraActor::VTable0x90

* Improve LegoExtraActor::VTable0x90

* Match

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-27 20:38:13 +01:00
Christian Semmler
7659db49e7 Implement LegoAnim::CreateLocalTransform (#657)
* Implement LegoAnim::CreateLocalTransform

* Match Matrix4::Scale
2024-03-11 15:15:18 -04: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
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
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
d24f5db42f Matrix/vector refactor (#426) 2024-01-12 19:34:38 -05:00
Christian Semmler
872c62fd39 Match LegoCameraController::LegoCameraController 2024-01-09 10:30:37 -05:00
Nathan M Gilbert
deaed23e41 Implement Helicopter (#329)
* Implement Helicopter

* Fix names

* Fix some issues

* Disable warning

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-12-14 17:50:29 +01:00
Christian Semmler
494a556f8e (Proposal) Adjustments to "decomp" language (#308)
* Adjustments to "decomp" language

* Fix a comment

* Fix accidental clang-formatting

* Fix order

* Fix order

* Remove junk

* Fix OFFSET

* Adjustments based on new suggestions

* Annotate globals

* Globals in ISLE

* More globals

* Merge from parser2 branch

* Allow prepending space for exact marker match

* To eliminate noise, require the 0x prefix on offset for marker match

* fix test from previous

* Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise

* FUNCTION to SYNTHETIC where needed

* Missed marker conversion on SetAtomId

* pylint cleanup, remove unused code

* Fix unexpected function end, add more unit tests

* Be more strict about synthetic name syntax

* Revert "Missed marker conversion on SetAtomId"

This reverts commit d87d665127.

* Revert "FUNCTION to SYNTHETIC where needed"

This reverts commit 8c815418d2.

* Implicit lookup by name for functions

* Fix VTABLE SYNTHETIC and other decomp markers

* Get vtable class name

* Vtable marker should identify struct

* No colon for SIZE comment

* Update README.md

* Update README.md

* Update CONTRIBUTING.md

* Update README.md

* Update README.md

* Update CONTRIBUTING.md

* Update README.md

* Update CONTRIBUTING.md

* Fix destructor/annotation

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

---------

Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 13:10:45 +01:00
Nathan M Gilbert
7fc1f8019f Implement ViewROI and base classes (#287)
* Implement ViewROI and base classes

* Clean up Orientable header

* Move tgl to tgl subdirectory, and use target_include_directories

* Move classes to submodules

* Fix some missed references

* Fix/match UpdateWorldData

* Renaming / removing MxTypes / refactoring

* Consistent naming for Matrix

* Adjust format action

* Add Vector3/Vector4 to Data vector

* Add TGL comment

* Add a comment about Matrix4Impl

* Add ROI comment

---------

Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2023-11-19 15:38:07 +01:00