Spinoff some sources to static libraries (#484)

* 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>
This commit is contained in:
Anonymous Maarten
2024-01-25 03:16:29 +01:00
committed by GitHub
parent 2bebc09da3
commit 5f413165cc
61 changed files with 730 additions and 379 deletions

View File

@@ -1,10 +1,9 @@
#ifndef LEGOROI_H
#define LEGOROI_H
#include "mxtypes.h"
#include "viewmanager/viewroi.h"
typedef MxBool (*ROIHandler)(char*, char*, MxU32);
typedef unsigned char (*ROIHandler)(char*, char*, unsigned int);
class LegoEntity;
@@ -18,24 +17,24 @@ class AutoROI : public ViewROI {};
// SIZE 0x10c
class LegoROI : public ViewROI {
public:
LegoROI(Tgl::Renderer* p_renderer, ViewLODList* p_lodList, MxTime p_time);
LegoROI(Tgl::Renderer* p_renderer, ViewLODList* p_lodList, int p_time);
virtual float IntrinsicImportance() const override; // vtable+0x4
// Note: Actually part of parent class (doesn't exist yet)
virtual void UpdateWorldBoundingVolumes() override; // vtable+0x18
__declspec(dllexport) void SetDisplayBB(MxS32 p_displayBB);
__declspec(dllexport) static void configureLegoROI(MxS32 p_roi);
void SetDisplayBB(int p_displayBB);
static void configureLegoROI(int p_roi);
static void SetSomeHandlerFunction(ROIHandler p_func);
static MxBool CallTheHandlerFunction(
static unsigned char CallTheHandlerFunction(
char* p_param,
MxFloat& p_red,
MxFloat& p_green,
MxFloat& p_blue,
MxFloat& p_other
float& p_red,
float& p_green,
float& p_blue,
float& p_other
);
static MxBool ColorAliasLookup(char* p_param, MxFloat& p_red, MxFloat& p_green, MxFloat& p_blue, MxFloat& p_other);
static unsigned char ColorAliasLookup(char* p_param, float& p_red, float& p_green, float& p_blue, float& p_other);
void WrappedSetLocalTransform(Matrix4& p_transform);
void FUN_100a46b0(Matrix4& p_transform);
@@ -50,7 +49,7 @@ public:
private:
undefined m_pad[0x24]; // 0xe0
LegoEntity* m_unk0x104; // 0x104
MxTime m_time; // 0x108
int m_time; // 0x108
};
#endif // LEGOROI_H