Commit graph

37 commits

Author SHA1 Message Date
Christian Semmler
5be00e1799
Implement/match LegoPathCtrlEdge::FUN_10048c40 ()
* Implement/match LegoPathCtrlEdge::FUN_10048c40

* Improve matches
2024-12-07 17:58:51 +01:00
Christian Semmler
4d8098a6c2
Implement LegoPathController::FUN_10048310 ()
* 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 ()
* 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 ()
* 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
bee101b1f4
Add clang-tidy readability-redundant-inline-specifier ()
* Add clang-tidy readability-redundant-inline-specifier

* fix

* Update CONTRIBUTING.md

* format

* fix
2024-07-05 01:06:32 +02:00
Anonymous Maarten
8113a17167
Backports of isle-portable x64 fixes ()
* 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
b978787f8f
Implement/match LegoAnimationManager::FUN_10062e20 () 2024-05-29 19:24:08 +02:00
Christian Semmler
8fee73c525
Implement/match LegoPathStruct ()
* 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 ()
* Implement LegoPathActor::VTable0x9c

* Add annotation
2024-05-20 18:27:54 +02:00
Christian Semmler
3342464321
Implement/match LegoPathController::FUN_1004a240 () 2024-05-20 17:34:31 +02:00
Christian Semmler
939c09139f
Match LegoOmni::Destroy and related ()
* 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 () 2024-05-13 14:39:43 +02:00
Christian Semmler
5f34d2e877
Implement/match LegoPathController::AddActor and RemoveActor ()
* Implement/match LegoPathController::AddActor and RemoveActor

* Fix types
2024-05-13 12:46:59 +02:00
Christian Semmler
91fe09af3c
Implement various small LegoPathController functions ()
* 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 () 2024-05-12 21:10:26 +02:00
Christian Semmler
dcaa07cc49
Implement/match LegoPathController::Create and Init () 2024-05-12 20:33:20 +02:00
Christian Semmler
f88f7b115e
Implement/match LegoPathController::ReadBoundaries ()
* Implement/match LegoPathController::ReadBoundaries

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

* Fix

* Rename

* Add 100482b0

* Rename
2024-05-11 19:45:13 +02:00
Christian Semmler
f442f1a2f7
Implement/match LegoPathController::Read ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* Implement/match IslePathActor::SpawnPlayer

* Fix

* Fix

* Add skip

* Rename param
2024-05-04 16:13:05 +02:00
Christian Semmler
51adf75b9b
(Refactor) Use more forward declarations ()
* Use more forward declarations

* Use more forward declarations

* Add more forward declarations

* Fix
2024-05-03 18:19:12 +02:00
Christian Semmler
410824bd0f
Implement/match various small LegoAnimPresenter functions ()
* 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 () 2024-04-23 10:33:38 +02:00
Nathan M Gilbert
1e3ca11886
Implement/match LegoAnimActor ()
* Implement/match LegoAnimActor

* Name changes (deviation from original source)

* Attempt to fix modern build

* Add missing override

* Match LegoAnimActor::SetWorldSpeed

* Remove junk

* Style changes and implement WEEdge

* Add override

* Match LegoAnimActor::FUN_1001c1f0, style

* Style

* Add missing annotations, STUB LegoPathBoundary

* Style

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-26 18:51:52 +01:00
Misha
2e5d54c03e
Finish LegoPathPresenter ()
* 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 ()
* 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. ()
* 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 608985cd73856598b95c15aed9f8f022645e9e7a.

* 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 ()
* 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 ()
* 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
Anonymous Maarten
9e686e2a87
cmake+ci: run clang-tidy ()
* 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
Christian Semmler
baed704a38
(clang-format) Add RemoveSemicolon () 2024-01-29 23:30:20 +01:00
Christian Semmler
bcdddd4c7e
Pad all single-digit hexadecimal values with zero ()
* Pad all single-digit hexadecimal values with zero

* One more fix
2024-01-29 22:17:17 +01:00
MS
909c44b679
reccmp: vtable comparison ()
* 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 ()
* 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
Renamed from LEGO1/legopathcontroller.h (Browse further)