* 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>
* Parser refactor:
- Handling LIRBARY and STRING markers
- Extracting global variable name for future comparison
- Marking function static variables
- More fluent error messages
* String constants annotated with STRING
* fix variable name
* Should compare LIBRARY markers
* Open discussion
* Move annotations of header-implemented functions back to `.h` files
* Adjust `README.md`
* Relocate annotation
* linter
* Comment markers in headers only, rename script, update github actions
* type hint compat
* Rename github action, better argparse for linter
* Type hints, working test for byname ignore
* Move annotation
* CI rename and enable warnfail, enforce mode always on
* Two step linting
* or one step
* continue on error
* two jobs instead
* Fixes
---------
Co-authored-by: disinvite <disinvite@users.noreply.github.com>
* 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 d87d665127fae7dd6e5bd48d9af14a0a829bf9e2.
* Revert "FUNCTION to SYNTHETIC where needed"
This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8.
* 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>
* First commit of order tool
* More flexible match on module name. Bugfix on blank_or_comment
* Report inexact offset comments in verbose mode. Bugfix for exact regex
* Refactor checkorder into reusable isledecomp module
* Find bad comments in one pass, add awareness of TEMPLATE
* Refactor of state machine to prepare for reccmp integration
* Use isledecomp lib in reccmp
* Build isledecomp in GH actions, fix mypy complaint
* Ensure unit test cpp files will be ignored by reccmp
* Allow multiple offset markers, pep8 cleanup
* Remove unused variable
* Code style, remove unneeded module and TODO
* Final renaming and type hints
* Fix checkorder issues, add GH action and enforce (#2)
* Fix checkorder issues
* Add GH action
* Test error case
* Works
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* 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>
* implement/match CalcLocalTransform
* fix odd build error
* address feedback
move vec.h to thirdparty folder
update vec.h
move all realtime code to realtime folder
move calclocaltransform out of legoutil and into realtime
cast shift to MxS32
add additional unroll hack to CalcLocalTransform to prevent msvc entropy