|
| 1 | +#ifndef MOONLITCANVAS0X5B0_H |
| 2 | +#define MOONLITCANVAS0X5B0_H |
| 3 | + |
| 4 | +#include "compat.h" |
| 5 | +#include "decomp.h" |
| 6 | +#include "falcontextureformat.h" |
| 7 | +#include "golfile.h" |
| 8 | +#include "types.h" |
| 9 | + |
| 10 | +class GoldDune0x38; |
| 11 | + |
| 12 | +// VTABLE: GOLDP 0x10056f04 |
| 13 | +// SIZE 0x5b0 |
| 14 | +class MoonlitCanvas0x5b0 { |
| 15 | +public: |
| 16 | + MoonlitCanvas0x5b0(); |
| 17 | + virtual void VTable0x00(); // vtable+0x00 |
| 18 | + virtual ~MoonlitCanvas0x5b0(); // vtable+0x04 |
| 19 | + virtual void VTable0x08(const LegoChar* p_fileName); // vtable+0x08 |
| 20 | + virtual void VTable0x0c(); // vtable+0x0c |
| 21 | + virtual const LegoChar* VTable0x10(); // vtable+0x10 |
| 22 | + virtual void VTable0x14(undefined4, undefined4, undefined4, undefined4); // vtable+0x14 |
| 23 | + virtual void VTable0x18(undefined4* p_arg1); // vtable+0x18 |
| 24 | + virtual void VTable0x1c(GoldDune0x38* p_texture, LegoU32 p_flags, undefined4 p_arg3); // vtable+0x1c |
| 25 | + virtual void VTable0x20(GoldDune0x38* p_texture, LegoU32 p_flags, undefined4 p_arg3); // vtable+0x20 |
| 26 | + |
| 27 | + void FUN_100226c0( |
| 28 | + const FalconTextureFormat& p_textureFormat, |
| 29 | + LegoU32 p_width, |
| 30 | + LegoU32 p_height, |
| 31 | + LegoU32 p_pitch, |
| 32 | + const ColorRGBA* p_palette, |
| 33 | + LegoU32 p_paletteCount |
| 34 | + ); |
| 35 | + |
| 36 | + const FalconTextureFormat& GetTextureFormat() const { return m_textureFormat; } |
| 37 | + LegoU32 GetWidth() const { return m_width; } |
| 38 | + LegoU32 GetHeight() const { return m_height; } |
| 39 | + void SetUnk0x5a8(undefined4 p_unk0x5a8) { m_unk0x5a8 = p_unk0x5a8; } |
| 40 | + void SetUnk0x5ac(undefined4 p_unk0x5ac) { m_unk0x5ac = p_unk0x5ac; } |
| 41 | + |
| 42 | + // SYNTHETIC: GOLDP 0x1001ff30 |
| 43 | + // MoonlitCanvas0x5b0::`scalar deleting destructor' |
| 44 | + |
| 45 | +private: |
| 46 | + undefined4 m_unk0x04; // 0x04 |
| 47 | + undefined4 m_unk0x08; // 0x08 |
| 48 | + undefined4 m_unk0x0c; // 0x0c |
| 49 | + LegoU8* m_unk0x10; // 0x10 |
| 50 | + GolFile m_file; // 0x14 |
| 51 | + LegoU32 m_width; // 0x44 |
| 52 | + LegoU32 m_height; // 0x48 |
| 53 | + undefined4 m_unk0x4c; // 0x4c |
| 54 | + FalconTextureFormat m_textureFormat; // 0x50 |
| 55 | + undefined4 m_unk0x68; // 0x68 |
| 56 | + undefined4 m_unk0x6c; // 0x6c |
| 57 | + undefined m_unk0x70[0x74 - 0x70]; // 0x70 |
| 58 | + undefined4 m_unk0x74; // 0x74 |
| 59 | + undefined m_unk0x78[0x98 - 0x78]; // 0x78 |
| 60 | + undefined4 m_unk0x98; // 0x98 |
| 61 | + ColorRGBA m_unk0x9c; // 0x9c |
| 62 | + ColorRGBA m_unk0xa0; // 0xa0 |
| 63 | + undefined4 m_unk0xa4; // 0xa4 |
| 64 | + undefined m_unk0xa8[0x5a8 - 0xa8]; // 0xa8 |
| 65 | + undefined4 m_unk0x5a8; // 0x5a8 |
| 66 | + undefined4 m_unk0x5ac; // 0x5ac |
| 67 | +}; |
| 68 | + |
| 69 | +#endif // MOONLITCANVAS0X5B0_H |
0 commit comments