Alchemy
Loading...
Searching...
No Matches

OrbitingSceneObject Struct Reference

A floating Nut's actor: its position, the spot it sways around and how far through the sway it is, its sprite and its callback. More...

#include <orbit.h>

Data Fields

u8 padding00 [8]
s32 x
 16.16 fixed-point pixels
s32 y
 16.16 fixed-point pixels
s32 z
 16.16 fixed-point pixels
u8 padding14 [15]
u8 flags23
 FieldActor's priorityFlags; the Nut's scenes clear bit 0, ACTOR_PRIORITY_AUTOMATIC.
u8 padding24 [12]
s32 orbitAngle
 1/65536 turns; advanced by 0x400 plus two random steps each frame.
u8 padding34 [4]
s32 orbitCenterX
 16.16 fixed-point pixels
s32 orbitCenterY
 16.16 fixed-point pixels
s32 orbitCenterZ
 16.16 fixed-point pixels
u8 padding44 [12]
OrbitingSceneObjectSprite * sprite
u8 padding54
u8 mode
 FieldActor's motionFlags; the Nut's scenes zero it.
u8 state
 FieldActor's first unk56 byte; Scene_FloatNut zeroes it.
u8 padding57 [5]
u8 active
 FieldActor.retainSpriteCache: the Nut's scenes keep its sprite's VRAM cache entry.
u8 padding5d [4]
u8 visible
 FieldActor's frozen, which skips steering, terrain, gravity and floating; the Nut's scenes set it.
u8 padding62 [10]
u32 callback
 FieldActor's update hook; Scene_FloatNut sets SceneEffect_UpdateOrbitPosition.

Detailed Description

A floating Nut's actor: its position, the spot it sways around and how far through the sway it is, its sprite and its callback.

Definition at line 39 of file orbit.h.

Field Documentation

◆ padding00

u8 OrbitingSceneObject::padding00[8]

Definition at line 40 of file orbit.h.

◆ x

s32 OrbitingSceneObject::x

16.16 fixed-point pixels

Definition at line 41 of file orbit.h.

Referenced by Kalay_PrepareTown(), Kalay_UpdateNutOrbit(), and Scene_FloatNut().

◆ y

s32 OrbitingSceneObject::y

16.16 fixed-point pixels

Definition at line 42 of file orbit.h.

Referenced by Kalay_PrepareTown(), Kalay_UpdateNutOrbit(), and Scene_FloatNut().

◆ z

s32 OrbitingSceneObject::z

16.16 fixed-point pixels

Definition at line 43 of file orbit.h.

Referenced by Kalay_PrepareTown().

◆ padding14

u8 OrbitingSceneObject::padding14[15]

Definition at line 44 of file orbit.h.

◆ flags23

u8 OrbitingSceneObject::flags23

FieldActor's priorityFlags; the Nut's scenes clear bit 0, ACTOR_PRIORITY_AUTOMATIC.

Definition at line 47 of file orbit.h.

Referenced by Scene_FloatNut().

◆ padding24

u8 OrbitingSceneObject::padding24[12]

Definition at line 48 of file orbit.h.

◆ orbitAngle

s32 OrbitingSceneObject::orbitAngle

1/65536 turns; advanced by 0x400 plus two random steps each frame.

Definition at line 50 of file orbit.h.

Referenced by Kalay_PrepareTown(), Kalay_UpdateNutOrbit(), and Scene_FloatNut().

◆ padding34

u8 OrbitingSceneObject::padding34[4]

Definition at line 51 of file orbit.h.

◆ orbitCenterX

s32 OrbitingSceneObject::orbitCenterX

16.16 fixed-point pixels

Definition at line 52 of file orbit.h.

Referenced by Kalay_PrepareTown(), Kalay_UpdateNutOrbit(), and Scene_FloatNut().

◆ orbitCenterY

s32 OrbitingSceneObject::orbitCenterY

16.16 fixed-point pixels

Definition at line 53 of file orbit.h.

Referenced by Kalay_PrepareTown(), Kalay_UpdateNutOrbit(), and Scene_FloatNut().

◆ orbitCenterZ

s32 OrbitingSceneObject::orbitCenterZ

16.16 fixed-point pixels

Definition at line 54 of file orbit.h.

Referenced by Kalay_PrepareTown().

◆ padding44

u8 OrbitingSceneObject::padding44[12]

Definition at line 55 of file orbit.h.

◆ sprite

OrbitingSceneObjectSprite* OrbitingSceneObject::sprite

Definition at line 56 of file orbit.h.

Referenced by Kalay_PrepareTown(), Kalay_UpdateNutOrbit(), and Scene_FloatNut().

◆ padding54

u8 OrbitingSceneObject::padding54

Definition at line 57 of file orbit.h.

◆ mode

u8 OrbitingSceneObject::mode

FieldActor's motionFlags; the Nut's scenes zero it.

Definition at line 58 of file orbit.h.

Referenced by Kalay_PrepareTown(), and Scene_FloatNut().

◆ state

u8 OrbitingSceneObject::state

FieldActor's first unk56 byte; Scene_FloatNut zeroes it.

Definition at line 59 of file orbit.h.

Referenced by Scene_FloatNut().

◆ padding57

u8 OrbitingSceneObject::padding57[5]

Definition at line 60 of file orbit.h.

◆ active

u8 OrbitingSceneObject::active

FieldActor.retainSpriteCache: the Nut's scenes keep its sprite's VRAM cache entry.

Definition at line 63 of file orbit.h.

Referenced by Kalay_PrepareTown(), and Scene_FloatNut().

◆ padding5d

u8 OrbitingSceneObject::padding5d[4]

Definition at line 64 of file orbit.h.

◆ visible

u8 OrbitingSceneObject::visible

FieldActor's frozen, which skips steering, terrain, gravity and floating; the Nut's scenes set it.

Definition at line 67 of file orbit.h.

Referenced by Kalay_PrepareTown(), and Scene_FloatNut().

◆ padding62

u8 OrbitingSceneObject::padding62[10]

Definition at line 68 of file orbit.h.

◆ callback

u32 OrbitingSceneObject::callback

FieldActor's update hook; Scene_FloatNut sets SceneEffect_UpdateOrbitPosition.

Definition at line 71 of file orbit.h.

Referenced by Scene_FloatNut().