Isle
Loading...
Searching...
No Matches
legoactors.h
Go to the documentation of this file.
1#ifndef LEGOACTORS_H
2#define LEGOACTORS_H
3
4#include "decomp.h"
5#include "mxtypes.h"
6
8class LegoROI;
9
13struct LegoActorInfo { // SIZE 0x108 [AI]
16 struct Part { // SIZE 0x18 [AI]
18 const char** m_unk0x04;
21 const char** m_unk0x10;
23 };
24
25 const char* m_name;
32};
33
37struct LegoActorLOD { // SIZE 0x58 [AI]
39 enum {
40 c_flag1 = 0x01,
41 c_flag2 = 0x02
42 };
43
44 const char* m_name;
45 const char* m_parentName;
48 float m_boundingBox[6];
49 float m_position[3];
50 float m_direction[3];
51 float m_up[3];
52};
53
68};
69
83};
84
87
89extern LegoActorLOD g_actorLODs[11];
90
91#endif // LEGOACTORS_H
Represents a special actor in the world with additional animation state machines and complex interact...
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
Definition: legoroi.h:43
LegoActorParts
[AI] Indices of main LEGO actor parts (used for parts table lookup and assignment in LegoActorInfo).
Definition: legoactors.h:72
@ c_armrtPart
[AI] Right arm. [AI]
Definition: legoactors.h:78
@ c_clawlftPart
[AI] Left hand or claw accessory. [AI]
Definition: legoactors.h:79
@ c_leglftPart
[AI] Left leg. [AI]
Definition: legoactors.h:81
@ c_infohatPart
[AI] Info hat or top accessory slot. [AI]
Definition: legoactors.h:74
@ c_legrtPart
[AI] Right leg. [AI]
Definition: legoactors.h:82
@ c_infogronPart
[AI] Info/torso accent part. [AI]
Definition: legoactors.h:75
@ c_clawrtPart
[AI] Right hand or claw accessory. [AI]
Definition: legoactors.h:80
@ c_armlftPart
[AI] Left arm. [AI]
Definition: legoactors.h:77
@ c_bodyPart
[AI] Index for the main body slot in m_parts. [AI]
Definition: legoactors.h:73
@ c_headPart
[AI] Head slot. [AI]
Definition: legoactors.h:76
LegoActorInfo g_actorInfoInit[66]
[AI] Global initialization table for the 66 actor types in the game, each entry describing all key as...
Definition: legoactors.cpp:175
LegoActorLODs
[AI] Indices of the various actor LODs for lookup or iteration purposes.
Definition: legoactors.h:56
@ c_legrtLOD
Definition: legoactors.h:67
@ c_armrtLOD
Definition: legoactors.h:63
@ c_armlftLOD
Definition: legoactors.h:62
@ c_infohatLOD
[AI] Information hat or top-accessory. [AI]
Definition: legoactors.h:59
@ c_clawrtLOD
Definition: legoactors.h:65
@ c_bodyLOD
[AI] Body LOD node (core component of models). [AI]
Definition: legoactors.h:58
@ c_leglftLOD
Definition: legoactors.h:66
@ c_clawlftLOD
Definition: legoactors.h:64
@ c_headLOD
Definition: legoactors.h:61
@ c_topLOD
[AI] Top/root of the actor LOD hierarchy (usually main body root). [AI]
Definition: legoactors.h:57
@ c_infogronLOD
[AI] Another torso region/LOD, details contextual. [AI]
Definition: legoactors.h:60
LegoActorLOD g_actorLODs[11]
[AI] Array of 11 LOD definitions which describe the conventions for actor part hierarchy and bounding...
Definition: legoactors.cpp:10
unsigned char MxU8
[AI]
Definition: mxtypes.h:8
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32
[AI] Describes a part/slot of a LEGO actor (e.g.
Definition: legoactors.h:16
MxU8 m_unk0x08
[AI] Default part variant index (or count/selection index). [AI_SUGGESTED_NAME: m_defaultVariant]
Definition: legoactors.h:19
const char ** m_unk0x04
[AI] Pointer to array of strings representing the names/resources corresponding to the part's variant...
Definition: legoactors.h:18
MxU8 * m_unk0x00
[AI] Pointer to list of variant indices for this part (options for which sub-parts may be picked by t...
Definition: legoactors.h:17
MxU8 m_unk0x14
[AI] Default color/texture or palette index for the part. [AI_SUGGESTED_NAME: m_defaultPalette]
Definition: legoactors.h:22
MxU8 * m_unk0x0c
[AI] Pointer to a list of values (indices/colors), purpose is to map this part to a color/texture set...
Definition: legoactors.h:20
const char ** m_unk0x10
[AI] Pointer to palette or color array, typically strings with color names or filenames for textures....
Definition: legoactors.h:21
[AI] Contains information about a single LEGO actor/character, including its name,...
Definition: legoactors.h:13
MxS32 m_move
[AI] Movement profile, move type, or current move id. [AI]
Definition: legoactors.h:29
LegoExtraActor * m_actor
[AI] Pointer to the runtime logic/controller object for the actor (LegoExtraActor),...
Definition: legoactors.h:27
LegoROI * m_roi
[AI] Pointer to the runtime ROI (graphical representation/model) of the actor, assigned at runtime....
Definition: legoactors.h:26
MxS32 m_sound
[AI] Sound profile or current sound effect associated (index/id). [AI]
Definition: legoactors.h:28
MxU8 m_mood
[AI] Mood parameter for the actor (expressions/mouth shape/animation set). [AI]
Definition: legoactors.h:30
Part m_parts[10]
[AI] Table of body parts, each with their own variant/color selection and mappings (see Part struct)....
Definition: legoactors.h:31
const char * m_name
[AI] Unique name string for this actor type (used for lookup in runtime logic, e.g....
Definition: legoactors.h:25
[AI] Describes a single Level-of-Detail (LOD) variant for an actor part, including bounds and orienta...
Definition: legoactors.h:37
float m_up[3]
[AI] Default up vector, used for orientation of the part/model. [AI]
Definition: legoactors.h:51
float m_direction[3]
[AI] Default facing/pointing direction vector. [AI]
Definition: legoactors.h:50
const char * m_parentName
[AI] Name of parent part/Lod, forming hierarchy for placing in the model. [AI]
Definition: legoactors.h:45
float m_boundingSphere[4]
[AI] Defines center (x, y, z) and radius for the part's bounding sphere (collision and culling)....
Definition: legoactors.h:47
MxU32 m_flags
[AI] LOD flags; see enum above for special handling during actor building and LOD selection....
Definition: legoactors.h:46
float m_boundingBox[6]
[AI] Defines axis-aligned bounding box: minX, minY, minZ, maxX, maxY, maxZ. Used for spatial culling....
Definition: legoactors.h:48
float m_position[3]
[AI] Default position offset (relative to parent LOD/part), in model/local space. [AI]
Definition: legoactors.h:49
@ c_flag2
[AI] Used to denote a secondary special flag (usage determined by implementation)....
Definition: legoactors.h:41
@ c_flag1
[AI] Used to denote special processing/class of LOD part (see usage in creation routines)....
Definition: legoactors.h:40
const char * m_name
[AI] Name string for the LOD (e.g. "body", "head", "leg-lft", etc.). [AI]
Definition: legoactors.h:44