summaryrefslogtreecommitdiff
path: root/include/objects.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/objects.h')
-rw-r--r--include/objects.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/include/objects.h b/include/objects.h
index 88dc9a7a8..e3c5dd73a 100644
--- a/include/objects.h
+++ b/include/objects.h
@@ -289,13 +289,6 @@ extern Vec3s gHedgehogPatrolPoints[];
*/
extern s32 indexObjectList2[];
-// This struct is used by a lot of different objects
-// Stars, clouds, exahust smoke (I think?)
-typedef struct {
- Vec3su pos;
- u16 id;
-} StarSpawn;
-
#define NUM_BOOS 0xA
#define NUM_FIRE_BREATHS 4
@@ -407,6 +400,22 @@ extern s32 gLeafParticle[];
//! Next free spot in gLeafParticle? Wraps back around to 0 if it gets bigger than gLeafParticle_SIZE
extern s32 gNextFreeLeafParticle;
+// Struct used for clouds and stars
+// See `func_80070328` and `func_80070250` for cloud initialization
+// See `func_800704A0` and `func_800703E0` for star initialization
+typedef struct {
+ // rotY and posY seem relative to the camera.
+ // See `func_800788F8` to see how rotY is used to decide whether and where to display clouds/stars
+ // See `func_80078A44` and `func_800789AC` to see how stars and clouds (respectively) are looped over
+ /* 0x00 */ u16 rotY;
+ /* 0x02 */ u16 posY;
+ // Can be bigger than 100!
+ /* 0x04 */ u16 scalePercent;
+ // There are a couple different cloud shapes, this decides which one is used
+ // For stars, this is always 0 since they don't have multiple textures
+ /* 0x06 */ u16 subType;
+} StarData, CloudData; // size = 0x8
+
#define D_8018CC80_SIZE 0x64
/**