Isle
Loading...
Searching...
No Matches
LegoPlantInfo Struct Reference

[AI] Struct representing a single plant's static configuration on LEGO Island, including placement, type, physical attributes, and references to world geometry. More...

#include <legoplants.h>

Collaboration diagram for LegoPlantInfo:

Public Types

enum  World {
  c_act1 = 1 << 0 , c_imain = 1 << 1 , c_ielev = 1 << 4 , c_iisle = 1 << 5 ,
  c_act2 = 1 << 15 , c_act3 = 1 << 16
}
 [AI] Bit flags indicating which game world(s) the plant appears in. More...
 
enum  Variant { e_flower = 0 , e_tree , e_bush , e_palm }
 [AI] Plant geometry/model variant. More...
 
enum  Color {
  e_white = 0 , e_black , e_yellow , e_red ,
  e_green
}
 [AI] Standard colors used for LEGO plants. More...
 

Public Attributes

LegoEntitym_entity
 [AI] Pointer to the associated entity instance (initialized later at runtime) [AI] More...
 
MxU32 m_worlds
 [AI] Bitfield of World enum - specifies which scenes/worlds this plant is present in [AI] More...
 
MxU8 m_variant
 [AI] Variant enum value specifying geometry/model [AI] More...
 
MxU32 m_sound
 [AI] Sound ID or sound group associated with this plant (e.g. upon interaction or environment event) [AI] More...
 
MxU32 m_move
 [AI] Movement/action type (for animation, swaying, interactive move, etc.) [AI] More...
 
MxU8 m_mood
 [AI] Mood state; used for animation, facial expression, etc. [AI] More...
 
MxU8 m_color
 [AI] Color enum value, determines plant's rendering color [AI] More...
 
MxS8 m_unk0x16
 [AI] Unknown; appears to be a state variable, possibly animation frame or LOD index [AI] More...
 
MxS8 m_initialUnk0x16
 [AI] Initial value to be loaded into m_unk0x16 (reset/restore behavior) [AI] More...
 
const char * m_name
 [AI] Name identifier; often maps to geometry, SI file object, or level editor label [AI] More...
 
undefined4 m_unk0x1c
 [AI] Unknown purpose, four bytes, possibly used for runtime flags or temporary storage [AI] More...
 
float m_x
 [AI] World X position (center or reference) [AI] More...
 
float m_y
 [AI] World Y position (vertical/elevation) [AI] More...
 
float m_z
 [AI] World Z position (depth/axis in world) [AI] More...
 
LegoPathBoundarym_boundary
 [AI] Pointer to a collision or path boundary for this plant, if any [AI] More...
 
float m_position [3]
 [AI] Alternate position array (likely for display, reference, or bounding computations) [AI] More...
 
float m_direction [3]
 [AI] Orientation direction vector, typically for forward orientation of plant (for animation/transforms) [AI] More...
 
float m_up [3]
 [AI] Up direction vector, typically (0,1,0) but can be used for skew or special display [AI] More...
 

Detailed Description

[AI] Struct representing a single plant's static configuration on LEGO Island, including placement, type, physical attributes, and references to world geometry.

[AI] This structure is a database entry describing a plant or vegetation object as placed on LEGO Island. It allows identification of the plant's type, the worlds/scenes it belongs to, spatial coordinates and orientation, links to boundaries for collision/delineation, and denormalized state for animation/sound/color, among other settings.

  • "World" (as bit flags) determines which virtual area(s) the plant belongs to.
  • Variants classify the geometry/model of the plant (e.g., flower/tree/bush/palm).
  • Color denotes its primary appearance color. Several fields are used by the game logic to manage instantiations and behaviors during gameplay.

Definition at line 18 of file legoplants.h.

Member Enumeration Documentation

◆ Color

[AI] Standard colors used for LEGO plants.

[AI]

Enumerator
e_white 

[AI] White

e_black 

[AI] Black

e_yellow 

[AI] Yellow

e_red 

[AI] Red

e_green 

[AI] Green

Definition at line 43 of file legoplants.h.

◆ Variant

[AI] Plant geometry/model variant.

[AI]

Enumerator
e_flower 

[AI] Standard flower

e_tree 

[AI] Tree

e_bush 

[AI] Bush/shrub

e_palm 

[AI] Palm tree

Definition at line 34 of file legoplants.h.

◆ World

[AI] Bit flags indicating which game world(s) the plant appears in.

[AI] Used to determine in which scene(s) the plant instance should be present. Each value corresponds to a different major scene or context.

Enumerator
c_act1 

[AI] Action scene 1 [AI]

c_imain 

[AI] Main island/intro [AI]

c_ielev 

[AI] Elevator interior scene [AI]

c_iisle 

[AI] Small isle/secret (see SI files) [AI]

c_act2 

[AI] Action scene 2 [AI]

c_act3 

[AI] Action scene 3 [AI]

Definition at line 23 of file legoplants.h.

Member Data Documentation

◆ m_boundary

LegoPathBoundary* LegoPlantInfo::m_boundary

[AI] Pointer to a collision or path boundary for this plant, if any [AI]

Definition at line 65 of file legoplants.h.

◆ m_color

MxU8 LegoPlantInfo::m_color

[AI] Color enum value, determines plant's rendering color [AI]

Definition at line 57 of file legoplants.h.

◆ m_direction

float LegoPlantInfo::m_direction[3]

[AI] Orientation direction vector, typically for forward orientation of plant (for animation/transforms) [AI]

Definition at line 67 of file legoplants.h.

◆ m_entity

LegoEntity* LegoPlantInfo::m_entity

[AI] Pointer to the associated entity instance (initialized later at runtime) [AI]

Definition at line 51 of file legoplants.h.

◆ m_initialUnk0x16

MxS8 LegoPlantInfo::m_initialUnk0x16

[AI] Initial value to be loaded into m_unk0x16 (reset/restore behavior) [AI]

Definition at line 59 of file legoplants.h.

◆ m_mood

MxU8 LegoPlantInfo::m_mood

[AI] Mood state; used for animation, facial expression, etc. [AI]

Definition at line 56 of file legoplants.h.

◆ m_move

MxU32 LegoPlantInfo::m_move

[AI] Movement/action type (for animation, swaying, interactive move, etc.) [AI]

Definition at line 55 of file legoplants.h.

◆ m_name

const char* LegoPlantInfo::m_name

[AI] Name identifier; often maps to geometry, SI file object, or level editor label [AI]

Definition at line 60 of file legoplants.h.

◆ m_position

float LegoPlantInfo::m_position[3]

[AI] Alternate position array (likely for display, reference, or bounding computations) [AI]

Definition at line 66 of file legoplants.h.

◆ m_sound

MxU32 LegoPlantInfo::m_sound

[AI] Sound ID or sound group associated with this plant (e.g. upon interaction or environment event) [AI]

Definition at line 54 of file legoplants.h.

◆ m_unk0x16

MxS8 LegoPlantInfo::m_unk0x16

[AI] Unknown; appears to be a state variable, possibly animation frame or LOD index [AI]

Definition at line 58 of file legoplants.h.

◆ m_unk0x1c

undefined4 LegoPlantInfo::m_unk0x1c

[AI] Unknown purpose, four bytes, possibly used for runtime flags or temporary storage [AI]

Definition at line 61 of file legoplants.h.

◆ m_up

float LegoPlantInfo::m_up[3]

[AI] Up direction vector, typically (0,1,0) but can be used for skew or special display [AI]

Definition at line 68 of file legoplants.h.

◆ m_variant

MxU8 LegoPlantInfo::m_variant

[AI] Variant enum value specifying geometry/model [AI]

Definition at line 53 of file legoplants.h.

◆ m_worlds

MxU32 LegoPlantInfo::m_worlds

[AI] Bitfield of World enum - specifies which scenes/worlds this plant is present in [AI]

Definition at line 52 of file legoplants.h.

◆ m_x

float LegoPlantInfo::m_x

[AI] World X position (center or reference) [AI]

Definition at line 62 of file legoplants.h.

◆ m_y

float LegoPlantInfo::m_y

[AI] World Y position (vertical/elevation) [AI]

Definition at line 63 of file legoplants.h.

◆ m_z

float LegoPlantInfo::m_z

[AI] World Z position (depth/axis in world) [AI]

Definition at line 64 of file legoplants.h.


The documentation for this struct was generated from the following file: