More actor docs. starting on event IDs (#238)

* id start

* stuff

* comp and cam

* add errors
This commit is contained in:
petrie911
2024-05-11 17:53:37 -03:00
committed by GitHub
parent 5bda92de97
commit 0dbbf453f9
64 changed files with 2533 additions and 2467 deletions
+29 -29
View File
@@ -26,7 +26,7 @@ extern s32 gPrevPlanetSavedTeamShields[6];
extern s32 gTeamDamage[6];
extern u8 gMissionStatus;
extern f32 gGroundHeight;
extern f32 D_ctx_80177950; // sign of something to do with camera z rotations
extern f32 D_ctx_80177950;
extern f32 gPlayerTurnRate;
extern f32 gPlayerTurnStickMod;
extern f32 gCsCamEyeX;
@@ -35,14 +35,14 @@ extern f32 gCsCamEyeZ;
extern f32 gCsCamAtX;
extern f32 gCsCamAtY;
extern f32 gCsCamAtZ;
extern Vec3f gPlayerCamEye;
extern Vec3f gPlayerCamAt;
extern Vec3f gPlayCamEye;
extern Vec3f gPlayCamAt;
extern bool gExpertMode;
extern s32 D_ctx_80177A10[10];
extern f32 D_ctx_80177A48[10];
extern s32 gCsFrameCount;
extern u8 D_ctx_80177A98;
extern u8 D_ctx_80177AB0;
extern u8 gDrawGround;
extern u8 gDrawBackdrop; // Venom Andross is the only level with multiple backdrops
extern u8 gAqDrawMode;
extern s32 gTitleState;
extern s32 gMainController;
@@ -81,11 +81,11 @@ extern s32 gRingPassCount;
extern Vec3f gFormationInitRot;
extern Vec3f gFormationInitPos;
extern UNK_TYPE F_80178020;
extern s32 D_ctx_8017812C;
extern s32 gGroundClipMode;
extern LevelId gCurrentLevel;
extern s32 gLevelPhase;
extern s32 gBossActive;
extern s32 D_ctx_8017828C;
extern bool gKillEventActors;
extern s32 gUseDynaFloor;
extern s32 gRadioState;
extern s32 gCurrentRadioPortrait;
@@ -132,22 +132,22 @@ extern s32 gFogFar;
extern UNK_TYPE F_801783E0[12];
extern s32 gStarCount;
extern f32 gStarWarpDistortion;
extern f32 D_ctx_80178418;
extern f32 gCOComplete2CamRotY;
extern UNK_TYPE F_8017841C;
extern f32 gStarfieldX;
extern f32 gStarfieldY;
extern f32 gStarfieldRoll;
extern f32 D_ctx_8017842C;
extern f32 D_ctx_80178430;
extern f32 gStarfieldScrollX;
extern f32 gStarfieldScrollY;
extern UNK_TYPE F_80178434;
extern UNK_TYPE F_80178438;
extern UNK_TYPE F_8017843C;
extern f32 D_ctx_80178440;
extern f32 D_ctx_80178444;
extern f32 D_ctx_80178448;
extern f32 D_ctx_80178450[3];
extern f32 D_ctx_80178460[3];
extern f32 D_ctx_80178470[3];
extern f32 gBossDeathCamAtX;
extern f32 gBossDeathCamAtY;
extern f32 gBossDeathCamAtZ;
extern f32 gCsTeamTargetsX[3];
extern f32 gCsTeamTargetsY[3];
extern f32 gCsTeamTargetsZ[3];
extern f32 gCameraShakeY;
extern s32 gCameraShake;
extern s32 D_ctx_80178484;
@@ -155,10 +155,10 @@ extern bool gLoadLevelObjects;
extern UNK_TYPE F_8017848C;
extern UNK_TYPE F_80178490;
extern s32 D_ctx_80178494;
extern f32 D_ctx_80178498;
extern f32 D_ctx_8017849C;
extern f32 D_ctx_801784A0;
extern s32 D_ctx_801784A4;
extern f32 gShotHitPosZ;
extern f32 gShotHitPosX;
extern f32 gShotHitPosY;
extern s32 gZOSnakeWaypointCount;
extern UNK_TYPE F_801784A8;
extern GroundType gGroundType;
extern UNK_TYPE F_801784B0;
@@ -221,7 +221,7 @@ extern s32 D_ctx_80161A84;
extern s32 gGroundSurface;
extern s32 gSavedGroundSurface;
extern u8 gGoldRingCount[4];
extern u8 D_ctx_80161A94[4];
extern u8 gSavedGoldRingCount[4];
extern s32 gHitCount;
extern s32 gSavedHitCount;
extern s16 gLifeCount[4];
@@ -290,7 +290,7 @@ extern u8 gGreatFoxIntact;
extern u8 gTiStartLandmaster;
extern u16 gControllerRumbleTimers[4];
extern u16 gPlayerScores[4];
extern s32 D_ctx_80177C50;
extern s32 gCircleWipeFrame;
extern s32 D_ctx_80177C70;
extern s32 gTraining360MsgTimer;
extern s32 gTraining360MsgIndex;
@@ -310,10 +310,10 @@ extern s32 gLeftWingFlashTimer[4];
extern s32 gRightWingDebrisTimer[4];
extern s32 gLeftWingDebrisTimer[4];
extern s32 gBombCount[4];
extern s32 D_ctx_80177DB8[4];
extern s32 D_ctx_80177DD0[4][10];
extern s32 D_ctx_80177E74;
extern s32 D_ctx_80177E7C;
extern s32 gVsPoints[4];
extern s32 gVsKills[4][10];
extern s32 gVsMatchOver;
extern s32 gVsMatchStart;
extern bool gChangeTo360;
extern Vec3f gTeamArrowsViewPos[10];
extern f32 D_ctx_80177F20[65];
@@ -327,16 +327,16 @@ extern u32* gStarFillColors;
extern UNK_TYPE F_801782A0;
extern Scenery360* gScenery360;
extern UNK_TYPE F_801782B0;
extern s32 D_ctx_801782B8;
extern s32 gDrawSmallRocks;
extern s32 D_ctx_801782BC;
extern PosRot* D_ctx_801782C4;
extern PosRot* gZOSnakePosRots;
extern f32* D_ctx_801782CC;
extern f32* D_ctx_801782D4;
extern f32* D_ctx_801782DC;
extern f32* D_ctx_801782E4;
extern f32* D_ctx_801782EC;
extern UNK_TYPE F_801782F4;
extern s32 D_ctx_801782FC;
extern s32 gDynaFloorTimer;
extern UNK_TYPE F_80178304;
extern UNK_TYPE F_8017830C;
extern UNK_TYPE F_80178314;
+3 -7
View File
@@ -21,7 +21,7 @@ void Actor272_Draw(Actor*);
bool AllRange_PlayMessage(u16*, RadioCharacterId);
void AllRange_GreatFoxRepair(Player*);
void AllRange_ClearRadio(void);
void func_360_8002EE64(Actor* this);
void ActorAllRange_SetShadowData(Actor* this);
void ActorAllRange_SpawnTeam(void);
void ActorAllRange_PlayMessage(u16* msg, RadioCharacterId character);
void ActorAllRange_UpdateStarWolfEvents(Actor*);
@@ -48,7 +48,6 @@ void Background_DrawSun(void);
void Background_DrawLensFlare(void);
void Background_dummy_80040CDC(void);
void Background_DrawGround(void);
void func_bg_80042D38(void);
// fox_boss
void Boss_AwardBonus(Boss* boss);
@@ -227,7 +226,7 @@ void Actor_SetupPlayerShot(PlayerShotId, PlayerShot*, s32, f32, f32, f32, f32, f
void Actor_SpawnPlayerLaser(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void Actor_SpawnGreatFoxLaser(s32 actorId, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 xRot, f32 yRot,
f32 zRot);
void ActorEvent_8006F0D8(f32 xPos, f32 yPos, f32 zPos, f32 scale1);
void ActorEvent_SpawnEffect347(f32 xPos, f32 yPos, f32 zPos, f32 scale1);
void ActorEvent_8006F254(Actor*);
void ActorEvent_Update(Actor*);
s32 Scenery111_Draw(Scenery*);
@@ -373,10 +372,7 @@ void func_effect_80083FA8(Effect*);
void func_effect_80084194(Effect*);
// fox_fade
void func_fade_80084370(s32);
void func_fade_800843FC(s32);
void func_fade_80084488(s32);
void func_fade_80084688(s32, s32);
void Wipe_Draw(WipeMode mode, s32 frame);
// fox_hud
void func_hud_80084B94(s32);
+10
View File
@@ -64,10 +64,20 @@
#define VTX_T(x,y,z,s,t,cr,cg,cb,a) { { x, y, z }, 0, { s, t }, { cr, cg, cb, a } }
typedef enum WipeMode {
WIPE_CIRCULAR,
WIPE_HORIZONTAL,
WIPE_VERTICAL,
} WipeMode;
typedef struct {
u8 r, g, b;
} Color_RGB8; // size = 0x3
typedef struct Color_RGBA32 {
u8 r, g, b, a;
} Color_RGBA32; // size = 0x4
typedef union {
u16 data[SCREEN_HEIGHT * SCREEN_WIDTH];
u16 array[SCREEN_HEIGHT][SCREEN_WIDTH];
+3 -3
View File
@@ -8,9 +8,9 @@
// struct Dummy3 {int x;};
// struct Dummy4 {int x;};
// struct Dummy5 {int x;};
struct Dummy6 {int x;};
struct Dummy7 {int x;};
struct Dummy8 {int x;};
// struct Dummy6 {int x;};
// struct Dummy7 {int x;};
// struct Dummy8 {int x;};
struct Dummy9 {int x;};
struct Dummy10 {int x;};
struct Dummy11 {int x;};
+18 -18
View File
@@ -325,8 +325,8 @@ typedef enum EventActorId {
/* 18 */ EVID_18,
/* 19 */ EVID_19,
/* 20 */ EVID_20,
/* 21 */ EVID_21,
/* 22 */ EVID_22,
/* 21 */ EVID_A6_MISSILE,
/* 22 */ EVID_A6_ROCKET,
/* 23 */ EVID_23,
/* 24 */ EVID_24,
/* 25 */ EVID_25,
@@ -342,12 +342,12 @@ typedef enum EventActorId {
/* 35 */ EVID_35,
/* 36 */ EVID_36,
/* 37 */ EVID_37,
/* 38 */ EVID_38,
/* 38 */ EVID_SX_WARP_GATE,
/* 39 */ EVID_39,
/* 40 */ EVID_40,
/* 40 */ EVID_EVENT_HANDLER,
/* 41 */ EVID_41,
/* 42 */ EVID_42,
/* 43 */ EVID_43,
/* 43 */ EVID_TEAMMATE,
/* 44 */ EVID_44,
/* 45 */ EVID_45,
/* 46 */ EVID_46,
@@ -371,28 +371,28 @@ typedef enum EventActorId {
/* 64 */ EVID_64,
/* 65 */ EVID_65,
/* 66 */ EVID_66,
/* 67 */ EVID_67,
/* 67 */ EVID_METEO_PYRAMID_SHIP,
/* 68 */ EVID_68,
/* 69 */ EVID_69,
/* 70 */ EVID_70,
/* 71 */ EVID_71,
/* 71 */ EVID_WING_REPAIR,
/* 72 */ EVID_72,
/* 73 */ EVID_73,
/* 74 */ EVID_74,
/* 75 */ EVID_75,
/* 76 */ EVID_76,
/* 77 */ EVID_77,
/* 78 */ EVID_78,
/* 78 */ EVID_SUPPLY_CRATE,
/* 79 */ EVID_79,
/* 80 */ EVID_80,
/* 81 */ EVID_81,
/* 82 */ EVID_82,
/* 83 */ EVID_83,
/* 83 */ EVID_AQ_CLAM,
/* 84 */ EVID_84,
/* 85 */ EVID_85,
/* 86 */ EVID_86,
/* 85 */ EVID_BILL,
/* 86 */ EVID_KATT,
/* 87 */ EVID_87,
/* 88 */ EVID_88,
/* 88 */ EVID_AQ_STARFISH,
/* 89 */ EVID_89,
/* 90 */ EVID_90,
/* 91 */ EVID_91,
@@ -406,12 +406,12 @@ typedef enum EventActorId {
/* 99 */ EVID_99,
/* 100 */ EVID_100,
/* 101 */ EVID_101,
/* 102 */ EVID_102,
/* 103 */ EVID_103,
/* 104 */ EVID_104,
/* 105 */ EVID_105,
/* 106 */ EVID_106,
/* 107 */ EVID_107,
/* 102 */ EVID_TR_BARRIER,
/* 103 */ EVID_ANDROSS_GATE,
/* 104 */ EVID_ANDROSS_GATE_2,
/* 105 */ EVID_SX_WARP_ENMY,
/* 106 */ EVID_KILLER_BEE,
/* 107 */ EVID_MA_SHOT_GATE,
/* 200 */ EVID_200 = 200,
/* 300 */ EVID_300 = 300,
/* 4095*/ EVID_FFF = 4095,
+18 -23
View File
@@ -101,10 +101,7 @@ typedef struct {
/* 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;
/* 0x2C */ Color_RGBA32 prim;
} TexturedLine; // size = 0x30
typedef struct {
@@ -155,7 +152,7 @@ typedef struct {
typedef struct {
/* 0x00 */ Object obj;
/* 0x1C */ ObjectInfo info;
/* 0x40 */ u8 unk_40;
/* 0x40 */ u8 pathIndex;
/* 0x41 */ char unk_41[7];
/* 0x48 */ f32 sfxSource[3];
/* 0x54 */ f32 unk_54;
@@ -170,9 +167,7 @@ typedef struct {
/* 0x4C */ s32 timer_4C;
/* 0x50 */ s8 dmgType;
/* 0x54 */ s32 dmgPart;
/* 0x58 */ f32 unk_58;
/* 0x5C */ f32 unk_5C;
/* 0x60 */ f32 unk_60;
/* 0x58 */ Vec3f effectVel;
/* 0x64 */ Vec3f vel;
/* 0x70 */ f32 sfxSource[3];
/* 0x7C */ char pad7C[4];
@@ -183,9 +178,9 @@ typedef struct {
/* 0x1C */ ObjectInfo info;
/* 0x40 */ s32 index;
/* 0x44 */ char pad44[1];
/* 0x45 */ u8 unk_45;
/* 0x46 */ s8 unk_46;
/* 0x48 */ s32 unk_48;
/* 0x45 */ u8 sceneryId;
/* 0x46 */ s8 destroy;
/* 0x48 */ s32 toLeft;
} Sprite; // size = 0x4C
typedef struct {
@@ -245,19 +240,19 @@ typedef struct {
/* 0x058 */ s16 timer_058;
/* 0x05A */ s16 timer_05A;
/* 0x05C */ s16 timer_05C;
/* 0x05E */ u8 unk_05E;
/* 0x05E */ u8 drawShadow;
/* 0x060 */ s16 health;
/* 0x062 */ s8 dmgType;
/* 0x064 */ s16 damage;
/* 0x066 */ s16 dmgPart;
/* 0x068 */ f32 unk_068;
/* 0x068 */ f32 yOffset;
/* 0x06C */ Vec3f vel;
/* 0x078 */ Vec3f unk_078;
/* 0x078 */ Vec3f rot_078;
/* 0x084 */ f32 gravity;
/* 0x088 */ s16 swork[40];
/* 0x0D8 */ f32 fwork[50];
/* 0x1A0 */ Vec3f vwork[50];
/* 0x3F8 */ f32 unk_3F8;
/* 0x3F8 */ f32 scale;
/* 0x3FC */ f32 sfxSource[3];
} Boss; // size = 0x408
@@ -279,10 +274,10 @@ typedef struct {
/* 0x048 */ s16 unk_048;
/* 0x04A */ s16 unk_04A;
/* 0x04C */ s16 timer_04C;
/* 0x04E */ s16 unk_04E;
/* 0x04E */ s16 counter_04E;
/* 0x050 */ s32 iwork[25];
/* 0x0B4 */ s16 unk_0B4;
/* 0x0B6 */ s16 unk_0B6;
/* 0x0B4 */ s16 eventType;
/* 0x0B6 */ s16 animFrame; // used for model type in ActorAllRange and ActorCutscene
/* 0x0B8 */ s16 state;
/* 0x0BA */ char pad0BA[0x2];
/* 0x0BC */ u16 timer_0BC;
@@ -291,8 +286,8 @@ typedef struct {
/* 0x0C2 */ u16 timer_0C2;
/* 0x0C4 */ u16 timer_0C4;
/* 0x0C6 */ u16 timer_0C6;
/* 0x0C8 */ u8 unk_0C8;
/* 0x0C9 */ u8 unk_0C9;
/* 0x0C8 */ u8 unk_0C8; // may have been used for scenery shadowing
/* 0x0C9 */ u8 drawShadow;
/* 0x0CA */ u8 lockOnTimers[4];
/* 0x0CE */ s16 health;
/* 0x0D0 */ s8 dmgType;
@@ -300,10 +295,10 @@ typedef struct {
/* 0x0D4 */ s16 dmgSource;
/* 0x0D6 */ u16 damage;
/* 0x0D8 */ Vec3f hitPos;
/* 0x0E4 */ s16 aiType;
/* 0x0E6 */ s16 aiIndex;
/* 0x0E4 */ s16 aiType; // Actor index for AllRange, script index for Event
/* 0x0E6 */ s16 aiIndex; // Target index for AllRange, program counter for Event
/* 0x0E8 */ Vec3f vel;
/* 0x0F4 */ Vec3f unk_0F4;
/* 0x0F4 */ Vec3f rot_0F4;
/* 0x100 */ f32 sfxSource[3];
/* 0x10C */ f32 gravity;
/* 0x110 */ f32 scale;
+5 -5
View File
@@ -205,10 +205,10 @@ typedef struct Player {
/* 0x104 */ Vec3f rot_104;
/* 0x110 */ f32 boostSpeed;
/* 0x114 */ f32 yRot_114;
/* 0x118 */ f32 yRot_118;
/* 0x118 */ f32 pathChangeYaw;
/* 0x11C */ f32 yRotVel_11C;
/* 0x120 */ f32 xRot_120;
/* 0x124 */ f32 xRot_124;
/* 0x124 */ f32 pathChangePitch;
/* 0x128 */ char pad128[4];
/* 0x12C */ f32 zRotBank;
/* 0x130 */ f32 zRotBarrelRoll;
@@ -237,7 +237,7 @@ typedef struct Player {
/* 0x18C */ f32 unk_18C;
/* 0x190 */ f32 unk_190;
/* 0x194 */ f32 unk_194;
/* 0x198 */ s32 savedCockpitView;
/* 0x198 */ s32 savedAlternateView;
/* 0x19C */ s32 unk_19C;
/* 0x1A0 */ s32 unk_1A0;
/* 0x1A4 */ s32 unk_1A4;
@@ -266,7 +266,7 @@ typedef struct Player {
/* 0x204 */ s32 unk_204;
/* 0x208 */ s32 unk_208;
/* 0x20C */ s32 unk_20C;
/* 0x210 */ s32 timer_210;
/* 0x210 */ s32 pathChangeTimer;
/* 0x214 */ s32 timer_214;
/* 0x218 */ s32 timer_218;
/* 0x21C */ s32 unk_21C;
@@ -276,7 +276,7 @@ typedef struct Player {
/* 0x22C */ s32 whooshTimer;
/* 0x230 */ s32 unk_230;
/* 0x234 */ s32 unk_234;
/* 0x238 */ s32 cockpitView;
/* 0x238 */ s32 alternateView;
/* 0x23C */ s32 shadowing;
/* 0x240 */ s32 unk_240;
/* 0x244 */ s32 shotTimer;
+1 -1
View File
@@ -86,7 +86,7 @@ void Timer_CompleteTask(TimerTask*);
void Timer_Wait(u64);
void Fault_ThreadEntry(OSMesg);
void func_80007FE4(FrameBuffer*, u16, u16);
void Fault_SetFrameBuffer(FrameBuffer*, u16, u16);
void Fault_Init(void);
typedef enum {
+6 -6
View File
@@ -40,18 +40,18 @@ s32 vsprintf(char* dst, const char* fmt, va_list args);
void Game_Initialize(void);
void Game_Update(void);
extern s32 gShowCrosshairs[];
extern s32 D_game_800D2870;
extern bool gShowCrosshairs[];
extern bool D_game_800D2870;
extern f32 D_game_80161A10;
extern f32 D_game_80161A14;
extern f32 gNextVsViewScale;
extern f32 gVsViewScale;
extern s32 gPlayerInactive[4];
extern s32 D_game_80161A28;
extern s32 gVsMenuSelection;
extern u8 gShowHud;
extern u16 gNextLevelPhase;
extern u16 gNextLevel;
extern u16 gNextGameState;
extern u16 D_game_80161A34;
extern u16 gLastGameState;
extern u16 gBgColor;
extern u8 gBlurAlpha;
extern u8 gGameStandby;
+1 -1
View File
@@ -20,7 +20,7 @@ extern Vec3f D_tank_800C9F2C;
// fox_display
extern s32 D_display_800CA220;
extern f32 D_display_800CA230;
extern f32 gCamDistortion;
extern Actor* gTeamHelpActor;
extern s32 gTeamHelpTimer;