* mxdirectdraw: no need to explicitly add a terminating '\0' in C
* mxstopwatch must include LIMITS.H for ULONG_MAX
* Add Config app
* 88.78%
* style fixes
* Test more CONFIG things
* Add a few assertions on MFC classes
* reformat
* actionSSSSSSSSSSSSSSS
* actions again
* decomplint needed a shebang
* Fix annotations of Message Map entries
* ci: We're building CONFIG.EXE, not CONFIG.DLL
* remove ninja.exe
* Fix CAboutDialog::GetMessageMap annotation
* format reloaded
* Fix global CConfigApp object annotation
* trigger worflows
* ci: request at least python 3
* oops :)
* curl CONFIGPROGRESS-OLD.TXT will fail
* Forget about actions/setup-python (for now)
* Annotation fixes
* Config tweaks and MxDirect3d annotations
* It's important to compare against the correct file
* Introduce common CDialog parent for CAboutDialog and CMainDialog
* format
* Remove CSerializer
---------
Co-authored-by: disinvite <disinvite@users.noreply.github.com>
* Implement some Act1State functions
* ci: push fix commits to pr
* ci fix
* Show diffs generated by clang-format
* Run clang-format
* Fix naming
* re-use _countof + add parentheses
* Fix naming
* Use MxS32
* Annotate Act1State::NamedPlane::~NamedPlane
* Apply suggestions
* Read and Write Mx3DPointFloat's
* Annotations, spacing
* Add Mx3DPointFloat copy ctor, match some functions
* Fix WriteVector3
* Adding more spacing for readability
* Use MxResult as a return type for Serialize
---------
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 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>
* 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>
* cmake: detect older MSVC and define ENABLE_DECOMP_ASSERTS to enable decomp asserts
* Add /Zc:__cplusplus to define __cplusplus with c++ version number
* Silence deprecated CRT releated warnings
* LegoCameraController overrids some methods that are not defined in its parent(s)
* Tgl::Device::GetDrawnTriangleCount does not exist (FIXME: INCORRECT FIX -> Tgl::Device should be updated instead)
* Remove copy/pasted APP_ICON from lego1 resource.h header
* Implement empty ViewLODList::Dump method
* Also enable "compat mode" for newer MSVC compilers
* Only do decomp assertions when using older MSVC compilers
* msys2 mingw compat (cannot pass reference of rvalue)
* Fix msys2 mingw warning: declaration 'class Tgl::Group' does not declare anything
* Add FIXME comment to LEgo3DView::m_previousRenderTime
* LegoView1 is 16 bytes bigger then LegoView ==> 4 32-bit pointers
* include string.h for strlen
* Fix overrides
* Fix constness of method
* Fixes
* Formatting
* Add size assert for MxFrequencyMeter
* ci: build isle with msys2 + msvc on GitHub actions
* Set vcvars for msvc
* msys2 needs the msys2 shell
* Build in default shell
* isle is not 64-bit yet (I think)
* Print bitness
* Use amd64_x64 cross tools
* Minor updates
* Add more names
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Add LEGO1.DLL resources
* Rename smack files to lowercase
This fixes casing issues with mingw on Linux
Also use double quotes for #error
* cmake: dxguid must come after dinput
* cmake: create LEGO1.DLL instead of libLEGO1.DLL, when using mingw
* act3actor.h was not including mxcore.h, and using incorrect override
* g_mcoreCount seem to be signed integers
* LegoCameraController: return references to static data in stub functions
* Include string.h, stdlib.h and stdio.h for use of libc functions
* Override MxAtomId::operator!=
* Fix use of STL's std::map + std::vector
* Fix template functions for mingw
* iterator object is used after the for loop
* IDirectDrawSurface::BltFast's first 2 arguments are x/y coordinates, not pointers
* Add stub ViewLODListManager::Lookup
* Fixes
* Format
* Remove unnecessary COMPAT_CONST use
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>