* 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>
* Start work on building save data
* Add LegoBuildingData struct to LegoBuildingManager, naming mirrors
LegoCharacterData in LegoCharacterManager.
* 100% match of many methods in LegoBuildingManager using the struct.
* Formatting
* Add required includes post merge
* Format again
* Better follow naming conventions
* Format again again
* Also fill in template data
* Fix data
* Change braces
* Match functions, consistent style, add missing annotations, some BETA annotations
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* 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>
* Implement Save, Load, DeleteState
* WIP
* WIP
* Match LegoGameState::Save
* Spacing
* Match LegoGameState::DeleteState()
* More match
* Match
* Move vars
* Other fixes
* Rename
* Fix error
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* 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>
* cmake: use imported targets for 3rd party libs
* Fix casing of skateboard.h include
* cmake: tglrl realtime viewmanager mxgeometry
* cmake: spin off some source in static libraries
* dx5 for everyone
* ci: bump actions/checkout to v4
* move LEGO1/realtime/realtimeview.cpp to lego1 because it exports symbols
* add misc library
* Add omni library
* Return of the .def's
* Remove COMPAT_CONST in MxVideoParam::MxVideoParam
* Run clang-format
* move LEGO1/realtime/realtimeview.cpp to realtime lib
* Add 3dmanager library
* Rename .def files
* Remove incorrect deps to Omni
* Remove DLL expor decls
* Remove unnecessary library dep from ROI
* Remove COMPAT_CONST
* Move 3dmanager lib before Omni
* Remove mxgeometry lib (`geom` is actually `lego/sources/geom`, which we don't have in our decomp yet)
* viewmanager has a dependency on realtime + fix mingw's def
* Remove Smacker::Smacker from lego1 link libraries
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>