mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 17:36:12 -05:00
5f413165cc
* 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>
37 lines
779 B
C++
37 lines
779 B
C++
#ifndef MXATOMID_H
|
|
#define MXATOMID_H
|
|
|
|
#include "mxatomidcounter.h"
|
|
#include "mxtypes.h"
|
|
|
|
enum LookupMode {
|
|
e_exact = 0,
|
|
e_lowerCase,
|
|
e_upperCase,
|
|
e_lowerCase2,
|
|
};
|
|
|
|
// SIZE 0x04
|
|
class MxAtomId {
|
|
public:
|
|
MxAtomId(const char*, LookupMode);
|
|
MxAtomId& operator=(const MxAtomId& p_atomId);
|
|
~MxAtomId();
|
|
|
|
MxAtomId() { this->m_internal = 0; }
|
|
|
|
inline MxBool operator==(const MxAtomId& p_atomId) const { return this->m_internal == p_atomId.m_internal; }
|
|
inline MxBool operator!=(const MxAtomId& p_atomId) const { return this->m_internal != p_atomId.m_internal; }
|
|
|
|
void Clear();
|
|
|
|
const char* GetInternal() const { return m_internal; }
|
|
|
|
private:
|
|
MxAtomIdCounter* GetCounter(const char*, LookupMode);
|
|
void Destroy();
|
|
|
|
const char* m_internal; // 0x00
|
|
};
|
|
|
|
#endif // MXATOMID_H
|