fox_beam, more use of enum types, some cleanup (#67)

* cleaning and such

* stuff

* enum types

* format

* a touch more
This commit is contained in:
petrie911 2024-01-02 15:33:26 -06:00 committed by GitHub
parent 16b16ce0eb
commit 50107c8ec3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 3113 additions and 774 deletions

View File

@ -19,7 +19,6 @@ void* Memory_Allocate(s32);
void func_8000FFCC(void); void func_8000FFCC(void);
u8* func_8001C3EC(void);
void func_80016A50(void); void func_80016A50(void);
void func_800182F4(s32); void func_800182F4(s32);
void Audio_PlaySfx(u32, Vec3f*, u8, f32*, f32*, s8*); void Audio_PlaySfx(u32, Vec3f*, u8, f32*, f32*, s8*);
@ -34,10 +33,13 @@ void func_8001AE58(void);
s32 func_8001AE78(void); s32 func_8001AE78(void);
s32 func_8001AED4(void); s32 func_8001AED4(void);
void func_8001AF40(s32); void func_8001AF40(s32);
u8* func_8001C3EC(void);
void func_8001C8B8(u8); void func_8001C8B8(u8);
void func_8001CA24(u8); void func_8001CA24(u8);
void func_8001CB80(u8, u8); void func_8001CB80(u8, u8);
void func_8001CCDC(u8, Vec3f *); void func_8001CCDC(u8, Vec3f *);
void func_8001CE28(u8, Vec3f *);
void func_8001D10C(Vec3f*, u32);
void func_8001D15C(u8); void func_8001D15C(u8);
void func_8001D1C8(u8, s32); void func_8001D1C8(u8, s32);
void func_8001D2FC(Vec3f *, u16); void func_8001D2FC(Vec3f *, u16);
@ -109,7 +111,7 @@ void func_8002F5F4(u16* msg, s32 character);
void func_800319AC(Object_2F4* this); void func_800319AC(Object_2F4* this);
void func_80035448(Object_2F4* obj2F4); void func_80035448(Object_2F4* obj2F4);
//sf_beam //fox_beam
void PlayerShot_Initialize(PlayerShot *); void PlayerShot_Initialize(PlayerShot *);
void func_800365E4(f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32); void func_800365E4(f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
void func_8003D9B8(void); void func_8003D9B8(void);
@ -219,9 +221,10 @@ void func_80061E48(Object_2F4* , f32 , f32 , f32 );
void func_80061F0C(Object_2F4* , ObjectInit* , s32 ); void func_80061F0C(Object_2F4* , ObjectInit* , s32 );
void Object_Load(ObjectInit* , f32 , f32 , f32 , f32 ); void Object_Load(ObjectInit* , f32 , f32 , f32 , f32 );
void func_80062568(void); void func_80062568(void);
void func_80062B60(f32 xPos, f32 zPos, s32 arg2, f32 arg3);
void func_80062C38(f32, f32); void func_80062C38(f32, f32);
s32 func_800631A8(Vec3f*, f32*, Vec3f*); s32 func_800631A8(Vec3f*, f32*, Vec3f*);
s32 func_8006326C(Vec3f* , Vec3f* , s32 , Object* ); s32 func_8006326C(Vec3f* , Vec3f* , ObjectId , Object* );
s32 func_8006351C(s32 , Vec3f* , Vec3f* , s32 ); s32 func_8006351C(s32 , Vec3f* , Vec3f* , s32 );
void func_800652CC(Object_80*); void func_800652CC(Object_80*);
void func_800654E4(Object *); void func_800654E4(Object *);
@ -254,7 +257,7 @@ void func_80068914(Item*);
void func_80068C48(Item*); void func_80068C48(Item*);
void func_80068C88(Item*); void func_80068C88(Item*);
void func_80068FE0(Object_4C*); void func_80068FE0(Object_4C*);
void func_800690D0(s32, s32); void func_800690D0(s32, ObjectId);
void func_80069924(Object_8C *); void func_80069924(Object_8C *);
void func_800693E8(Object_2F4 *); void func_800693E8(Object_2F4 *);
void func_80069658(Object_408 *); void func_80069658(Object_408 *);
@ -297,7 +300,7 @@ void func_80077218(Object_2F4*);
void func_80077240(f32 posX, f32 posY, f32 posZ, s32 ); void func_80077240(f32 posX, f32 posY, f32 posZ, s32 );
void func_8007729C(void); void func_8007729C(void);
void func_80077790(void); void func_80077790(void);
Object_8C* func_8007783C(s32 objId); Object_8C* func_8007783C(ObjectId objId);
void func_8007797C(f32 posX, f32 posY, f32 posZ, f32 , f32 , f32 , f32 ); void func_8007797C(f32 posX, f32 posY, f32 posZ, f32 , f32 , f32 , f32 );
void func_80077A00(Object_8C* ); void func_80077A00(Object_8C* );
void func_80077A7C(Object_8C* ); void func_80077A7C(Object_8C* );
@ -502,7 +505,7 @@ bool func_800A73E4(f32* , s32* , f32 posX, f32 posY, f32 posZ);
s32 func_800A78C4(Hitbox* hitbox, f32 , f32 , f32 , f32 , f32 , f32 ); s32 func_800A78C4(Hitbox* hitbox, f32 , f32 , f32 , f32 , f32 , f32 );
void func_800A8BA4(Player* player); void func_800A8BA4(Player* player);
void func_800AA800(Player *player); void func_800AA800(Player *player);
void func_800ACDC0(Player *, PlayerShot *, s32 ); void func_800ACDC0(Player *, PlayerShot *, PlayerShotId );
void func_800B0F50(Player *); void func_800B0F50(Player *);
void func_800B44C4(Player *); void func_800B44C4(Player *);
void func_800B5FBC(Player *, s32 , s32 ); void func_800B5FBC(Player *, s32 , s32 );
@ -512,8 +515,9 @@ void func_800B6BFC(Player *, s32 );
void func_800B6F50(f32, f32, f32, f32, f32, f32); void func_800B6F50(f32, f32, f32, f32, f32, f32);
void func_800B7184(Player *, s32); void func_800B7184(Player *, s32);
void func_800B73E0(Player *); void func_800B73E0(Player *);
void func_800B852C(s32 , Item *); void func_800B852C(ObjectId , Item *);
void func_800B86CC(void); void func_800B86CC(void);
void func_800A668C(f32 xPos, f32 yPos, f32 zPos);
void func_800AD7F0(Player *player); void func_800AD7F0(Player *player);
void func_800ADF58(Player *player); void func_800ADF58(Player *player);
void func_800B415C(Player *player); void func_800B415C(Player *player);
@ -524,7 +528,7 @@ void func_800A86E4(Player* player);
void func_800A887C(Player* player); void func_800A887C(Player* player);
s32 func_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, s32 func_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot,
f32 zRot, f32 arg9, f32 argA, f32 argB); f32 zRot, f32 arg9, f32 argA, f32 argB);
bool func_800A8054(s32 objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8); bool func_800A8054(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8);
// fox_radio // fox_radio
s32 func_800BA7BC(u16*, s32); s32 func_800BA7BC(u16*, s32);
@ -565,11 +569,14 @@ void func_DF4260_80198594(Object_408 *);
void func_DF4260_801988E0(void); void func_DF4260_801988E0(void);
void func_DF4260_80198C50(void); void func_DF4260_80198C50(void);
void func_DF4260_8019949C(void); void func_DF4260_8019949C(void);
void func_DF4260_8019864C(PlayerShot*);
void func_E08400_80187B08(Object_2F4 *); void func_E08400_80187B08(Object_2F4 *);
void func_E08400_80188A40(Object_408 *); void func_E08400_80188A40(Object_408 *);
void func_E08400_8018CCF8(Object_2F4 *); void func_E08400_8018CCF8(Object_2F4 *);
void func_E16C50_801ABA40(PlayerShot*);
void func_E16C50_801AC8A8(f32, f32, f32, f32, s32);
void func_E16C50_80187754(Object_408 *); void func_E16C50_80187754(Object_408 *);
void func_E16C50_8018ED78(Player*); void func_E16C50_8018ED78(Player*);
void func_E16C50_801900FC(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32); void func_E16C50_801900FC(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32);
@ -645,8 +652,9 @@ void func_E6A810_801ACFBC(ObjectInit*);
void func_E6A810_801AD080(void); void func_E6A810_801AD080(void);
void func_E6A810_801B5110(f32, f32, f32); void func_E6A810_801B5110(f32, f32, f32);
void func_E6A810_801B58AC(Gfx **, f32); void func_E6A810_801B58AC(Gfx **, f32);
s32 func_E6A810_801B6AEC(f32, f32, f32); bool func_E6A810_801B6AEC(f32, f32, f32);
void func_E6A810_801B6E20(f32, f32, f32 *, f32 *, f32 *); void func_E6A810_801B6E20(f32, f32, f32 *, f32 *, f32 *);
void func_E6A810_801AD144(PlayerShot*);
void func_E9F1D0_801878A8(Object_58**); void func_E9F1D0_801878A8(Object_58**);
void func_E9F1D0_801888F4(Object_2F4 *); void func_E9F1D0_801888F4(Object_2F4 *);

View File

@ -17,7 +17,7 @@
#define GPC(r, g, b, a) gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, r, g, b, a) // FA000000 RRGGBBAA #define GPC(r, g, b, a) gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, r, g, b, a) // FA000000 RRGGBBAA
#define GEC(r, g, b, a) gDPSetEnvColor(gMasterDisp++, r, g, b, a) // FB000000 RRGGBBAA #define GEC(r, g, b, a) gDPSetEnvColor(gMasterDisp++, r, g, b, a) // FB000000 RRGGBBAA
#define GSGM_BACK(mode) gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK) // B7000000 00002000, most common geometry mode changed #define GSGM_BACK(mode) gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK) // B7000000 00002000, most common geometry mode changed
#define GCGM_BACK(mode) gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK) // B6000000 00002000 #define GCGM_BACK(mode) gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK) // B6000000 00002000
#define gSPSetOtherModeHi(pkt, settings) gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings) #define gSPSetOtherModeHi(pkt, settings) gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)
#define gsSPSetOtherModeHi(settings) gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings) #define gsSPSetOtherModeHi(settings) gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)

View File

@ -10,14 +10,18 @@ typedef struct {
} Vec3f; // size = 0xC } Vec3f; // size = 0xC
typedef struct { typedef struct {
Vec3f pos; /* 0x00 */ Vec3f pos;
Vec3f rot; /* 0x0C */ Vec3f rot;
} PosRot; } PosRot; // size = 0x18
typedef struct { typedef struct {
Vec3f normal; /* 0x0 */ s16 vtx[3];
f32 dist; } Triangle; // size = 0x6
} Plane;
typedef struct {
/* 0x0 */ Vec3f normal;
/* 0xC */ f32 dist;
} Plane; // size = 0x10
typedef struct { typedef struct {
/* 0x0 */ s16 x; /* 0x0 */ s16 x;

View File

@ -8,6 +8,75 @@
#define HITBOX_UNK_3 300000.0f #define HITBOX_UNK_3 300000.0f
#define HITBOX_UNK_4 400000.0f #define HITBOX_UNK_4 400000.0f
typedef struct {
/* 0x0 */ f32 offset;
/* 0x4 */ f32 size;
} HitboxDim; // size = 0x8
typedef struct {
/* 0x00 */ HitboxDim z;
/* 0x08 */ HitboxDim y;
/* 0x10 */ HitboxDim x;
} Hitbox; // size = 0x18
typedef struct {
/* 0x00 */ s16 vtx[3];
/* 0x06 */ s16 unk_06;
/* 0x08 */ Vec3s normal;
/* 0x10 */ s32 dist;
} CollisionPoly; // size = 0x14
typedef struct {
/* 0x00 */ Vec3f min;
/* 0x0C */ Vec3f max;
/* 0x18 */ s32 polyCount;
/* 0x1C */ CollisionPoly* polys;
/* 0x20 */ Vec3s* mesh;
} CollisionHeader; // size = 0x24
typedef struct {
/* 0x00 */ Vec3f min;
/* 0x0C */ Vec3f max;
/* 0x18 */ s32 polyCount;
/* 0x1C */ Triangle* polys;
/* 0x20 */ Vec3f* mesh;
} CollisionHeader2; // size = 0x24
typedef enum {
/* 0 */ COL1_0, // OBJ_2F4_180
/* 1 */ COL1_1, // OBJ_80_39
/* 2 */ COL1_2,
/* 3 */ COL1_3, // OBJ_UNK_1000
/* 4 */ COL1_4, // OBJ_408_308
/* 5 */ COL1_5, // OBJ_80_149
/* 6 */ COL1_6, // OBJ_80_150
/* 7 */ COL1_7, // OBJ_408_309
/* 8 */ COL1_8, // OBJ_408_313
/* 9 */ COL1_9, // OBJ_408_312
} CollisonId_1;
typedef enum {
/* 0 */ COL2_0, // default
/* 1 */ COL2_1, // OBJ_80_4, OBJ_80_5
/* 2 */ COL2_2, // OBJ_80_2
/* 3 */ COL2_3, // OBJ_80_3, OBJ_80_69
/* 4 */ COL2_4, // OBJ_80_140
/* 5 */ COL2_5, // PLAYERSHOT_7 ?
/* 6 */ COL2_6, // OBJ_80_141
/* 7 */ COL2_7, // OBJ_80_47
/* 8 */ COL2_8, // OBJ_80_70
/* 9 */ COL2_9, // OBJ_80_72
/* 10 */ COL2_10, // OBJ_80_71
/* 11 */ COL2_11, // OBJ_80_73
/* 12 */ COL2_12, // OBJ_80_67
/* 13 */ COL2_13, // OBJ_80_74
/* 14 */ COL2_14, // OBJ_80_117
/* 15 */ COL2_15, // OBJ_80_124
/* 16 */ COL2_16, // OBJ_80_126
/* 17 */ COL2_17, // OBJ_80_143
/* 18 */ COL2_18, // OBJ_80_120
} CollisionId_2;
typedef struct { typedef struct {
/* 0x00 */ f32 zPos1; /* 0x00 */ f32 zPos1;
/* 0x04 */ s16 zPos2; /* 0x04 */ s16 zPos2;
@ -74,7 +143,7 @@ typedef struct {
/* 0x44 */ s32 unk_44; /* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48; /* 0x48 */ s32 unk_48;
/* 0x4C */ s32 timer_4C; /* 0x4C */ s32 timer_4C;
/* 0x50 */ u8 unk_50; /* 0x50 */ s8 unk_50;
/* 0x51 */ char pad51[3]; /* 0x51 */ char pad51[3];
/* 0x54 */ s32 unk_54; /* 0x54 */ s32 unk_54;
/* 0x58 */ char pad58[8]; /* 0x58 */ char pad58[8];

View File

@ -73,37 +73,44 @@ typedef struct {
} WingInfo; // size = 0x3C } WingInfo; // size = 0x3C
typedef enum { typedef enum {
/* 0 */ PLAYERSHOT_0, /* 0 */ PLAYERSHOT_0, // single laser?
/* 1 */ PLAYERSHOT_1, /* 1 */ PLAYERSHOT_1, // twin laser?
/* 2 */ PLAYERSHOT_2, /* 2 */ PLAYERSHOT_2,
/* 3 */ PLAYERSHOT_3, /* 3 */ PLAYERSHOT_3, // bomb?
/* 4 */ PLAYERSHOT_4, /* 4 */ PLAYERSHOT_4,
/* 5 */ PLAYERSHOT_5, /* 5 */ PLAYERSHOT_5, // landmaster shot
/* 6 */ PLAYERSHOT_6, /* 6 */ PLAYERSHOT_6, // on-foot shot
/* 7 */ PLAYERSHOT_7, /* 7 */ PLAYERSHOT_7, // unused? related to on-foot shot somehow
/* 8 */ PLAYERSHOT_8, /* 8 */ PLAYERSHOT_8, // charge shot
/* 9 */ PLAYERSHOT_9, /* 9 */ PLAYERSHOT_9,
} PlayerShotId; } PlayerShotId;
typedef enum {
/* 0 */ LASERS_SINGLE,
/* 1 */ LASERS_TWIN,
/* 2 */ LASERS_HYPER,
/* 3 */ LASERS_UNK_3,
} LaserStrength;
typedef struct { typedef struct {
/* 0x00 */ Object obj; /* 0x00 */ Object obj;
/* 0x1C */ s32 index; /* 0x1C */ s32 index;
/* 0x20 */ Vec3f unk_20; /* 0x20 */ Vec3f vel;
/* 0x2C */ f32 unk_2C; /* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30; /* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34; /* 0x34 */ f32 unk_34;
/* 0x38 */ Vec3f sfxPos; /* 0x38 */ Vec3f sfxPos;
/* 0x44 */ f32 unk_44; /* 0x44 */ f32 unk_44;
/* 0x44 */ f32 unk_48; /* 0x48 */ f32 unk_48;
/* 0x44 */ f32 unk_4C; /* 0x4C */ f32 unk_4C;
/* 0x44 */ f32 unk_50; /* 0x50 */ f32 unk_50;
/* 0x44 */ f32 unk_54; /* 0x54 */ f32 unk_54;
/* 0x58 */ s32 unk_58; /* 0x58 */ s32 unk_58;
/* 0x5C */ s32 unk_5C; /* 0x5C */ s32 unk_5C;
/* 0x60 */ s32 unk_60; /* 0x60 */ s32 unk_60;
/* 0x64 */ s32 unk_64; /* 0x64 */ s32 unk_64;
/* 0x68 */ s32 playerNum; /* 0x68 */ s32 playerNum;
/* 0x6C */ char pad6C[4]; /* 0x6C */ u8 bonus;
} PlayerShot; // size = 0x70 } PlayerShot; // size = 0x70
typedef struct Player { typedef struct Player {
@ -201,8 +208,8 @@ typedef struct Player {
/* 0x1A4 */ s32 unk_1A4; /* 0x1A4 */ s32 unk_1A4;
/* 0x1A8 */ char pad1A8[0x1C]; /* 0x1A8 */ char pad1A8[0x1C];
/* 0x1C4 */ s32 num; /* 0x1C4 */ s32 num;
/* 0x1C8 */ s32 state_1C8; /* 0x1C8 */ PlayerState1C8 state_1C8;
/* 0x1CC */ s32 form; /* 0x1CC */ PlayerForm form;
/* 0x1D0 */ s32 unk_1D0; /* 0x1D0 */ s32 unk_1D0;
/* 0x1D4 */ s32 unk_1D4; /* 0x1D4 */ s32 unk_1D4;
/* 0x1D8 */ char pad1D8[4]; /* 0x1D8 */ char pad1D8[4];
@ -251,8 +258,8 @@ typedef struct Player {
/* 0x284 */ s32 unk_284; /* 0x284 */ s32 unk_284;
/* 0x288 */ s32 unk_288; /* 0x288 */ s32 unk_288;
/* 0x28C */ char pad28C[0x28]; /* 0x28C */ char pad28C[0x28];
/* 0x2B4 */ s32 unk_2B4; /* 0x2B4 */ bool unk_2B4;
/* 0x2B8 */ s32 unk_2B8; /* 0x2B8 */ bool unk_2B8;
/* 0x2BC */ f32 unk_2BC; /* 0x2BC */ f32 unk_2BC;
/* 0x2C0 */ f32 unk_2C0; /* 0x2C0 */ f32 unk_2C0;
/* 0x2C4 */ s32 unk_2C4; /* 0x2C4 */ s32 unk_2C4;

View File

@ -20,7 +20,7 @@ typedef enum {
/* 103 */ GSTATE_CHECK_SAVE, /* 103 */ GSTATE_CHECK_SAVE,
/* 104 */ GSTATE_LOGO_WAIT, /* 104 */ GSTATE_LOGO_WAIT,
/* 105 */ GSTATE_START, /* 105 */ GSTATE_START,
} GameStates; } GameState;
typedef void (*TimerAction)(s32*, s32); typedef void (*TimerAction)(s32*, s32);

View File

@ -6,40 +6,6 @@
#define UNK_TYPE s32 #define UNK_TYPE s32
typedef struct {
/* 0x0 */ f32 offset;
/* 0x4 */ f32 size;
} HitboxDim; // size = 0x8
typedef struct {
/* 0x00 */ HitboxDim z;
/* 0x08 */ HitboxDim y;
/* 0x10 */ HitboxDim x;
} Hitbox; // size = 0x18
typedef struct {
/* 0x00 */ s16 vtx[3];
/* 0x06 */ s16 unk_06;
/* 0x08 */ Vec3s normal;
/* 0x10 */ s32 dist;
} CollisionPoly; // size = 0x14
typedef struct {
/* 0x00 */ Vec3f min;
/* 0x0C */ Vec3f max;
/* 0x18 */ s32 polyCount;
/* 0x1C */ CollisionPoly* polys;
/* 0x20 */ Vec3s* mesh;
} CollisionHeader; // size = 0x24
typedef struct {
/* 0x00 */ Vec3f min;
/* 0x0C */ Vec3f max;
/* 0x18 */ s32 polyCount;
/* 0x1C */ s16 (*polys)[3];
/* 0x20 */ Vec3f* mesh;
} CollisionHeader2; // size = 0x24
typedef struct { typedef struct {
/* bit 0 */ u8 unk_0 : 3; /* bit 0 */ u8 unk_0 : 3;
/* bit 3 */ u8 expertMedal : 1; /* bit 3 */ u8 expertMedal : 1;

View File

@ -132,7 +132,7 @@ extern OSMesg D_8015661C[1];
// fox_360 // fox_360
extern s32 D_800C9B4C; extern s32 D_800C9B4C;
// sf_beam // fox_bg
extern u16 D_800C9C3C[16]; extern u16 D_800C9C3C[16];
// sf_43E80 // sf_43E80
@ -275,8 +275,8 @@ extern s32 D_8015F93C;
extern s32 D_8015F940; extern s32 D_8015F940;
extern f32 D_8015F944; extern f32 D_8015F944;
// sf_beam // fox_beam
extern Vec3f D_8015F950; // extern Vec3f D_8015F950;
// fox_bg // fox_bg
extern f32 D_8015F960; extern f32 D_8015F960;
@ -389,7 +389,7 @@ extern u8 D_80161A94[4];
extern s32 gHitCount; extern s32 gHitCount;
extern s32 gSavedHitCount; extern s32 gSavedHitCount;
extern s16 gLifeCount[4]; extern s16 gLifeCount[4];
extern s32 gLaserStrength[4]; extern LaserStrength gLaserStrength[4];
// //
extern s32 D_80161AB8; extern s32 D_80161AB8;
// 0x44 // 0x44
@ -418,7 +418,7 @@ extern s32 D_80177824;
extern u16 D_80177828; extern u16 D_80177828;
extern s32 D_8017782C; extern s32 D_8017782C;
extern u8 D_80177830; extern u8 D_80177830;
extern s32 gGameState; extern GameState gGameState;
extern s32 D_80177838; extern s32 D_80177838;
extern s32 D_Timer_8017783C; extern s32 D_Timer_8017783C;
extern s32 D_80177840; extern s32 D_80177840;
@ -434,8 +434,8 @@ extern s32 D_80177870[4];
extern s32 gLevelMode; extern s32 gLevelMode;
// //
extern s32 gHandicap[4]; extern s32 gHandicap[4];
extern s32 gDrawMode; extern DrawMode gDrawMode;
extern s32 gVersusStage; extern VsStage gVersusStage;
extern s32 gPlayerNum; extern s32 gPlayerNum;
extern s32 D_801778A4; extern s32 D_801778A4;
extern s32 gCamCount; extern s32 gCamCount;
@ -872,8 +872,8 @@ extern u8 D_1011A40[];
extern u16 D_1011AB0[]; extern u16 D_1011AB0[];
extern u8 D_1011E80[]; extern u8 D_1011E80[];
extern u16 D_1011EC0[]; extern u16 D_1011EC0[];
extern s32 D_1011ED0[]; extern u8 D_1011ED0[];
extern s32 D_1011F08[]; extern u16 D_1011F08[];
extern Gfx D_1011F20[]; extern Gfx D_1011F20[];
extern u8 D_10127D0[]; extern u8 D_10127D0[];
extern u16 D_1012898[]; extern u16 D_1012898[];
@ -896,6 +896,8 @@ extern Gfx D_1019CA0[];
extern Gfx D_101A570[]; extern Gfx D_101A570[];
extern Gfx D_101A8E0[]; extern Gfx D_101A8E0[];
extern Gfx D_101ABD0[]; extern Gfx D_101ABD0[];
extern Gfx D_101AD20[];
extern Gfx D_101AED0[];
extern Gfx D_101C2E0[]; extern Gfx D_101C2E0[];
extern Gfx D_101C2E0[]; extern Gfx D_101C2E0[];
extern Gfx D_101CAE0[]; extern Gfx D_101CAE0[];
@ -918,6 +920,8 @@ extern Gfx D_1024830[];
extern u8 D_1024A58[]; extern u8 D_1024A58[];
extern Gfx D_1024AC0[]; extern Gfx D_1024AC0[];
extern Gfx D_1024F60[]; extern Gfx D_1024F60[];
extern Gfx D_1025800[];
extern Gfx D_1026090[];
extern Gfx D_1028230[]; extern Gfx D_1028230[];
extern Gfx D_1029780[]; extern Gfx D_1029780[];
extern Gfx D_102A010[]; extern Gfx D_102A010[];
@ -927,6 +931,7 @@ extern Gfx D_102F5E0[];
extern Gfx D_102FE80[]; extern Gfx D_102FE80[];
extern u16 D_102FF08[]; extern u16 D_102FF08[];
extern Gfx D_1031630[]; extern Gfx D_1031630[];
extern Gfx D_1031EC0[];
extern Gfx D_1032780[]; extern Gfx D_1032780[];
// ast_8A68C0, ast_8AE0A0 // ast_8A68C0, ast_8AE0A0
@ -963,6 +968,10 @@ extern Gfx D_20101A0[];
extern Gfx D_20112C0[]; extern Gfx D_20112C0[];
// ast_8BFC00, ast_8D99F0, ast_8E1F80, ast_8E92D0 // ast_8BFC00, ast_8D99F0, ast_8E1F80, ast_8E92D0
extern Gfx D_3006940[];
extern Gfx D_301AD60[];
extern Gfx D_301AEF0[];
extern Gfx D_302D120[];
extern u8 D_3000000[]; extern u8 D_3000000[];
extern u16 D_3000080[]; extern u16 D_3000080[];
extern Gfx D_3000090[]; extern Gfx D_3000090[];
@ -1054,6 +1063,14 @@ extern f32 D_302EE00[];
extern f32 D_302EE64[]; extern f32 D_302EE64[];
extern f32 D_302EE80[]; extern f32 D_302EE80[];
extern f32 D_302EE9C[]; extern f32 D_302EE9C[];
extern Triangle D_302EEE8[];
extern Vec3f D_302EF00[];
extern Triangle D_302EF6C[];
extern Vec3f D_302EF84[];
extern Triangle D_302EFF0[];
extern Vec3f D_302F008[];
extern Triangle D_302F044[];
extern Vec3f D_302F098[];
// ast_918430, ast_922730 // ast_918430, ast_922730
extern AnimationHeader D_4000080; extern AnimationHeader D_4000080;
@ -1101,6 +1118,52 @@ extern Gfx D_500B600[];
* ast_B0AA00, ast_B1CA50, ast_B2CA50, ast_B612E0, ast_B84560, * ast_B0AA00, ast_B1CA50, ast_B2CA50, ast_B612E0, ast_B84560,
* ast_BB11D0, ast_BC23D0, ast_BFC510, ast_C48F40, ast_DDC010 * ast_BB11D0, ast_BC23D0, ast_BFC510, ast_C48F40, ast_DDC010
*/ */
extern CollisionPoly D_602FA9C[];
extern Vec3s D_60300C8[];
extern CollisionPoly D_60305DC[];
extern Vec3s D_603184C[];
extern CollisionPoly D_6030208[];
extern Vec3s D_6030550[];
extern CollisionPoly D_6033070[];
extern Vec3s D_6033E08[];
extern CollisionPoly D_600F60C[];
extern Vec3s D_600FD50[];
extern CollisionPoly D_600F3F4[];
extern Vec3s D_600F5AC[];
extern CollisionPoly D_600F1DC[];
extern Vec3s D_600F394[];
extern CollisionPoly D_6010294[];
extern Vec3s D_601170C[];
extern CollisionPoly D_6007558[];
extern Vec3s D_6008E08[];
extern CollisionPoly D_6014FEC[];
extern Vec3s D_6016374[];
extern Triangle D_603F338[];
extern Vec3f D_603F388[];
extern Triangle D_603F40C[];
extern Vec3f D_603F4E4[];
extern Triangle D_602CACC[];
extern Vec3f D_602CB80[];
extern Triangle D_6030E74[];
extern Vec3f D_6030E80[];
extern Triangle D_6030EB0[];
extern Vec3f D_6030EBC[];
extern Triangle D_6030EEC[];
extern Vec3f D_6030EF8[];
extern Triangle D_6030F28[];
extern Vec3f D_6030F34[];
extern Triangle D_6030F64[];
extern Vec3f D_6030F7C[];
extern Triangle D_6030FC4[];
extern Vec3f D_6030FD0[];
extern Triangle D_60320B8[];
extern Vec3f D_603216C[];
extern Triangle D_6031FB0[];
extern Vec3f D_6031FE0[];
extern Triangle D_6031FB0[];
extern Vec3f D_603204C[];
extern Triangle D_6032388[];
extern Vec3f D_6032430[];
extern u16 D_6000000[]; extern u16 D_6000000[];
extern Gfx D_60005B0[]; extern Gfx D_60005B0[];
extern u16 D_6000900[]; extern u16 D_6000900[];
@ -1243,6 +1306,7 @@ extern Gfx D_600D730[];
extern u16 D_600D990[]; extern u16 D_600D990[];
extern Gfx D_600D9F0[]; extern Gfx D_600D9F0[];
extern Gfx D_600DA10[]; extern Gfx D_600DA10[];
extern Gfx D_600DB80[];
extern Gfx D_600DBC0[]; extern Gfx D_600DBC0[];
extern u8 D_600DDC0[]; extern u8 D_600DDC0[];
extern Gfx D_600DDF0[]; extern Gfx D_600DDF0[];
@ -1761,6 +1825,7 @@ extern Gfx D_D00B720[];
extern Gfx D_D00B880[]; extern Gfx D_D00B880[];
// ast_92EC40 // ast_92EC40
extern Gfx D_E00DFB0[];
extern u16 D_E00E100[]; extern u16 D_E00E100[];
extern u16 D_E00F020[]; extern u16 D_E00F020[];
extern u16 D_E00FF40[]; extern u16 D_E00FF40[];

View File

@ -49,7 +49,7 @@ Graphics_GetSmallTextWidth = 0x800A13EC;
func_800A1540 = 0x800A1540; func_800A1540 = 0x800A1540;
Texture_BlendRGBA16 = 0x800A1558; Texture_BlendRGBA16 = 0x800A1558;
// sf_beam // fox_beam
PlayerShot_Initialize = 0x80035E48; PlayerShot_Initialize = 0x80035E48;
// fox_rcp // fox_rcp

View File

@ -1,161 +1,6 @@
func_8018753C = 0x8018753C;
func_8018F31C = 0x8018F31C;
func_8018F8B8 = 0x8018F8B8;
func_801A2A78 = 0x801A2A78;
func_801A6608 = 0x801A6608;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A3240 = 0x801A3240;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A2B24 = 0x801A2B24;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801A23AC = 0x801A23AC;
func_801BE1FC = 0x801BE1FC;
func_801935D4 = 0x801935D4;
func_8019350C = 0x8019350C;
func_80197CB8 = 0x80197CB8;
func_8018BAAC = 0x8018BAAC;
func_8018BBA4 = 0x8018BBA4;
func_8018BBF8 = 0x8018BBF8;
func_8018BD7C = 0x8018BD7C;
func_8018DA6C = 0x8018DA6C;
func_8018DAEC = 0x8018DAEC;
func_8018DB6C = 0x8018DB6C;
func_801BEC74 = 0x801BEC74;
func_80188448 = 0x80188448;
func_8018F884 = 0x8018F884;
func_801A4CB0 = 0x801A4CB0;
func_801A12C4 = 0x801A12C4;
func_801A12C4 = 0x801A12C4;
func_801AC294 = 0x801AC294;
func_801A12C4 = 0x801A12C4;
func_801A12C4 = 0x801A12C4;
func_801A12C4 = 0x801A12C4;
func_801A12C4 = 0x801A12C4;
func_801A12C4 = 0x801A12C4;
func_801A12C4 = 0x801A12C4;
func_801A43BC = 0x801A43BC;
func_801A4A64 = 0x801A4A64;
func_801A5F90 = 0x801A5F90;
func_801A6100 = 0x801A6100;
func_801A6540 = 0x801A6540;
func_801A68EC = 0x801A68EC;
func_801ADAC8 = 0x801ADAC8;
func_801AE2C0 = 0x801AE2C0;
func_801AEEFC = 0x801AEEFC;
func_801A54E8 = 0x801A54E8;
func_80189AFC = 0x80189AFC;
func_8018E5B4 = 0x8018E5B4;
func_8018EF14 = 0x8018EF14;
func_8018E2D8 = 0x8018E2D8;
func_8018AABC = 0x8018AABC;
func_8018BE84 = 0x8018BE84;
func_8018B6AC = 0x8018B6AC;
func_8018A1C0 = 0x8018A1C0;
func_80190430 = 0x80190430;
func_80190F08 = 0x80190F08;
func_801914C4 = 0x801914C4;
func_80191B4C = 0x80191B4C;
func_80191DB0 = 0x80191DB0;
func_80191FFC = 0x80191FFC;
func_80192C18 = 0x80192C18;
func_80193240 = 0x80193240;
func_8019983C = 0x8019983C;
func_80199E24 = 0x80199E24;
func_8019D3C4 = 0x8019D3C4;
func_8019A1FC = 0x8019A1FC;
func_8019ACCC = 0x8019ACCC;
func_8019B7DC = 0x8019B7DC;
func_8019BDE0 = 0x8019BDE0;
func_8019C1CC = 0x8019C1CC;
func_8019C83C = 0x8019C83C;
func_8019CE58 = 0x8019CE58;
func_801AE168 = 0x801AE168;
func_801AEB44 = 0x801AEB44;
func_801B099C = 0x801B099C;
func_801B0EC0 = 0x801B0EC0;
func_801B619C = 0x801B619C;
func_801B90DC = 0x801B90DC;
func_801B504C = 0x801B504C;
func_801B7A24 = 0x801B7A24;
func_801BA108 = 0x801BA108;
func_801BA4E4 = 0x801BA4E4;
func_801BAD7C = 0x801BAD7C;
func_801BB204 = 0x801BB204;
func_801BC930 = 0x801BC930;
func_801BDE6C = 0x801BDE6C;
func_801BD264 = 0x801BD264;
func_801BEB1C = 0x801BEB1C;
func_80188FE4 = 0x80188FE4;
func_8019E3A8 = 0x8019E3A8;
func_8019F7AC = 0x8019F7AC;
func_8019F7AC = 0x8019F7AC;
func_8019F7AC = 0x8019F7AC;
func_80192E2C = 0x80192E2C;
func_801934D0 = 0x801934D0;
func_80193244 = 0x80193244;
func_80188660 = 0x80188660;
func_8018AA74 = 0x8018AA74;
func_8018ECAC = 0x8018ECAC;
func_8018ED78 = 0x8018ED78;
func_8018EE84 = 0x8018EE84;
func_8018EF90 = 0x8018EF90;
func_8018BACC = 0x8018BACC;
func_801887D0 = 0x801887D0;
func_801BEC5C = 0x801BEC5C;
func_8018C54C = 0x8018C54C;
func_80193434 = 0x80193434;
func_8018FF84 = 0x8018FF84;
func_80190020 = 0x80190020;
func_801982A8 = 0x801982A8;
func_801949DC = 0x801949DC;
func_80191AFC = 0x80191AFC;
func_80196288 = 0x80196288;
func_8019E98C = 0x8019E98C;
func_8019E2C4 = 0x8019E2C4;
func_801A71B8 = 0x801A71B8;
func_801968F4 = 0x801968F4;
func_80193B1C = 0x80193B1C;
func_801B4D84 = 0x801B4D84;
func_801985E4 = 0x801985E4;
func_801928C8 = 0x801928C8;
func_8018B8C0 = 0x8018B8C0;
func_80197C64 = 0x80197C64;
func_80192A68 = 0x80192A68;
func_80188FA8 = 0x80188FA8;
func_8018DCE4 = 0x8018DCE4;
func_8018DBEC = 0x8018DBEC;
func_8018DE14 = 0x8018DE14;
func_801A5AF0 = 0x801A5AF0;
func_801AEAA0 = 0x801AEAA0;
func_801A5D68 = 0x801A5D68;
func_801A0AF0 = 0x801A0AF0;
func_8018CF98 = 0x8018CF98;
func_80191180 = 0x80191180;
func_80187530 = 0x80187530; func_80187530 = 0x80187530;
func_8018753C = 0x8018753C;
func_8018756C = 0x8018756C; func_8018756C = 0x8018756C;
func_801875A4 = 0x801875A4; func_801875A4 = 0x801875A4;
func_80187650 = 0x80187650; func_80187650 = 0x80187650;
@ -164,11 +9,16 @@ func_80187944 = 0x80187944;
func_8018795C = 0x8018795C; func_8018795C = 0x8018795C;
func_801880E4 = 0x801880E4; func_801880E4 = 0x801880E4;
func_80188344 = 0x80188344; func_80188344 = 0x80188344;
func_80188448 = 0x80188448;
func_80188528 = 0x80188528; func_80188528 = 0x80188528;
func_80188660 = 0x80188660;
func_801887D0 = 0x801887D0;
func_80188AD0 = 0x80188AD0; func_80188AD0 = 0x80188AD0;
func_80188CAC = 0x80188CAC; func_80188CAC = 0x80188CAC;
func_80188F60 = 0x80188F60; func_80188F60 = 0x80188F60;
func_80188FA8 = 0x80188FA8;
func_80188FAC = 0x80188FAC; func_80188FAC = 0x80188FAC;
func_80188FE4 = 0x80188FE4;
func_80189058 = 0x80189058; func_80189058 = 0x80189058;
func_80189114 = 0x80189114; func_80189114 = 0x80189114;
func_80189194 = 0x80189194; func_80189194 = 0x80189194;
@ -178,40 +28,80 @@ func_80189470 = 0x80189470;
func_801895B8 = 0x801895B8; func_801895B8 = 0x801895B8;
func_80189724 = 0x80189724; func_80189724 = 0x80189724;
func_8018978C = 0x8018978C; func_8018978C = 0x8018978C;
func_80189AFC = 0x80189AFC;
func_80189B70 = 0x80189B70; func_80189B70 = 0x80189B70;
func_80189CC8 = 0x80189CC8; func_80189CC8 = 0x80189CC8;
func_8018A1C0 = 0x8018A1C0;
func_8018A544 = 0x8018A544; func_8018A544 = 0x8018A544;
func_8018AA74 = 0x8018AA74;
func_8018AABC = 0x8018AABC;
func_8018AB44 = 0x8018AB44; func_8018AB44 = 0x8018AB44;
func_8018AED0 = 0x8018AED0; func_8018AED0 = 0x8018AED0;
func_8018B15C = 0x8018B15C; func_8018B15C = 0x8018B15C;
func_8018B268 = 0x8018B268; func_8018B268 = 0x8018B268;
func_8018B418 = 0x8018B418; func_8018B418 = 0x8018B418;
func_8018B58C = 0x8018B58C; func_8018B58C = 0x8018B58C;
func_8018B6AC = 0x8018B6AC;
func_8018B8C0 = 0x8018B8C0;
func_8018B9D0 = 0x8018B9D0; func_8018B9D0 = 0x8018B9D0;
func_8018BAAC = 0x8018BAAC;
func_8018BACC = 0x8018BACC;
func_8018BBA4 = 0x8018BBA4;
func_8018BBF8 = 0x8018BBF8;
func_8018BD7C = 0x8018BD7C;
func_8018BE84 = 0x8018BE84;
func_8018C19C = 0x8018C19C; func_8018C19C = 0x8018C19C;
func_8018C54C = 0x8018C54C;
func_8018C8A8 = 0x8018C8A8; func_8018C8A8 = 0x8018C8A8;
func_8018CAD4 = 0x8018CAD4; func_8018CAD4 = 0x8018CAD4;
func_8018CF98 = 0x8018CF98;
func_8018D9EC = 0x8018D9EC; func_8018D9EC = 0x8018D9EC;
func_8018DA6C = 0x8018DA6C;
func_8018DAEC = 0x8018DAEC;
func_8018DB6C = 0x8018DB6C;
func_8018DBEC = 0x8018DBEC;
func_8018DBF0 = 0x8018DBF0; func_8018DBF0 = 0x8018DBF0;
func_8018DCE4 = 0x8018DCE4;
func_8018DDAC = 0x8018DDAC; func_8018DDAC = 0x8018DDAC;
func_8018DE14 = 0x8018DE14;
func_8018E290 = 0x8018E290; func_8018E290 = 0x8018E290;
func_8018E2D8 = 0x8018E2D8;
func_8018E54C = 0x8018E54C; func_8018E54C = 0x8018E54C;
func_8018E5B4 = 0x8018E5B4;
func_8018E5F8 = 0x8018E5F8; func_8018E5F8 = 0x8018E5F8;
func_8018E76C = 0x8018E76C; func_8018E76C = 0x8018E76C;
func_8018ECAC = 0x8018ECAC;
func_8018ED78 = 0x8018ED78;
func_8018EE84 = 0x8018EE84;
func_8018EF14 = 0x8018EF14;
func_8018EF90 = 0x8018EF90;
func_8018F038 = 0x8018F038; func_8018F038 = 0x8018F038;
func_8018F044 = 0x8018F044; func_8018F044 = 0x8018F044;
func_8018F31C = 0x8018F31C;
func_8018F330 = 0x8018F330; func_8018F330 = 0x8018F330;
func_8018F4D8 = 0x8018F4D8; func_8018F4D8 = 0x8018F4D8;
func_8018F884 = 0x8018F884;
func_8018F8B8 = 0x8018F8B8;
func_8018FE38 = 0x8018FE38; func_8018FE38 = 0x8018FE38;
func_8018FF20 = 0x8018FF20; func_8018FF20 = 0x8018FF20;
func_8018FF84 = 0x8018FF84;
func_80190020 = 0x80190020;
func_80190078 = 0x80190078; func_80190078 = 0x80190078;
func_80190430 = 0x80190430;
func_801904CC = 0x801904CC; func_801904CC = 0x801904CC;
func_80190A00 = 0x80190A00; func_80190A00 = 0x80190A00;
func_80190F08 = 0x80190F08;
func_80191010 = 0x80191010; func_80191010 = 0x80191010;
func_80191054 = 0x80191054; func_80191054 = 0x80191054;
func_80191180 = 0x80191180;
func_801912FC = 0x801912FC; func_801912FC = 0x801912FC;
func_801914C4 = 0x801914C4;
func_80191680 = 0x80191680; func_80191680 = 0x80191680;
func_80191AFC = 0x80191AFC;
func_80191B4C = 0x80191B4C;
func_80191BC4 = 0x80191BC4; func_80191BC4 = 0x80191BC4;
func_80191DB0 = 0x80191DB0;
func_80191FFC = 0x80191FFC;
func_80192094 = 0x80192094; func_80192094 = 0x80192094;
func_801922DC = 0x801922DC; func_801922DC = 0x801922DC;
func_80192358 = 0x80192358; func_80192358 = 0x80192358;
@ -220,87 +110,162 @@ func_8019243C = 0x8019243C;
func_801924A8 = 0x801924A8; func_801924A8 = 0x801924A8;
func_80192518 = 0x80192518; func_80192518 = 0x80192518;
func_80192834 = 0x80192834; func_80192834 = 0x80192834;
func_801928C8 = 0x801928C8;
func_80192984 = 0x80192984; func_80192984 = 0x80192984;
func_80192A68 = 0x80192A68;
func_80192C18 = 0x80192C18;
func_80192CD4 = 0x80192CD4; func_80192CD4 = 0x80192CD4;
func_80192E2C = 0x80192E2C;
func_80192E64 = 0x80192E64; func_80192E64 = 0x80192E64;
func_80192E94 = 0x80192E94; func_80192E94 = 0x80192E94;
func_80192EB0 = 0x80192EB0; func_80192EB0 = 0x80192EB0;
func_80193240 = 0x80193240;
func_80193244 = 0x80193244;
func_80193380 = 0x80193380; func_80193380 = 0x80193380;
func_801933DC = 0x801933DC; func_801933DC = 0x801933DC;
func_80193434 = 0x80193434;
func_801934D0 = 0x801934D0;
func_8019350C = 0x8019350C;
func_80193540 = 0x80193540; func_80193540 = 0x80193540;
func_8019356C = 0x8019356C; func_8019356C = 0x8019356C;
func_801935D4 = 0x801935D4;
func_80193718 = 0x80193718; func_80193718 = 0x80193718;
func_80193B1C = 0x80193B1C;
func_80194398 = 0x80194398; func_80194398 = 0x80194398;
func_801946C4 = 0x801946C4; func_801946C4 = 0x801946C4;
func_801949DC = 0x801949DC;
func_80194A84 = 0x80194A84; func_80194A84 = 0x80194A84;
func_80196210 = 0x80196210; func_80196210 = 0x80196210;
func_80196288 = 0x80196288;
func_801968F4 = 0x801968F4;
func_80197A94 = 0x80197A94; func_80197A94 = 0x80197A94;
func_80197C64 = 0x80197C64;
func_80197CB8 = 0x80197CB8;
func_801982A8 = 0x801982A8;
func_801985E4 = 0x801985E4;
func_80198968 = 0x80198968; func_80198968 = 0x80198968;
func_8019969C = 0x8019969C; func_8019969C = 0x8019969C;
func_8019983C = 0x8019983C;
func_80199A28 = 0x80199A28; func_80199A28 = 0x80199A28;
func_80199E24 = 0x80199E24;
func_80199F10 = 0x80199F10; func_80199F10 = 0x80199F10;
func_8019A1FC = 0x8019A1FC;
func_8019A5D4 = 0x8019A5D4; func_8019A5D4 = 0x8019A5D4;
func_8019ACCC = 0x8019ACCC;
func_8019B548 = 0x8019B548; func_8019B548 = 0x8019B548;
func_8019B7DC = 0x8019B7DC;
func_8019B854 = 0x8019B854; func_8019B854 = 0x8019B854;
func_8019BDE0 = 0x8019BDE0;
func_8019BE48 = 0x8019BE48; func_8019BE48 = 0x8019BE48;
func_8019C1CC = 0x8019C1CC;
func_8019C454 = 0x8019C454; func_8019C454 = 0x8019C454;
func_8019C778 = 0x8019C778; func_8019C778 = 0x8019C778;
func_8019C83C = 0x8019C83C;
func_8019C888 = 0x8019C888; func_8019C888 = 0x8019C888;
func_8019CBEC = 0x8019CBEC; func_8019CBEC = 0x8019CBEC;
func_8019CE58 = 0x8019CE58;
func_8019CE88 = 0x8019CE88; func_8019CE88 = 0x8019CE88;
func_8019D15C = 0x8019D15C; func_8019D15C = 0x8019D15C;
func_8019D3C4 = 0x8019D3C4;
func_8019D700 = 0x8019D700; func_8019D700 = 0x8019D700;
func_8019E234 = 0x8019E234; func_8019E234 = 0x8019E234;
func_8019E2C4 = 0x8019E2C4;
func_8019E3A8 = 0x8019E3A8;
func_8019E410 = 0x8019E410; func_8019E410 = 0x8019E410;
func_8019E454 = 0x8019E454; func_8019E454 = 0x8019E454;
func_8019E98C = 0x8019E98C;
func_8019EA60 = 0x8019EA60; func_8019EA60 = 0x8019EA60;
func_8019EA7C = 0x8019EA7C; func_8019EA7C = 0x8019EA7C;
func_8019EE68 = 0x8019EE68; func_8019EE68 = 0x8019EE68;
func_8019F20C = 0x8019F20C; func_8019F20C = 0x8019F20C;
func_8019F7AC = 0x8019F7AC;
func_8019FF9C = 0x8019FF9C; func_8019FF9C = 0x8019FF9C;
func_801A003C = 0x801A003C; func_801A003C = 0x801A003C;
func_801A0120 = 0x801A0120; func_801A0120 = 0x801A0120;
func_801A0AF0 = 0x801A0AF0;
func_801A0BD8 = 0x801A0BD8; func_801A0BD8 = 0x801A0BD8;
func_801A12C4 = 0x801A12C4;
func_801A23AC = 0x801A23AC;
func_801A2A78 = 0x801A2A78;
func_801A2B24 = 0x801A2B24;
func_801A2DD8 = 0x801A2DD8; func_801A2DD8 = 0x801A2DD8;
func_801A3240 = 0x801A3240;
func_801A3BD4 = 0x801A3BD4; func_801A3BD4 = 0x801A3BD4;
func_801A3E98 = 0x801A3E98; func_801A3E98 = 0x801A3E98;
func_801A43BC = 0x801A43BC;
func_801A46A0 = 0x801A46A0; func_801A46A0 = 0x801A46A0;
func_801A4A64 = 0x801A4A64;
func_801A4B24 = 0x801A4B24; func_801A4B24 = 0x801A4B24;
func_801A4CB0 = 0x801A4CB0;
func_801A4E44 = 0x801A4E44; func_801A4E44 = 0x801A4E44;
func_801A52B8 = 0x801A52B8; func_801A52B8 = 0x801A52B8;
func_801A54E8 = 0x801A54E8;
func_801A57D0 = 0x801A57D0; func_801A57D0 = 0x801A57D0;
func_801A5AF0 = 0x801A5AF0;
func_801A5B3C = 0x801A5B3C; func_801A5B3C = 0x801A5B3C;
func_801A5B4C = 0x801A5B4C; func_801A5B4C = 0x801A5B4C;
func_801A5D68 = 0x801A5D68;
func_801A5E54 = 0x801A5E54; func_801A5E54 = 0x801A5E54;
func_801A5F90 = 0x801A5F90;
func_801A5FD0 = 0x801A5FD0; func_801A5FD0 = 0x801A5FD0;
func_801A6100 = 0x801A6100;
func_801A6144 = 0x801A6144; func_801A6144 = 0x801A6144;
func_801A6540 = 0x801A6540;
func_801A6608 = 0x801A6608;
func_801A67C8 = 0x801A67C8; func_801A67C8 = 0x801A67C8;
func_801A68EC = 0x801A68EC;
func_801A71B8 = 0x801A71B8;
func_801A7E7C = 0x801A7E7C; func_801A7E7C = 0x801A7E7C;
func_801AC294 = 0x801AC294;
func_801AC438 = 0x801AC438; func_801AC438 = 0x801AC438;
func_801AC918 = 0x801AC918; func_801AC918 = 0x801AC918;
func_801AD6C0 = 0x801AD6C0; func_801AD6C0 = 0x801AD6C0;
func_801AD6F0 = 0x801AD6F0; func_801AD6F0 = 0x801AD6F0;
func_801ADAC8 = 0x801ADAC8;
func_801ADD68 = 0x801ADD68; func_801ADD68 = 0x801ADD68;
func_801AE168 = 0x801AE168;
func_801AE2C0 = 0x801AE2C0;
func_801AE3D8 = 0x801AE3D8; func_801AE3D8 = 0x801AE3D8;
func_801AE87C = 0x801AE87C; func_801AE87C = 0x801AE87C;
func_801AEAA0 = 0x801AEAA0;
func_801AEB44 = 0x801AEB44;
func_801AEC04 = 0x801AEC04; func_801AEC04 = 0x801AEC04;
func_801AEEFC = 0x801AEEFC;
func_801AFA5C = 0x801AFA5C; func_801AFA5C = 0x801AFA5C;
func_801B099C = 0x801B099C;
func_801B0B60 = 0x801B0B60; func_801B0B60 = 0x801B0B60;
func_801B0EC0 = 0x801B0EC0;
func_801B134C = 0x801B134C; func_801B134C = 0x801B134C;
func_801B4D84 = 0x801B4D84;
func_801B504C = 0x801B504C;
func_801B50E8 = 0x801B50E8; func_801B50E8 = 0x801B50E8;
func_801B619C = 0x801B619C;
func_801B638C = 0x801B638C; func_801B638C = 0x801B638C;
func_801B6FF8 = 0x801B6FF8; func_801B6FF8 = 0x801B6FF8;
func_801B7A24 = 0x801B7A24;
func_801B7C78 = 0x801B7C78; func_801B7C78 = 0x801B7C78;
func_801B90DC = 0x801B90DC;
func_801B91A4 = 0x801B91A4; func_801B91A4 = 0x801B91A4;
func_801BA108 = 0x801BA108;
func_801BA26C = 0x801BA26C; func_801BA26C = 0x801BA26C;
func_801BA4E4 = 0x801BA4E4;
func_801BA6A4 = 0x801BA6A4; func_801BA6A4 = 0x801BA6A4;
func_801BAD7C = 0x801BAD7C;
func_801BADF8 = 0x801BADF8; func_801BADF8 = 0x801BADF8;
func_801BB204 = 0x801BB204;
func_801BB79C = 0x801BB79C; func_801BB79C = 0x801BB79C;
func_801BC930 = 0x801BC930;
func_801BC9A0 = 0x801BC9A0; func_801BC9A0 = 0x801BC9A0;
func_801BD264 = 0x801BD264;
func_801BD54C = 0x801BD54C; func_801BD54C = 0x801BD54C;
func_801BDE6C = 0x801BDE6C;
func_801BE1FC = 0x801BE1FC;
func_801BE3F8 = 0x801BE3F8; func_801BE3F8 = 0x801BE3F8;
func_801BEB1C = 0x801BEB1C;
func_801BEC50 = 0x801BEC50; func_801BEC50 = 0x801BEC50;
func_801BEC5C = 0x801BEC5C;
func_801BEC68 = 0x801BEC68; func_801BEC68 = 0x801BEC68;
func_801BEC74 = 0x801BEC74;
D_1022120 = 0x01022120; D_1022120 = 0x01022120;
D_1024410 = 0x01024410; D_1024410 = 0x01024410;
@ -355,6 +320,14 @@ D_302EE00 = 0x0302EE00;
D_302EE64 = 0x0302EE64; D_302EE64 = 0x0302EE64;
D_302EE80 = 0x0302EE80; D_302EE80 = 0x0302EE80;
D_302EE9C = 0x0302EE9C; D_302EE9C = 0x0302EE9C;
D_302EEE8 = 0x0302EEE8;
D_302EF00 = 0x0302EF00;
D_302EF6C = 0x0302EF6C;
D_302EF84 = 0x0302EF84;
D_302EFF0 = 0x0302EFF0;
D_302F008 = 0x0302F008;
D_302F044 = 0x0302F044;
D_302F098 = 0x0302F098;
D_5000000 = 0x05000000; D_5000000 = 0x05000000;
D_5000080 = 0x05000080; D_5000080 = 0x05000080;
@ -401,7 +374,6 @@ D_600683C = 0x0600683C;
D_6006858 = 0x06006858; D_6006858 = 0x06006858;
D_6006890_f32 = 0x06006890; D_6006890_f32 = 0x06006890;
D_6006890_Gfx = 0x06006890; D_6006890_Gfx = 0x06006890;
D_6030B14_f32 = 0x6030B14;
D_60068BC = 0x060068BC; D_60068BC = 0x060068BC;
D_60068F0 = 0x060068F0; D_60068F0 = 0x060068F0;
D_6006A3C = 0x06006A3C; D_6006A3C = 0x06006A3C;
@ -410,10 +382,12 @@ D_6006BF0 = 0x06006BF0;
D_6006C44 = 0x06006C44; D_6006C44 = 0x06006C44;
D_6006F50 = 0x06006F50; D_6006F50 = 0x06006F50;
D_6007410 = 0x06007410; D_6007410 = 0x06007410;
D_6007558 = 0x06007558;
D_60075D0 = 0x060075D0; D_60075D0 = 0x060075D0;
D_60079B0 = 0x060079B0; D_60079B0 = 0x060079B0;
D_6007D80 = 0x06007D80; D_6007D80 = 0x06007D80;
D_6008370 = 0x06008370; D_6008370 = 0x06008370;
D_6008E08 = 0x06008E08;
D_600924C = 0x0600924C; D_600924C = 0x0600924C;
D_60092E8 = 0x060092E8; D_60092E8 = 0x060092E8;
D_6009388 = 0x06009388; D_6009388 = 0x06009388;
@ -429,9 +403,15 @@ D_600E820 = 0x0600E820;
D_600EC90 = 0x0600EC90; D_600EC90 = 0x0600EC90;
D_600EE10 = 0x0600EE10; D_600EE10 = 0x0600EE10;
D_600EEF0 = 0x0600EEF0; D_600EEF0 = 0x0600EEF0;
D_600F1DC = 0x0600F1DC;
D_600F394 = 0x0600F394;
D_600F3F4 = 0x0600F3F4;
D_600F4C0 = 0x0600F4C0; D_600F4C0 = 0x0600F4C0;
D_600F560 = 0x0600F560; D_600F560 = 0x0600F560;
D_600F5AC = 0x0600F5AC;
D_600F60C = 0x0600F60C;
D_600F6C0 = 0x0600F6C0; D_600F6C0 = 0x0600F6C0;
D_600FD50 = 0x0600FD50;
D_600FE9C = 0x0600FE9C; D_600FE9C = 0x0600FE9C;
D_600FEB8 = 0x0600FEB8; D_600FEB8 = 0x0600FEB8;
D_600FF30 = 0x0600FF30; D_600FF30 = 0x0600FF30;
@ -439,6 +419,7 @@ D_600FF80 = 0x0600FF80;
D_600FFA0 = 0x0600FFA0; D_600FFA0 = 0x0600FFA0;
D_600FFC0 = 0x0600FFC0; D_600FFC0 = 0x0600FFC0;
D_600FFE0 = 0x0600FFE0; D_600FFE0 = 0x0600FFE0;
D_6010294 = 0x06010294;
D_60102C0 = 0x060102C0; D_60102C0 = 0x060102C0;
D_6010960 = 0x06010960; D_6010960 = 0x06010960;
D_6010A50 = 0x06010A50; D_6010A50 = 0x06010A50;
@ -446,6 +427,7 @@ D_6010E00 = 0x06010E00;
D_6011058 = 0x06011058; D_6011058 = 0x06011058;
D_601115C = 0x0601115C; D_601115C = 0x0601115C;
D_601115C = 0x0601115C; D_601115C = 0x0601115C;
D_601170C = 0x0601170C;
D_6011B24 = 0x06011B24; D_6011B24 = 0x06011B24;
D_6011BF4 = 0x06011BF4; D_6011BF4 = 0x06011BF4;
D_6011C10 = 0x06011C10; D_6011C10 = 0x06011C10;
@ -462,10 +444,12 @@ D_6014500 = 0x06014500;
D_6014670 = 0x06014670; D_6014670 = 0x06014670;
D_6014A20 = 0x06014A20; D_6014A20 = 0x06014A20;
D_6014B50 = 0x06014B50; D_6014B50 = 0x06014B50;
D_6014FEC = 0x06014FEC;
D_60153B0 = 0x060153B0; D_60153B0 = 0x060153B0;
D_6015730 = 0x06015730; D_6015730 = 0x06015730;
D_6015F00 = 0x06015F00; D_6015F00 = 0x06015F00;
D_6016270 = 0x06016270; D_6016270 = 0x06016270;
D_6016374 = 0x06016374;
D_60164F0 = 0x060164F0; D_60164F0 = 0x060164F0;
D_6016580 = 0x06016580; D_6016580 = 0x06016580;
D_601668C = 0x0601668C; D_601668C = 0x0601668C;
@ -530,6 +514,8 @@ D_602C234 = 0x0602C234;
D_602C250 = 0x0602C250; D_602C250 = 0x0602C250;
D_602C294 = 0x0602C294; D_602C294 = 0x0602C294;
D_602C2B0 = 0x0602C2B0; D_602C2B0 = 0x0602C2B0;
D_602CACC = 0x0602CACC;
D_602CB80 = 0x0602CB80;
D_602D5F0 = 0x0602D5F0; D_602D5F0 = 0x0602D5F0;
D_602DAE0 = 0x0602DAE0; D_602DAE0 = 0x0602DAE0;
D_602DB80 = 0x0602DB80; D_602DB80 = 0x0602DB80;
@ -548,9 +534,15 @@ D_602F740 = 0x0602F740;
D_602F75C = 0x0602F75C; D_602F75C = 0x0602F75C;
D_602F7C0 = 0x0602F7C0; D_602F7C0 = 0x0602F7C0;
D_602FA50 = 0x0602FA50; D_602FA50 = 0x0602FA50;
D_602FA9C = 0x0602FA9C;
D_60300C8 = 0x060300C8;
D_6030208 = 0x06030208;
D_6030500 = 0x06030500; D_6030500 = 0x06030500;
D_6030550 = 0x06030550;
D_60305DC = 0x060305DC;
D_6030630 = 0x06030630; D_6030630 = 0x06030630;
D_6030B10 = 0x06030B10; D_6030B10 = 0x06030B10;
D_6030B14_f32 = 0x6030B14;
D_6030BE0 = 0x06030BE0; D_6030BE0 = 0x06030BE0;
D_6030BFC = 0x06030BFC; D_6030BFC = 0x06030BFC;
D_6030C18 = 0x06030C18; D_6030C18 = 0x06030C18;
@ -564,7 +556,19 @@ D_6030E14 = 0x06030E14;
D_6030E30 = 0x06030E30; D_6030E30 = 0x06030E30;
D_6030E4C = 0x06030E4C; D_6030E4C = 0x06030E4C;
D_6030E68 = 0x06030E68; D_6030E68 = 0x06030E68;
D_6030E74 = 0x06030E74;
D_6030E80 = 0x06030E80;
D_6030EB0 = 0x06030EB0;
D_6030EBC = 0x06030EBC;
D_6030EEC = 0x06030EEC;
D_6030EF8 = 0x06030EF8;
D_6030F28 = 0x06030F28;
D_6030F34 = 0x06030F34;
D_6030F64 = 0x06030F64;
D_6030F74 = 0x06030F74; D_6030F74 = 0x06030F74;
D_6030F7C = 0x06030F7C;
D_6030FC4 = 0x06030FC4;
D_6030FD0 = 0x06030FD0;
D_6031398 = 0x06031398; D_6031398 = 0x06031398;
D_60313CC = 0x060313CC; D_60313CC = 0x060313CC;
D_6031400 = 0x06031400; D_6031400 = 0x06031400;
@ -575,9 +579,19 @@ D_6031500 = 0x06031500;
D_6031538 = 0x06031538; D_6031538 = 0x06031538;
D_6031554 = 0x06031554; D_6031554 = 0x06031554;
D_6031570 = 0x06031570; D_6031570 = 0x06031570;
D_603184C = 0x0603184C;
D_6031FB0 = 0x06031FB0;
D_6031FE0 = 0x06031FE0;
D_603204C = 0x0603204C;
D_60320B8 = 0x060320B8;
D_603216C = 0x0603216C;
D_6032388 = 0x06032388;
D_6032430 = 0x06032430;
D_6032488 = 0x06032488; D_6032488 = 0x06032488;
D_60324EC = 0x060324EC; D_60324EC = 0x060324EC;
D_6032550 = 0x06032550; D_6032550 = 0x06032550;
D_6033070 = 0x06033070;
D_6033E08 = 0x06033E08;
D_603405C = 0x0603405C; D_603405C = 0x0603405C;
D_6034368 = 0x06034368; D_6034368 = 0x06034368;
D_6034478 = 0x06034478; D_6034478 = 0x06034478;
@ -654,8 +668,6 @@ D_603E54C = 0x0603E54C;
D_603E598 = 0x0603E598; D_603E598 = 0x0603E598;
D_603E5B4 = 0x0603E5B4; D_603E5B4 = 0x0603E5B4;
D_603E5D0 = 0x0603E5D0; D_603E5D0 = 0x0603E5D0;
D_603E5D0 = 0x0603E5D0;
D_603E5D0 = 0x0603E5D0;
D_603E604 = 0x0603E604; D_603E604 = 0x0603E604;
D_603E620 = 0x0603E620; D_603E620 = 0x0603E620;
D_603E714 = 0x0603E714; D_603E714 = 0x0603E714;
@ -670,6 +682,10 @@ D_603EA08 = 0x0603EA08;
D_603EA74 = 0x0603EA74; D_603EA74 = 0x0603EA74;
D_603EAE0 = 0x0603EAE0; D_603EAE0 = 0x0603EAE0;
D_603EB0C = 0x0603EB0C; D_603EB0C = 0x0603EB0C;
D_603F338 = 0x0603F338;
D_603F388 = 0x0603F388;
D_603F40C = 0x0603F40C;
D_603F4E4 = 0x0603F4E4;
D_700AB70 = 0x0700AB70; D_700AB70 = 0x0700AB70;
D_700BE00 = 0x0700BE00; D_700BE00 = 0x0700BE00;
@ -684,7 +700,6 @@ D_9023AD0 = 0x09023AD0;
D_C038A48 = 0x0C038A48; D_C038A48 = 0x0C038A48;
D_C038B40 = 0x0C038B40; D_C038B40 = 0x0C038B40;
D_C038B40 = 0x0C038B40;
D_C038BA4 = 0x0C038BA4; D_C038BA4 = 0x0C038BA4;
D_C038BD8 = 0x0C038BD8; D_C038BD8 = 0x0C038BD8;
D_C038DC0 = 0x0C038DC0; D_C038DC0 = 0x0C038DC0;

View File

@ -90,7 +90,7 @@ void func_8002E3E0(Object_2F4* obj2F4) {
D_80177850 = 15; D_80177850 = 15;
} }
s32 func_8002E4F8(u16* arg0, s32 arg1) { bool func_8002E4F8(u16* arg0, s32 arg1) {
if ((gRadioState == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_0)) { if ((gRadioState == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_0)) {
func_800BA808(arg0, arg1); func_800BA808(arg0, arg1);
return true; return true;
@ -285,7 +285,7 @@ void func_8002EE34(void) {
void func_8002EE64(Object_2F4* obj2F4) { void func_8002EE64(Object_2F4* obj2F4) {
s32 i; s32 i;
s32 var_s0; s32 colId;
Object_58* obj58; Object_58* obj58;
Vec3f temp1; Vec3f temp1;
f32 temp4; f32 temp4;
@ -328,22 +328,22 @@ void func_8002EE64(Object_2F4* obj2F4) {
spCC.z = spD8.z + temp1.z; spCC.z = spD8.z + temp1.z;
if ((obj58->obj.id == OBJ_80_149) || (obj58->obj.id == OBJ_80_150)) { if ((obj58->obj.id == OBJ_80_149) || (obj58->obj.id == OBJ_80_150)) {
if (obj58->obj.id == OBJ_80_149) { if (obj58->obj.id == OBJ_80_149) {
var_s0 = 5; colId = COL1_5;
} else { } else {
var_s0 = 6; colId = COL1_6;
} }
if (func_800998FC(&spCC, &spC0, &sp94, var_s0, &spA8, spA0) > 0) { if (func_800998FC(&spCC, &spC0, &sp94, colId, &spA8, spA0) > 0) {
obj2F4->unk_178 = spA8.y; obj2F4->unk_178 = spA8.y;
obj2F4->unk_17C = spA0[0]; obj2F4->unk_17C = spA0[0];
obj2F4->unk_184 = spA0[1]; obj2F4->unk_184 = spA0[1];
obj2F4->unk_180 = (temp4 / 180.0f) * M_PI; obj2F4->unk_180 = (temp4 / 180.0f) * M_PI;
} }
} else { } else {
var_s0 = 0; colId = COL2_0;
if (obj58->obj.id == OBJ_80_3) { if (obj58->obj.id == OBJ_80_3) {
var_s0 = 3; colId = COL2_3;
} }
if (func_800A3690(&spCC, &spC0, var_s0, &spB4) != 0) { if (func_800A3690(&spCC, &spC0, colId, &spB4)) {
obj2F4->unk_178 = spB4.y; obj2F4->unk_178 = spB4.y;
obj2F4->unk_17C = spB4.x; obj2F4->unk_17C = spB4.x;
obj2F4->unk_184 = spB4.z; obj2F4->unk_184 = spB4.z;
@ -1531,8 +1531,7 @@ void func_800319AC(Object_2F4* this) {
if ((spE8 < spF4) && (spEC < spF4)) { if ((spE8 < spF4) && (spEC < spF4)) {
this->unk_060++; this->unk_060++;
this->unk_064 = 1; this->unk_064 = 1;
if (!((this->index + gFrameCount) & sp10F) && (Rand_ZeroOne() < spF0) && if (!((this->index + gFrameCount) & sp10F) && (Rand_ZeroOne() < spF0) && func_80031900(this) &&
(func_80031900(this) != 0) &&
((gObjects2F4->unk_0B8 == 2) || (gCurrentLevel == LEVEL_TRAINING))) { ((gObjects2F4->unk_0B8 == 2) || (gCurrentLevel == LEVEL_TRAINING))) {
if ((this->unk_0E6 == 0) && (gCurrentLevel != LEVEL_TRAINING)) { if ((this->unk_0E6 == 0) && (gCurrentLevel != LEVEL_TRAINING)) {
if ((this->unk_060 > 250) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) { if ((this->unk_060 > 250) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) {
@ -2110,13 +2109,13 @@ void func_80034E64(Object_2F4* obj2F4) {
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL(&gMasterDisp, 0x29); RCP_SetupDL(&gMasterDisp, 0x29);
if (gCurrentLevel == LEVEL_KATINA) { if (gCurrentLevel == LEVEL_KATINA) {
GPC(128, 255, 255, sp20); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 128, 255, 255, sp20);
} else if (gCurrentLevel == LEVEL_BOLSE) { } else if (gCurrentLevel == LEVEL_BOLSE) {
GPC(255, 128, 128, sp20); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 128, 128, sp20);
} else { } else {
GPC(48, 255, 255, sp20); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 48, 255, 255, sp20);
} }
GDL(D_1031630); gSPDisplayList(gMasterDisp++, D_1031630);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
} }
@ -2139,9 +2138,9 @@ void func_80035098(Object_2F4* obj2F4) {
Matrix_Scale(gGfxMatrix, 2.0f, 2.0f, 2.0f, 1); Matrix_Scale(gGfxMatrix, 2.0f, 2.0f, 2.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL(&gMasterDisp, 0x43); RCP_SetupDL(&gMasterDisp, 0x43);
GPC(255, 255, 255, sp2C); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, sp2C);
GEC(0, 0, 160, sp2C); gDPSetEnvColor(gMasterDisp++, 0, 0, 160, sp2C);
GDL(D_101DC10); gSPDisplayList(gMasterDisp++, D_101DC10);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
} }
@ -2151,7 +2150,7 @@ bool func_800352E0(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thi
if (this->timer_0C6 & 1) { if (this->timer_0C6 & 1) {
RCP_SetupDL(&gMasterDisp, 0x22); RCP_SetupDL(&gMasterDisp, 0x22);
GPC(255, 128, 128, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 128, 128, 255);
} else { } else {
RCP_SetupDL(&gMasterDisp, 0x1D); RCP_SetupDL(&gMasterDisp, 0x1D);
} }
@ -2160,7 +2159,7 @@ bool func_800352E0(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thi
} }
if ((limbIndex == 1) || (limbIndex == 2)) { if ((limbIndex == 1) || (limbIndex == 2)) {
RCP_SetupDL(&gMasterDisp, 0x22); RCP_SetupDL(&gMasterDisp, 0x22);
GPC((s32) D_8015F914, (s32) D_8015F918, (s32) D_8015F91C, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, (s32) D_8015F914, (s32) D_8015F918, (s32) D_8015F91C, 255);
} }
return false; return false;
} }
@ -2200,7 +2199,7 @@ void func_80035448(Object_2F4* obj2F4) {
case 6: case 6:
case 7: case 7:
if (gCurrentLevel == LEVEL_VENOM_2) { if (gCurrentLevel == LEVEL_VENOM_2) {
GDL(D_F0103D0); gSPDisplayList(gMasterDisp++, D_F0103D0);
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 30.0f, 0.0f, -60.0f, 1); Matrix_Translate(gGfxMatrix, 30.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2); func_8005B1E8(obj2F4, 2);
@ -2212,7 +2211,7 @@ void func_80035448(Object_2F4* obj2F4) {
func_80035098(obj2F4); func_80035098(obj2F4);
func_80034E64(obj2F4); func_80034E64(obj2F4);
} else { } else {
GDL(D_F00F200); gSPDisplayList(gMasterDisp++, D_F00F200);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
if (gCurrentLevel == LEVEL_BOLSE) { if (gCurrentLevel == LEVEL_BOLSE) {
func_8005B1E8(obj2F4, 3); func_8005B1E8(obj2F4, 3);
@ -2222,11 +2221,11 @@ void func_80035448(Object_2F4* obj2F4) {
} }
break; break;
case 8: case 8:
GDL(D_D009A40); gSPDisplayList(gMasterDisp++, D_D009A40);
func_8005ADAC(obj2F4); func_8005ADAC(obj2F4);
break; break;
case 9: case 9:
GDL(D_D00B880); gSPDisplayList(gMasterDisp++, D_D00B880);
func_8005ADAC(obj2F4); func_8005ADAC(obj2F4);
break; break;
case 100: case 100:
@ -2245,33 +2244,31 @@ void func_80035448(Object_2F4* obj2F4) {
if (gCurrentLevel == LEVEL_FORTUNA) { if (gCurrentLevel == LEVEL_FORTUNA) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 60.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 60.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
GDL(D_6006BE0); gSPDisplayList(gMasterDisp++, D_6006BE0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -100.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -100.0f, 1);
Matrix_Scale(gGfxMatrix, 1.5f, 1.5f, 1.5f, 1); Matrix_Scale(gGfxMatrix, 1.5f, 1.5f, 1.5f, 1);
func_8005B1E8(obj2F4, 2); func_8005B1E8(obj2F4, 2);
} else if (gCurrentLevel == LEVEL_KATINA) { } else if (gCurrentLevel == LEVEL_KATINA) {
switch (obj2F4->unk_0B6) { switch (obj2F4->unk_0B6) {
case 0: case 0:
GDL(D_600EFF0); gSPDisplayList(gMasterDisp++, D_600EFF0);
break; break;
case 1: case 1:
GDL(D_600E050); gSPDisplayList(gMasterDisp++, D_600E050);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 0); func_8005B1E8(obj2F4, 0);
break; break;
case 3: case 3:
GDL(D_6001530); gSPDisplayList(gMasterDisp++, D_6001530);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 30.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 30.0f, 1);
func_80034E64(obj2F4); func_80034E64(obj2F4);
break; break;
} }
} else if (gCurrentLevel == LEVEL_SECTOR_Z) { } else if (gCurrentLevel == LEVEL_SECTOR_Z) {
GDL(D_6004FE0) gSPDisplayList(gMasterDisp++, D_6004FE0) Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2); func_8005B1E8(obj2F4, 2);
} else if (gCurrentLevel == LEVEL_BOLSE) { } else if (gCurrentLevel == LEVEL_BOLSE) {
GDL(D_6008770) gSPDisplayList(gMasterDisp++, D_6008770) Matrix_Push(&gGfxMatrix);
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2); func_8005B1E8(obj2F4, 2);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
@ -2281,14 +2278,14 @@ void func_80035448(Object_2F4* obj2F4) {
Matrix_Scale(gGfxMatrix, 10.0f, 10.0f, 10.0f, 1); Matrix_Scale(gGfxMatrix, 10.0f, 10.0f, 10.0f, 1);
Animation_DrawSkeleton(0, D_600C2AC, obj2F4->unk_18C, NULL, NULL, obj2F4, &gIdentityMatrix); Animation_DrawSkeleton(0, D_600C2AC, obj2F4->unk_18C, NULL, NULL, obj2F4, &gIdentityMatrix);
} else if (gCurrentLevel == LEVEL_VERSUS) { } else if (gCurrentLevel == LEVEL_VERSUS) {
GDL(D_3015740); gSPDisplayList(gMasterDisp++, D_3015740);
} else if (gCurrentLevel == LEVEL_TRAINING) { } else if (gCurrentLevel == LEVEL_TRAINING) {
if (obj2F4->unk_0E6 == 0) { if (obj2F4->unk_0E6 == 0) {
GDL(D_F00F200); gSPDisplayList(gMasterDisp++, D_F00F200);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 3); func_8005B1E8(obj2F4, 3);
} else { } else {
GDL(D_40068F0); gSPDisplayList(gMasterDisp++, D_40068F0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2); func_8005B1E8(obj2F4, 2);
} }

View File

@ -298,7 +298,7 @@ s32 func_8009808C(Vec3f* pos, Vtx_tn* quad, Vec3f* norm) {
return var_v1; return var_v1;
} }
s32 func_800985CC(Vec3f* vec, Vtx_tn* tri) { bool func_800985CC(Vec3f* vec, Vtx_tn* tri) {
f32 sp24; f32 sp24;
f32 sp20; f32 sp20;
@ -318,14 +318,14 @@ s32 func_800985CC(Vec3f* vec, Vtx_tn* tri) {
sp20 = TRINORM_Y(__vtx1, __vtx0, __vtx2); sp20 = TRINORM_Y(__vtx1, __vtx0, __vtx2);
if (SIGN_OF(sp24) != SIGN_OF(sp20)) { if (SIGN_OF(sp24) != SIGN_OF(sp20)) {
return 0; return false;
} }
sp24 = TRINORM_Y(__vtx0, __pos, __vtx2); sp24 = TRINORM_Y(__vtx0, __pos, __vtx2);
if (SIGN_OF(sp24) != SIGN_OF(sp20)) { if (SIGN_OF(sp24) != SIGN_OF(sp20)) {
return 0; return false;
} }
return 1; return true;
} }
// Plane from normal and point // Plane from normal and point
@ -463,7 +463,7 @@ s32 func_80098980(Vec3f* out, Vec3s** tri, Vec3f* vec) {
return var_v1; return var_v1;
} }
s32 func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3, Vec3f* arg4, f32* arg5) { bool func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3, Vec3f* arg4, f32* arg5) {
Vec3s* sp12C[3]; Vec3s* sp12C[3];
Vec3f temp_V3f1; Vec3f temp_V3f1;
s32 pad11C; s32 pad11C;
@ -507,7 +507,7 @@ s32 func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3,
if ((temp_V3f1.x < min.x) || (temp_V3f1.y < min.y) || (temp_V3f1.z < min.z) || (max.x < temp_V3f1.x) || if ((temp_V3f1.x < min.x) || (temp_V3f1.y < min.y) || (temp_V3f1.z < min.z) || (max.x < temp_V3f1.x) ||
(max.y < temp_V3f1.y) || ((max.z < temp_V3f1.z))) { (max.y < temp_V3f1.y) || ((max.z < temp_V3f1.z))) {
return 0; return false;
} }
if ((arg2->x == 0.0f) && (arg2->y == 0.0f) && (arg2->z == 0.0f)) { if ((arg2->x == 0.0f) && (arg2->y == 0.0f) && (arg2->z == 0.0f)) {
arg2->y = -5.0f; arg2->y = -5.0f;
@ -584,7 +584,7 @@ s32 func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3,
arg5[1] = -Math_Atan2F_XY(sp108.normal.y, sp108.normal.x); arg5[1] = -Math_Atan2F_XY(sp108.normal.y, sp108.normal.x);
} }
sp100 = 1; sp100 = true;
break; break;
} }
} }
@ -594,6 +594,6 @@ s32 func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3,
return sp100; return sp100;
} }
s32 func_800998FC(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, s32 arg3, Vec3f* arg4, f32* arg5) { bool func_800998FC(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, s32 arg3, Vec3f* arg4, f32* arg5) {
return func_80099254(arg0, arg1, arg2, SEGMENTED_TO_VIRTUAL(&D_800D2B38[arg3]), arg4, arg5); return func_80099254(arg0, arg1, arg2, SEGMENTED_TO_VIRTUAL(&D_800D2B38[arg3]), arg4, arg5);
} }

View File

@ -10,67 +10,67 @@ bool func_800A3690(Vec3f* arg0, Vec3f* arg1, s32 arg2, Vec3f* arg3) {
} }
bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3) { bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3) {
Vec3f sp7C; Vec3f pos;
Plane sp6C; Plane triPlane;
s32 var_v1; bool above;
s32 i; s32 i;
s32 j; s32 j;
Vec3f* sp54[3]; Vec3f* tri[3];
Vec3f sp48; Vec3f norm;
Vec3f sp3C; Vec3f vtx;
s32 sp38 = false; s32 sp38 = false;
s32 sp34; s32 count;
s16(*sp30)[3]; Triangle* polys;
Vec3f* sp2C; Vec3f* mesh;
sp7C.x = arg0->x - arg1->x; pos.x = arg0->x - arg1->x;
sp7C.y = arg0->y - arg1->y; pos.y = arg0->y - arg1->y;
sp7C.z = arg0->z - arg1->z; pos.z = arg0->z - arg1->z;
if ((sp7C.x < arg2->min.x) || (sp7C.y < arg2->min.y) || (sp7C.z < arg2->min.z) || (arg2->max.x < sp7C.x) || if ((pos.x < arg2->min.x) || (pos.y < arg2->min.y) || (pos.z < arg2->min.z) || (arg2->max.x < pos.x) ||
(arg2->max.y < sp7C.y) || (arg2->max.z < sp7C.z)) { (arg2->max.y < pos.y) || (arg2->max.z < pos.z)) {
return false; return false;
} }
var_v1 = false; above = false;
sp34 = arg2->polyCount; count = arg2->polyCount;
sp30 = SEGMENTED_TO_VIRTUAL(arg2->polys); polys = SEGMENTED_TO_VIRTUAL(arg2->polys);
sp2C = SEGMENTED_TO_VIRTUAL(arg2->mesh); mesh = SEGMENTED_TO_VIRTUAL(arg2->mesh);
for (i = 0; i < sp34; i++, sp30++) { for (i = 0; i < count; i++, polys++) {
for (j = 0; j < 3; j++) { for (j = 0; j < 3; j++) {
sp54[j] = &sp2C[(*sp30)[j]]; tri[j] = &mesh[polys->vtx[j]];
} }
var_v1 = func_800A3A74(&sp7C, sp54, &sp48); above = func_800A3A74(&pos, tri, &norm);
if (var_v1) { if (above) {
break; break;
} }
} }
if (var_v1) { if (above) {
sp3C.x = sp54[0]->x; vtx.x = tri[0]->x;
sp3C.y = sp54[0]->y; vtx.y = tri[0]->y;
sp3C.z = sp54[0]->z; vtx.z = tri[0]->z;
func_80098860(&sp6C, &sp3C, &sp48); func_80098860(&triPlane, &vtx, &norm);
arg3->y = func_800988B4(&sp7C, &sp6C); arg3->y = func_800988B4(&pos, &triPlane);
if (sp6C.normal.x != 0.0f) { if (triPlane.normal.x != 0.0f) {
sp48.x = -sp6C.dist / sp6C.normal.x; norm.x = -triPlane.dist / triPlane.normal.x;
} else { } else {
sp48.x = 0.0f; norm.x = 0.0f;
} }
if (sp6C.normal.y != 0.0f) { if (triPlane.normal.y != 0.0f) {
sp48.y = -sp6C.dist / sp6C.normal.y; norm.y = -triPlane.dist / triPlane.normal.y;
} else { } else {
sp48.y = 0.0f; norm.y = 0.0f;
} }
if (sp6C.normal.z != 0.0f) { if (triPlane.normal.z != 0.0f) {
sp48.z = -sp6C.dist / sp6C.normal.z; norm.z = -triPlane.dist / triPlane.normal.z;
} else { } else {
sp48.z = 0.0f; norm.z = 0.0f;
} }
arg3->x = Math_Atan2F_XY(sp48.y, sp48.z); arg3->x = Math_Atan2F_XY(norm.y, norm.z);
if (sp48.z != 0.0f) { if (norm.z != 0.0f) {
arg3->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(sp48.y, sp48.z)) * sp48.z, sp48.x); arg3->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(norm.y, norm.z)) * norm.z, norm.x);
} else if (arg3->x >= M_PI) { } else if (arg3->x >= M_PI) {
arg3->z = Math_Atan2F_XY(sp48.y, sp48.x); arg3->z = Math_Atan2F_XY(norm.y, norm.x);
} else { } else {
arg3->z = -Math_Atan2F_XY(sp48.y, sp48.x); arg3->z = -Math_Atan2F_XY(norm.y, norm.x);
} }
if ((arg0->y <= arg3->y) || (gCurrentLevel == LEVEL_MACBETH)) { if ((arg0->y <= arg3->y) || (gCurrentLevel == LEVEL_MACBETH)) {
sp38 = true; sp38 = true;
@ -79,52 +79,51 @@ bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3
return sp38; return sp38;
} }
// Checks if arg0 is above the triangle arg1. If so, returns the triangle normal in arg2. // Checks if point is above the triangle tri. If so, returns the triangle normal in arg2.
s32 func_800A3A74(Vec3f* arg0, Vec3f** arg1, Vec3f* arg2) { s32 func_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* norm) {
s32 pad; s32 pad;
f32 temp1; f32 temp1;
s32 var_v1; bool ret = false;
f32 temp_fv0; f32 temp_fv0;
Vec3f v1; Vec3f vtx1;
Vec3f v2; Vec3f vtx2;
Vec3f v3; Vec3f vtx3;
f32 a0x; f32 ptx;
f32 a0y; f32 ptz;
var_v1 = false; vtx1.x = (*tri)->x;
v1.x = (*arg1)->x; vtx1.y = (*tri)->y;
v1.y = (*arg1)->y; vtx1.z = (*tri)->z;
v1.z = (*arg1)->z; tri++;
arg1++; vtx2.x = (*tri)->x;
v2.x = (*arg1)->x; vtx2.y = (*tri)->y;
v2.y = (*arg1)->y; vtx2.z = (*tri)->z;
v2.z = (*arg1)->z; tri++;
arg1++; vtx3.x = (*tri)->x;
v3.x = (*arg1)->x; vtx3.y = (*tri)->y;
v3.y = (*arg1)->y; vtx3.z = (*tri)->z;
v3.z = (*arg1)->z; tri++;
arg1++;
a0x = arg0->x; ptx = point->x;
a0y = arg0->z; ptz = point->z;
temp1 = ((v2.z - v1.z) * (a0x - v2.x)) - ((v2.x - v1.x) * (a0y - v2.z)); temp1 = ((vtx2.z - vtx1.z) * (ptx - vtx2.x)) - ((vtx2.x - vtx1.x) * (ptz - vtx2.z));
if (temp1 >= 0.0f) { if (temp1 >= 0.0f) {
if (((v3.x - v2.x) * (a0y - v3.z)) <= ((v3.z - v2.z) * (a0x - v3.x))) { if (((vtx3.x - vtx2.x) * (ptz - vtx3.z)) <= ((vtx3.z - vtx2.z) * (ptx - vtx3.x))) {
if (((v1.x - v3.x) * (a0y - v1.z)) <= ((v1.z - v3.z) * (a0x - v1.x))) { if (((vtx1.x - vtx3.x) * (ptz - vtx1.z)) <= ((vtx1.z - vtx3.z) * (ptx - vtx1.x))) {
var_v1 = true; ret = true;
arg2->x = ((v2.y - v1.y) * (v3.z - v2.z)) - ((v2.z - v1.z) * (v3.y - v2.y)); norm->x = ((vtx2.y - vtx1.y) * (vtx3.z - vtx2.z)) - ((vtx2.z - vtx1.z) * (vtx3.y - vtx2.y));
arg2->y = ((v2.z - v1.z) * (v3.x - v2.x)) - ((v2.x - v1.x) * (v3.z - v2.z)); norm->y = ((vtx2.z - vtx1.z) * (vtx3.x - vtx2.x)) - ((vtx2.x - vtx1.x) * (vtx3.z - vtx2.z));
arg2->z = ((v2.x - v1.x) * (v3.y - v2.y)) - ((v2.y - v1.y) * (v3.x - v2.x)); norm->z = ((vtx2.x - vtx1.x) * (vtx3.y - vtx2.y)) - ((vtx2.y - vtx1.y) * (vtx3.x - vtx2.x));
if ((arg2->x != 0.0f) || (arg2->y != 0.0f) || (arg2->z != 0.0f)) { if ((norm->x != 0.0f) || (norm->y != 0.0f) || (norm->z != 0.0f)) {
temp_fv0 = sqrtf(SQ(arg2->x) + SQ(arg2->y) + SQ(arg2->z)); temp_fv0 = sqrtf(SQ(norm->x) + SQ(norm->y) + SQ(norm->z));
if (temp_fv0 != 0) { if (temp_fv0 != 0) {
arg2->x = (arg2->x / temp_fv0) * 127.0f; norm->x = (norm->x / temp_fv0) * 127.0f;
arg2->y = (arg2->y / temp_fv0) * 127.0f; norm->y = (norm->y / temp_fv0) * 127.0f;
arg2->z = (arg2->z / temp_fv0) * 127.0f; norm->z = (norm->z / temp_fv0) * 127.0f;
} }
} }
} }
} }
} }
return var_v1; return ret;
} }

View File

@ -1,4 +1,6 @@
#include "structs.h" #include "structs.h"
#include "macros.h"
#include "variables.h"
static Vec3f D_800D2920[16] = { static Vec3f D_800D2920[16] = {
{ 1075.0f, 0.0f, 0.0f }, { 746.0f, 0.0f, -746.0f }, { 202.0f, 361.0f, -202.0f }, { 0.0f, 0.0f, -1075.0f }, { 1075.0f, 0.0f, 0.0f }, { 746.0f, 0.0f, -746.0f }, { 202.0f, 361.0f, -202.0f }, { 0.0f, 0.0f, -1075.0f },
@ -6,13 +8,13 @@ static Vec3f D_800D2920[16] = {
{ 0.0f, 473.0f, 291.0f }, { 144.0f, 0.0f, 1075.0f }, { -202.0f, 461.0f, 202.0f }, { -515.0f, 0.0f, 746.0f }, { 0.0f, 473.0f, 291.0f }, { 144.0f, 0.0f, 1075.0f }, { -202.0f, 461.0f, 202.0f }, { -515.0f, 0.0f, 746.0f },
{ -291.0f, 453.0f, 0.0f }, { -372.0f, 390.0f, -281.0f }, { -951.0f, 0.0f, 0.0f }, { -746.0f, 0.0f, -746.0f }, { -291.0f, 453.0f, 0.0f }, { -372.0f, 390.0f, -281.0f }, { -951.0f, 0.0f, 0.0f }, { -746.0f, 0.0f, -746.0f },
}; };
static s16 D_800D29E0[22][3] = { static Triangle D_800D29E0[22] = {
{ 0, 1, 2 }, { 2, 1, 3 }, { 4, 2, 5 }, { 3, 5, 2 }, { 2, 4, 0 }, { 4, 6, 7 }, { 0, 1, 2 }, { 2, 1, 3 }, { 4, 2, 5 }, { 3, 5, 2 }, { 2, 4, 0 }, { 4, 6, 7 },
{ 7, 0, 4 }, { 6, 4, 5 }, { 7, 6, 8 }, { 8, 9, 7 }, { 8, 10, 11 }, { 10, 8, 6 }, { 7, 0, 4 }, { 6, 4, 5 }, { 7, 6, 8 }, { 8, 9, 7 }, { 8, 10, 11 }, { 10, 8, 6 },
{ 11, 9, 8 }, { 12, 10, 6 }, { 6, 13, 12 }, { 14, 12, 13 }, { 10, 12, 14 }, { 14, 11, 10 }, { 11, 9, 8 }, { 12, 10, 6 }, { 6, 13, 12 }, { 14, 12, 13 }, { 10, 12, 14 }, { 14, 11, 10 },
{ 5, 13, 6 }, { 5, 3, 15 }, { 15, 13, 5 }, { 13, 15, 14 }, { 5, 13, 6 }, { 5, 3, 15 }, { 15, 13, 5 }, { 13, 15, 14 },
}; };
static s16 D_800D2A64[13][3] = { static Triangle D_800D2A64[13] = {
{ 0, 1, 2 }, { 2, 3, 4 }, { 2, 5, 0 }, { 4, 5, 2 }, { 4, 3, 6 }, { 4, 7, 5 }, { 8, 7, 4 }, { 0, 1, 2 }, { 2, 3, 4 }, { 2, 5, 0 }, { 4, 5, 2 }, { 4, 3, 6 }, { 4, 7, 5 }, { 8, 7, 4 },
{ 4, 6, 8 }, { 7, 8, 9 }, { 0, 7, 9 }, { 5, 7, 0 }, { 9, 10, 0 }, { 10, 1, 0 }, { 4, 6, 8 }, { 7, 8, 9 }, { 0, 7, 9 }, { 5, 7, 0 }, { 9, 10, 0 }, { 10, 1, 0 },
}; };
@ -27,71 +29,71 @@ CollisionHeader D_800D2B38[10] = {
{ -1128.0f, -1835.0f, -1202.0f }, { -1128.0f, -1835.0f, -1202.0f },
{ 997.0f, 139.0f, 1360.0f }, { 997.0f, 139.0f, 1360.0f },
79, 79,
0x0602FA9C, D_602FA9C,
0x060300C8, D_60300C8,
}, },
{ {
{ -3006.0f, -2274.0f, -4530.0f }, { -3006.0f, -2274.0f, -4530.0f },
{ 3015.0f, 3348.0f, 5246.0f }, { 3015.0f, 3348.0f, 5246.0f },
236, 236,
0x060305DC, D_60305DC,
0x0603184C, D_603184C,
}, },
{ {
{ -152.0f, -200.0f, -152.0f }, { -152.0f, -200.0f, -152.0f },
{ 165.0f, 204.0f, 181.0f }, { 165.0f, 204.0f, 181.0f },
42, 42,
0x06030208, D_6030208,
0x06030550, D_6030550,
}, },
{ {
{ -1704.0f, -1006.0f, -4751.0f }, { -1704.0f, -1006.0f, -4751.0f },
{ 1704.0f, 1030.0f, 4842.0f }, { 1704.0f, 1030.0f, 4842.0f },
174, 174,
0x06033070, D_6033070,
0x06033E08, D_6033E08,
}, },
{ {
{ -1308.0f, 0.0f, -1460.0f }, { -1308.0f, 0.0f, -1460.0f },
{ 1310.0f, 666.0f, 807.0f }, { 1310.0f, 666.0f, 807.0f },
93, 93,
0x0600F60C, D_600F60C,
0x0600FD50, D_600FD50,
}, },
{ {
{ -951.0f, 0.0f, -1075.0f }, { -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 1014.0f, 1075.0f }, { 1075.0f, 1014.0f, 1075.0f },
22, 22,
0x0600F3F4, D_600F3F4,
0x0600F5AC, D_600F5AC,
}, },
{ {
{ -951.0f, 0.0f, -1075.0f }, { -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 384.0f, 1075.0f }, { 1075.0f, 384.0f, 1075.0f },
22, 22,
0x0600F1DC, D_600F1DC,
0x0600F394, D_600F394,
}, },
{ {
{ -1554.0f, -2.0f, -1401.0f }, { -1554.0f, -2.0f, -1401.0f },
{ 1554.0f, 590.0f, 1401.0f }, { 1554.0f, 590.0f, 1401.0f },
262, 262,
0x06010294, D_6010294,
0x0601170C, D_601170C,
}, },
{ {
{ -1386.0f, -696.0f, -2274.0f }, { -1386.0f, -696.0f, -2274.0f },
{ 1386.0f, 1033.0f, 1833.0f }, { 1386.0f, 1033.0f, 1833.0f },
316, 316,
0x06007558, D_6007558,
0x06008E08, D_6008E08,
}, },
{ {
{ -671.0f, 0.0f, -671.0f }, { -671.0f, 0.0f, -671.0f },
{ 671.0f, 648.0f, 671.0f }, { 671.0f, 648.0f, 671.0f },
250, 250,
0x06014FEC, D_6014FEC,
0x06016374, D_6016374,
}, },
}; };
@ -99,7 +101,7 @@ CollisionHeader2 D_800D2CA0[19] = {
{ {
{ -951.0f, 0.0f, -1075.0f }, { -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 594.0f, 1075.0f }, { 1075.0f, 594.0f, 1075.0f },
22, ARRAY_COUNT(D_800D29E0),
D_800D29E0, D_800D29E0,
D_800D2920, D_800D2920,
}, },
@ -107,20 +109,20 @@ CollisionHeader2 D_800D2CA0[19] = {
{ -1220.0f, 0.0f, -1315.0f }, { -1220.0f, 0.0f, -1315.0f },
{ 1403.0f, 174.0f, 1308.0f }, { 1403.0f, 174.0f, 1308.0f },
13, 13,
0x0603F338, D_603F338,
0x0603F388, D_603F388,
}, },
{ {
{ -1311.0f, 0.0f, -1120.0f }, { -1311.0f, 0.0f, -1120.0f },
{ 1266.0f, 1465.0f, 1266.0f }, { 1266.0f, 1465.0f, 1266.0f },
36, 36,
0x0603F40C, D_603F40C,
0x0603F4E4, D_603F4E4,
}, },
{ {
{ -435.0f, -10.0f, -435.0f }, { -435.0f, -10.0f, -435.0f },
{ 435.0f, 174.0f, 435.0f }, { 435.0f, 174.0f, 435.0f },
13, ARRAY_COUNT(D_800D2A64),
D_800D2A64, D_800D2A64,
D_800D2AB4, D_800D2AB4,
}, },
@ -128,105 +130,105 @@ CollisionHeader2 D_800D2CA0[19] = {
{ -498.0f, -10.0f, -498.0f }, { -498.0f, -10.0f, -498.0f },
{ 498.0f, 705.0f, 498.0f }, { 498.0f, 705.0f, 498.0f },
4, 4,
0x0302EEE8, D_302EEE8,
0x0302EF00, D_302EF00,
}, },
{ {
{ -1494.0f, -30.0f, -1494.0f }, { -1494.0f, -30.0f, -1494.0f },
{ 1494.0f, 2115.0f, 1494.0f }, { 1494.0f, 2115.0f, 1494.0f },
4, 4,
0x0302EF6C, D_302EF6C,
0x0302EF84, D_302EF84,
}, },
{ {
{ -623.0f, -10.0f, -623.0f }, { -623.0f, -10.0f, -623.0f },
{ 623.0f, 200.0f, 623.0f }, { 623.0f, 200.0f, 623.0f },
4, 4,
0x0302EFF0, D_302EFF0,
0x0302F008, D_302F008,
}, },
{ {
{ -488.0f, 0.0f, -568.0f }, { -488.0f, 0.0f, -568.0f },
{ 488.0f, 148.0f, 567.0f }, { 488.0f, 148.0f, 567.0f },
30, 30,
0x0602CACC, D_602CACC,
0x0602CB80, D_602CB80,
}, },
{ {
{ -900.0f, -110.0f, -1900.0f }, { -900.0f, -110.0f, -1900.0f },
{ 900.0f, 190.0f, 100.0f }, { 900.0f, 190.0f, 100.0f },
2, 2,
0x06030E74, D_6030E74,
0x06030E80, D_6030E80,
}, },
{ {
{ -900.0f, -100.0f, -1000.0f }, { -900.0f, -100.0f, -1000.0f },
{ 900.0f, 250.0f, 100.0f }, { 900.0f, 250.0f, 100.0f },
2, 2,
0x06030EB0, D_6030EB0,
0x06030EBC, D_6030EBC,
}, },
{ {
{ -900.0f, -190.0f, -1900.0f }, { -900.0f, -190.0f, -1900.0f },
{ 900.0f, 100.0f, 100.0f }, { 900.0f, 100.0f, 100.0f },
2, 2,
0x06030EEC, D_6030EEC,
0x06030EF8, D_6030EF8,
}, },
{ {
{ -500.0f, -250.0f, -1010.0f }, { -500.0f, -250.0f, -1010.0f },
{ 500.0f, 100.0f, 100.0f }, { 500.0f, 100.0f, 100.0f },
2, 2,
0x06030F28, D_6030F28,
0x06030F34, D_6030F34,
}, },
{ {
{ -1200.0f, 0.0f, -1800.0f }, { -1200.0f, 0.0f, -1800.0f },
{ 0.0f, 900.0f, 1500.0f }, { 0.0f, 900.0f, 1500.0f },
4, 4,
0x06030F64, D_6030F64,
0x06030F7C, D_6030F7C,
}, },
{ {
{ -400.0f, 0.0f, -900.0f }, { -400.0f, 0.0f, -900.0f },
{ 400.0f, 0.0f, 0.0f }, { 400.0f, 0.0f, 0.0f },
2, 2,
0x06030FC4, D_6030FC4,
0x06030FD0, D_6030FD0,
}, },
{ {
{ -74.0f, 0.0f, -84.0f }, { -74.0f, 0.0f, -84.0f },
{ 74.0f, 125.0f, 84.0f }, { 74.0f, 125.0f, 84.0f },
30, 30,
0x060320B8, D_60320B8,
0x0603216C, D_603216C,
}, },
{ {
{ -1200.0f, 0.0f, -1315.0f }, { -1200.0f, 0.0f, -1315.0f },
{ 1403.0f, 200.0f, 1308.0f }, { 1403.0f, 200.0f, 1308.0f },
8, 8,
0x06031FB0, D_6031FB0,
0x06031FE0, D_6031FE0,
}, },
{ {
{ -600.0f, 0.0f, -657.0f }, { -600.0f, 0.0f, -657.0f },
{ 701.0f, 100.0f, 654.0f }, { 701.0f, 100.0f, 654.0f },
8, 8,
0x06031FB0, D_6031FB0,
0x0603204C, D_603204C,
}, },
{ {
{ -2965.0f, -16.0f, -2965.0f }, { -2965.0f, -16.0f, -2965.0f },
{ 2965.0f, 544.0f, 2965.0f }, { 2965.0f, 544.0f, 2965.0f },
14, 14,
0x0302F044, D_302F044,
0x0302F098, D_302F098,
}, },
{ {
{ -814.0f, 0.0f, -691.0f }, { -814.0f, 0.0f, -691.0f },
{ 814.0f, 752.0f, 691.0f }, { 814.0f, 752.0f, 691.0f },
28, 28,
0x06032388, D_6032388,
0x06032430, D_6032430,
}, },
}; };

2297
src/main/fox_beam.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -121,7 +121,7 @@ void func_80051B30(void) {
} }
} }
s32 func_800520FC(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot, void* data) { bool func_800520FC(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot, void* data) {
Player* player = (Player*) data; Player* player = (Player*) data;
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK); gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
@ -174,7 +174,7 @@ s32 func_800520FC(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot, void* dat
rot->x += -player->unk_15C * 0.2f; rot->x += -player->unk_15C * 0.2f;
} }
} }
return 0; return false;
} }
void func_800523A8(s32 limbIndex, Vec3f* rot, void* data) { void func_800523A8(s32 limbIndex, Vec3f* rot, void* data) {
@ -609,7 +609,7 @@ void func_80053C38(Player* player, s32 arg1) {
Matrix_MultVec3f(gGfxMatrix, &sp4C, &D_801613E0[1]); Matrix_MultVec3f(gGfxMatrix, &sp4C, &D_801613E0[1]);
} }
if ((player->unk_238 != 0) && (gLevelMode == LEVELMODE_ON_RAILS) && if ((player->unk_238 != 0) && (gLevelMode == LEVELMODE_ON_RAILS) &&
(fabsf((player->unk_138 + D_80177D20) - player->camEye.z) < 10.0f)) { (fabsf(player->unk_138 + D_80177D20 - player->camEye.z) < 10.0f)) {
if (arg1 == 0) { if (arg1 == 0) {
D_800CA228 = 1; D_800CA228 = 1;
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
@ -929,10 +929,10 @@ void func_80054E80(Player* player) {
Matrix_Copy(gCalcMatrix, &D_80161418[player->num]); Matrix_Copy(gCalcMatrix, &D_80161418[player->num]);
var_v1 = gLaserStrength[player->num]; var_v1 = gLaserStrength[player->num];
if (player->wings.unk_14 > -8.0f) { if (player->wings.unk_14 > -8.0f) {
var_v1 = 0; var_v1 = LASERS_SINGLE;
} }
switch (var_v1) { switch (var_v1) {
case 0: case LASERS_SINGLE:
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128);
gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128); gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128);
if ((player->unk_238 != 0) && (gLevelMode == LEVELMODE_ON_RAILS)) { if ((player->unk_238 != 0) && (gLevelMode == LEVELMODE_ON_RAILS)) {
@ -947,9 +947,9 @@ void func_80054E80(Player* player) {
gSPDisplayList(gMasterDisp++, D_1024AC0); gSPDisplayList(gMasterDisp++, D_1024AC0);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
break; break;
case 1: case LASERS_TWIN:
case 2: case LASERS_HYPER:
if (var_v1 == 1) { if (var_v1 == LASERS_TWIN) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128);
gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128); gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128);
} else { } else {
@ -1203,7 +1203,7 @@ void func_800564C0(Player* player, s32 arg1) {
} }
} }
} }
if (func_800563B4(player->num, arg1) == 0) { if (!func_800563B4(player->num, arg1)) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
return; return;
} }
@ -1219,7 +1219,7 @@ void func_800564C0(Player* player, s32 arg1) {
} else if (player->form == FORM_ON_FOOT) { } else if (player->form == FORM_ON_FOOT) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, player->pos.x, player->pos.y, player->unk_138 + player->unk_144, 1); Matrix_Translate(gGfxMatrix, player->pos.x, player->pos.y, player->unk_138 + player->unk_144, 1);
if (func_800563B4(player->num, arg1) == 0) { if (!func_800563B4(player->num, arg1)) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
return; return;
@ -1247,7 +1247,7 @@ void func_800564C0(Player* player, s32 arg1) {
} }
} }
} }
if (func_800563B4(player->num, arg1) == 0) { if (!func_800563B4(player->num, arg1)) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
return; return;
} }

View File

@ -614,7 +614,7 @@ f32 D_800CFCCC[] = {
0.0f, 0.05f, 0.03f, 0.02f, 0.01f, 0.05f, 0.0f, 0.02f, 0.0f, 0.05f, 0.03f, 0.02f, 0.01f, 0.05f, 0.0f, 0.02f,
}; };
void func_8005BAB4(s32 objId, s32 index) { void func_8005BAB4(ObjectId objId, s32 index) {
f32 temp_fv0; f32 temp_fv0;
f32 temp1; f32 temp1;
f32 temp2; f32 temp2;
@ -1597,7 +1597,7 @@ void Object_DrawAll(s32 arg0) {
Lights_SetOneLight(&gMasterDisp, gLight1x, gLight1y, gLight1z, gLight1R, gLight1G, gLight1B, gAmbientR, gAmbientG, Lights_SetOneLight(&gMasterDisp, gLight1x, gLight1y, gLight1z, gLight1R, gLight1G, gLight1B, gAmbientR, gAmbientG,
gAmbientB); gAmbientB);
for (i = 0, obj4C = gObjects4C; i < ARRAY_COUNT(gObjects4C); i++, obj4C++) { for (i = 0, obj4C = gObjects4C; i < ARRAY_COUNT(gObjects4C); i++, obj4C++) {
if ((obj4C->obj.status >= 2) && (func_80060FE4(&obj4C->obj.pos, -12000.0f) != 0)) { if ((obj4C->obj.status >= 2) && func_80060FE4(&obj4C->obj.pos, -12000.0f)) {
Matrix_Push(&gGfxMatrix); Matrix_Push(&gGfxMatrix);
if ((obj4C->obj.id == OBJ_4C_165) || (obj4C->obj.id == OBJ_4C_166)) { if ((obj4C->obj.id == OBJ_4C_165) || (obj4C->obj.id == OBJ_4C_166)) {
RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar); RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);

View File

@ -71,7 +71,7 @@ void Object_Kill(Object* obj, Vec3f* arg1) {
Audio_KillSfx(arg1); Audio_KillSfx(arg1);
} }
s32 func_80060FE4(Vec3f* arg0, f32 arg1) { bool func_80060FE4(Vec3f* arg0, f32 arg1) {
Vec3f sp2C; Vec3f sp2C;
Vec3f sp20; Vec3f sp20;
@ -90,7 +90,7 @@ s32 func_80060FE4(Vec3f* arg0, f32 arg1) {
return false; return false;
} }
s32 func_80061148(Vec3f* arg0, f32 arg1) { bool func_80061148(Vec3f* arg0, f32 arg1) {
Vec3f sp2C; Vec3f sp2C;
Vec3f sp20; Vec3f sp20;
@ -639,7 +639,7 @@ void func_80062D04(f32 xPos, f32 yPos) {
} }
} }
s32 func_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot, f32 zRot) { bool func_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot, f32 zRot) {
s32 i; s32 i;
Vec3f hitRot; Vec3f hitRot;
Vec3f hitPos; Vec3f hitPos;
@ -656,7 +656,7 @@ s32 func_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot,
rotate = 0.0f; rotate = 0.0f;
hitRot.x = hitRot.y = hitRot.z = 0.0f; hitRot.x = hitRot.y = hitRot.z = 0.0f;
if (*hitboxData >= HITBOX_UNK_3) { if (*hitboxData >= HITBOX_UNK_3) {
return 0; return false;
} }
if (*hitboxData == HITBOX_UNK_2) { if (*hitboxData == HITBOX_UNK_2) {
rotate = 1.0f; rotate = 1.0f;
@ -700,7 +700,7 @@ s32 func_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot,
return false; return false;
} }
s32 func_800631A8(Vec3f* posD, f32* hitboxData, Vec3f* posA) { bool func_800631A8(Vec3f* posD, f32* hitboxData, Vec3f* posA) {
if ((s32) hitboxData[0] != 0) { if ((s32) hitboxData[0] != 0) {
if ((fabsf(hitboxData[1] + posA->z - posD->z) < (hitboxData[2] + 20.0f)) && if ((fabsf(hitboxData[1] + posA->z - posD->z) < (hitboxData[2] + 20.0f)) &&
(fabsf(hitboxData[5] + posA->x - posD->x) < (hitboxData[6] + 20.0f)) && (fabsf(hitboxData[5] + posA->x - posD->x) < (hitboxData[6] + 20.0f)) &&
@ -711,13 +711,13 @@ s32 func_800631A8(Vec3f* posD, f32* hitboxData, Vec3f* posA) {
return false; return false;
} }
s32 func_8006326C(Vec3f* arg0, Vec3f* arg1, s32 objId, Object* obj) { bool func_8006326C(Vec3f* arg0, Vec3f* arg1, ObjectId objId, Object* obj) {
Vec3f sp74; Vec3f sp74;
Vec3f sp68; Vec3f sp68;
Vec3f sp5C; Vec3f sp5C;
Vec3f sp50; Vec3f sp50;
Vec3f sp44; Vec3f sp44;
s32 var_s1; s32 colId;
s32 pad1[3]; s32 pad1[3];
f32 sp30; f32 sp30;
s32 pad2; s32 pad2;
@ -736,46 +736,46 @@ s32 func_8006326C(Vec3f* arg0, Vec3f* arg1, s32 objId, Object* obj) {
sp50.z = obj->pos.z; sp50.z = obj->pos.z;
if ((objId == OBJ_2F4_180) || (objId == OBJ_80_149) || (objId == OBJ_80_150) || (objId == OBJ_408_308) || if ((objId == OBJ_2F4_180) || (objId == OBJ_80_149) || (objId == OBJ_80_150) || (objId == OBJ_408_308) ||
(objId == OBJ_408_313) || (objId == OBJ_408_312) || (objId == OBJ_408_309) || (objId == OBJ_80_39)) { (objId == OBJ_408_313) || (objId == OBJ_408_312) || (objId == OBJ_408_309) || (objId == OBJ_80_39)) {
var_s1 = 0; colId = COL1_0;
if (objId == OBJ_408_312) { if (objId == OBJ_408_312) {
var_s1 = 9; colId = COL1_9;
} }
if (objId == OBJ_80_39) { if (objId == OBJ_80_39) {
var_s1 = 1; colId = COL1_1;
} else if (objId == OBJ_408_308) { } else if (objId == OBJ_408_308) {
var_s1 = 4; colId = COL1_4;
} else if (objId == OBJ_408_309) { } else if (objId == OBJ_408_309) {
var_s1 = 7; colId = COL1_7;
} else if (objId == OBJ_80_149) { } else if (objId == OBJ_80_149) {
var_s1 = 5; colId = COL1_5;
} else if (objId == OBJ_80_150) { } else if (objId == OBJ_80_150) {
var_s1 = 6; colId = COL1_6;
} else if (objId == OBJ_408_313) { } else if (objId == OBJ_408_313) {
var_s1 = 8; colId = COL1_8;
} }
if (func_800998FC(&sp5C, &sp50, arg1, var_s1, &sp44, &sp30) > 0) { if (func_800998FC(&sp5C, &sp50, arg1, colId, &sp44, &sp30) > 0) {
return true; return true;
} }
} else { } else {
var_s1 = 0; colId = COL2_0;
if (objId == OBJ_80_2) { if (objId == OBJ_80_2) {
var_s1 = 2; colId = COL2_2;
} }
if (objId == OBJ_80_3) { if (objId == OBJ_80_3) {
var_s1 = 3; colId = COL2_3;
} }
if (objId == OBJ_80_140) { if (objId == OBJ_80_140) {
var_s1 = 4; colId = COL2_4;
} }
if (objId == OBJ_80_141) { if (objId == OBJ_80_141) {
var_s1 = 6; colId = COL2_6;
} }
if (objId == OBJ_80_117) { if (objId == OBJ_80_117) {
var_s1 = 14; colId = COL2_14;
} else if ((objId == OBJ_80_4) || (objId == OBJ_80_5)) { } else if ((objId == OBJ_80_4) || (objId == OBJ_80_5)) {
var_s1 = 1; colId = COL2_1;
} }
if (func_800A3690(&sp5C, &sp50, var_s1, &sp44)) { if (func_800A3690(&sp5C, &sp50, colId, &sp44)) {
return true; return true;
} }
} }
@ -879,7 +879,7 @@ s32 func_8006351C(s32 index, Vec3f* pos, Vec3f* arg2, s32 arg3) {
(fabsf(pos->z - obj2F4->obj.pos.z) < 1500.0f) && (index != i) && (obj2F4->info.unk_16 != 2) && (fabsf(pos->z - obj2F4->obj.pos.z) < 1500.0f) && (index != i) && (obj2F4->info.unk_16 != 2) &&
((obj2F4->obj.id != OBJ_2F4_197) || (obj2F4->unk_0E4 >= 4)) && (obj2F4->timer_0C2 == 0)) { ((obj2F4->obj.id != OBJ_2F4_197) || (obj2F4->unk_0E4 >= 4)) && (obj2F4->timer_0C2 == 0)) {
if (obj2F4->obj.id == OBJ_2F4_180) { if (obj2F4->obj.id == OBJ_2F4_180) {
if (func_8006326C(pos, arg2, obj2F4->obj.id, &obj2F4->obj) != 0) { if (func_8006326C(pos, arg2, obj2F4->obj.id, &obj2F4->obj)) {
return 2; return 2;
} }
} else if (obj2F4->scale < 0.0f) { } else if (obj2F4->scale < 0.0f) {
@ -989,7 +989,7 @@ void func_80063F74(Item* item) {
item->scale = item->obj.rot.z * 100.0f; item->scale = item->obj.rot.z * 100.0f;
} }
void Object_Init(s32 index, s32 objId) { void Object_Init(s32 index, ObjectId objId) {
s32 var_a0; s32 var_a0;
s32 var_a2; s32 var_a2;
f32 sp54; f32 sp54;
@ -1560,7 +1560,7 @@ void func_800656D4(Object_2F4* obj2F4) {
Math_SmoothStepToAngle(&obj2F4->obj.rot.z, var_fv0, 0.1f, 3.0f, 0.01f); Math_SmoothStepToAngle(&obj2F4->obj.rot.z, var_fv0, 0.1f, 3.0f, 0.01f);
} }
if ((D_801784AC == 4) && if ((D_801784AC == 4) &&
(func_E6A810_801B6AEC(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z + D_80177D20) != 0)) { func_E6A810_801B6AEC(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z + D_80177D20)) {
func_8007D2C8(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 5.0f); func_8007D2C8(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 5.0f);
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos); Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
} }
@ -1643,7 +1643,7 @@ void func_80066254(Object_2F4* obj2F4) {
} else if ((obj2F4->obj.id != OBJ_2F4_197) || (obj2F4->unk_0B6 != 1)) { } else if ((obj2F4->obj.id != OBJ_2F4_197) || (obj2F4->unk_0B6 != 1)) {
if ((obj2F4->unk_0D4 == 1) && (obj2F4->info.bonus != 0)) { if ((obj2F4->unk_0D4 == 1) && (obj2F4->info.bonus != 0)) {
gHitCount += obj2F4->info.bonus; gHitCount += obj2F4->info.bonus;
D_80177850 = 0xF; D_80177850 = 15;
if ((gLevelMode == LEVELMODE_ALL_RANGE) && (D_80161A62 != 0)) { if ((gLevelMode == LEVELMODE_ALL_RANGE) && (D_80161A62 != 0)) {
switch (D_80161A62) { switch (D_80161A62) {
case 9: case 9:
@ -1765,7 +1765,7 @@ void func_8006684C(Object_2F4* obj2F4) {
Audio_PlaySfx(0x2903B009, &obj2F4->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x2903B009, &obj2F4->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_80077240(obj2F4->obj.pos.x, obj2F4->obj.pos.y + 250.0f, obj2F4->obj.pos.z, 3); func_80077240(obj2F4->obj.pos.x, obj2F4->obj.pos.y + 250.0f, obj2F4->obj.pos.z, 3);
gHitCount += 3; gHitCount += 3;
D_80177850 = 0xF; D_80177850 = 15;
} }
} else { } else {
obj2F4->obj.rot.x += 11.0f; obj2F4->obj.rot.x += 11.0f;
@ -1907,7 +1907,7 @@ void func_80066EF0(Item* item) {
} else if (item->obj.pos.y < -500.0f) { } else if (item->obj.pos.y < -500.0f) {
Math_SmoothStepToF(&item->obj.pos.y, -500.0f, 0.1f, 5.0f, 0.01f); Math_SmoothStepToF(&item->obj.pos.y, -500.0f, 0.1f, 5.0f, 0.01f);
} }
if ((gVersusMode) && (item->index == 0) && (gItems[1].obj.status == 2)) { if (gVersusMode && (item->index == 0) && (gItems[1].obj.status == 2)) {
if (fabsf(item->obj.pos.x - gItems[1].obj.pos.x) < 200.0f) { if (fabsf(item->obj.pos.x - gItems[1].obj.pos.x) < 200.0f) {
if (fabsf(item->obj.pos.z - gItems[1].obj.pos.z) < 200.0f) { if (fabsf(item->obj.pos.z - gItems[1].obj.pos.z) < 200.0f) {
item->obj.pos.x = item->obj.pos.x - 5.0f; item->obj.pos.x = item->obj.pos.x - 5.0f;
@ -1996,9 +1996,9 @@ void func_8006753C(Object_2F4* obj2F4) {
if (((player[0].wings.rightState <= WINGSTATE_BROKEN) || (player[0].wings.leftState <= WINGSTATE_BROKEN)) && if (((player[0].wings.rightState <= WINGSTATE_BROKEN) || (player[0].wings.leftState <= WINGSTATE_BROKEN)) &&
(player[0].form != FORM_LANDMASTER)) { (player[0].form != FORM_LANDMASTER)) {
obj2F4->unk_044 = 23; obj2F4->unk_044 = 23;
} else if (gPlayer[0].shields < 0x80) { } else if (gPlayer[0].shields < 128) {
obj2F4->unk_044 = 25; obj2F4->unk_044 = 25;
} else if ((gLaserStrength[0] == 0) && (player[0].form != FORM_LANDMASTER)) { } else if ((gLaserStrength[0] == LASERS_SINGLE) && (player[0].form != FORM_LANDMASTER)) {
obj2F4->unk_044 = 9; obj2F4->unk_044 = 9;
} else { } else {
obj2F4->unk_044 = 5; obj2F4->unk_044 = 5;
@ -2099,8 +2099,8 @@ void func_80067BEC(Item* item) {
item->timer_48 = 20; item->timer_48 = 20;
item->unk_50 = 60.0f; item->unk_50 = 60.0f;
gLaserStrength[item->unk_4E]++; gLaserStrength[item->unk_4E]++;
if (gLaserStrength[item->unk_4E] > 2) { if (gLaserStrength[item->unk_4E] > LASERS_HYPER) {
gLaserStrength[item->unk_4E] = 2; gLaserStrength[item->unk_4E] = LASERS_HYPER;
} }
func_80060F30(gPlayer[item->unk_4E].unk_460_arr, 0x49002004, item->unk_4E); func_80060F30(gPlayer[item->unk_4E].unk_460_arr, 0x49002004, item->unk_4E);
if (gExpertMode) { if (gExpertMode) {
@ -2129,7 +2129,7 @@ void func_80067BEC(Item* item) {
} }
void func_80067F6C(Item* item) { void func_80067F6C(Item* item) {
if ((!gVersusMode) && if (!gVersusMode &&
((gPlayer[0].wings.leftState <= WINGSTATE_BROKEN) || (gPlayer[0].wings.rightState <= WINGSTATE_BROKEN))) { ((gPlayer[0].wings.leftState <= WINGSTATE_BROKEN) || (gPlayer[0].wings.rightState <= WINGSTATE_BROKEN))) {
item->obj.id = OBJ_ITEM_WING_REPAIR; item->obj.id = OBJ_ITEM_WING_REPAIR;
Object_SetInfo(&item->info, item->obj.id); Object_SetInfo(&item->info, item->obj.id);
@ -2427,7 +2427,7 @@ void func_80068FE0(Object_4C* obj4C) {
} }
} }
void func_800690D0(s32 index, s32 objId) { void func_800690D0(s32 index, ObjectId objId) {
switch (objId) { switch (objId) {
case OBJ_2F4_200: case OBJ_2F4_200:
func_8007717C(&gObjects2F4[index]); func_8007717C(&gObjects2F4[index]);

View File

@ -114,7 +114,7 @@ bool func_8006ABA4(Object_2F4* obj2F4) {
void func_8006AC08(Object_2F4* obj2F4) { void func_8006AC08(Object_2F4* obj2F4) {
f32 sp2C; f32 sp2C;
if ((func_8006ABA4(obj2F4) != 0) && (obj2F4->timer_0BC == 0)) { if (func_8006ABA4(obj2F4) && (obj2F4->timer_0BC == 0)) {
func_8007F11C(OBJ_8C_353, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, D_80177828); func_8007F11C(OBJ_8C_353, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, D_80177828);
obj2F4->timer_0BC = 20; obj2F4->timer_0BC = 20;
} }
@ -735,7 +735,7 @@ void func_8006C008(Object_2F4* obj2F4) {
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos); Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
func_8007A6F0(&obj2F4->obj.pos, 0x2903A008); func_8007A6F0(&obj2F4->obj.pos, 0x2903A008);
} }
if (func_800A73E4(&sp44, &sp40, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z) != 0) { if (func_800A73E4(&sp44, &sp40, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z)) {
func_8007B228(obj2F4->obj.pos.x, sp44, obj2F4->obj.pos.z, 2.0f); func_8007B228(obj2F4->obj.pos.x, sp44, obj2F4->obj.pos.z, 2.0f);
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos); Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
} }
@ -1597,14 +1597,14 @@ void func_8006EC60(f32 xPos, f32 yPos, f32 zPos) {
} }
} }
void func_8006ECBC(s32 objId, PlayerShot* shot, s32 arg2, f32 xPos, f32 yPos, f32 zPos, f32 arg6, f32 arg7, f32 arg8, void func_8006ECBC(PlayerShotId objId, PlayerShot* shot, s32 unk0E4, f32 xPos, f32 yPos, f32 zPos, f32 arg6, f32 arg7,
f32 xRot, f32 yRot, f32 zRot) { f32 arg8, f32 xRot, f32 yRot, f32 zRot) {
PlayerShot_Initialize(shot); PlayerShot_Initialize(shot);
shot->obj.status = 1; shot->obj.status = 1;
shot->unk_20.z = arg8; shot->vel.z = arg8;
shot->unk_20.x = arg6; shot->vel.x = arg6;
shot->unk_20.y = arg7; shot->vel.y = arg7;
shot->obj.pos.x = xPos; shot->obj.pos.x = xPos;
shot->obj.pos.y = yPos; shot->obj.pos.y = yPos;
@ -1618,22 +1618,22 @@ void func_8006ECBC(s32 objId, PlayerShot* shot, s32 arg2, f32 xPos, f32 yPos, f3
shot->unk_58 = 1; shot->unk_58 = 1;
shot->unk_60 = 0; shot->unk_60 = 0;
if (objId == OBJ_80_9) { if (objId == PLAYERSHOT_9) {
shot->unk_64 = 120; shot->unk_64 = 120;
} else { } else {
shot->unk_64 = 30; shot->unk_64 = 30;
} }
shot->playerNum = arg2 + 100; shot->playerNum = unk0E4 + 100;
if (gLevelMode == LEVELMODE_ALL_RANGE) { if (gLevelMode == LEVELMODE_ALL_RANGE) {
if (arg2 + 100 < 104) { if (unk0E4 + 100 < 104) {
Audio_PlaySfx(0x2900000D, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x2900000D, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
} else { } else {
Audio_PlaySfx(0x29002002, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x29002002, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
} }
} else if ((arg2 < 60) && (gObjects2F4[arg2].obj.id == OBJ_2F4_200) && (gObjects2F4[arg2].unk_080 > 0)) { } else if ((unk0E4 < 60) && (gObjects2F4[unk0E4].obj.id == OBJ_2F4_200) && (gObjects2F4[unk0E4].unk_080 > 0)) {
Audio_PlaySfx(0x2900000D, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x2900000D, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
} else if (arg2 + 100 == 200) { } else if (unk0E4 + 100 == 200) {
shot->playerNum = 100; shot->playerNum = 100;
Audio_PlaySfx(0x19030037, &shot->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x19030037, &shot->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
} else { } else {
@ -1641,25 +1641,25 @@ void func_8006ECBC(s32 objId, PlayerShot* shot, s32 arg2, f32 xPos, f32 yPos, f3
} }
} }
void func_8006EEFC(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4, f32 arg5, f32 arg6, f32 xRot, f32 yRot, void func_8006EEFC(s32 unk0E4, f32 xPos, f32 yPos, f32 zPos, f32 arg4, f32 arg5, f32 arg6, f32 xRot, f32 yRot,
f32 zRot) { f32 zRot) {
s32 i; s32 i;
for (i = 0; i < 10; i++) { for (i = 0; i < 10; i++) {
if (gPlayerShots[i].obj.status == 0) { if (gPlayerShots[i].obj.status == 0) {
func_8006ECBC(PLAYERSHOT_1, &gPlayerShots[i], objId, xPos, yPos, zPos, arg4, arg5, arg6, xRot, yRot, zRot); func_8006ECBC(PLAYERSHOT_1, &gPlayerShots[i], unk0E4, xPos, yPos, zPos, arg4, arg5, arg6, xRot, yRot, zRot);
break; break;
} }
} }
} }
void func_8006EFA0(s32 objId, f32 xPos, f32 yPos, f32 zPos, f32 arg4, f32 arg5, f32 arg6, f32 xRot, f32 yRot, void func_8006EFA0(s32 unk0E4, f32 xPos, f32 yPos, f32 zPos, f32 arg4, f32 arg5, f32 arg6, f32 xRot, f32 yRot,
f32 zRot) { f32 zRot) {
s32 i; s32 i;
for (i = 0; i < 10; i++) { for (i = 0; i < 10; i++) {
if (gPlayerShots[i].obj.status == 0) { if (gPlayerShots[i].obj.status == 0) {
func_8006ECBC(PLAYERSHOT_9, &gPlayerShots[i], objId, xPos, yPos, zPos, arg4, arg5, arg6, xRot, yRot, zRot); func_8006ECBC(PLAYERSHOT_9, &gPlayerShots[i], unk0E4, xPos, yPos, zPos, arg4, arg5, arg6, xRot, yRot, zRot);
break; break;
} }
} }
@ -2002,7 +2002,7 @@ void func_800701E0(Object_2F4* obj2F4) {
f32 var_fv1; f32 var_fv1;
f32 temp_fv1; f32 temp_fv1;
if (func_800700A4(obj2F4) == 0) { if (!func_800700A4(obj2F4)) {
if ((obj2F4->unk_0D0 != 0) && (obj2F4->unk_0B4 == 0x43) && (obj2F4->unk_0D2 == 0)) { if ((obj2F4->unk_0D0 != 0) && (obj2F4->unk_0B4 == 0x43) && (obj2F4->unk_0D2 == 0)) {
obj2F4->unk_0D0 = 0; obj2F4->unk_0D0 = 0;
} }
@ -2029,7 +2029,7 @@ void func_800701E0(Object_2F4* obj2F4) {
if (obj2F4->unk_0B4 == 0x6A) { if (obj2F4->unk_0B4 == 0x6A) {
func_80077240(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 3); func_80077240(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 3);
gHitCount += 4; gHitCount += 4;
D_80177850 = 0xF; D_80177850 = 15;
} }
if (obj2F4->unk_0B4 != 0x53) { if (obj2F4->unk_0B4 != 0x53) {
@ -2106,14 +2106,14 @@ void func_800701E0(Object_2F4* obj2F4) {
func_8007D0E0(obj2F4->obj.pos.x - obj2F4->unk_0E8.x, obj2F4->obj.pos.y + 30.0f, func_8007D0E0(obj2F4->obj.pos.x - obj2F4->unk_0E8.x, obj2F4->obj.pos.y + 30.0f,
obj2F4->obj.pos.z - obj2F4->unk_0E8.z, obj2F4->scale * 5.0f); obj2F4->obj.pos.z - obj2F4->unk_0E8.z, obj2F4->scale * 5.0f);
obj2F4->unk_0D0 = 0; obj2F4->unk_0D0 = 0;
obj2F4->timer_0C2 = 0x2710; obj2F4->timer_0C2 = 10000;
obj2F4->info.unk_1C = 0.0f; obj2F4->info.unk_1C = 0.0f;
gHitCount += obj2F4->info.bonus; gHitCount += obj2F4->info.bonus;
D_80177850 = 0xF; D_80177850 = 0xF;
break; break;
default: default:
obj2F4->timer_0BC = 0x23; obj2F4->timer_0BC = 35;
obj2F4->timer_04C = 2; obj2F4->timer_04C = 2;
obj2F4->unk_0E8.y = (Rand_ZeroOne() - 0.5f) * 20.0f; obj2F4->unk_0E8.y = (Rand_ZeroOne() - 0.5f) * 20.0f;
obj2F4->unk_0E8.x = (Rand_ZeroOne() - 0.5f) * 20.0f; obj2F4->unk_0E8.x = (Rand_ZeroOne() - 0.5f) * 20.0f;
@ -2498,19 +2498,19 @@ void func_80070D44(Object_2F4* obj2F4) {
break; break;
case 36: case 36:
if ((gPlayer[0].wings.unk_14 < -8.0f) && (gLaserStrength[0] == 1)) { if ((gPlayer[0].wings.unk_14 < -8.0f) && (gLaserStrength[0] == LASERS_TWIN)) {
func_80070CEC(obj2F4); func_80070CEC(obj2F4);
} }
break; break;
case 37: case 37:
if ((gPlayer[0].wings.unk_14 < -8.0f) && (gLaserStrength[0] == 2)) { if ((gPlayer[0].wings.unk_14 < -8.0f) && (gLaserStrength[0] == LASERS_HYPER)) {
func_80070CEC(obj2F4); func_80070CEC(obj2F4);
} }
break; break;
case 38: case 38:
if ((gPlayer[0].wings.unk_14 < -8.0f) && (gLaserStrength[0] == 3)) { if ((gPlayer[0].wings.unk_14 < -8.0f) && (gLaserStrength[0] == LASERS_UNK_3)) {
func_80070CEC(obj2F4); func_80070CEC(obj2F4);
} }
break; break;
@ -2725,7 +2725,7 @@ void func_80070D44(Object_2F4* obj2F4) {
break; break;
case 67: case 67:
if (gExpertMode != 0) { if (gExpertMode) {
func_80070CEC(obj2F4); func_80070CEC(obj2F4);
} }
break; break;
@ -3422,7 +3422,7 @@ void func_80072594(Object_2F4* obj2F4) {
break; break;
case 46: case 46:
if (func_800A73E4(&spEC, &spFC, obj2F4->obj.pos.x, -100.0f, obj2F4->obj.pos.z) != 0) { if (func_800A73E4(&spEC, &spFC, obj2F4->obj.pos.x, -100.0f, obj2F4->obj.pos.z)) {
spF0 = 10.0f; spF0 = 10.0f;
if (Math_SmoothStepToF(&obj2F4->obj.pos.y, spEC, 0.5f, 7.0f, 0.0f) >= 0.0f) { if (Math_SmoothStepToF(&obj2F4->obj.pos.y, spEC, 0.5f, 7.0f, 0.0f) >= 0.0f) {
@ -3763,7 +3763,6 @@ void func_80074E3C(Object_2F4* obj2F4) {
} }
bool func_80074F04(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thisx) { bool func_80074F04(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thisx) {
gSPClearGeometryMode(gMasterDisp++, G_TEXTURE_GEN); gSPClearGeometryMode(gMasterDisp++, G_TEXTURE_GEN);
if ((limbIndex == 3) || (limbIndex == 5)) { if ((limbIndex == 3) || (limbIndex == 5)) {
gSPTexture(gMasterDisp++, 5000, 5000, 0, G_TX_RENDERTILE, G_ON); gSPTexture(gMasterDisp++, 5000, 5000, 0, G_TX_RENDERTILE, G_ON);
@ -4184,8 +4183,7 @@ void func_800763A4(Object_2F4* obj2F4) {
func_8007D24C(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 2.2f); func_8007D24C(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 2.2f);
} }
if ((D_80178294 != 0) && if ((D_80178294 != 0) && func_800A73E4(&sp58, &sp5C, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z)) {
(func_800A73E4(&sp58, &sp5C, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z) != 0)) {
func_8007BFFC(obj2F4->obj.pos.x, sp58 + 20.0f, obj2F4->obj.pos.z, 0.0f, 0.0f, 0.0f, obj2F4->scale * 3.0f, func_8007BFFC(obj2F4->obj.pos.x, sp58 + 20.0f, obj2F4->obj.pos.z, 0.0f, 0.0f, 0.0f, obj2F4->scale * 3.0f,
5); 5);
func_8007B228(obj2F4->obj.pos.x, sp58, obj2F4->obj.pos.z, 2.0f); func_8007B228(obj2F4->obj.pos.x, sp58, obj2F4->obj.pos.z, 2.0f);

View File

@ -359,7 +359,7 @@ void func_800A26C0(void) {
Save_Write(); Save_Write();
} }
gGameState++; gGameState++;
Timer_CreateTask(MSEC_TO_CYCLES(1000), Timer_Increment, &gGameState, 1); Timer_CreateTask(MSEC_TO_CYCLES(1000), Timer_Increment, (s32*) &gGameState, 1);
/* fallthrough */ /* fallthrough */
case GSTATE_LOGO_WAIT: case GSTATE_LOGO_WAIT:
RCP_SetupDL(&gMasterDisp, 0x4C); RCP_SetupDL(&gMasterDisp, 0x4C);
@ -529,7 +529,7 @@ void func_800A26C0(void) {
func_80040CDC(); func_80040CDC();
func_8008865C(); func_8008865C();
func_8002E548(); func_8002E548();
if ((gGameState == GSTATE_PLAY) && (gVersusMode)) { if ((gGameState == GSTATE_PLAY) && gVersusMode) {
func_800C1ED4(); func_800C1ED4();
} }
func_80084688(0, D_80177C50); func_80084688(0, D_80177C50);

View File

@ -29,7 +29,7 @@ extern s32 D_800D31A0[4];
#define MEM_ARRAY_ALLOCATE(arr, count) ((arr) = Memory_Allocate((count) * sizeof(*(arr)))) #define MEM_ARRAY_ALLOCATE(arr, count) ((arr) = Memory_Allocate((count) * sizeof(*(arr))))
s32 Play_CheckMedalStatus(u16 hitCount) { bool Play_CheckMedalStatus(u16 hitCount) {
if ((gTeamShields[2] > 0) && (gTeamShields[3] > 0) && (gTeamShields[1] > 0) && (gHitCount >= hitCount)) { if ((gTeamShields[2] > 0) && (gTeamShields[3] > 0) && (gTeamShields[1] > 0) && (gHitCount >= hitCount)) {
return true; return true;
} }
@ -42,9 +42,9 @@ void func_800A3FB0(void) {
s32 Play_GetMaxShields(void) { s32 Play_GetMaxShields(void) {
if (gGoldRingCount[0] >= 3) { if (gGoldRingCount[0] >= 3) {
return 0x17F; return 383;
} }
return 0xFF; return 255;
} }
void func_800A3FEC(void) { void func_800A3FEC(void) {
@ -155,7 +155,7 @@ void func_800A46A0(Player* player) {
func_8007D10C(((Rand_ZeroOne() - 0.5f) * 10.0f) + player->hit1.x, func_8007D10C(((Rand_ZeroOne() - 0.5f) * 10.0f) + player->hit1.x,
(Rand_ZeroOne() * 5.0f) + player->hit1.y, player->hit1.z, 1.0f); (Rand_ZeroOne() * 5.0f) + player->hit1.y, player->hit1.z, 1.0f);
} }
if (!(gFrameCount & 1) && (Rand_ZeroOne() < 0.5f) && (!gVersusMode)) { if (!(gFrameCount & 1) && (Rand_ZeroOne() < 0.5f) && !gVersusMode) {
func_8007C484(((Rand_ZeroOne() - 0.5f) * 5.0f) + player->hit1.x, func_8007C484(((Rand_ZeroOne() - 0.5f) * 5.0f) + player->hit1.x,
(Rand_ZeroOne() * 5.0f) + player->hit1.y, player->hit1.z, player->vel.x, player->vel.y, (Rand_ZeroOne() * 5.0f) + player->hit1.y, player->hit1.z, player->vel.x, player->vel.y,
player->vel.z, (Rand_ZeroOne() * 0.02f) + 0.02f, player->num + 1); player->vel.z, (Rand_ZeroOne() * 0.02f) + 0.02f, player->num + 1);
@ -166,7 +166,7 @@ void func_800A46A0(Player* player) {
func_8007D10C(((Rand_ZeroOne() - 0.5f) * 10.0f) + player->hit2.x, func_8007D10C(((Rand_ZeroOne() - 0.5f) * 10.0f) + player->hit2.x,
(Rand_ZeroOne() * 5.0f) + player->hit2.y, player->hit2.z, 1.0f); (Rand_ZeroOne() * 5.0f) + player->hit2.y, player->hit2.z, 1.0f);
} }
if (!(gFrameCount & 1) && (Rand_ZeroOne() < 0.5f) && (!gVersusMode)) { if (!(gFrameCount & 1) && (Rand_ZeroOne() < 0.5f) && !gVersusMode) {
func_8007C484(((Rand_ZeroOne() - 0.5f) * 5.0f) + player->hit2.x, func_8007C484(((Rand_ZeroOne() - 0.5f) * 5.0f) + player->hit2.x,
(Rand_ZeroOne() * 5.0f) + player->hit2.y, player->hit2.z, player->vel.x, player->vel.y, (Rand_ZeroOne() * 5.0f) + player->hit2.y, player->hit2.z, player->vel.x, player->vel.y,
player->vel.z, (Rand_ZeroOne() * 0.02f) + 0.02f, player->num + 1); player->vel.z, (Rand_ZeroOne() * 0.02f) + 0.02f, player->num + 1);
@ -983,7 +983,7 @@ bool func_800A73E4(f32* arg0, s32* arg1, f32 posX, f32 posY, f32 posZ) {
sp9C = (s32) ((posX + 2400.0f) / 300.0f); sp9C = (s32) ((posX + 2400.0f) / 300.0f);
sp98 = (s32) ((posZ + D_80177D20 + 1500.0f + 2400.0f) / 300.0f); sp98 = (s32) ((posZ + D_80177D20 + 1500.0f + 2400.0f) / 300.0f);
if ((sp9C < 0) || (sp9C >= 16) || (sp98 < 0) || (sp98 >= 16)) { if ((sp9C < 0) || (sp9C >= 16) || (sp98 < 0) || (sp98 >= 16)) {
return 0; return false;
} }
sp90 = Math_ModF(posX + 2400.0f, 300.0f); sp90 = Math_ModF(posX + 2400.0f, 300.0f);
sp94 = Math_ModF(posZ + D_80177D20 + 1500.0f + 2400.0f, 300.0f); sp94 = Math_ModF(posZ + D_80177D20 + 1500.0f + 2400.0f, 300.0f);
@ -1028,7 +1028,7 @@ bool func_800A73E4(f32* arg0, s32* arg1, f32 posX, f32 posY, f32 posZ) {
return false; return false;
} }
s32 func_800A78C4(Hitbox* hitbox, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6) { bool func_800A78C4(Hitbox* hitbox, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6) {
if ((fabsf(hitbox->z.offset + arg3 - arg6) < (hitbox->z.size + D_8017853C)) && if ((fabsf(hitbox->z.offset + arg3 - arg6) < (hitbox->z.size + D_8017853C)) &&
(fabsf(hitbox->x.offset + arg1 - arg4) < (hitbox->x.size + D_8017853C)) && (fabsf(hitbox->x.offset + arg1 - arg4) < (hitbox->x.size + D_8017853C)) &&
(fabsf(hitbox->y.offset + arg2 - arg5) < (hitbox->y.size + D_8017853C))) { (fabsf(hitbox->y.offset + arg2 - arg5) < (hitbox->y.size + D_8017853C))) {
@ -1156,14 +1156,15 @@ s32 func_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f32 yPo
return 0; return 0;
} }
bool func_800A8054(s32 objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8) { bool func_800A8054(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7,
Vec3f* arg8) {
Vec3f sp54; Vec3f sp54;
Vec3f sp48; Vec3f sp48;
Vec3f sp3C; Vec3f sp3C;
f32 pad1; f32 pad1;
f32 sp34; f32 sp34;
s32 var_s0; s32 colId;
s32 var_v0; s32 useCol2;
sp54.x = arg4; sp54.x = arg4;
sp54.y = arg5; sp54.y = arg5;
@ -1172,104 +1173,104 @@ bool func_800A8054(s32 objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5,
sp48.y = arg2; sp48.y = arg2;
sp48.z = arg3; sp48.z = arg3;
var_v0 = false; useCol2 = false;
switch (objId) { switch (objId) {
case OBJ_2F4_180: case OBJ_2F4_180:
var_s0 = 0; colId = COL1_0;
break; break;
case OBJ_80_4: case OBJ_80_4:
case OBJ_80_5: case OBJ_80_5:
var_s0 = 1; colId = COL2_1;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_149: case OBJ_80_149:
var_s0 = 5; colId = COL1_5;
break; break;
case OBJ_80_150: case OBJ_80_150:
var_s0 = 6; colId = COL1_6;
break; break;
case OBJ_408_308: case OBJ_408_308:
var_s0 = 4; colId = COL1_4;
break; break;
case OBJ_408_312: case OBJ_408_312:
var_s0 = 9; colId = COL1_9;
break; break;
case OBJ_408_309: case OBJ_408_309:
var_s0 = 7; colId = COL1_7;
break; break;
case OBJ_UNK_1000: case OBJ_UNK_1000:
var_s0 = 3; colId = COL1_3;
break; break;
case OBJ_408_313: case OBJ_408_313:
var_s0 = 8; colId = COL1_8;
break; break;
case OBJ_80_39: case OBJ_80_39:
var_s0 = 1; colId = COL1_1;
break; break;
case OBJ_80_120: case OBJ_80_120:
var_s0 = 18; colId = COL2_18;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_124: case OBJ_80_124:
var_s0 = 15; colId = COL2_15;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_126: case OBJ_80_126:
var_s0 = 16; colId = COL2_16;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_47: case OBJ_80_47:
var_s0 = 7; colId = COL2_7;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_2: case OBJ_80_2:
var_s0 = 2; colId = COL2_2;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_3: case OBJ_80_3:
case OBJ_80_69: case OBJ_80_69:
var_s0 = 3; colId = COL2_3;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_143: case OBJ_80_143:
var_s0 = 17; colId = COL2_17;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_140: case OBJ_80_140:
var_s0 = 4; colId = COL2_4;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_141: case OBJ_80_141:
var_s0 = 6; colId = COL2_6;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_117: case OBJ_80_117:
var_s0 = 14; colId = COL2_14;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_70: case OBJ_80_70:
var_s0 = 8; colId = COL2_8;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_72: case OBJ_80_72:
var_s0 = 9; colId = COL2_9;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_71: case OBJ_80_71:
var_s0 = 10; colId = COL2_10;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_73: case OBJ_80_73:
var_s0 = 11; colId = COL2_11;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_67: case OBJ_80_67:
var_s0 = 12; colId = COL2_12;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_74: case OBJ_80_74:
var_s0 = 13; colId = COL2_13;
var_v0 = true; useCol2 = true;
break; break;
case OBJ_80_118: case OBJ_80_118:
case OBJ_80_119: case OBJ_80_119:
@ -1324,17 +1325,17 @@ bool func_800A8054(s32 objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5,
case OBJ_80_66: case OBJ_80_66:
case OBJ_80_68: case OBJ_80_68:
default: default:
var_s0 = 0; colId = COL2_0;
var_v0 = true; useCol2 = true;
break; break;
} }
if (!var_v0) { if (!useCol2) {
if (func_800998FC(&sp54, &sp48, arg8, var_s0, &sp3C, &sp34) > 0) { if (func_800998FC(&sp54, &sp48, arg8, colId, &sp3C, &sp34) > 0) {
return true; return true;
} }
} else { } else {
if (func_800A3690(&sp54, &sp48, var_s0, arg7)) { if (func_800A3690(&sp54, &sp48, colId, arg7)) {
return true; return true;
} }
} }
@ -1342,7 +1343,7 @@ bool func_800A8054(s32 objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5,
} }
// arg5 could be Vec3f (not Vec3f*) // arg5 could be Vec3f (not Vec3f*)
s32 func_800A8304(Player* player, s32 objId, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { s32 func_800A8304(Player* player, ObjectId objId, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) {
Vec3f sp84; Vec3f sp84;
Vec3f sp78; Vec3f sp78;
Vec3f sp6C; Vec3f sp6C;
@ -1563,7 +1564,7 @@ void func_800A8BA4(Player* player) {
func_8007BC7C(player->hit2.x, player->hit2.y, player->hit2.z, 6.0f); func_8007BC7C(player->hit2.x, player->hit2.y, player->hit2.z, 6.0f);
} }
} }
} else if ((player->form == FORM_LANDMASTER) && (!gVersusMode)) { } else if ((player->form == FORM_LANDMASTER) && !gVersusMode) {
func_800444BC(player); func_800444BC(player);
} }
@ -2052,7 +2053,7 @@ void func_800AA800(Player* player) {
Object_58* obj58; Object_58* obj58;
Object_80* obj80; Object_80* obj80;
s32 count; s32 count;
s32 var_s0; s32 colId;
s32 i; s32 i;
f32 tempx; f32 tempx;
f32 tempy; f32 tempy;
@ -2112,13 +2113,13 @@ void func_800AA800(Player* player) {
spD4.x = player->pos.x; spD4.x = player->pos.x;
spD4.y = D_80177940; spD4.y = D_80177940;
spD4.z = player->unk_138; spD4.z = player->unk_138;
var_s0 = 4; colId = COL2_4;
if (obj58->obj.id == OBJ_80_141) { if (obj58->obj.id == OBJ_80_141) {
var_s0 = 6; colId = COL2_6;
} else if (obj58->obj.id == OBJ_80_143) { } else if (obj58->obj.id == OBJ_80_143) {
var_s0 = 17; colId = COL2_17;
} }
if (func_800A3690(&spD4, &spC8, var_s0, &spBC) != 0) { if (func_800A3690(&spD4, &spC8, colId, &spBC)) {
player->unk_068 = spBC.y + 1.0f; player->unk_068 = spBC.y + 1.0f;
player->unk_248 = spBC.x; player->unk_248 = spBC.x;
player->unk_24C = spBC.z; player->unk_24C = spBC.z;
@ -2155,22 +2156,22 @@ void func_800AA800(Player* player) {
if ((obj58->obj.id == OBJ_80_149) || (obj58->obj.id == OBJ_80_150)) { if ((obj58->obj.id == OBJ_80_149) || (obj58->obj.id == OBJ_80_150)) {
if (obj58->obj.id == OBJ_80_149) { if (obj58->obj.id == OBJ_80_149) {
var_s0 = 5; colId = COL1_5;
} else { } else {
var_s0 = 6; colId = COL1_6;
} }
if (func_800998FC(&spD4, &spC8, &sp9C, var_s0, &spB0, spA8) > 0) { if (func_800998FC(&spD4, &spC8, &sp9C, colId, &spB0, spA8) > 0) {
player->unk_068 = spB0.y; player->unk_068 = spB0.y;
player->unk_248 = spA8[0]; player->unk_248 = spA8[0];
player->unk_24C = spA8[1]; player->unk_24C = spA8[1];
player->unk_070 = (sp120 / 180.0f) * M_PI; player->unk_070 = (sp120 / 180.0f) * M_PI;
} }
} else { } else {
var_s0 = 0; colId = COL2_0;
if (obj58->obj.id == OBJ_80_3) { if (obj58->obj.id == OBJ_80_3) {
var_s0 = 3; colId = COL2_3;
} }
if (func_800A3690(&spD4, &spC8, var_s0, &spBC) != 0) { if (func_800A3690(&spD4, &spC8, colId, &spBC)) {
player->unk_068 = spBC.y; player->unk_068 = spBC.y;
player->unk_248 = spBC.x; player->unk_248 = spBC.x;
player->unk_24C = spBC.z; player->unk_24C = spBC.z;
@ -2207,19 +2208,19 @@ void func_800AA800(Player* player) {
spC8.y = tempy; spC8.y = tempy;
spC8.z = tempz; spC8.z = tempz;
var_s0 = 0; colId = COL2_0;
if (obj80->obj.id == OBJ_80_47) { if (obj80->obj.id == OBJ_80_47) {
var_s0 = 7; colId = COL2_7;
} }
if (obj80->obj.id == OBJ_80_2) { if (obj80->obj.id == OBJ_80_2) {
var_s0 = 2; colId = COL2_2;
} else if (obj80->obj.id == OBJ_80_3) { } else if (obj80->obj.id == OBJ_80_3) {
var_s0 = 3; colId = COL2_3;
} else if ((obj80->obj.id == OBJ_80_4) || (obj80->obj.id == OBJ_80_5)) { } else if ((obj80->obj.id == OBJ_80_4) || (obj80->obj.id == OBJ_80_5)) {
var_s0 = 1; colId = COL2_1;
} }
if (func_800A3690(&spD4, &spC8, var_s0, &spBC) != 0) { if (func_800A3690(&spD4, &spC8, colId, &spBC)) {
player->unk_068 = spBC.y; player->unk_068 = spBC.y;
player->unk_06C = player->unk_138 + var_fs1; player->unk_06C = player->unk_138 + var_fs1;
player->unk_248 = spBC.x; player->unk_248 = spBC.x;
@ -2266,7 +2267,7 @@ void func_800AA800(Player* player) {
break; break;
} }
if (func_800A78C4(hitbox, tempx, tempy, tempz, tempx2, tempy2, tempz2) != 0) { if (func_800A78C4(hitbox, tempx, tempy, tempz, tempx2, tempy2, tempz2)) {
if (D_80177940 < player->unk_068) { if (D_80177940 < player->unk_068) {
player->unk_068 = spEC.y + 15.0f + tempy; player->unk_068 = spEC.y + 15.0f + tempy;
player->unk_06C = spEC.z + 10.0f + tempz; player->unk_06C = spEC.z + 10.0f + tempz;
@ -2348,11 +2349,7 @@ void func_800AB334(void) {
case LEVEL_VENOM_ANDROSS: case LEVEL_VENOM_ANDROSS:
D_80177A98 = 0; D_80177A98 = 0;
D_80177AB0 = 6; D_80177AB0 = 6;
D_E9F1D0_801A7F78 = 0.0f; D_E9F1D0_801A7F58 = D_E9F1D0_801A7F60 = D_E9F1D0_801A7F68 = D_E9F1D0_801A7F70 = D_E9F1D0_801A7F78 = 0.0f;
D_E9F1D0_801A7F70 = D_E9F1D0_801A7F78;
D_E9F1D0_801A7F68 = D_E9F1D0_801A7F70;
D_E9F1D0_801A7F60 = D_E9F1D0_801A7F68;
D_E9F1D0_801A7F58 = D_E9F1D0_801A7F60;
break; break;
case LEVEL_AQUAS: case LEVEL_AQUAS:
D_80137E78 = 3; D_80137E78 = 3;
@ -2370,7 +2367,7 @@ void func_800AB334(void) {
case LEVEL_ZONESS: case LEVEL_ZONESS:
MEM_ARRAY_ALLOCATE(D_801782C4, 200); MEM_ARRAY_ALLOCATE(D_801782C4, 200);
ptr = (u8*) D_801782C4; ptr = (u8*) D_801782C4;
for (i = 0; i < 200 * sizeof(PosRot); i++, ptr++) { for (i = 0; i < 200 * sizeof(*D_801782C4); i++, ptr++) {
*ptr = 0; *ptr = 0;
} }
D_801784A4 = 0; D_801784A4 = 0;
@ -2452,7 +2449,7 @@ void func_800AB964(void) {
for (j = 0; j < 10; j++) { for (j = 0; j < 10; j++) {
D_80177DD0[i][j] = 0; D_80177DD0[i][j] = 0;
} }
gLaserStrength[i] = 0; gLaserStrength[i] = LASERS_SINGLE;
gBombCount[i] = 0; gBombCount[i] = 0;
} }
D_80177E7C = D_80177E74 = 0; D_80177E7C = D_80177E74 = 0;
@ -2480,7 +2477,7 @@ void func_800ABAB4(void) {
gControllerRumble[i] = 0; gControllerRumble[i] = 0;
} }
if (gExpertMode != 0) { if (gExpertMode) {
D_80177828 = 200; D_80177828 = 200;
} else { } else {
D_80177828 = 100; D_80177828 = 100;
@ -2631,7 +2628,7 @@ void func_800ABAB4(void) {
func_800AB334(); func_800AB334();
} }
void func_800AC290(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, s32 objId, f32 arg5) { void func_800AC290(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, PlayerShotId shotId, f32 arg5) {
Vec3f sp44; Vec3f sp44;
Vec3f sp38; Vec3f sp38;
Vec3f sp2C; Vec3f sp2C;
@ -2641,7 +2638,7 @@ void func_800AC290(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, s32 obj
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4 + player->unk_4D8) * M_DTOR), 1); Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4 + player->unk_4D8) * M_DTOR), 1);
Matrix_RotateZ(gCalcMatrix, -((player->unk_0F8 + player->unk_0F0) * M_DTOR), 1); Matrix_RotateZ(gCalcMatrix, -((player->unk_0F8 + player->unk_0F0) * M_DTOR), 1);
Matrix_Translate(gCalcMatrix, player->unk_084, player->unk_080, 0.0f, 1); Matrix_Translate(gCalcMatrix, player->unk_084, player->unk_080, 0.0f, 1);
if ((gVersusMode) && (objId <= PLAYERSHOT_1)) { if (gVersusMode && (shotId <= PLAYERSHOT_1)) {
arg5 *= 0.5f; arg5 *= 0.5f;
} }
sp44.x = 0.0f; sp44.x = 0.0f;
@ -2653,11 +2650,11 @@ void func_800AC290(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, s32 obj
sp44.z = 0.0f; sp44.z = 0.0f;
Matrix_MultVec3f(gCalcMatrix, &sp44, &sp2C); Matrix_MultVec3f(gCalcMatrix, &sp44, &sp2C);
shot->obj.status = 1; shot->obj.status = 1;
shot->unk_20.x = sp38.x; shot->vel.x = sp38.x;
shot->unk_20.y = sp38.y; shot->vel.y = sp38.y;
shot->unk_20.z = sp38.z; shot->vel.z = sp38.z;
shot->unk_60 = 0; shot->unk_60 = 0;
shot->obj.id = objId; shot->obj.id = shotId;
if (!gVersusMode) { if (!gVersusMode) {
shot->unk_64 = 35; shot->unk_64 = 35;
@ -2677,7 +2674,7 @@ void func_800AC290(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, s32 obj
shot->obj.rot.x = player->unk_120 + player->unk_0E4 + player->unk_4D8; shot->obj.rot.x = player->unk_120 + player->unk_0E4 + player->unk_4D8;
shot->obj.rot.y = player->unk_0E8 + player->unk_114; shot->obj.rot.y = player->unk_0E8 + player->unk_114;
shot->obj.rot.z = player->unk_0F8; shot->obj.rot.z = player->unk_0F8;
if (objId == PLAYERSHOT_8) { if (shotId == PLAYERSHOT_8) {
if (gCurrentLevel == LEVEL_AQUAS) { if (gCurrentLevel == LEVEL_AQUAS) {
shot->unk_58 = Rand_ZeroOne() * 360.0f; shot->unk_58 = Rand_ZeroOne() * 360.0f;
shot->unk_60 = Rand_ZeroOne() * 360.0f; shot->unk_60 = Rand_ZeroOne() * 360.0f;
@ -2697,7 +2694,7 @@ void func_800AC290(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, s32 obj
shot->playerNum = player->num; shot->playerNum = player->num;
} }
void func_800AC650(Player* player, PlayerShot* shot, s32 objId, f32 arg3) { void func_800AC650(Player* player, PlayerShot* shot, PlayerShotId shotId, f32 arg3) {
Vec3f sp54; Vec3f sp54;
Vec3f sp48; Vec3f sp48;
Vec3f sp3C; Vec3f sp3C;
@ -2729,9 +2726,9 @@ void func_800AC650(Player* player, PlayerShot* shot, s32 objId, f32 arg3) {
sp54.y = 7; sp54.y = 7;
sp54.z = 0; sp54.z = 0;
Matrix_MultVec3f(gCalcMatrix, &sp54, &sp3C); Matrix_MultVec3f(gCalcMatrix, &sp54, &sp3C);
shot->unk_20.x = sp48.x; shot->vel.x = sp48.x;
shot->unk_20.y = sp48.y; shot->vel.y = sp48.y;
shot->unk_20.z = sp48.z; shot->vel.z = sp48.z;
shot->obj.pos.x = player->pos.x + sp3C.x; shot->obj.pos.x = player->pos.x + sp3C.x;
shot->obj.pos.y = player->pos.y + sp3C.y; shot->obj.pos.y = player->pos.y + sp3C.y;
shot->obj.pos.z = player->unk_138 + sp3C.z; shot->obj.pos.z = player->unk_138 + sp3C.z;
@ -2743,10 +2740,10 @@ void func_800AC650(Player* player, PlayerShot* shot, s32 objId, f32 arg3) {
shot->obj.rot.y = player->unk_0E8 + player->unk_114; shot->obj.rot.y = player->unk_0E8 + player->unk_114;
shot->obj.rot.z = player->unk_0EC; shot->obj.rot.z = player->unk_0EC;
shot->unk_64 = 40; shot->unk_64 = 40;
shot->obj.id = objId; shot->obj.id = shotId;
shot->playerNum = player->num; shot->playerNum = player->num;
if (objId == PLAYERSHOT_8) { if (shotId == PLAYERSHOT_8) {
if (arg3 <= 65.0f) { if (arg3 <= 65.0f) {
shot->unk_5C = 1; shot->unk_5C = 1;
} }
@ -2770,13 +2767,13 @@ void func_800ACA40(Player* player) {
void func_800ACABC(Player* player) { void func_800ACABC(Player* player) {
s32 i; s32 i;
s32 laser = gLaserStrength[gPlayerNum]; LaserStrength laser = gLaserStrength[gPlayerNum];
if (player->wings.unk_14 > -8.0f) { if (player->wings.unk_14 > -8.0f) {
laser = 0; laser = LASERS_SINGLE;
} }
switch (laser) { switch (laser) {
case 0: case LASERS_SINGLE:
for (i = 0; i < ARRAY_COUNT(gPlayerShots) - 1; i++) { for (i = 0; i < ARRAY_COUNT(gPlayerShots) - 1; i++) {
if (gPlayerShots[i].obj.status == 0) { if (gPlayerShots[i].obj.status == 0) {
func_800AC290(player, &gPlayerShots[i], 0.0f, 0.0f, PLAYERSHOT_0, 400.0f / 3.0f); func_800AC290(player, &gPlayerShots[i], 0.0f, 0.0f, PLAYERSHOT_0, 400.0f / 3.0f);
@ -2786,12 +2783,12 @@ void func_800ACABC(Player* player) {
} }
} }
break; break;
case 1: case LASERS_TWIN:
case 2: case LASERS_HYPER:
for (i = 0; i < ARRAY_COUNT(gPlayerShots) - 1; i++) { for (i = 0; i < ARRAY_COUNT(gPlayerShots) - 1; i++) {
if (gPlayerShots[i].obj.status == 0) { if (gPlayerShots[i].obj.status == 0) {
func_800AC290(player, &gPlayerShots[i], 0.0f, -10.0f, PLAYERSHOT_1, 400.0f / 3.0f); func_800AC290(player, &gPlayerShots[i], 0.0f, -10.0f, PLAYERSHOT_1, 400.0f / 3.0f);
if (laser == 1) { if (laser == LASERS_TWIN) {
func_800A5FA0(&player->unk_460, 0x0940800C, player->num); func_800A5FA0(&player->unk_460, 0x0940800C, player->num);
D_80177AA0[player->num] = 0.5f; D_80177AA0[player->num] = 0.5f;
} else { } else {
@ -2827,7 +2824,7 @@ void func_800ACC7C(Player* player) {
} }
} }
void func_800ACDC0(Player* player, PlayerShot* shot, s32 objId) { void func_800ACDC0(Player* player, PlayerShot* shot, PlayerShotId shotId) {
Vec3f sp5C; Vec3f sp5C;
Vec3f sp50; Vec3f sp50;
Vec3f sp44; Vec3f sp44;
@ -2839,7 +2836,7 @@ void func_800ACDC0(Player* player, PlayerShot* shot, s32 objId) {
Matrix_RotateX(gCalcMatrix, player->unk_154 * M_DTOR, 1); Matrix_RotateX(gCalcMatrix, player->unk_154 * M_DTOR, 1);
sp5C.x = 0.0f; sp5C.x = 0.0f;
sp5C.y = 0.0f; sp5C.y = 0.0f;
if (objId == PLAYERSHOT_3) { if (shotId == PLAYERSHOT_3) {
sp5C.z = 100.0f; sp5C.z = 100.0f;
} else { } else {
sp5C.z = 150.0f; sp5C.z = 150.0f;
@ -2855,9 +2852,9 @@ void func_800ACDC0(Player* player, PlayerShot* shot, s32 objId) {
sp5C.y = 0.0f; sp5C.y = 0.0f;
sp5C.z = 0; sp5C.z = 0;
Matrix_MultVec3f(gCalcMatrix, &sp5C, &sp44); Matrix_MultVec3f(gCalcMatrix, &sp5C, &sp44);
shot->unk_20.x = sp50.x; shot->vel.x = sp50.x;
shot->unk_20.y = sp50.y; shot->vel.y = sp50.y;
shot->unk_20.z = sp50.z; shot->vel.z = sp50.z;
shot->obj.pos.x = player->pos.x + sp44.x; shot->obj.pos.x = player->pos.x + sp44.x;
shot->obj.pos.y = player->pos.y + sp44.y; shot->obj.pos.y = player->pos.y + sp44.y;
shot->obj.pos.z = player->unk_138 + sp44.z; shot->obj.pos.z = player->unk_138 + sp44.z;
@ -2865,7 +2862,7 @@ void func_800ACDC0(Player* player, PlayerShot* shot, s32 objId) {
shot->unk_44 = 1.0f; shot->unk_44 = 1.0f;
shot->obj.status = 1; shot->obj.status = 1;
shot->obj.id = objId; shot->obj.id = shotId;
shot->unk_64 = 30; shot->unk_64 = 30;
shot->unk_58 = 1; shot->unk_58 = 1;
@ -2886,7 +2883,7 @@ void func_800AD094(Player* player) {
} }
} }
s32 func_800AD118(s32 playerNum) { bool func_800AD118(s32 playerNum) {
Object_2F4* obj2F4; Object_2F4* obj2F4;
s32 i; s32 i;
@ -2921,7 +2918,7 @@ bool func_800AD1F4(Player* player) {
} }
if ((!(gInputHold->button & R_TRIG) || !(gInputHold->button & Z_TRIG) || (player->form != FORM_ARWING) || if ((!(gInputHold->button & R_TRIG) || !(gInputHold->button & Z_TRIG) || (player->form != FORM_ARWING) ||
(player->state_1C8 != PLAYERSTATE_1C8_3)) && (player->state_1C8 != PLAYERSTATE_1C8_3)) &&
!(gFrameCount & 3) && (func_800AD118(player->num) != 0)) { !(gFrameCount & 3) && func_800AD118(player->num)) {
if (gChargeTimers[player->num] >= 21) { if (gChargeTimers[player->num] >= 21) {
for (i = 0; i < 13; i++) { for (i = 0; i < 13; i++) {
if (gPlayerShots[i].obj.status == 0) { if (gPlayerShots[i].obj.status == 0) {
@ -3016,10 +3013,10 @@ void func_800AD7F0(Player* player) {
switch (player->form) { switch (player->form) {
case FORM_ARWING: case FORM_ARWING:
if ((player->wings.rightState <= WINGSTATE_BROKEN) || (player->wings.leftState <= WINGSTATE_BROKEN)) { if ((player->wings.rightState <= WINGSTATE_BROKEN) || (player->wings.leftState <= WINGSTATE_BROKEN)) {
gLaserStrength[player->num] = 0; gLaserStrength[player->num] = LASERS_SINGLE;
} }
if (func_800AD1F4(player) == 0) { if (!func_800AD1F4(player)) {
if (gLaserStrength[gPlayerNum] > 0) { if (gLaserStrength[gPlayerNum] > LASERS_SINGLE) {
Math_SmoothStepToF(&player->wings.unk_14, -10.0f, 1.0f, 0.5f, 0.0f); Math_SmoothStepToF(&player->wings.unk_14, -10.0f, 1.0f, 0.5f, 0.0f);
} else { } else {
Math_SmoothStepToF(&player->wings.unk_14, 0.0f, 1.0f, 0.5f, 0.0f); Math_SmoothStepToF(&player->wings.unk_14, 0.0f, 1.0f, 0.5f, 0.0f);
@ -3038,7 +3035,7 @@ void func_800AD7F0(Player* player) {
} }
break; break;
case FORM_LANDMASTER: case FORM_LANDMASTER:
if (func_800AD1F4(player) == 0) { if (!func_800AD1F4(player)) {
if (gShootButton[player->num] & gInputPress->button) { if (gShootButton[player->num] & gInputPress->button) {
func_800ACA40(player); func_800ACA40(player);
} }
@ -4094,10 +4091,8 @@ void func_800B0F50(Player* playerx) {
D_80161684 = D_80161A50; D_80161684 = D_80161A50;
D_80177DC8 = D_80177CA0; D_80177DC8 = D_80177CA0;
D_80161A88 = D_80161A8C; D_80161A88 = D_80161A8C;
player->unk_144 = D_80177CB0; D_80177D20 = player->unk_144 = D_80177CB0;
D_80177D20 = player->unk_144; player->pos.z = player->unk_138 = -player->unk_144;
player->unk_138 = -player->unk_144;
player->pos.z = -player->unk_144;
if ((D_80177CA0 > 0) && (gLevelMode == LEVELMODE_ON_RAILS)) { if ((D_80177CA0 > 0) && (gLevelMode == LEVELMODE_ON_RAILS)) {
if (gCurrentLevel == LEVEL_MACBETH) { if (gCurrentLevel == LEVEL_MACBETH) {
sp2E = D_80177DC8; sp2E = D_80177DC8;
@ -4116,7 +4111,7 @@ void func_800B0F50(Player* playerx) {
D_801779E8.x = D_801779E8.y = D_801779E8.z = D_801779D8.x = D_801779D8.y = D_801779D8.z = 0.0f; D_801779E8.x = D_801779E8.y = D_801779E8.z = D_801779D8.x = D_801779D8.y = D_801779D8.z = 0.0f;
if (gVersusMode) { if (gVersusMode) {
gLaserStrength[gPlayerNum] = 0; gLaserStrength[gPlayerNum] = LASERS_SINGLE;
player->pos.y = 500.0f; player->pos.y = 500.0f;
player->pos.x = D_800D3114[gPlayerNum]; player->pos.x = D_800D3114[gPlayerNum];
player->pos.z = D_800D3124[gPlayerNum]; player->pos.z = D_800D3124[gPlayerNum];
@ -4287,7 +4282,7 @@ void func_800B0F50(Player* playerx) {
for (j = 0; j < 6; j++) { for (j = 0; j < 6; j++) {
D_80177CD0[j] = D_80177CF0[j] = 1; D_80177CD0[j] = D_80177CF0[j] = 1;
} }
gLaserStrength[gPlayerNum] = 0; gLaserStrength[gPlayerNum] = LASERS_SINGLE;
gGoldRingCount[0] = D_80161A94[0] = D_80161714 = 0; gGoldRingCount[0] = D_80161A94[0] = D_80161714 = 0;
gLifeCount[gPlayerNum] = 2; gLifeCount[gPlayerNum] = 2;
gBombCount[gPlayerNum] = 3; gBombCount[gPlayerNum] = 3;
@ -4324,7 +4319,7 @@ void func_800B0F50(Player* playerx) {
break; break;
} }
} }
if (gLaserStrength[gPlayerNum] > 0) { if (gLaserStrength[gPlayerNum] > LASERS_SINGLE) {
player->wings.unk_14 = -10.0f; player->wings.unk_14 = -10.0f;
} }
D_801779BC = 0; D_801779BC = 0;
@ -5134,7 +5129,7 @@ void func_800B44C4(Player* player) {
} }
void func_800B46F8(Player* player) { void func_800B46F8(Player* player) {
s32 temp_ft2; s32 teamId;
if ((player->state_1C8 == PLAYERSTATE_1C8_3) && (D_8017796C >= 0)) { if ((player->state_1C8 == PLAYERSTATE_1C8_3) && (D_8017796C >= 0)) {
D_8017796C++; D_8017796C++;
@ -5144,10 +5139,10 @@ void func_800B46F8(Player* player) {
if ((player->shields < 0x40) && ((gTeamShields[1] > 0) || (gTeamShields[3] > 0) || (gTeamShields[2] > 0))) { if ((player->shields < 0x40) && ((gTeamShields[1] > 0) || (gTeamShields[3] > 0) || (gTeamShields[2] > 0))) {
do { do {
do { do {
temp_ft2 = (s32) (Rand_ZeroOne() * 2.9f) + 1; teamId = (s32) (Rand_ZeroOne() * 2.9f) + 1;
} while (gTeamShields[temp_ft2] <= 0); } while (gTeamShields[teamId] <= 0);
} while (0); // macro? } while (0); // macro?
switch (temp_ft2) { switch (teamId) {
case 1: case 1:
if (Rand_ZeroOne() < 0.5f) { if (Rand_ZeroOne() < 0.5f) {
func_800BA808(gMsg_ID_20306, RCID_FALCO); func_800BA808(gMsg_ID_20306, RCID_FALCO);
@ -5206,11 +5201,11 @@ void func_800B48BC(Player* player) {
*D_80177984 = 1; *D_80177984 = 1;
} }
} }
if (player->state_1C8 >= 2) { if (player->state_1C8 >= PLAYERSTATE_1C8_2) {
func_800B39E0(player); func_800B39E0(player);
} }
player->unk_228 = 0; player->unk_228 = 0;
if ((player->state_1C8 >= 2) && (player->form == FORM_ARWING) && !gVersusMode) { if ((player->state_1C8 >= PLAYERSTATE_1C8_2) && (player->form == FORM_ARWING) && !gVersusMode) {
switch (player->unk_204) { switch (player->unk_204) {
case 0: case 0:
sp1C4 = Animation_GetFrameData(&D_3015AF4, 0, sp58); sp1C4 = Animation_GetFrameData(&D_3015AF4, 0, sp58);
@ -5440,7 +5435,7 @@ void func_800B48BC(Player* player) {
D_80177854 = 1; D_80177854 = 1;
} }
gBombCount[gPlayerNum] = 3; gBombCount[gPlayerNum] = 3;
gLaserStrength[gPlayerNum] = 0; gLaserStrength[gPlayerNum] = LASERS_SINGLE;
D_80178488 = true; D_80178488 = true;
gDrawMode = DRAWMODE_0; gDrawMode = DRAWMODE_0;
} }
@ -5889,7 +5884,7 @@ void func_800B7184(Player* player, s32 arg1) {
void func_800B71E4(Player* player) { void func_800B71E4(Player* player) {
switch (player->state_1C8) { switch (player->state_1C8) {
case 3: case PLAYERSTATE_1C8_3:
switch (gLevelMode) { switch (gLevelMode) {
case LEVELMODE_ON_RAILS: case LEVELMODE_ON_RAILS:
if (player->form == FORM_ARWING) { if (player->form == FORM_ARWING) {
@ -5912,11 +5907,11 @@ void func_800B71E4(Player* player) {
break; break;
} }
break; break;
case 5: case PLAYERSTATE_1C8_5:
player->unk_034 -= player->unk_034 * 0.1f; player->unk_034 -= player->unk_034 * 0.1f;
func_800B7184(player, 0); func_800B7184(player, 0);
break; break;
case 4: case PLAYERSTATE_1C8_4:
if ((gLevelMode == LEVELMODE_ON_RAILS) && (player->form == FORM_ARWING)) { if ((gLevelMode == LEVELMODE_ON_RAILS) && (player->form == FORM_ARWING)) {
player->camEye.x += (player->pos.x - player->camEye.x) * 0.1f; player->camEye.x += (player->pos.x - player->camEye.x) * 0.1f;
player->camEye.y += (player->pos.y - player->camEye.y) * 0.1f; player->camEye.y += (player->pos.y - player->camEye.y) * 0.1f;
@ -5929,8 +5924,8 @@ void func_800B71E4(Player* player) {
player->camAt.z = player->unk_138 + D_80177D20 - 1.0f; player->camAt.z = player->unk_138 + D_80177D20 - 1.0f;
} }
break; break;
case 6: case PLAYERSTATE_1C8_6:
case 7: case PLAYERSTATE_1C8_7:
break; break;
} }
} }
@ -6038,8 +6033,8 @@ void func_800B79B0(void) {
case LEVEL_VERSUS: case LEVEL_VERSUS:
func_800C26C8(); func_800C26C8();
D_80177844++; D_80177844++;
if ((D_80177844 == 200) && (gLaserStrength[0] == 0) && (gLaserStrength[1] == 0) && if ((D_80177844 == 200) && (gLaserStrength[0] == LASERS_SINGLE) && (gLaserStrength[1] == LASERS_SINGLE) &&
(gLaserStrength[2] == 0) && (gLaserStrength[3] == 0)) { (gLaserStrength[2] == LASERS_SINGLE) && (gLaserStrength[3] == LASERS_SINGLE)) {
func_800B852C(OBJ_ITEM_LASERS, &gItems[0]); func_800B852C(OBJ_ITEM_LASERS, &gItems[0]);
} }
if ((D_80177844 == 400) && (gBombCount[0] == 0) && (gBombCount[1] == 0) && (gBombCount[2] == 0) && if ((D_80177844 == 400) && (gBombCount[0] == 0) && (gBombCount[1] == 0) && (gBombCount[2] == 0) &&
@ -6235,7 +6230,7 @@ void func_800B832C(void) {
func_800B79B0(); func_800B79B0();
} }
void func_800B852C(s32 objId, Item* item) { void func_800B852C(ObjectId objId, Item* item) {
u8 sp1F = Rand_ZeroOne() * 5.0f; u8 sp1F = Rand_ZeroOne() * 5.0f;
if (D_800D317C == sp1F) { if (D_800D317C == sp1F) {

View File

@ -671,10 +671,8 @@ void func_800BB5D0(void) {
if (temp_ft0 == RCID_PEPPY) { if (temp_ft0 == RCID_PEPPY) {
var_v1 = 3; var_v1 = 3;
} }
if ((((((gTeamShields[var_v1] <= 0) && (gFrameCount & 4)) && (gTeamShields[var_v1] != (-2))) && if ((gTeamShields[var_v1] <= 0) && (gFrameCount & 4) && (gTeamShields[var_v1] != -2) && (D_801782A4 != 2) &&
(D_801782A4 != 2)) && (D_801782A4 != 3) && (D_801782A4 != 1000)) {
(D_801782A4 != 3)) &&
(D_801782A4 != 1000)) {
RCP_SetupDL(&gMasterDisp, 0x4C); RCP_SetupDL(&gMasterDisp, 0x4C);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN"); Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN");
@ -687,12 +685,9 @@ void func_800BB5D0(void) {
temp_ft0 = (s32) D_80177D68; temp_ft0 = (s32) D_80177D68;
if ((((((((temp_ft0 == RCID_WOLF) || (temp_ft0 == RCID_PIGMA)) || (temp_ft0 == RCID_LEON)) || if ((temp_ft0 == RCID_WOLF) || (temp_ft0 == RCID_PIGMA) || (temp_ft0 == RCID_LEON) ||
(temp_ft0 == RCID_ANDREW)) || (temp_ft0 == RCID_ANDREW) || (temp_ft0 == RCID_WOLF_2) || (temp_ft0 == RCID_PIGMA_2) ||
(temp_ft0 == RCID_WOLF_2)) || (temp_ft0 == RCID_LEON_2) || (temp_ft0 == RCID_ANDREW_2)) {
(temp_ft0 == RCID_PIGMA_2)) ||
(temp_ft0 == RCID_LEON_2)) ||
(temp_ft0 == RCID_ANDREW_2)) {
switch (temp_ft0) { switch (temp_ft0) {
case RCID_WOLF: case RCID_WOLF:
@ -723,10 +718,8 @@ void func_800BB5D0(void) {
break; break;
} }
if ((((((gObjects2F4[var_v1].obj.status != 2) && (gFrameCount & 4)) && if ((gObjects2F4[var_v1].obj.status != 2) && (gFrameCount & 4) &&
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3)) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (D_801782A4 != 2) && (D_801782A4 != 3) &&
(D_801782A4 != 2)) &&
(D_801782A4 != 3)) &&
(D_801782A4 != 1000)) { (D_801782A4 != 1000)) {
RCP_SetupDL(&gMasterDisp, 0x4C); RCP_SetupDL(&gMasterDisp, 0x4C);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);

View File

@ -137,7 +137,7 @@ s32 Animation_GetLimbIndex(Limb* limb, Limb** skeleton) {
void Animation_DrawLimb(s32 mode, Limb* limb, Limb** skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, void Animation_DrawLimb(s32 mode, Limb* limb, Limb** skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw,
PostLimbDraw postLimbDraw, void* data) { PostLimbDraw postLimbDraw, void* data) {
s32 override; bool override;
s32 limbIndex; s32 limbIndex;
Gfx* dList; Gfx* dList;
Vec3f trans; Vec3f trans;
@ -194,7 +194,7 @@ void Animation_DrawLimb(s32 mode, Limb* limb, Limb** skeleton, Vec3f* jointTable
void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw,
PostLimbDraw postLimbDraw, void* data, Matrix* transform) { PostLimbDraw postLimbDraw, void* data, Matrix* transform) {
s32 override; bool override;
Limb** skeleton; Limb** skeleton;
Limb* rootLimb; Limb* rootLimb;
s32 rootIndex; s32 rootIndex;

View File

@ -43,7 +43,7 @@ extern f32 D_E6A810_801BE2A4;
extern s16 D_E6A810_801BE2FA; extern s16 D_E6A810_801BE2FA;
void func_80189120(f32 x, f32 y, f32 z, f32, f32); void func_80189120(f32 x, f32 y, f32 z, f32, f32);
s32 func_801A3C20(f32); bool func_801A3C20(f32);
s32 func_801A3300(Player*, f32, f32); s32 func_801A3300(Player*, f32, f32);
s32 func_801A3790(Player*, f32, f32); s32 func_801A3790(Player*, f32, f32);
@ -335,7 +335,7 @@ void func_800444BC(Player* player) {
if (D_801784AC == 4) { if (D_801784AC == 4) {
func_E6A810_801B6E20(player->pos.x, player->unk_138 + player->unk_144, &sp40, &sp38, &sp3C); func_E6A810_801B6E20(player->pos.x, player->unk_138 + player->unk_144, &sp40, &sp38, &sp3C);
} }
if (gCurrentLevel == 0xB) { if (gCurrentLevel == LEVEL_MACBETH) {
D_E6A810_801BE250.unk_6C = D_80177940; D_E6A810_801BE250.unk_6C = D_80177940;
D_E6A810_801BE250.unk_70 = D_E6A810_801BE250.unk_74 = 0.0f; D_E6A810_801BE250.unk_70 = D_E6A810_801BE250.unk_74 = 0.0f;
D_800C9F10 = 0.0f; D_800C9F10 = 0.0f;
@ -515,7 +515,7 @@ void func_80044868(Player* player) {
if ((gCurrentLevel == LEVEL_TITANIA) && (D_80178284 == 0)) { if ((gCurrentLevel == LEVEL_TITANIA) && (D_80178284 == 0)) {
func_80043280(D_3005EA8, D_6009BB8, gFrameCount * -55.0f); func_80043280(D_3005EA8, D_6009BB8, gFrameCount * -55.0f);
} }
if ((gCurrentLevel == LEVEL_MACBETH) && (player->state_1C8 == 7)) { if ((gCurrentLevel == LEVEL_MACBETH) && (player->state_1C8 == PLAYERSTATE_1C8_7)) {
func_80043280(D_3005EA8, *D_Unk_800DACB8, gFrameCount * -55.0f); func_80043280(D_3005EA8, *D_Unk_800DACB8, gFrameCount * -55.0f);
} }
} }
@ -877,7 +877,7 @@ void func_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 a
D_E6A810_801BE250.unk_70 = sp58.x; D_E6A810_801BE250.unk_70 = sp58.x;
D_E6A810_801BE250.unk_74 = sp58.z; D_E6A810_801BE250.unk_74 = sp58.z;
} else if ((arg1 == OBJ_80_67) && (D_E6A810_801BE250.unk_6C == 0.0f) && } else if ((arg1 == OBJ_80_67) && (D_E6A810_801BE250.unk_6C == 0.0f) &&
(func_800A8054(arg1, arg2 + 20.0f, arg3, arg4, sp84, sp80, sp7C, &sp58, &sp4C) != 0)) { func_800A8054(arg1, arg2 + 20.0f, arg3, arg4, sp84, sp80, sp7C, &sp58, &sp4C)) {
player->unk_1DC = 9; player->unk_1DC = 9;
player->timer_1E8 = 15; player->timer_1E8 = 15;
if ((arg6 > 90.0f) && (arg6 < 270.0f)) { if ((arg6 > 90.0f) && (arg6 < 270.0f)) {
@ -995,7 +995,7 @@ void func_80046704(Player* player) {
(obj80->obj.pos.z <= (player->unk_138 + 220.0f)) && (player->pos.y >= 200.0f)) { (obj80->obj.pos.z <= (player->unk_138 + 220.0f)) && (player->pos.y >= 200.0f)) {
player->unk_068 = obj80->obj.pos.y + 204.0f; player->unk_068 = obj80->obj.pos.y + 204.0f;
} }
} else if ((obj80->obj.id == OBJ_80_105) && (func_801A3C20(player->unk_138) != 0)) { } else if ((obj80->obj.id == OBJ_80_105) && func_801A3C20(player->unk_138)) {
if (((player->pos.x - 200.0f) < D_E6A810_801BE250.unk_54) && if (((player->pos.x - 200.0f) < D_E6A810_801BE250.unk_54) &&
(D_E6A810_801BE250.unk_54 < (player->pos.x + 200.0f))) { (D_E6A810_801BE250.unk_54 < (player->pos.x + 200.0f))) {
player->unk_068 = D_E6A810_801BE250.unk_58 - 1.0f; player->unk_068 = D_E6A810_801BE250.unk_58 - 1.0f;
@ -1202,7 +1202,7 @@ void func_80047754(Player* player) {
func_80047E7C(player, D_E6A810_801BE274, D_E6A810_801BE258 + 30.0f); func_80047E7C(player, D_E6A810_801BE274, D_E6A810_801BE258 + 30.0f);
} }
} }
if (func_801A3C20(player->unk_138) != 0) { if (func_801A3C20(player->unk_138)) {
player->unk_0E4 = D_E6A810_801BE250.unk_5C; player->unk_0E4 = D_E6A810_801BE250.unk_5C;
if (((player->pos.x - 200.0f) < D_E6A810_801BE250.unk_54) && if (((player->pos.x - 200.0f) < D_E6A810_801BE250.unk_54) &&
(D_E6A810_801BE250.unk_54 < (player->pos.x + 200.0f))) { (D_E6A810_801BE250.unk_54 < (player->pos.x + 200.0f))) {
@ -1317,7 +1317,7 @@ void func_80047FBC(Player* player) {
if (!(D_800C9F08 & 1)) { if (!(D_800C9F08 & 1)) {
Math_SmoothStepToF(&player->unk_0EC, -((player->vel.z / 5.0f) * 4.0f), 0.4f, 8.0f, 0.01f); Math_SmoothStepToF(&player->unk_0EC, -((player->vel.z / 5.0f) * 4.0f), 0.4f, 8.0f, 0.01f);
if (player->unk_0EC >= 3.0f) { if (player->unk_0EC >= 3.0f) {
if (gPlayer->state_1C8 != 7) { if (gPlayer->state_1C8 != PLAYERSTATE_1C8_7) {
Audio_PlaySfx(0x19000065, &player->unk_460, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x19000065, &player->unk_460, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
} }
D_800C9F08 |= 1; D_800C9F08 |= 1;

View File

@ -109,7 +109,7 @@ void func_80077790(void) {
} }
} }
Object_8C* func_8007783C(s32 objId) { Object_8C* func_8007783C(ObjectId objId) {
Object_8C* obj8C; Object_8C* obj8C;
s32 i; s32 i;
@ -612,11 +612,11 @@ void func_8007968C(Object_8C* obj8C) {
} }
} }
s32 func_800798C4(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* arg4) { bool func_800798C4(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* arg4) {
if ((arg0 != 1) && (arg0 != 5)) { if ((arg0 != 1) && (arg0 != 5)) {
*arg1 = NULL; *arg1 = NULL;
} }
return 0; return false;
} }
void func_800798F0(Object_8C* obj8C) { void func_800798F0(Object_8C* obj8C) {
@ -859,13 +859,13 @@ void func_8007A748(Object_8C* obj8C) {
} }
} }
s32 func_8007A774(Player* player, Object_8C* obj8C, f32 arg2) { bool func_8007A774(Player* player, Object_8C* obj8C, f32 arg2) {
if ((fabsf(player->unk_138 - obj8C->obj.pos.z) < arg2) && (fabsf(player->pos.x - obj8C->obj.pos.x) < arg2) && if ((fabsf(player->unk_138 - obj8C->obj.pos.z) < arg2) && (fabsf(player->pos.x - obj8C->obj.pos.x) < arg2) &&
(fabsf(player->pos.y - obj8C->obj.pos.y) < arg2) && (player->timer_498 == 0)) { (fabsf(player->pos.y - obj8C->obj.pos.y) < arg2) && (player->timer_498 == 0)) {
Player_ApplyDamage(player, 0, obj8C->info.damage); Player_ApplyDamage(player, 0, obj8C->info.damage);
return 1; return true;
} else { } else {
return 0; return false;
} }
} }

View File

@ -1,76 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80035D30.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80035DEC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/PlayerShot_Initialize.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80035E78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036318.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036528.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_800365E4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_800366CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036770.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036874.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036F88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80037438.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80037698.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003774C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80037CF4.s")
void func_80038140(PlayerShot* shot);
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80038140.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80038F34.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80039210.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80039A50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003AF88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003AFD8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003B00C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003B55C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BA80.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BAA0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BACC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BB4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BEF4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003C008.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003C3D8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003C4D0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003CC08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003CF90.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003D54C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003D854.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003D9B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003DA0C.s")

View File

@ -1520,7 +1520,7 @@ void func_8008E620(f32 arg0, f32 arg1) {
break; break;
default: default:
ret = 0; ret = false;
break; break;
} }
@ -1622,7 +1622,7 @@ void func_800907C4(Object_408* obj408) {
func_8008FFF0(obj408, D_8015F928); func_8008FFF0(obj408, D_8015F928);
} }
s32 func_8009092C(Object_2F4* obj2F4) { bool func_8009092C(Object_2F4* obj2F4) {
bool var_s5 = false; bool var_s5 = false;
Object_408* obj408; Object_408* obj408;
s32 i = 0; s32 i = 0;
@ -1648,7 +1648,7 @@ s32 func_8009092C(Object_2F4* obj2F4) {
return var_s5; return var_s5;
} }
s32 func_80090A00(Object_2F4* obj2F4) { bool func_80090A00(Object_2F4* obj2F4) {
switch (obj2F4->unk_064) { switch (obj2F4->unk_064) {
case 0: case 0:
obj2F4->unk_134 = 0.0f; obj2F4->unk_134 = 0.0f;
@ -1722,10 +1722,10 @@ s32 func_80090A00(Object_2F4* obj2F4) {
return false; return false;
} }
s32 func_80090CCC(Object_2F4* obj2F4) { bool func_80090CCC(Object_2F4* obj2F4) {
s32 ret = 0; bool ret = false;
if (func_8009092C(obj2F4) != 0) { if (func_8009092C(obj2F4)) {
obj2F4->unk_124.z = gObjects408[obj2F4->unk_0E6].obj.pos.z; obj2F4->unk_124.z = gObjects408[obj2F4->unk_0E6].obj.pos.z;
obj2F4->unk_124.y = gObjects408[obj2F4->unk_0E6].obj.pos.y; obj2F4->unk_124.y = gObjects408[obj2F4->unk_0E6].obj.pos.y;
obj2F4->unk_124.x = gObjects408[obj2F4->unk_0E6].obj.pos.x; obj2F4->unk_124.x = gObjects408[obj2F4->unk_0E6].obj.pos.x;
@ -1748,7 +1748,7 @@ s32 func_80090CCC(Object_2F4* obj2F4) {
(fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x) < 700.0f)) { (fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x) < 700.0f)) {
obj2F4->unk_0B8 = 1; obj2F4->unk_0B8 = 1;
obj2F4->unk_068 = 0; obj2F4->unk_068 = 0;
ret = 1; ret = true;
} }
if (obj2F4->timer_0BE == 0) { if (obj2F4->timer_0BE == 0) {
@ -1760,7 +1760,7 @@ s32 func_80090CCC(Object_2F4* obj2F4) {
obj2F4->unk_0B8 = 1; obj2F4->unk_0B8 = 1;
obj2F4->unk_0E6 = 0; obj2F4->unk_0E6 = 0;
obj2F4->unk_068 = 0; obj2F4->unk_068 = 0;
ret = 1; ret = true;
} }
return ret; return ret;
@ -1809,7 +1809,7 @@ s32 func_80090E8C(Object_2F4* obj2F4) {
return false; return false;
} }
s32 func_800910C0(Object_2F4* obj2F4) { bool func_800910C0(Object_2F4* obj2F4) {
f32 var_fv1; f32 var_fv1;
if (obj2F4->timer_0BC == 0) { if (obj2F4->timer_0BC == 0) {
@ -1849,7 +1849,7 @@ void func_80091254(Object_2F4* obj2F4) {
} }
} }
s32 func_80091298(Object_2F4* obj2F4) { bool func_80091298(Object_2F4* obj2F4) {
obj2F4->unk_118 = gPlayer[0].unk_0D0 + 10.0f; obj2F4->unk_118 = gPlayer[0].unk_0D0 + 10.0f;
obj2F4->unk_120 = 3.6f; obj2F4->unk_120 = 3.6f;
obj2F4->unk_124.x = gPlayer[0].pos.x + ((f32) (obj2F4->unk_0E4 - 2) * 700.0f); obj2F4->unk_124.x = gPlayer[0].pos.x + ((f32) (obj2F4->unk_0E4 - 2) * 700.0f);
@ -1864,7 +1864,7 @@ s32 func_80091298(Object_2F4* obj2F4) {
return false; return false;
} }
s32 func_80091368(Object_2F4* obj2F4) { bool func_80091368(Object_2F4* obj2F4) {
switch (obj2F4->unk_064) { switch (obj2F4->unk_064) {
case 0: case 0:
obj2F4->unk_124.y = 20000.0f; obj2F4->unk_124.y = 20000.0f;
@ -1910,7 +1910,7 @@ s32 func_80091368(Object_2F4* obj2F4) {
void func_800914FC(Object_2F4* obj2F4) { void func_800914FC(Object_2F4* obj2F4) {
switch (obj2F4->unk_0B8) { switch (obj2F4->unk_0B8) {
case 0: case 0:
if (func_80090CCC(obj2F4) == 0) { if (!func_80090CCC(obj2F4)) {
break; break;
} }
case 1: case 1:
@ -1945,7 +1945,7 @@ void func_800914FC(Object_2F4* obj2F4) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800915FC.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800915FC.s")
s32 func_80091864(Object_2F4* obj2F4) { bool func_80091864(Object_2F4* obj2F4) {
f32 sp44; f32 sp44;
f32 sp40; f32 sp40;
f32 sp3C; f32 sp3C;
@ -2004,7 +2004,7 @@ s32 func_80091864(Object_2F4* obj2F4) {
return false; return false;
} }
s32 func_80091B90(Object_2F4* obj2F4) { bool func_80091B90(Object_2F4* obj2F4) {
Vec3f vec; Vec3f vec;
obj2F4->obj.rot.x = -obj2F4->unk_0F4.x; obj2F4->obj.rot.x = -obj2F4->unk_0F4.x;
@ -2032,7 +2032,7 @@ s32 func_80091B90(Object_2F4* obj2F4) {
return false; return false;
} }
s32 func_80091CF8(Object_2F4* obj2F4) { bool func_80091CF8(Object_2F4* obj2F4) {
if (obj2F4->unk_054 != 0) { if (obj2F4->unk_054 != 0) {
if (obj2F4->unk_13C < 0.1f) { if (obj2F4->unk_13C < 0.1f) {
obj2F4->unk_13C = 20.0f; obj2F4->unk_13C = 20.0f;
@ -2051,7 +2051,7 @@ s32 func_80091CF8(Object_2F4* obj2F4) {
return false; return false;
} }
s32 func_80091DF4(Object_2F4* obj2F4) { bool func_80091DF4(Object_2F4* obj2F4) {
Vec3f sp44; Vec3f sp44;
Vec3f sp38; Vec3f sp38;
@ -2068,7 +2068,7 @@ s32 func_80091DF4(Object_2F4* obj2F4) {
return false; return false;
} }
s32 func_80091F00(Object_2F4* obj2F4) { bool func_80091F00(Object_2F4* obj2F4) {
u8 temp_v0 = obj2F4->unk_0D0; u8 temp_v0 = obj2F4->unk_0D0;
Vec3f sp40; Vec3f sp40;
Vec3f sp34; Vec3f sp34;

View File

@ -80,11 +80,11 @@ f32 func_DF4260_80187A88(s32 arg0) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BBF8.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BBF8.s")
s32 func_DF4260_8018BC50(s32 arg0, s32* arg1, s32 arg2, s32 arg3, UnkStruct_func_DF4260_8018BC50* arg4) { bool func_DF4260_8018BC50(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, UnkStruct_func_DF4260_8018BC50* arg4) {
if ((arg4->unkB8 == 0x65) && (arg0 != 8)) { if ((arg4->unkB8 == 0x65) && (arg0 != 8)) {
*arg1 = 0; *arg1 = NULL;
} }
return 0; return false;
} }
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BC84.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BC84.s")

View File

@ -1162,7 +1162,7 @@ void func_EBFBE0_80193C4C(void) {
case 1: case 1:
// clang-format off // clang-format off
if (func_EBFBE0_8019C418(&D_EBFBE0_801B91A8, 2, 1, 0, 20, 5, 4, gMainController, &D_EBFBE0_801B9188) != 0) { Audio_PlaySfx(0x49000022, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); } if (func_EBFBE0_8019C418(&D_EBFBE0_801B91A8, 2, 1, 0, 20, 5, 4, gMainController, &D_EBFBE0_801B9188)) { Audio_PlaySfx(0x49000022, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); }
// clang-format on // clang-format on
if (gControllerPress[gMainController].button & (A_BUTTON | START_BUTTON)) { if (gControllerPress[gMainController].button & (A_BUTTON | START_BUTTON)) {
@ -1380,7 +1380,7 @@ void func_EBFBE0_80194AEC(void) {
s32 sp3C = gSoundMode; s32 sp3C = gSoundMode;
s32 pad; s32 pad;
if (func_EBFBE0_8019C418(&sp3C, 2, 0, 0, 20, 5, 4, gMainController, &D_EBFBE0_801B9260) != 0) { if (func_EBFBE0_8019C418(&sp3C, 2, 0, 0, 20, 5, 4, gMainController, &D_EBFBE0_801B9260)) {
Audio_PlaySfx(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
gSoundMode = sp3C; gSoundMode = sp3C;
if (gSoundMode >= 3) { if (gSoundMode >= 3) {
@ -2056,7 +2056,7 @@ void func_EBFBE0_80196FC4(void) {
} }
void func_EBFBE0_80197074(void) { void func_EBFBE0_80197074(void) {
if (func_EBFBE0_8019C418(&D_EBFBE0_801B93E4, 9, 1, 0, 20, 5, 4, gMainController, &D_EBFBE0_801B9400) != 0) { if (func_EBFBE0_8019C418(&D_EBFBE0_801B93E4, 9, 1, 0, 20, 5, 4, gMainController, &D_EBFBE0_801B9400)) {
Audio_PlaySfx(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
D_EBFBE0_801B91D4 = 114.0f - D_EBFBE0_801B93E4 * 130.0f; D_EBFBE0_801B91D4 = 114.0f - D_EBFBE0_801B93E4 * 130.0f;
D_EBFBE0_801B91DC = 114.0f - D_EBFBE0_801B93E4 * 130.0f; D_EBFBE0_801B91DC = 114.0f - D_EBFBE0_801B93E4 * 130.0f;
@ -3748,10 +3748,10 @@ s32 func_EBFBE0_8019C5A0(s32* arg0) {
return ret; return ret;
} }
s32 func_EBFBE0_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_EBFBE0_801B9250* arg3) { bool func_EBFBE0_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_EBFBE0_801B9250* arg3) {
f32 var_fv1; f32 var_fv1;
f32 temp2; f32 temp2;
s32 var_a2 = 0; bool var_a2 = false;
f32 temp = *arg0; f32 temp = *arg0;
s32 x = gControllerPress[gMainController].stick_x; s32 x = gControllerPress[gMainController].stick_x;
s32 y = -gControllerPress[gMainController].stick_y; s32 y = -gControllerPress[gMainController].stick_y;
@ -3807,7 +3807,7 @@ s32 func_EBFBE0_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_EBFBE0_801B9
if ((s32) temp2 != (s32) temp) { if ((s32) temp2 != (s32) temp) {
Audio_PlaySfx(0x49004007, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x49004007, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
var_a2 = 1; var_a2 = true;
} }
return var_a2; return var_a2;
@ -3964,7 +3964,7 @@ void func_EBFBE0_8019CD54(void) {
case 0: case 0:
if (D_EBFBE0_801B9138 == 0) { if (D_EBFBE0_801B9138 == 0) {
if (func_EBFBE0_8019C418(&D_EBFBE0_801B90A0[D_EBFBE0_801B9098], 36, 0, 0, 50, 5, 10, gMainController, if (func_EBFBE0_8019C418(&D_EBFBE0_801B90A0[D_EBFBE0_801B9098], 36, 0, 0, 50, 5, 10, gMainController,
&D_EBFBE0_801B9160[D_EBFBE0_801B9098]) != 0) { &D_EBFBE0_801B9160[D_EBFBE0_801B9098])) {
Audio_PlaySfx(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); Audio_PlaySfx(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
D_EBFBE0_801B9150[D_EBFBE0_801B9098][0] = D_EBFBE0_801AEF5C[D_EBFBE0_801B90A0[D_EBFBE0_801B9098]]; D_EBFBE0_801B9150[D_EBFBE0_801B9098][0] = D_EBFBE0_801AEF5C[D_EBFBE0_801B90A0[D_EBFBE0_801B9098]];
D_EBFBE0_801B90D0[D_EBFBE0_801B9098] = 0.0f; D_EBFBE0_801B90D0[D_EBFBE0_801B9098] = 0.0f;

View File

@ -2522,7 +2522,7 @@ void func_EBFBE0_8018EA78(s32 arg0) {
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
s32 func_EBFBE0_8018EDC8(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* arg4) { bool func_EBFBE0_8018EDC8(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* arg4) {
f32 x; f32 x;
f32 y; f32 y;
f32 z; f32 z;
@ -2655,7 +2655,7 @@ s32 func_EBFBE0_8018EDC8(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* a
break; break;
} }
return 0; return false;
} }
void func_EBFBE0_8018F438(void) { void func_EBFBE0_8018F438(void) {

View File

@ -171,7 +171,7 @@
# Game engine # Game engine
- [0x2EFE0, c, fox_360] - [0x2EFE0, c, fox_360]
- [0x36930, c, sf_beam] - [0x36930, c, fox_beam]
- [0x3E6F0, c, fox_bg] - [0x3E6F0, c, fox_bg]
- [0x43AC0, c, fox_43AC0] - [0x43AC0, c, fox_43AC0]
- [0x43E80, c, sf_43E80] - [0x43E80, c, sf_43E80]
@ -264,7 +264,7 @@
# DATA - game engine # DATA - game engine
- [0xCA690, .data, fox_360] - [0xCA690, .data, fox_360]
- [0xCA7C0, data, sf_beam] - [0xCA7C0, .data, fox_beam]
- [0xCA830, .data, fox_bg] - [0xCA830, .data, fox_bg]
- [0xCAA90, .data, fox_43AC0] - [0xCAA90, .data, fox_43AC0]
- [0xCAB00, .data, sf_43E80] - [0xCAB00, .data, sf_43E80]
@ -289,7 +289,7 @@
# RODATA - game engine # RODATA - game engine
- [0xD5A10, .rodata, fox_360] - [0xD5A10, .rodata, fox_360]
- [0xD5CF0, .rodata, sf_beam] - [0xD5CF0, .rodata, fox_beam]
- [0xD5F90, .rodata, fox_bg] - [0xD5F90, .rodata, fox_bg]
- [0xD61D0, .rodata, fox_43AC0] - [0xD61D0, .rodata, fox_43AC0]
- [0xD61F0, .rodata, sf_43E80] - [0xD61F0, .rodata, sf_43E80]
@ -357,7 +357,7 @@
# Game engine bss # Game engine bss
- { start: 0xDE480, type: .bss, vram: 0x8015F900, name: fox_360 } - { start: 0xDE480, type: .bss, vram: 0x8015F900, name: fox_360 }
- { start: 0xDE480, type: bss, vram: 0x8015F950, name: sf_beam } - { start: 0xDE480, type: .bss, vram: 0x8015F950, name: fox_beam }
- { start: 0xDE480, type: .bss, vram: 0x8015F960, name: fox_bg } - { start: 0xDE480, type: .bss, vram: 0x8015F960, name: fox_bg }
- { start: 0xDE480, type: .bss, vram: 0x801613A0, name: fox_43AC0 } - { start: 0xDE480, type: .bss, vram: 0x801613A0, name: fox_43AC0 }
- { start: 0xDE480, type: .bss, vram: 0x801613B0, name: fox_display } - { start: 0xDE480, type: .bss, vram: 0x801613B0, name: fox_display }