summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorpetrie911 <69443847+petrie911@users.noreply.github.com>2024-05-02 15:46:51 -0500
committerGitHub <noreply@github.com>2024-05-02 17:46:51 -0300
commitc9df6fda729f76607b3c1ce45cfe82a203f16d99 (patch)
tree636d2a2ced45cfdf9cf6cfa4be5220aa827c5e79 /include
parent926677aa6c6cfb3b633a64c772d264e1946cc79c (diff)
More docs (#226)
* docs * more docs * forgot timers
Diffstat (limited to 'include')
-rw-r--r--include/context.h38
-rw-r--r--include/functions.h30
-rw-r--r--include/sf64object.h74
-rw-r--r--include/sf64player.h130
-rw-r--r--include/variables.h2
5 files changed, 133 insertions, 141 deletions
diff --git a/include/context.h b/include/context.h
index 6a8156cc..690df8cd 100644
--- a/include/context.h
+++ b/include/context.h
@@ -26,9 +26,9 @@ extern s32 gPrevPlanetSavedTeamShields[6];
extern s32 gTeamDamage[6];
extern u8 gMissionStatus;
extern f32 gGroundHeight;
-extern f32 D_ctx_80177950;
-extern f32 D_ctx_80177968;
-extern f32 D_ctx_80177970;
+extern f32 D_ctx_80177950; // sign of something to do with camera z rotations
+extern f32 gPlayerTurnRate;
+extern f32 gPlayerTurnStickMod;
extern f32 gCsCamEyeX;
extern f32 gCsCamEyeY;
extern f32 gCsCamEyeZ;
@@ -61,13 +61,13 @@ extern u16 gBgmSeqId;
extern u8 gLevelType;
extern s32 gSavedObjectLoadIndex;
extern UNK_TYPE F_80177CA8;
-extern f32 D_ctx_80177CB0;
+extern f32 gSavedPathProgress;
extern UNK_TYPE F_80177CB8;
extern f32 gWaterLevel;
-extern f32 D_ctx_80177CC8;
-extern f32 D_ctx_80177CE8;
-extern f32 D_ctx_80177D08;
-extern f32 D_ctx_80177D20;
+extern f32 gPathGroundScroll;
+extern f32 gPathTexScroll;
+extern f32 gPathVelZ;
+extern f32 gPathProgress;
extern f32 gRadioPortraitScaleY;
extern f32 gRadioTextBoxScaleY;
extern f32 gRadioMsgRadioId;
@@ -226,7 +226,7 @@ extern s32 gHitCount;
extern s32 gSavedHitCount;
extern s16 gLifeCount[4];
extern LaserStrength gLaserStrength[4];
-extern s32 D_ctx_80161AB8;
+extern s32 gCullObjects;
extern UNK_TYPE F_80161AC0[16];
extern Scenery gScenery[50];
extern Sprite gSprites[40];
@@ -272,13 +272,13 @@ extern s32 D_ctx_80177990[4];
extern f32 D_ctx_801779A8[4];
extern u8 gPauseEnabled;
extern s32 gChargeTimers[4];
-extern f32 D_ctx_801779E4;
-extern f32 D_ctx_801779F4;
-extern s32 D_Timer_80177A00[4];
-extern s32 D_Timer_80177A38[4];
-extern s32 D_Timer_80177A70[4];
-extern s32 D_Timer_80177A88[4];
-extern f32 D_ctx_80177AA0[4];
+extern f32 gPathVelX;
+extern f32 gPathVelY;
+extern s32 gUturnDownTimers[4];
+extern s32 gUturnBrakeTimers[4];
+extern s32 gLoopDownTimers[4];
+extern s32 gLoopBoostTimers[4];
+extern f32 gMuzzleFlashScale[4];
extern f32 gShieldAlpha[4];
extern s32 gHasShield[4];
extern s32 gShieldTimer[4];
@@ -289,11 +289,11 @@ extern u8 gCoUturnCount;
extern u8 gGreatFoxIntact;
extern u8 gTiStartLandmaster;
extern u16 gControllerRumbleTimers[4];
-extern u16 D_ctx_80177C30[4];
+extern u16 gPlayerScores[4];
extern s32 D_ctx_80177C50;
extern s32 D_ctx_80177C70;
-extern s32 D_ctx_80177C78;
-extern s32 D_ctx_80177C8C;
+extern s32 gTraining360MsgTimer;
+extern s32 gTraining360MsgIndex;
extern s32 D_ctx_80177C94;
extern s32 D_ctx_80177C9C;
extern s32 D_ctx_80177CA4;
diff --git a/include/functions.h b/include/functions.h
index 999d12d4..41deb1c3 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -82,8 +82,8 @@ void Cutscene_LevelComplete(Player*);
void Cutscene_UTurn(Player*);
void Cutscene_KillPlayer(Player* player);
void Cutscene_PlayerDown(Player*);
-void Actor195_Update(Actor*);
-void Actor195_Draw(Actor*);
+void ActorCutscene_Update(Actor*);
+void ActorCutscene_Draw(Actor*);
void Cutscene_DrawGreatFox(void);
// fox_display
@@ -95,7 +95,7 @@ void Play_Draw(void);
// fox_edata
void func_edata_800594F0(Scenery*);
void func_edata_800595D0(Scenery*);
-void func_edisplay_800596C0(void);
+void Object_ApplyWaterDistortion(void);
void func_edata_800596B0(Actor*);
// fox_edisplay
@@ -103,9 +103,9 @@ void Graphics_SetScaleMtx(f32);
void Sprite168_Draw(Sprite*);
void Actor201_Draw(Actor*);
void Actor202_Draw(Actor*);
-void Obj39_Draw(Scenery*);
-void func_edisplay_80059B20(Scenery*);
-void Obj42_Draw(Scenery*);
+void MeteoTunnel_Draw(Scenery*);
+void Scenery_DrawTitaniaBones(Scenery*);
+void Scenery42_Draw(Scenery*);
void Actor196_Draw(Actor*);
void Sprite167_Draw(Sprite*);
void FogShadow_Draw(Sprite*);
@@ -162,7 +162,7 @@ bool Object_CheckHitboxCollision(Vec3f* pos, f32* hitboxData, Object* obj, f32 x
bool Object_CheckSingleHitbox(Vec3f*, f32*, Vec3f*);
bool Object_CheckPolyCollision(Vec3f* , Vec3f* , ObjectId , Object* );
s32 Object_CheckCollision(s32 , Vec3f* , Vec3f* , s32 );
-void func_enmy_800652CC(Scenery*);
+void Scenery_UpdateTitaniaBones(Scenery*);
void func_enmy_800654E4(Object*);
void func_enmy_800656D4(Actor*);
void func_enmy_800660F0(Actor*);
@@ -175,8 +175,8 @@ void func_enmy_80066C00(Scenery*);
void func_enmy_80066D5C(Scenery*);
void Sprite167_Update(Sprite*);
void func_enmy_80066EA8(Scenery*);
-void func_enmy_80066EF0(Item*);
-void func_enmy_800671D0(Item*);
+void Item_CheckBounds(Item*);
+void Item_SpinPickup(Item*);
void func_enmy_800674B4(f32, f32, f32, f32, f32, f32, f32, f32);
void ActorSupplies_Update(Actor*);
void ActorSupplies_Draw(Actor*);
@@ -213,16 +213,16 @@ void Object_Update(void);
//fox_enmy2
void Actor237_Update(Actor*);
void Actor237_Draw(Actor*);
-void Obj54_Update(Scenery*);
+void Scenery54_Update(Scenery*);
void Actor201_Update(Actor*);
void Actor202_Update(Actor*);
void Actor194_Update(Actor*);
-void Actor194_Init(Actor*);
+void Actor194_Dying(Actor*);
void Actor194_Draw(Actor*);
-void Obj42_Update(Scenery*);
+void Scenery42_Update(Scenery*);
void Actor196_Update(Actor*);
void Actor189_Update(Actor*);
-void Obj39_Update(Scenery*);
+void MeteoTunnel_Update(Scenery*);
void func_enmy2_8006ECBC(PlayerShotId, PlayerShot*, s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void func_enmy2_8006EEFC(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void func_enmy2_8006EFA0(s32 unk0E4, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 xRot, f32 yRot,
@@ -230,7 +230,7 @@ void func_enmy2_8006EFA0(s32 unk0E4, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32
void ActorEvent_8006F0D8(f32 xPos, f32 yPos, f32 zPos, f32 scale1);
void ActorEvent_8006F254(Actor*);
void ActorEvent_Update(Actor*);
-s32 Obj111_Draw(Scenery*);
+s32 Scenery111_Draw(Scenery*);
void ActorEvent_Draw(Actor*);
void func_enmy2_800763A4(Actor*);
void ActorEvent_Dying(Actor*);
@@ -483,7 +483,7 @@ void func_play_800AD7F0(Player* player);
void func_play_800ADF58(Player* player);
void func_play_800B415C(Player* player);
void func_play_800B41E0(Player* player);
-void func_play_800B41EC(Player* player);
+void Player_Down(Player* player);
void func_play_800A46A0(Player* player);
void func_play_800A86E4(Player* player);
void func_play_800A887C(Player* player);
diff --git a/include/sf64object.h b/include/sf64object.h
index 9fb29722..53ee4eec 100644
--- a/include/sf64object.h
+++ b/include/sf64object.h
@@ -42,7 +42,7 @@ typedef struct {
typedef enum {
/* 0 */ COL1_0, // OBJ_ACTOR_180
- /* 1 */ COL1_1, // OBJ_SCENERY_39
+ /* 1 */ COL1_1, // OBJ_SCENERY_ME_TUNNEL
/* 2 */ COL1_2,
/* 3 */ COL1_3, // ACTOR_EVENT_ID
/* 4 */ COL1_4, // OBJ_BOSS_308
@@ -88,29 +88,29 @@ typedef struct {
/* 0x00 */ u8 status;
/* 0x02 */ u16 type;
/* 0x04 */ Vec3f pos;
- /* 0x10 */ f32 unk_10;
+ /* 0x10 */ f32 yRot;
/* 0x14 */ char pad14[0x14];
} RadarMark; // size = 0x28
typedef struct {
/* 0x00 */ u8 mode;
/* 0x02 */ u16 timer;
- /* 0x04 */ Vec3f unk_04;
- /* 0x10 */ Vec3f unk_10;
- /* 0x1C */ f32 unk_1C;
- /* 0x20 */ f32 unk_20;
- /* 0x24 */ f32 unk_24;
- /* 0x28 */ f32 unk_28;
- /* 0x2C */ u8 unk_2C; // possibly a color struct
- /* 0x2D */ u8 unk_2D;
- /* 0x2E */ u8 unk_2E;
- /* 0x2F */ u8 unk_2F;
+ /* 0x04 */ Vec3f posAA;
+ /* 0x10 */ Vec3f posBB;
+ /* 0x1C */ f32 xRot;
+ /* 0x20 */ f32 yRot;
+ /* 0x24 */ f32 zScale;
+ /* 0x28 */ f32 xyScale;
+ /* 0x2C */ u8 red; // possibly a color struct
+ /* 0x2D */ u8 green;
+ /* 0x2E */ u8 blue;
+ /* 0x2F */ u8 alpha;
} TexturedLine; // size = 0x30
typedef struct {
/* 0x00 */ u8 hits;
/* 0x04 */ Vec3f pos;
- /* 0x10 */ f32 unk_10;
+ /* 0x10 */ f32 rise;
/* 0x14 */ char pad14[0x4];
/* 0x18 */ u16 timer;
} BonusText; // size = 0x1C
@@ -143,13 +143,13 @@ typedef struct {
/* 0x00 */ u8 drawType;
/* 0x08 */ ObjectFunc action; // argument must have object type.
/* 0x0C */ f32* hitbox;
- /* 0x10 */ f32 unk_10; // z coordinate of something
- /* 0x14 */ s16 unk_14; // can be -1, 0, 1
- /* 0x16 */ s16 unk_16; // can be 0, 1, 2
+ /* 0x10 */ f32 cullDistance; // z coordinate of something
+ /* 0x14 */ s16 unk_14; // can be -1, 0, 1. governs camera-related behavior in effects (billboarding?)
+ /* 0x16 */ s16 unk_16; // can be 0, 1, 2. affects death behavior?
/* 0x18 */ u8 damage;
- /* 0x19 */ u8 unk_19; // can be 0, 1, 2
- /* 0x1C */ f32 unk_1C; // target lock y offset. 0.0f can't be targeted
- /* 0x20 */ u8 bonus; // bonus hits when killed. 0 means no
+ /* 0x19 */ u8 unk_19; // can be 0, 1, 2. Also camera-related?
+ /* 0x1C */ f32 targetOffset; // target lock y offset. 0.0f can't be targeted
+ /* 0x20 */ u8 bonus; // hits when killed. numbers above 1 indicate the hit+ bonus
} ObjectInfo; // size = 0x24
typedef struct {
@@ -202,7 +202,7 @@ typedef struct {
/* 0x54 */ f32 unk_54;
/* 0x58 */ f32 unk_58;
/* 0x5C */ f32 sfxSource[3];
- /* 0x68 */ f32 scale;
+ /* 0x68 */ f32 width;
} Item; // size 0x6C
typedef struct {
@@ -264,7 +264,7 @@ typedef struct {
#define DMG_BEAM 1
#define DMG_NONE 0
#define DMG_BOMB -1
-#define DMG_UNK_100 100
+#define DMG_zRot_0FC 100
typedef struct {
/* 0x000 */ Object obj;
@@ -291,9 +291,9 @@ typedef struct {
/* 0x0C9 */ u8 unk_0C9;
/* 0x0CA */ u8 lockOnTimers[4];
/* 0x0CE */ s16 health;
- /* 0x0D0 */ s8 unk_0D0;
- /* 0x0D2 */ s16 unk_0D2;
- /* 0x0D4 */ s16 unk_0D4;
+ /* 0x0D0 */ s8 dmgType;
+ /* 0x0D2 */ s16 dmgPart;
+ /* 0x0D4 */ s16 dmgSource;
/* 0x0D6 */ u16 damage;
/* 0x0D8 */ Vec3f hitPos;
/* 0x0E4 */ s16 aiType;
@@ -338,17 +338,17 @@ typedef enum ObjectId {
/* 26 */ OBJ_SCENERY_26,
/* 27 */ OBJ_SCENERY_27,
/* 28 */ OBJ_SCENERY_28,
- /* 29 */ OBJ_SCENERY_29,
- /* 30 */ OBJ_SCENERY_30,
- /* 31 */ OBJ_SCENERY_31,
- /* 32 */ OBJ_SCENERY_32,
- /* 33 */ OBJ_SCENERY_33,
- /* 34 */ OBJ_SCENERY_34,
- /* 35 */ OBJ_SCENERY_35,
- /* 36 */ OBJ_SCENERY_36,
- /* 37 */ OBJ_SCENERY_37,
- /* 38 */ OBJ_SCENERY_38,
- /* 39 */ OBJ_SCENERY_39,
+ /* 29 */ OBJ_SCENERY_TI_SKULL,
+ /* 30 */ OBJ_SCENERY_TI_RIB_0,
+ /* 31 */ OBJ_SCENERY_TI_RIB_1,
+ /* 32 */ OBJ_SCENERY_TI_RIB_2,
+ /* 33 */ OBJ_SCENERY_TI_RIB_3,
+ /* 34 */ OBJ_SCENERY_TI_RIB_4,
+ /* 35 */ OBJ_SCENERY_TI_RIB_5,
+ /* 36 */ OBJ_SCENERY_TI_RIB_6,
+ /* 37 */ OBJ_SCENERY_TI_RIB_7,
+ /* 38 */ OBJ_SCENERY_TI_RIB_8,
+ /* 39 */ OBJ_SCENERY_ME_TUNNEL,
/* 40 */ OBJ_SCENERY_40,
/* 41 */ OBJ_SCENERY_41,
/* 42 */ OBJ_SCENERY_42,
@@ -504,7 +504,7 @@ typedef enum ObjectId {
/* 192 */ OBJ_ACTOR_192,
/* 193 */ OBJ_ACTOR_193,
/* 194 */ OBJ_ACTOR_194,
- /* 195 */ OBJ_ACTOR_195,
+ /* 195 */ OBJ_ACTOR_CUTSCENE,
/* 196 */ OBJ_ACTOR_196,
/* 197 */ OBJ_ACTOR_ALLRANGE,
/* 198 */ OBJ_ACTOR_TEAM_BOSS,
@@ -1119,7 +1119,7 @@ typedef Actor Actor191;
typedef Actor Actor192;
typedef Actor Actor193;
typedef Actor Actor194;
-typedef Actor Actor195;
+typedef Actor ActorCutscene;
typedef Actor Actor196;
typedef Actor ActorAllRange;
typedef Actor ActorTeamBoss;
diff --git a/include/sf64player.h b/include/sf64player.h
index f2ebffaf..ccd81441 100644
--- a/include/sf64player.h
+++ b/include/sf64player.h
@@ -97,11 +97,9 @@ typedef struct {
/* 0x00 */ Object obj;
/* 0x1C */ s32 index;
/* 0x20 */ Vec3f vel;
- /* 0x2C */ f32 unk_2C;
- /* 0x30 */ f32 unk_30;
- /* 0x34 */ f32 unk_34;
+ /* 0x2C */ Vec3f vec_2C;
/* 0x38 */ f32 sfxSource[3];
- /* 0x44 */ f32 unk_44;
+ /* 0x44 */ f32 scale;
/* 0x48 */ f32 unk_48;
/* 0x4C */ f32 unk_4C;
/* 0x50 */ f32 unk_50;
@@ -165,55 +163,49 @@ typedef struct Player {
/* 0x058 */ f32 camYaw;
/* 0x05C */ f32 camPitch;
/* 0x05C */ f32 unk_060;
- /* 0x064 */ f32 unk_064;
- /* 0x068 */ f32 unk_068;
- /* 0x06C */ f32 unk_06C;
- /* 0x070 */ f32 unk_070;
- /* 0x074 */ Vec3f pos;
- /* 0x080 */ f32 unk_080;
- /* 0x084 */ f32 unk_084;
- /* 0x088 */ f32 unk_088;
- /* 0x08C */ f32 unk_08C;
- /* 0x090 */ Vec3f unk_090;
- /* 0x09C */ f32 unk_09C;
- /* 0x0A0 */ f32 unk_0A0;
- /* 0x0A4 */ f32 unk_0A4;
- /* 0x0A8 */ f32 unk_0A8;
- /* 0x0AC */ f32 unk_0AC;
- /* 0x0B0 */ f32 unk_0B0;
- /* 0x0B4 */ f32 unk_0B4;
- /* 0x0B8 */ f32 unk_0B8;
- /* 0x0BC */ f32 unk_0BC;
+ /* 0x064 */ Vec3f groundPos; // position on ground directly below player
+ /* 0x070 */ f32 groundRotY; // y rotation of actor under player when acting as ground
+ /* 0x074 */ Vec3f pos; // pos.z is position along path. see trueZpos for the actual z position
+ /* 0x080 */ f32 yBob;
+ /* 0x084 */ f32 xShake;
+ /* 0x088 */ f32 bobPhase;
+ /* 0x08C */ f32 camDist;
+ /* 0x090 */ Vec3f basePos; // position at start of update
+ /* 0x09C */ f32 pathWidth;
+ /* 0x0A0 */ f32 pathHeight;
+ /* 0x0A4 */ f32 pathFloor;
+ /* 0x0A8 */ f32 unk_0A8; // set to 3000.0f, not used. May have been z-extent of path?
+ /* 0x0AC */ f32 xPath;
+ /* 0x0B0 */ f32 yPath;
+ /* 0x0B4 */ f32 pathStep;
+ /* 0x0B8 */ f32 xPathTarget;
+ /* 0x0BC */ f32 yPathTarget;
/* 0x0C0 */ Vec3f vel;
- /* 0x0CC */ f32 unk_0CC;
+ /* 0x0CC */ f32 warpCamSpeed;
/* 0x0D0 */ f32 baseSpeed;
- /* 0x0D4 */ f32 unk_0D4;
- /* 0x0D8 */ Vec3f unk_0D8;
- /* 0x0E4 */ f32 unk_0E4;
- /* 0x0E8 */ f32 unk_0E8;
- /* 0x0EC */ f32 unk_0EC;
- /* 0x0F0 */ f32 unk_0F0;
- /* 0x0F4 */ f32 unk_0F4;
- /* 0x0F8 */ f32 unk_0F8;
- /* 0x0FC */ f32 unk_0FC;
- /* 0x100 */ f32 unk_100;
- /* 0x104 */ f32 unk_104;
- /* 0x108 */ f32 unk_108;
- /* 0x10C */ f32 unk_10C;
+ /* 0x0D4 */ f32 gravity;
+ /* 0x0D8 */ Vec3f knockback;
+ /* 0x0E4 */ Vec3f rot;
+ /* 0x0F0 */ f32 rockAngle;
+ /* 0x0F4 */ f32 rockPhase;
+ /* 0x0F8 */ f32 bankAngle;
+ /* 0x0FC */ f32 xRot_0FC;
+ /* 0x100 */ f32 zRot_0FC;
+ /* 0x104 */ Vec3f rot_104;
/* 0x110 */ f32 boostSpeed;
- /* 0x114 */ f32 unk_114;
- /* 0x118 */ f32 unk_118;
- /* 0x11C */ f32 unk_11C;
- /* 0x120 */ f32 unk_120;
- /* 0x124 */ f32 unk_124;
+ /* 0x114 */ f32 yRot_114;
+ /* 0x118 */ f32 yRot_118;
+ /* 0x11C */ f32 yRotVel_11C;
+ /* 0x120 */ f32 xRot_120;
+ /* 0x124 */ f32 xRot_124;
/* 0x128 */ char pad128[4];
- /* 0x12C */ f32 unk_12C;
- /* 0x130 */ f32 unk_130;
- /* 0x134 */ f32 unk_134;
- /* 0x138 */ f32 unk_138;
+ /* 0x12C */ f32 zRotBank;
+ /* 0x130 */ f32 zRotBarrelRoll;
+ /* 0x134 */ f32 damageShake;
+ /* 0x138 */ f32 trueZpos; // the actual position of the arwing. pos.z is its z position along the path
/* 0x13C */ char pad13C[4];
- /* 0x140 */ f32 unk_140;
- /* 0x144 */ f32 unk_144;
+ /* 0x140 */ f32 zPathVel;
+ /* 0x144 */ f32 zPath;
/* 0x148 */ f32 unk_148;
/* 0x14C */ f32 unk_14C;
/* 0x150 */ f32 unk_150;
@@ -247,18 +239,18 @@ typedef struct Player {
/* 0x1C4 */ s32 num;
/* 0x1C8 */ PlayerState1C8 state_1C8;
/* 0x1CC */ PlayerForm form;
- /* 0x1D0 */ s32 unk_1D0;
- /* 0x1D4 */ s32 unk_1D4;
- /* 0x1D8 */ s32 unk_1D8;
- /* 0x1DC */ s32 unk_1DC;
- /* 0x1E0 */ s32 timer_1E0;
- /* 0x1E4 */ s32 timer_1E4;
+ /* 0x1D0 */ s32 csState;
+ /* 0x1D4 */ bool grounded;
+ /* 0x1D8 */ s32 meTargetIndex;
+ /* 0x1DC */ s32 barrelRoll;
+ /* 0x1E0 */ s32 barrelInputTimerL;
+ /* 0x1E4 */ s32 barrelInputTimerR;
/* 0x1E8 */ s32 timer_1E8;
- /* 0x1EC */ s32 unk_1EC;
- /* 0x1F0 */ s32 unk_1F0;
- /* 0x1F4 */ s32 unk_1F4;
- /* 0x1F8 */ s32 timer_1F8;
- /* 0x1FC */ s32 timer_1FC;
+ /* 0x1EC */ s32 rollRate;
+ /* 0x1F0 */ s32 baseRollRate;
+ /* 0x1F4 */ s32 hitTimer;
+ /* 0x1F8 */ s32 csTimer;
+ /* 0x1FC */ s32 csEventTimer;
/* 0x200 */ s32 unk_200;
/* 0x204 */ s32 unk_204;
/* 0x208 */ s32 unk_208;
@@ -267,7 +259,7 @@ typedef struct Player {
/* 0x214 */ s32 timer_214;
/* 0x218 */ s32 timer_218;
/* 0x21C */ s32 unk_21C;
- /* 0x220 */ s32 timer_220;
+ /* 0x220 */ s32 radioDamageTimer;
/* 0x224 */ s32 timer_224;
/* 0x228 */ s32 flags_228;
/* 0x22C */ s32 whooshTimer;
@@ -279,27 +271,27 @@ typedef struct Player {
/* 0x244 */ s32 timer_244;
/* 0x248 */ f32 unk_248;
/* 0x24C */ f32 unk_24C;
- /* 0x250 */ f32 unk_250;
+ /* 0x250 */ f32 unk_250; // checked for by event actors, but unused?
/* 0x250 */ char pad254[4];
- /* 0x258 */ f32 unk_258;
- /* 0x25C */ f32 unk_25C;
+ /* 0x258 */ f32 meteoWarpSpinSpeed;
+ /* 0x25C */ f32 contrailScale;
/* 0x260 */ char pad260[4];
/* 0x264 */ s32 shields;
/* 0x268 */ s32 damage;
/* 0x26C */ s32 heal;
- /* 0x270 */ s32 unk_270;
+ /* 0x270 */ s32 unk_270; // checked for by event actors, but unused?
/* 0x274 */ char pad274[4];
/* 0x278 */ s32 timer_278;
- /* 0x27C */ s32 timer_27C;
- /* 0x280 */ s32 unk_280;
+ /* 0x27C */ s32 meteoWarpTimer;
+ /* 0x280 */ s32 barrelRollAlpha;
/* 0x284 */ s32 unk_284;
/* 0x288 */ s32 unk_288;
/* 0x28C */ char pad28C[0x28];
/* 0x2B4 */ bool boostCooldown;
/* 0x2B8 */ bool boostActive;
/* 0x2BC */ f32 boostMeter;
- /* 0x2C0 */ f32 unk_2C0;
- /* 0x2C4 */ s32 unk_2C4;
+ /* 0x2C0 */ f32 unk_2C0; // has to do with starting right tank jet
+ /* 0x2C4 */ s32 unk_2C4; // counts up during some effects. never used
/* 0x2C8 */ Vec3f hit2;
/* 0x2D4 */ Vec3f hit1;
/* 0x2E0 */ Vec3f hit3;
@@ -310,7 +302,7 @@ typedef struct Player {
/* 0x478 */ PlayerSfx sfx;
/* 0x498 */ s32 timer_498;
/* 0x49C */ WingInfo wings;
- /* 0x4D8 */ f32 unk_4D8;
+ /* 0x4D8 */ f32 aerobaticPitch;
/* 0x4DC */ s32 somersault;
} Player; // size = 0x4E0
diff --git a/include/variables.h b/include/variables.h
index e9dbf839..f8ecd58f 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -136,7 +136,7 @@ extern s16 gReflectY;
extern Matrix D_display_80161418[]; // static, here for reordering
extern Vec3f D_display_80161518[]; // static, here for reordering
extern Vec3f D_display_80161548[]; // static, here for reordering
-extern Vec3f D_display_80161578[];
+extern Vec3f gLockOnTargetViewPos[];
extern f32 D_display_801615A8[];
extern f32 D_display_801615B8[];