isle-portable/LEGO1/legopalettepresenter.h
MS bcb7bec68b
Improve handling of variables for decomp parser (#376)
* 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
2023-12-27 15:59:42 -05:00

40 lines
953 B
C++

#ifndef LEGOPALETTEPRESENTER_H
#define LEGOPALETTEPRESENTER_H
#include "decomp.h"
#include "mxpalette.h"
#include "mxvideopresenter.h"
// VTABLE: LEGO1 0x100d9aa0
// SIZE 0x68
class LegoPalettePresenter : public MxVideoPresenter {
public:
LegoPalettePresenter();
virtual ~LegoPalettePresenter() override; // vtable+0x0
// FUNCTION: LEGO1 0x10079f30
inline const char* ClassName() const override // vtable+0xc
{
// STRING: LEGO1 0x100f061c
return "LegoPalettePresenter";
}
// FUNCTION: LEGO1 0x10079f40
inline MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, ClassName()) || MxVideoPresenter::IsA(p_name);
}
virtual void ReadyTickle() override; // vtable+0x18
virtual void Destroy() override; // vtable+0x38
MxResult ParsePallete(MxStreamChunk* p_chunk);
private:
void Init();
void Destroy(MxBool p_fromDestructor);
MxPalette* m_palette; // 0x64
};
#endif // LEGOPALETTEPRESENTER_H