Torch
Loading...
Searching...
No Matches
BK64::NodeProp Struct Reference

#include <MapFactory.h>

Public Attributes

int16_t position [3]
uint16_t radius: 9
uint16_t bit6: 6
uint16_t bit0: 1
uint16_t unk8
uint8_t unkA
uint8_t padB
uint32_t yaw: 9
uint32_t scale: 23
uint32_t unk10_31: 12
uint32_t unk10_19: 12
uint32_t pad10_7: 1
uint32_t unk10_6: 1
uint32_t pad10_5: 4
uint32_t unk10_0: 2

Detailed Description

NodeProp: spawn point, warp, trigger, or event marker - 20 bytes Decomp: NodeProp from props.h

These are the spatial triggers and spawn locations for a level. At load time cubeList_fromFile (actor_cubebounds.c) turns each one into an ActorMarker. The category field is what decides what it actually does:

  • 6 = Actor spawn point (spawns an entity via markerActorTypeArray dispatch)
  • 7 = Warp destination (teleports the player to another map)
  • 9 = Trigger zone (fires events when the player enters the radius)
  • 0xA = Event marker, used by level-specific systems

Flow: ROM → MapFactory parse() → NodeProp array → cubeList_fromFile → ActorMarker → actor spawn / event trigger via overlay callbacks

Structure Layout: Offset 0x00: position[3] (s16[3]) - X, Y, Z world coordinates Offset 0x06: selector_or_radius:9, category:6, bit0:1 (u16) Offset 0x08: actorId (u16) - Actor/Warp/Event ID depending on category Offset 0x0A: markerId (u8), padB (u8) Offset 0x0C: yaw:9, scale:23 (u32) Offset 0x10: unk10_31:12, unk10_19:12, pad10_7:1, unk10_6:1, pad10_5:4, unk10_0:2 (u32)


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