Isle
Loading...
Searching...
No Matches
legopartpresenter.h
Go to the documentation of this file.
1#ifndef LEGOPARTPRESENTER_H
2#define LEGOPARTPRESENTER_H
3
4#include "legonamedpartlist.h"
5#include "mxmediapresenter.h"
6
7// VTABLE: LEGO1 0x100d4df0
8// SIZE 0x54
14public:
19
25
29 void Destroy() override { Destroy(FALSE); } // vtable+0x38
30
35 static const char* HandlerClassName()
36 {
37 // STRING: LEGO1 0x100f05d8
38 return "LegoPartPresenter";
39 }
40
45 const char* ClassName() const override // vtable+0x0c
46 {
47 return HandlerClassName();
48 }
49
55 MxBool IsA(const char* p_name) const override // vtable+0x10
56 {
57 return !strcmp(p_name, LegoPartPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
58 }
59
64 void ReadyTickle() override; // vtable+0x18
65
71 MxResult AddToManager() override; // vtable+0x34
72
78 static void configureLegoPartPresenter(MxS32 p_partPresenterConfig1, MxS32 p_partPresenterConfig2);
79
80 // SYNTHETIC: LEGO1 0x1000d060
81 // LegoPartPresenter::`scalar deleting destructor'
82
87 void Reset() { m_parts = NULL; }
88
95 MxResult Read(MxDSChunk& p_chunk);
96
101 void Store();
102
103private:
109 void Destroy(MxBool p_fromDestructor);
110
114 LegoNamedPartList* m_parts; // 0x50
115};
116
117#endif // LEGOPARTPRESENTER_H
[AI] A list container for storing pointers to LegoNamedPart objects.
[AI] Presents and loads Lego part definitions from SI chunks and manages their installation in ViewLO...
static void configureLegoPartPresenter(MxS32 p_partPresenterConfig1, MxS32 p_partPresenterConfig2)
[AI] Configure global settings for texture loading order and maximum number of LODs.
MxResult Read(MxDSChunk &p_chunk)
[AI] Reads Lego part and texture data from a MxDSChunk and builds internal part list.
void Reset()
[AI] Resets the LegoPartPresenter by clearing any loaded LegoNamedPartList.
~LegoPartPresenter() override
[AI] Destructor calls Destroy to release resources.
MxResult AddToManager() override
[AI] Registers this presenter with the VideoManager.
static const char * HandlerClassName()
[AI] Get static name of this handler's class.
const char * ClassName() const override
[AI] Returns the name of the concrete class.
void Destroy() override
[AI] Virtual destroy method called by framework.
void Store()
[AI] Transfers all loaded named Lego parts and LODs to the ViewLODListManager.
LegoPartPresenter()
[AI] Constructs and resets the LegoPartPresenter state.
MxBool IsA(const char *p_name) const override
[AI] Type checking: returns true if p_name is this class or a parent class name.
void ReadyTickle() override
[AI] Called when entering the Ready tickle state: loads and installs parts from the subscriber stream...
[AI] Represents a chunk of data extracted from a stream (typically from a Mindscape/Mx SI file or str...
Definition: mxdschunk.h:38
[AI] Abstract base class for presenters that play back continuous media streams such as video or audi...
MxBool IsA(const char *p_name) const override
[AI] Returns TRUE if the provided class name matches this class or any of its parents.
#define override
Definition: compat.h:21
#define TRUE
Definition: d3drmdef.h:28
#define FALSE
Definition: d3drmdef.h:27
#define NULL
[AI] Null pointer value (C/C++ semantics).
Definition: legotypes.h:26
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
signed int MxS32
[AI]
Definition: mxtypes.h:38