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);
u8* func_8001C3EC(void);
void func_80016A50(void);
void func_800182F4(s32);
void Audio_PlaySfx(u32, Vec3f*, u8, f32*, f32*, s8*);
@ -34,10 +33,13 @@ void func_8001AE58(void);
s32 func_8001AE78(void);
s32 func_8001AED4(void);
void func_8001AF40(s32);
u8* func_8001C3EC(void);
void func_8001C8B8(u8);
void func_8001CA24(u8);
void func_8001CB80(u8, u8);
void func_8001CCDC(u8, Vec3f *);
void func_8001CE28(u8, Vec3f *);
void func_8001D10C(Vec3f*, u32);
void func_8001D15C(u8);
void func_8001D1C8(u8, s32);
void func_8001D2FC(Vec3f *, u16);
@ -109,7 +111,7 @@ void func_8002F5F4(u16* msg, s32 character);
void func_800319AC(Object_2F4* this);
void func_80035448(Object_2F4* obj2F4);
//sf_beam
//fox_beam
void PlayerShot_Initialize(PlayerShot *);
void func_800365E4(f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
void func_8003D9B8(void);
@ -219,9 +221,10 @@ void func_80061E48(Object_2F4* , f32 , f32 , f32 );
void func_80061F0C(Object_2F4* , ObjectInit* , s32 );
void Object_Load(ObjectInit* , f32 , f32 , f32 , f32 );
void func_80062568(void);
void func_80062B60(f32 xPos, f32 zPos, s32 arg2, f32 arg3);
void func_80062C38(f32, f32);
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 );
void func_800652CC(Object_80*);
void func_800654E4(Object *);
@ -254,7 +257,7 @@ void func_80068914(Item*);
void func_80068C48(Item*);
void func_80068C88(Item*);
void func_80068FE0(Object_4C*);
void func_800690D0(s32, s32);
void func_800690D0(s32, ObjectId);
void func_80069924(Object_8C *);
void func_800693E8(Object_2F4 *);
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_8007729C(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_80077A00(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 );
void func_800A8BA4(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_800B44C4(Player *);
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_800B7184(Player *, s32);
void func_800B73E0(Player *);
void func_800B852C(s32 , Item *);
void func_800B852C(ObjectId , Item *);
void func_800B86CC(void);
void func_800A668C(f32 xPos, f32 yPos, f32 zPos);
void func_800AD7F0(Player *player);
void func_800ADF58(Player *player);
void func_800B415C(Player *player);
@ -524,7 +528,7 @@ void func_800A86E4(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,
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
s32 func_800BA7BC(u16*, s32);
@ -565,11 +569,14 @@ void func_DF4260_80198594(Object_408 *);
void func_DF4260_801988E0(void);
void func_DF4260_80198C50(void);
void func_DF4260_8019949C(void);
void func_DF4260_8019864C(PlayerShot*);
void func_E08400_80187B08(Object_2F4 *);
void func_E08400_80188A40(Object_408 *);
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_8018ED78(Player*);
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_801B5110(f32, f32, 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_801AD144(PlayerShot*);
void func_E9F1D0_801878A8(Object_58**);
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 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 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 gsSPSetOtherModeHi(settings) gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)

View File

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

View File

@ -8,6 +8,75 @@
#define HITBOX_UNK_3 300000.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 {
/* 0x00 */ f32 zPos1;
/* 0x04 */ s16 zPos2;
@ -74,7 +143,7 @@ typedef struct {
/* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48;
/* 0x4C */ s32 timer_4C;
/* 0x50 */ u8 unk_50;
/* 0x50 */ s8 unk_50;
/* 0x51 */ char pad51[3];
/* 0x54 */ s32 unk_54;
/* 0x58 */ char pad58[8];

View File

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

View File

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

View File

@ -6,40 +6,6 @@
#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 {
/* bit 0 */ u8 unk_0 : 3;
/* bit 3 */ u8 expertMedal : 1;

View File

@ -132,7 +132,7 @@ extern OSMesg D_8015661C[1];
// fox_360
extern s32 D_800C9B4C;
// sf_beam
// fox_bg
extern u16 D_800C9C3C[16];
// sf_43E80
@ -275,8 +275,8 @@ extern s32 D_8015F93C;
extern s32 D_8015F940;
extern f32 D_8015F944;
// sf_beam
extern Vec3f D_8015F950;
// fox_beam
// extern Vec3f D_8015F950;
// fox_bg
extern f32 D_8015F960;
@ -389,7 +389,7 @@ extern u8 D_80161A94[4];
extern s32 gHitCount;
extern s32 gSavedHitCount;
extern s16 gLifeCount[4];
extern s32 gLaserStrength[4];
extern LaserStrength gLaserStrength[4];
//
extern s32 D_80161AB8;
// 0x44
@ -418,7 +418,7 @@ extern s32 D_80177824;
extern u16 D_80177828;
extern s32 D_8017782C;
extern u8 D_80177830;
extern s32 gGameState;
extern GameState gGameState;
extern s32 D_80177838;
extern s32 D_Timer_8017783C;
extern s32 D_80177840;
@ -434,8 +434,8 @@ extern s32 D_80177870[4];
extern s32 gLevelMode;
//
extern s32 gHandicap[4];
extern s32 gDrawMode;
extern s32 gVersusStage;
extern DrawMode gDrawMode;
extern VsStage gVersusStage;
extern s32 gPlayerNum;
extern s32 D_801778A4;
extern s32 gCamCount;
@ -872,8 +872,8 @@ extern u8 D_1011A40[];
extern u16 D_1011AB0[];
extern u8 D_1011E80[];
extern u16 D_1011EC0[];
extern s32 D_1011ED0[];
extern s32 D_1011F08[];
extern u8 D_1011ED0[];
extern u16 D_1011F08[];
extern Gfx D_1011F20[];
extern u8 D_10127D0[];
extern u16 D_1012898[];
@ -896,6 +896,8 @@ extern Gfx D_1019CA0[];
extern Gfx D_101A570[];
extern Gfx D_101A8E0[];
extern Gfx D_101ABD0[];
extern Gfx D_101AD20[];
extern Gfx D_101AED0[];
extern Gfx D_101C2E0[];
extern Gfx D_101C2E0[];
extern Gfx D_101CAE0[];
@ -918,6 +920,8 @@ extern Gfx D_1024830[];
extern u8 D_1024A58[];
extern Gfx D_1024AC0[];
extern Gfx D_1024F60[];
extern Gfx D_1025800[];
extern Gfx D_1026090[];
extern Gfx D_1028230[];
extern Gfx D_1029780[];
extern Gfx D_102A010[];
@ -927,6 +931,7 @@ extern Gfx D_102F5E0[];
extern Gfx D_102FE80[];
extern u16 D_102FF08[];
extern Gfx D_1031630[];
extern Gfx D_1031EC0[];
extern Gfx D_1032780[];
// ast_8A68C0, ast_8AE0A0
@ -963,6 +968,10 @@ extern Gfx D_20101A0[];
extern Gfx D_20112C0[];
// 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 u16 D_3000080[];
extern Gfx D_3000090[];
@ -1054,6 +1063,14 @@ extern f32 D_302EE00[];
extern f32 D_302EE64[];
extern f32 D_302EE80[];
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
extern AnimationHeader D_4000080;
@ -1101,6 +1118,52 @@ extern Gfx D_500B600[];
* ast_B0AA00, ast_B1CA50, ast_B2CA50, ast_B612E0, ast_B84560,
* 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 Gfx D_60005B0[];
extern u16 D_6000900[];
@ -1243,6 +1306,7 @@ extern Gfx D_600D730[];
extern u16 D_600D990[];
extern Gfx D_600D9F0[];
extern Gfx D_600DA10[];
extern Gfx D_600DB80[];
extern Gfx D_600DBC0[];
extern u8 D_600DDC0[];
extern Gfx D_600DDF0[];
@ -1761,6 +1825,7 @@ extern Gfx D_D00B720[];
extern Gfx D_D00B880[];
// ast_92EC40
extern Gfx D_E00DFB0[];
extern u16 D_E00E100[];
extern u16 D_E00F020[];
extern u16 D_E00FF40[];

View File

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

View File

@ -90,7 +90,7 @@ void func_8002E3E0(Object_2F4* obj2F4) {
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)) {
func_800BA808(arg0, arg1);
return true;
@ -285,7 +285,7 @@ void func_8002EE34(void) {
void func_8002EE64(Object_2F4* obj2F4) {
s32 i;
s32 var_s0;
s32 colId;
Object_58* obj58;
Vec3f temp1;
f32 temp4;
@ -328,22 +328,22 @@ void func_8002EE64(Object_2F4* obj2F4) {
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) {
var_s0 = 5;
colId = COL1_5;
} 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_17C = spA0[0];
obj2F4->unk_184 = spA0[1];
obj2F4->unk_180 = (temp4 / 180.0f) * M_PI;
}
} else {
var_s0 = 0;
colId = COL2_0;
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_17C = spB4.x;
obj2F4->unk_184 = spB4.z;
@ -1531,8 +1531,7 @@ void func_800319AC(Object_2F4* this) {
if ((spE8 < spF4) && (spEC < spF4)) {
this->unk_060++;
this->unk_064 = 1;
if (!((this->index + gFrameCount) & sp10F) && (Rand_ZeroOne() < spF0) &&
(func_80031900(this) != 0) &&
if (!((this->index + gFrameCount) & sp10F) && (Rand_ZeroOne() < spF0) && func_80031900(this) &&
((gObjects2F4->unk_0B8 == 2) || (gCurrentLevel == LEVEL_TRAINING))) {
if ((this->unk_0E6 == 0) && (gCurrentLevel != LEVEL_TRAINING)) {
if ((this->unk_060 > 250) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) {
@ -2110,13 +2109,13 @@ void func_80034E64(Object_2F4* obj2F4) {
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL(&gMasterDisp, 0x29);
if (gCurrentLevel == LEVEL_KATINA) {
GPC(128, 255, 255, sp20);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 128, 255, 255, sp20);
} else if (gCurrentLevel == LEVEL_BOLSE) {
GPC(255, 128, 128, sp20);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 128, 128, sp20);
} else {
GPC(48, 255, 255, sp20);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 48, 255, 255, sp20);
}
GDL(D_1031630);
gSPDisplayList(gMasterDisp++, D_1031630);
Matrix_Pop(&gGfxMatrix);
}
}
@ -2139,9 +2138,9 @@ void func_80035098(Object_2F4* obj2F4) {
Matrix_Scale(gGfxMatrix, 2.0f, 2.0f, 2.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL(&gMasterDisp, 0x43);
GPC(255, 255, 255, sp2C);
GEC(0, 0, 160, sp2C);
GDL(D_101DC10);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, sp2C);
gDPSetEnvColor(gMasterDisp++, 0, 0, 160, sp2C);
gSPDisplayList(gMasterDisp++, D_101DC10);
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) {
RCP_SetupDL(&gMasterDisp, 0x22);
GPC(255, 128, 128, 255);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 128, 128, 255);
} else {
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)) {
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;
}
@ -2200,7 +2199,7 @@ void func_80035448(Object_2F4* obj2F4) {
case 6:
case 7:
if (gCurrentLevel == LEVEL_VENOM_2) {
GDL(D_F0103D0);
gSPDisplayList(gMasterDisp++, D_F0103D0);
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 30.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2);
@ -2212,7 +2211,7 @@ void func_80035448(Object_2F4* obj2F4) {
func_80035098(obj2F4);
func_80034E64(obj2F4);
} else {
GDL(D_F00F200);
gSPDisplayList(gMasterDisp++, D_F00F200);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
if (gCurrentLevel == LEVEL_BOLSE) {
func_8005B1E8(obj2F4, 3);
@ -2222,11 +2221,11 @@ void func_80035448(Object_2F4* obj2F4) {
}
break;
case 8:
GDL(D_D009A40);
gSPDisplayList(gMasterDisp++, D_D009A40);
func_8005ADAC(obj2F4);
break;
case 9:
GDL(D_D00B880);
gSPDisplayList(gMasterDisp++, D_D00B880);
func_8005ADAC(obj2F4);
break;
case 100:
@ -2245,33 +2244,31 @@ void func_80035448(Object_2F4* obj2F4) {
if (gCurrentLevel == LEVEL_FORTUNA) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 60.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
GDL(D_6006BE0);
gSPDisplayList(gMasterDisp++, D_6006BE0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -100.0f, 1);
Matrix_Scale(gGfxMatrix, 1.5f, 1.5f, 1.5f, 1);
func_8005B1E8(obj2F4, 2);
} else if (gCurrentLevel == LEVEL_KATINA) {
switch (obj2F4->unk_0B6) {
case 0:
GDL(D_600EFF0);
gSPDisplayList(gMasterDisp++, D_600EFF0);
break;
case 1:
GDL(D_600E050);
gSPDisplayList(gMasterDisp++, D_600E050);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 0);
break;
case 3:
GDL(D_6001530);
gSPDisplayList(gMasterDisp++, D_6001530);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 30.0f, 1);
func_80034E64(obj2F4);
break;
}
} else if (gCurrentLevel == LEVEL_SECTOR_Z) {
GDL(D_6004FE0)
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
gSPDisplayList(gMasterDisp++, D_6004FE0) Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2);
} else if (gCurrentLevel == LEVEL_BOLSE) {
GDL(D_6008770)
Matrix_Push(&gGfxMatrix);
gSPDisplayList(gMasterDisp++, D_6008770) Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2);
Matrix_Pop(&gGfxMatrix);
@ -2281,14 +2278,14 @@ void func_80035448(Object_2F4* obj2F4) {
Matrix_Scale(gGfxMatrix, 10.0f, 10.0f, 10.0f, 1);
Animation_DrawSkeleton(0, D_600C2AC, obj2F4->unk_18C, NULL, NULL, obj2F4, &gIdentityMatrix);
} else if (gCurrentLevel == LEVEL_VERSUS) {
GDL(D_3015740);
gSPDisplayList(gMasterDisp++, D_3015740);
} else if (gCurrentLevel == LEVEL_TRAINING) {
if (obj2F4->unk_0E6 == 0) {
GDL(D_F00F200);
gSPDisplayList(gMasterDisp++, D_F00F200);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 3);
} else {
GDL(D_40068F0);
gSPDisplayList(gMasterDisp++, D_40068F0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(obj2F4, 2);
}

View File

@ -298,7 +298,7 @@ s32 func_8009808C(Vec3f* pos, Vtx_tn* quad, Vec3f* norm) {
return var_v1;
}
s32 func_800985CC(Vec3f* vec, Vtx_tn* tri) {
bool func_800985CC(Vec3f* vec, Vtx_tn* tri) {
f32 sp24;
f32 sp20;
@ -318,14 +318,14 @@ s32 func_800985CC(Vec3f* vec, Vtx_tn* tri) {
sp20 = TRINORM_Y(__vtx1, __vtx0, __vtx2);
if (SIGN_OF(sp24) != SIGN_OF(sp20)) {
return 0;
return false;
}
sp24 = TRINORM_Y(__vtx0, __pos, __vtx2);
if (SIGN_OF(sp24) != SIGN_OF(sp20)) {
return 0;
return false;
}
return 1;
return true;
}
// Plane from normal and point
@ -463,7 +463,7 @@ s32 func_80098980(Vec3f* out, Vec3s** tri, Vec3f* vec) {
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];
Vec3f temp_V3f1;
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) ||
(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)) {
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);
}
sp100 = 1;
sp100 = true;
break;
}
}
@ -594,6 +594,6 @@ s32 func_80099254(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, CollisionHeader* arg3,
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);
}

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) {
Vec3f sp7C;
Plane sp6C;
s32 var_v1;
Vec3f pos;
Plane triPlane;
bool above;
s32 i;
s32 j;
Vec3f* sp54[3];
Vec3f sp48;
Vec3f sp3C;
Vec3f* tri[3];
Vec3f norm;
Vec3f vtx;
s32 sp38 = false;
s32 sp34;
s16(*sp30)[3];
Vec3f* sp2C;
s32 count;
Triangle* polys;
Vec3f* mesh;
sp7C.x = arg0->x - arg1->x;
sp7C.y = arg0->y - arg1->y;
sp7C.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) ||
(arg2->max.y < sp7C.y) || (arg2->max.z < sp7C.z)) {
pos.x = arg0->x - arg1->x;
pos.y = arg0->y - arg1->y;
pos.z = arg0->z - arg1->z;
if ((pos.x < arg2->min.x) || (pos.y < arg2->min.y) || (pos.z < arg2->min.z) || (arg2->max.x < pos.x) ||
(arg2->max.y < pos.y) || (arg2->max.z < pos.z)) {
return false;
}
var_v1 = false;
sp34 = arg2->polyCount;
sp30 = SEGMENTED_TO_VIRTUAL(arg2->polys);
sp2C = SEGMENTED_TO_VIRTUAL(arg2->mesh);
for (i = 0; i < sp34; i++, sp30++) {
above = false;
count = arg2->polyCount;
polys = SEGMENTED_TO_VIRTUAL(arg2->polys);
mesh = SEGMENTED_TO_VIRTUAL(arg2->mesh);
for (i = 0; i < count; i++, polys++) {
for (j = 0; j < 3; j++) {
sp54[j] = &sp2C[(*sp30)[j]];
tri[j] = &mesh[polys->vtx[j]];
}
var_v1 = func_800A3A74(&sp7C, sp54, &sp48);
if (var_v1) {
above = func_800A3A74(&pos, tri, &norm);
if (above) {
break;
}
}
if (var_v1) {
sp3C.x = sp54[0]->x;
sp3C.y = sp54[0]->y;
sp3C.z = sp54[0]->z;
func_80098860(&sp6C, &sp3C, &sp48);
arg3->y = func_800988B4(&sp7C, &sp6C);
if (sp6C.normal.x != 0.0f) {
sp48.x = -sp6C.dist / sp6C.normal.x;
if (above) {
vtx.x = tri[0]->x;
vtx.y = tri[0]->y;
vtx.z = tri[0]->z;
func_80098860(&triPlane, &vtx, &norm);
arg3->y = func_800988B4(&pos, &triPlane);
if (triPlane.normal.x != 0.0f) {
norm.x = -triPlane.dist / triPlane.normal.x;
} else {
sp48.x = 0.0f;
norm.x = 0.0f;
}
if (sp6C.normal.y != 0.0f) {
sp48.y = -sp6C.dist / sp6C.normal.y;
if (triPlane.normal.y != 0.0f) {
norm.y = -triPlane.dist / triPlane.normal.y;
} else {
sp48.y = 0.0f;
norm.y = 0.0f;
}
if (sp6C.normal.z != 0.0f) {
sp48.z = -sp6C.dist / sp6C.normal.z;
if (triPlane.normal.z != 0.0f) {
norm.z = -triPlane.dist / triPlane.normal.z;
} else {
sp48.z = 0.0f;
norm.z = 0.0f;
}
arg3->x = Math_Atan2F_XY(sp48.y, sp48.z);
if (sp48.z != 0.0f) {
arg3->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(sp48.y, sp48.z)) * sp48.z, sp48.x);
arg3->x = Math_Atan2F_XY(norm.y, norm.z);
if (norm.z != 0.0f) {
arg3->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(norm.y, norm.z)) * norm.z, norm.x);
} 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 {
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)) {
sp38 = true;
@ -79,52 +79,51 @@ bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3
return sp38;
}
// Checks if arg0 is above the triangle arg1. If so, returns the triangle normal in arg2.
s32 func_800A3A74(Vec3f* arg0, Vec3f** arg1, Vec3f* arg2) {
// Checks if point is above the triangle tri. If so, returns the triangle normal in arg2.
s32 func_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* norm) {
s32 pad;
f32 temp1;
s32 var_v1;
bool ret = false;
f32 temp_fv0;
Vec3f v1;
Vec3f v2;
Vec3f v3;
f32 a0x;
f32 a0y;
Vec3f vtx1;
Vec3f vtx2;
Vec3f vtx3;
f32 ptx;
f32 ptz;
var_v1 = false;
v1.x = (*arg1)->x;
v1.y = (*arg1)->y;
v1.z = (*arg1)->z;
arg1++;
v2.x = (*arg1)->x;
v2.y = (*arg1)->y;
v2.z = (*arg1)->z;
arg1++;
v3.x = (*arg1)->x;
v3.y = (*arg1)->y;
v3.z = (*arg1)->z;
arg1++;
vtx1.x = (*tri)->x;
vtx1.y = (*tri)->y;
vtx1.z = (*tri)->z;
tri++;
vtx2.x = (*tri)->x;
vtx2.y = (*tri)->y;
vtx2.z = (*tri)->z;
tri++;
vtx3.x = (*tri)->x;
vtx3.y = (*tri)->y;
vtx3.z = (*tri)->z;
tri++;
a0x = arg0->x;
a0y = arg0->z;
temp1 = ((v2.z - v1.z) * (a0x - v2.x)) - ((v2.x - v1.x) * (a0y - v2.z));
ptx = point->x;
ptz = point->z;
temp1 = ((vtx2.z - vtx1.z) * (ptx - vtx2.x)) - ((vtx2.x - vtx1.x) * (ptz - vtx2.z));
if (temp1 >= 0.0f) {
if (((v3.x - v2.x) * (a0y - v3.z)) <= ((v3.z - v2.z) * (a0x - v3.x))) {
if (((v1.x - v3.x) * (a0y - v1.z)) <= ((v1.z - v3.z) * (a0x - v1.x))) {
var_v1 = true;
arg2->x = ((v2.y - v1.y) * (v3.z - v2.z)) - ((v2.z - v1.z) * (v3.y - v2.y));
arg2->y = ((v2.z - v1.z) * (v3.x - v2.x)) - ((v2.x - v1.x) * (v3.z - v2.z));
arg2->z = ((v2.x - v1.x) * (v3.y - v2.y)) - ((v2.y - v1.y) * (v3.x - v2.x));
if ((arg2->x != 0.0f) || (arg2->y != 0.0f) || (arg2->z != 0.0f)) {
temp_fv0 = sqrtf(SQ(arg2->x) + SQ(arg2->y) + SQ(arg2->z));
if (((vtx3.x - vtx2.x) * (ptz - vtx3.z)) <= ((vtx3.z - vtx2.z) * (ptx - vtx3.x))) {
if (((vtx1.x - vtx3.x) * (ptz - vtx1.z)) <= ((vtx1.z - vtx3.z) * (ptx - vtx1.x))) {
ret = true;
norm->x = ((vtx2.y - vtx1.y) * (vtx3.z - vtx2.z)) - ((vtx2.z - vtx1.z) * (vtx3.y - vtx2.y));
norm->y = ((vtx2.z - vtx1.z) * (vtx3.x - vtx2.x)) - ((vtx2.x - vtx1.x) * (vtx3.z - vtx2.z));
norm->z = ((vtx2.x - vtx1.x) * (vtx3.y - vtx2.y)) - ((vtx2.y - vtx1.y) * (vtx3.x - vtx2.x));
if ((norm->x != 0.0f) || (norm->y != 0.0f) || (norm->z != 0.0f)) {
temp_fv0 = sqrtf(SQ(norm->x) + SQ(norm->y) + SQ(norm->z));
if (temp_fv0 != 0) {
arg2->x = (arg2->x / temp_fv0) * 127.0f;
arg2->y = (arg2->y / temp_fv0) * 127.0f;
arg2->z = (arg2->z / temp_fv0) * 127.0f;
norm->x = (norm->x / temp_fv0) * 127.0f;
norm->y = (norm->y / 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 "macros.h"
#include "variables.h"
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 },
@ -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 },
{ -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 },
{ 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 },
{ 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 },
{ 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 },
{ 997.0f, 139.0f, 1360.0f },
79,
0x0602FA9C,
0x060300C8,
D_602FA9C,
D_60300C8,
},
{
{ -3006.0f, -2274.0f, -4530.0f },
{ 3015.0f, 3348.0f, 5246.0f },
236,
0x060305DC,
0x0603184C,
D_60305DC,
D_603184C,
},
{
{ -152.0f, -200.0f, -152.0f },
{ 165.0f, 204.0f, 181.0f },
42,
0x06030208,
0x06030550,
D_6030208,
D_6030550,
},
{
{ -1704.0f, -1006.0f, -4751.0f },
{ 1704.0f, 1030.0f, 4842.0f },
174,
0x06033070,
0x06033E08,
D_6033070,
D_6033E08,
},
{
{ -1308.0f, 0.0f, -1460.0f },
{ 1310.0f, 666.0f, 807.0f },
93,
0x0600F60C,
0x0600FD50,
D_600F60C,
D_600FD50,
},
{
{ -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 1014.0f, 1075.0f },
22,
0x0600F3F4,
0x0600F5AC,
D_600F3F4,
D_600F5AC,
},
{
{ -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 384.0f, 1075.0f },
22,
0x0600F1DC,
0x0600F394,
D_600F1DC,
D_600F394,
},
{
{ -1554.0f, -2.0f, -1401.0f },
{ 1554.0f, 590.0f, 1401.0f },
262,
0x06010294,
0x0601170C,
D_6010294,
D_601170C,
},
{
{ -1386.0f, -696.0f, -2274.0f },
{ 1386.0f, 1033.0f, 1833.0f },
316,
0x06007558,
0x06008E08,
D_6007558,
D_6008E08,
},
{
{ -671.0f, 0.0f, -671.0f },
{ 671.0f, 648.0f, 671.0f },
250,
0x06014FEC,
0x06016374,
D_6014FEC,
D_6016374,
},
};
@ -99,7 +101,7 @@ CollisionHeader2 D_800D2CA0[19] = {
{
{ -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 594.0f, 1075.0f },
22,
ARRAY_COUNT(D_800D29E0),
D_800D29E0,
D_800D2920,
},
@ -107,20 +109,20 @@ CollisionHeader2 D_800D2CA0[19] = {
{ -1220.0f, 0.0f, -1315.0f },
{ 1403.0f, 174.0f, 1308.0f },
13,
0x0603F338,
0x0603F388,
D_603F338,
D_603F388,
},
{
{ -1311.0f, 0.0f, -1120.0f },
{ 1266.0f, 1465.0f, 1266.0f },
36,
0x0603F40C,
0x0603F4E4,
D_603F40C,
D_603F4E4,
},
{
{ -435.0f, -10.0f, -435.0f },
{ 435.0f, 174.0f, 435.0f },
13,
ARRAY_COUNT(D_800D2A64),
D_800D2A64,
D_800D2AB4,
},
@ -128,105 +130,105 @@ CollisionHeader2 D_800D2CA0[19] = {
{ -498.0f, -10.0f, -498.0f },
{ 498.0f, 705.0f, 498.0f },
4,
0x0302EEE8,
0x0302EF00,
D_302EEE8,
D_302EF00,
},
{
{ -1494.0f, -30.0f, -1494.0f },
{ 1494.0f, 2115.0f, 1494.0f },
4,
0x0302EF6C,
0x0302EF84,
D_302EF6C,
D_302EF84,
},
{
{ -623.0f, -10.0f, -623.0f },
{ 623.0f, 200.0f, 623.0f },
4,
0x0302EFF0,
0x0302F008,
D_302EFF0,
D_302F008,
},
{
{ -488.0f, 0.0f, -568.0f },
{ 488.0f, 148.0f, 567.0f },
30,
0x0602CACC,
0x0602CB80,
D_602CACC,
D_602CB80,
},
{
{ -900.0f, -110.0f, -1900.0f },
{ 900.0f, 190.0f, 100.0f },
2,
0x06030E74,
0x06030E80,
D_6030E74,
D_6030E80,
},
{
{ -900.0f, -100.0f, -1000.0f },
{ 900.0f, 250.0f, 100.0f },
2,
0x06030EB0,
0x06030EBC,
D_6030EB0,
D_6030EBC,
},
{
{ -900.0f, -190.0f, -1900.0f },
{ 900.0f, 100.0f, 100.0f },
2,
0x06030EEC,
0x06030EF8,
D_6030EEC,
D_6030EF8,
},
{
{ -500.0f, -250.0f, -1010.0f },
{ 500.0f, 100.0f, 100.0f },
2,
0x06030F28,
0x06030F34,
D_6030F28,
D_6030F34,
},
{
{ -1200.0f, 0.0f, -1800.0f },
{ 0.0f, 900.0f, 1500.0f },
4,
0x06030F64,
0x06030F7C,
D_6030F64,
D_6030F7C,
},
{
{ -400.0f, 0.0f, -900.0f },
{ 400.0f, 0.0f, 0.0f },
2,
0x06030FC4,
0x06030FD0,
D_6030FC4,
D_6030FD0,
},
{
{ -74.0f, 0.0f, -84.0f },
{ 74.0f, 125.0f, 84.0f },
30,
0x060320B8,
0x0603216C,
D_60320B8,
D_603216C,
},
{
{ -1200.0f, 0.0f, -1315.0f },
{ 1403.0f, 200.0f, 1308.0f },
8,
0x06031FB0,
0x06031FE0,
D_6031FB0,
D_6031FE0,
},
{
{ -600.0f, 0.0f, -657.0f },
{ 701.0f, 100.0f, 654.0f },
8,
0x06031FB0,
0x0603204C,
D_6031FB0,
D_603204C,
},
{
{ -2965.0f, -16.0f, -2965.0f },
{ 2965.0f, 544.0f, 2965.0f },
14,
0x0302F044,
0x0302F098,
D_302F044,
D_302F098,
},
{
{ -814.0f, 0.0f, -691.0f },
{ 814.0f, 752.0f, 691.0f },
28,
0x06032388,
0x06032430,
D_6032388,
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;
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;
}
}
return 0;
return false;
}
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]);
}
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) {
D_800CA228 = 1;
Matrix_Push(&gGfxMatrix);
@ -929,10 +929,10 @@ void func_80054E80(Player* player) {
Matrix_Copy(gCalcMatrix, &D_80161418[player->num]);
var_v1 = gLaserStrength[player->num];
if (player->wings.unk_14 > -8.0f) {
var_v1 = 0;
var_v1 = LASERS_SINGLE;
}
switch (var_v1) {
case 0:
case LASERS_SINGLE:
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128);
gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128);
if ((player->unk_238 != 0) && (gLevelMode == LEVELMODE_ON_RAILS)) {
@ -947,9 +947,9 @@ void func_80054E80(Player* player) {
gSPDisplayList(gMasterDisp++, D_1024AC0);
Matrix_Pop(&gGfxMatrix);
break;
case 1:
case 2:
if (var_v1 == 1) {
case LASERS_TWIN:
case LASERS_HYPER:
if (var_v1 == LASERS_TWIN) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128);
gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128);
} 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);
return;
}
@ -1219,7 +1219,7 @@ void func_800564C0(Player* player, s32 arg1) {
} else if (player->form == FORM_ON_FOOT) {
Matrix_Push(&gGfxMatrix);
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);
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);
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,
};
void func_8005BAB4(s32 objId, s32 index) {
void func_8005BAB4(ObjectId objId, s32 index) {
f32 temp_fv0;
f32 temp1;
f32 temp2;
@ -1597,7 +1597,7 @@ void Object_DrawAll(s32 arg0) {
Lights_SetOneLight(&gMasterDisp, gLight1x, gLight1y, gLight1z, gLight1R, gLight1G, gLight1B, gAmbientR, gAmbientG,
gAmbientB);
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);
if ((obj4C->obj.id == OBJ_4C_165) || (obj4C->obj.id == OBJ_4C_166)) {
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);
}
s32 func_80060FE4(Vec3f* arg0, f32 arg1) {
bool func_80060FE4(Vec3f* arg0, f32 arg1) {
Vec3f sp2C;
Vec3f sp20;
@ -90,7 +90,7 @@ s32 func_80060FE4(Vec3f* arg0, f32 arg1) {
return false;
}
s32 func_80061148(Vec3f* arg0, f32 arg1) {
bool func_80061148(Vec3f* arg0, f32 arg1) {
Vec3f sp2C;
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;
Vec3f hitRot;
Vec3f hitPos;
@ -656,7 +656,7 @@ s32 func_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot,
rotate = 0.0f;
hitRot.x = hitRot.y = hitRot.z = 0.0f;
if (*hitboxData >= HITBOX_UNK_3) {
return 0;
return false;
}
if (*hitboxData == HITBOX_UNK_2) {
rotate = 1.0f;
@ -700,7 +700,7 @@ s32 func_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot,
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 ((fabsf(hitboxData[1] + posA->z - posD->z) < (hitboxData[2] + 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;
}
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 sp68;
Vec3f sp5C;
Vec3f sp50;
Vec3f sp44;
s32 var_s1;
s32 colId;
s32 pad1[3];
f32 sp30;
s32 pad2;
@ -736,46 +736,46 @@ s32 func_8006326C(Vec3f* arg0, Vec3f* arg1, s32 objId, Object* obj) {
sp50.z = obj->pos.z;
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)) {
var_s1 = 0;
colId = COL1_0;
if (objId == OBJ_408_312) {
var_s1 = 9;
colId = COL1_9;
}
if (objId == OBJ_80_39) {
var_s1 = 1;
colId = COL1_1;
} else if (objId == OBJ_408_308) {
var_s1 = 4;
colId = COL1_4;
} else if (objId == OBJ_408_309) {
var_s1 = 7;
colId = COL1_7;
} else if (objId == OBJ_80_149) {
var_s1 = 5;
colId = COL1_5;
} else if (objId == OBJ_80_150) {
var_s1 = 6;
colId = COL1_6;
} 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;
}
} else {
var_s1 = 0;
colId = COL2_0;
if (objId == OBJ_80_2) {
var_s1 = 2;
colId = COL2_2;
}
if (objId == OBJ_80_3) {
var_s1 = 3;
colId = COL2_3;
}
if (objId == OBJ_80_140) {
var_s1 = 4;
colId = COL2_4;
}
if (objId == OBJ_80_141) {
var_s1 = 6;
colId = COL2_6;
}
if (objId == OBJ_80_117) {
var_s1 = 14;
colId = COL2_14;
} 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;
}
}
@ -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) &&
((obj2F4->obj.id != OBJ_2F4_197) || (obj2F4->unk_0E4 >= 4)) && (obj2F4->timer_0C2 == 0)) {
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;
}
} else if (obj2F4->scale < 0.0f) {
@ -989,7 +989,7 @@ void func_80063F74(Item* item) {
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_a2;
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);
}
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);
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)) {
if ((obj2F4->unk_0D4 == 1) && (obj2F4->info.bonus != 0)) {
gHitCount += obj2F4->info.bonus;
D_80177850 = 0xF;
D_80177850 = 15;
if ((gLevelMode == LEVELMODE_ALL_RANGE) && (D_80161A62 != 0)) {
switch (D_80161A62) {
case 9:
@ -1765,7 +1765,7 @@ void func_8006684C(Object_2F4* obj2F4) {
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);
gHitCount += 3;
D_80177850 = 0xF;
D_80177850 = 15;
}
} else {
obj2F4->obj.rot.x += 11.0f;
@ -1907,7 +1907,7 @@ void func_80066EF0(Item* item) {
} else if (item->obj.pos.y < -500.0f) {
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.z - gItems[1].obj.pos.z) < 200.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)) &&
(player[0].form != FORM_LANDMASTER)) {
obj2F4->unk_044 = 23;
} else if (gPlayer[0].shields < 0x80) {
} else if (gPlayer[0].shields < 128) {
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;
} else {
obj2F4->unk_044 = 5;
@ -2099,8 +2099,8 @@ void func_80067BEC(Item* item) {
item->timer_48 = 20;
item->unk_50 = 60.0f;
gLaserStrength[item->unk_4E]++;
if (gLaserStrength[item->unk_4E] > 2) {
gLaserStrength[item->unk_4E] = 2;
if (gLaserStrength[item->unk_4E] > LASERS_HYPER) {
gLaserStrength[item->unk_4E] = LASERS_HYPER;
}
func_80060F30(gPlayer[item->unk_4E].unk_460_arr, 0x49002004, item->unk_4E);
if (gExpertMode) {
@ -2129,7 +2129,7 @@ void func_80067BEC(Item* item) {
}
void func_80067F6C(Item* item) {
if ((!gVersusMode) &&
if (!gVersusMode &&
((gPlayer[0].wings.leftState <= WINGSTATE_BROKEN) || (gPlayer[0].wings.rightState <= WINGSTATE_BROKEN))) {
item->obj.id = OBJ_ITEM_WING_REPAIR;
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) {
case OBJ_2F4_200:
func_8007717C(&gObjects2F4[index]);

View File

@ -114,7 +114,7 @@ bool func_8006ABA4(Object_2F4* obj2F4) {
void func_8006AC08(Object_2F4* obj2F4) {
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);
obj2F4->timer_0BC = 20;
}
@ -735,7 +735,7 @@ void func_8006C008(Object_2F4* obj2F4) {
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
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);
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,
f32 xRot, f32 yRot, f32 zRot) {
void func_8006ECBC(PlayerShotId objId, PlayerShot* shot, s32 unk0E4, f32 xPos, f32 yPos, f32 zPos, f32 arg6, f32 arg7,
f32 arg8, f32 xRot, f32 yRot, f32 zRot) {
PlayerShot_Initialize(shot);
shot->obj.status = 1;
shot->unk_20.z = arg8;
shot->unk_20.x = arg6;
shot->unk_20.y = arg7;
shot->vel.z = arg8;
shot->vel.x = arg6;
shot->vel.y = arg7;
shot->obj.pos.x = xPos;
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_60 = 0;
if (objId == OBJ_80_9) {
if (objId == PLAYERSHOT_9) {
shot->unk_64 = 120;
} else {
shot->unk_64 = 30;
}
shot->playerNum = arg2 + 100;
shot->playerNum = unk0E4 + 100;
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);
} else {
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);
} else if (arg2 + 100 == 200) {
} else if (unk0E4 + 100 == 200) {
shot->playerNum = 100;
Audio_PlaySfx(0x19030037, &shot->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
} 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) {
s32 i;
for (i = 0; i < 10; i++) {
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;
}
}
}
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) {
s32 i;
for (i = 0; i < 10; i++) {
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;
}
}
@ -2002,7 +2002,7 @@ void func_800701E0(Object_2F4* obj2F4) {
f32 var_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)) {
obj2F4->unk_0D0 = 0;
}
@ -2029,7 +2029,7 @@ void func_800701E0(Object_2F4* obj2F4) {
if (obj2F4->unk_0B4 == 0x6A) {
func_80077240(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 3);
gHitCount += 4;
D_80177850 = 0xF;
D_80177850 = 15;
}
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,
obj2F4->obj.pos.z - obj2F4->unk_0E8.z, obj2F4->scale * 5.0f);
obj2F4->unk_0D0 = 0;
obj2F4->timer_0C2 = 0x2710;
obj2F4->timer_0C2 = 10000;
obj2F4->info.unk_1C = 0.0f;
gHitCount += obj2F4->info.bonus;
D_80177850 = 0xF;
break;
default:
obj2F4->timer_0BC = 0x23;
obj2F4->timer_0BC = 35;
obj2F4->timer_04C = 2;
obj2F4->unk_0E8.y = (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;
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);
}
break;
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);
}
break;
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);
}
break;
@ -2725,7 +2725,7 @@ void func_80070D44(Object_2F4* obj2F4) {
break;
case 67:
if (gExpertMode != 0) {
if (gExpertMode) {
func_80070CEC(obj2F4);
}
break;
@ -3422,7 +3422,7 @@ void func_80072594(Object_2F4* obj2F4) {
break;
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;
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) {
gSPClearGeometryMode(gMasterDisp++, G_TEXTURE_GEN);
if ((limbIndex == 3) || (limbIndex == 5)) {
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);
}
if ((D_80178294 != 0) &&
(func_800A73E4(&sp58, &sp5C, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z) != 0)) {
if ((D_80178294 != 0) && func_800A73E4(&sp58, &sp5C, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z)) {
func_8007BFFC(obj2F4->obj.pos.x, sp58 + 20.0f, obj2F4->obj.pos.z, 0.0f, 0.0f, 0.0f, obj2F4->scale * 3.0f,
5);
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();
}
gGameState++;
Timer_CreateTask(MSEC_TO_CYCLES(1000), Timer_Increment, &gGameState, 1);
Timer_CreateTask(MSEC_TO_CYCLES(1000), Timer_Increment, (s32*) &gGameState, 1);
/* fallthrough */
case GSTATE_LOGO_WAIT:
RCP_SetupDL(&gMasterDisp, 0x4C);
@ -529,7 +529,7 @@ void func_800A26C0(void) {
func_80040CDC();
func_8008865C();
func_8002E548();
if ((gGameState == GSTATE_PLAY) && (gVersusMode)) {
if ((gGameState == GSTATE_PLAY) && gVersusMode) {
func_800C1ED4();
}
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))))
s32 Play_CheckMedalStatus(u16 hitCount) {
bool Play_CheckMedalStatus(u16 hitCount) {
if ((gTeamShields[2] > 0) && (gTeamShields[3] > 0) && (gTeamShields[1] > 0) && (gHitCount >= hitCount)) {
return true;
}
@ -42,9 +42,9 @@ void func_800A3FB0(void) {
s32 Play_GetMaxShields(void) {
if (gGoldRingCount[0] >= 3) {
return 0x17F;
return 383;
}
return 0xFF;
return 255;
}
void func_800A3FEC(void) {
@ -155,7 +155,7 @@ void func_800A46A0(Player* player) {
func_8007D10C(((Rand_ZeroOne() - 0.5f) * 10.0f) + player->hit1.x,
(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,
(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);
@ -166,7 +166,7 @@ void func_800A46A0(Player* player) {
func_8007D10C(((Rand_ZeroOne() - 0.5f) * 10.0f) + player->hit2.x,
(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,
(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);
@ -983,7 +983,7 @@ bool func_800A73E4(f32* arg0, s32* arg1, f32 posX, f32 posY, f32 posZ) {
sp9C = (s32) ((posX + 2400.0f) / 300.0f);
sp98 = (s32) ((posZ + D_80177D20 + 1500.0f + 2400.0f) / 300.0f);
if ((sp9C < 0) || (sp9C >= 16) || (sp98 < 0) || (sp98 >= 16)) {
return 0;
return false;
}
sp90 = Math_ModF(posX + 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;
}
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)) &&
(fabsf(hitbox->x.offset + arg1 - arg4) < (hitbox->x.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;
}
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 sp48;
Vec3f sp3C;
f32 pad1;
f32 sp34;
s32 var_s0;
s32 var_v0;
s32 colId;
s32 useCol2;
sp54.x = arg4;
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.z = arg3;
var_v0 = false;
useCol2 = false;
switch (objId) {
case OBJ_2F4_180:
var_s0 = 0;
colId = COL1_0;
break;
case OBJ_80_4:
case OBJ_80_5:
var_s0 = 1;
var_v0 = true;
colId = COL2_1;
useCol2 = true;
break;
case OBJ_80_149:
var_s0 = 5;
colId = COL1_5;
break;
case OBJ_80_150:
var_s0 = 6;
colId = COL1_6;
break;
case OBJ_408_308:
var_s0 = 4;
colId = COL1_4;
break;
case OBJ_408_312:
var_s0 = 9;
colId = COL1_9;
break;
case OBJ_408_309:
var_s0 = 7;
colId = COL1_7;
break;
case OBJ_UNK_1000:
var_s0 = 3;
colId = COL1_3;
break;
case OBJ_408_313:
var_s0 = 8;
colId = COL1_8;
break;
case OBJ_80_39:
var_s0 = 1;
colId = COL1_1;
break;
case OBJ_80_120:
var_s0 = 18;
var_v0 = true;
colId = COL2_18;
useCol2 = true;
break;
case OBJ_80_124:
var_s0 = 15;
var_v0 = true;
colId = COL2_15;
useCol2 = true;
break;
case OBJ_80_126:
var_s0 = 16;
var_v0 = true;
colId = COL2_16;
useCol2 = true;
break;
case OBJ_80_47:
var_s0 = 7;
var_v0 = true;
colId = COL2_7;
useCol2 = true;
break;
case OBJ_80_2:
var_s0 = 2;
var_v0 = true;
colId = COL2_2;
useCol2 = true;
break;
case OBJ_80_3:
case OBJ_80_69:
var_s0 = 3;
var_v0 = true;
colId = COL2_3;
useCol2 = true;
break;
case OBJ_80_143:
var_s0 = 17;
var_v0 = true;
colId = COL2_17;
useCol2 = true;
break;
case OBJ_80_140:
var_s0 = 4;
var_v0 = true;
colId = COL2_4;
useCol2 = true;
break;
case OBJ_80_141:
var_s0 = 6;
var_v0 = true;
colId = COL2_6;
useCol2 = true;
break;
case OBJ_80_117:
var_s0 = 14;
var_v0 = true;
colId = COL2_14;
useCol2 = true;
break;
case OBJ_80_70:
var_s0 = 8;
var_v0 = true;
colId = COL2_8;
useCol2 = true;
break;
case OBJ_80_72:
var_s0 = 9;
var_v0 = true;
colId = COL2_9;
useCol2 = true;
break;
case OBJ_80_71:
var_s0 = 10;
var_v0 = true;
colId = COL2_10;
useCol2 = true;
break;
case OBJ_80_73:
var_s0 = 11;
var_v0 = true;
colId = COL2_11;
useCol2 = true;
break;
case OBJ_80_67:
var_s0 = 12;
var_v0 = true;
colId = COL2_12;
useCol2 = true;
break;
case OBJ_80_74:
var_s0 = 13;
var_v0 = true;
colId = COL2_13;
useCol2 = true;
break;
case OBJ_80_118:
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_68:
default:
var_s0 = 0;
var_v0 = true;
colId = COL2_0;
useCol2 = true;
break;
}
if (!var_v0) {
if (func_800998FC(&sp54, &sp48, arg8, var_s0, &sp3C, &sp34) > 0) {
if (!useCol2) {
if (func_800998FC(&sp54, &sp48, arg8, colId, &sp3C, &sp34) > 0) {
return true;
}
} else {
if (func_800A3690(&sp54, &sp48, var_s0, arg7)) {
if (func_800A3690(&sp54, &sp48, colId, arg7)) {
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*)
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 sp78;
Vec3f sp6C;
@ -1563,7 +1564,7 @@ void func_800A8BA4(Player* player) {
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);
}
@ -2052,7 +2053,7 @@ void func_800AA800(Player* player) {
Object_58* obj58;
Object_80* obj80;
s32 count;
s32 var_s0;
s32 colId;
s32 i;
f32 tempx;
f32 tempy;
@ -2112,13 +2113,13 @@ void func_800AA800(Player* player) {
spD4.x = player->pos.x;
spD4.y = D_80177940;
spD4.z = player->unk_138;
var_s0 = 4;
colId = COL2_4;
if (obj58->obj.id == OBJ_80_141) {
var_s0 = 6;
colId = COL2_6;
} 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_248 = spBC.x;
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) {
var_s0 = 5;
colId = COL1_5;
} 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_248 = spA8[0];
player->unk_24C = spA8[1];
player->unk_070 = (sp120 / 180.0f) * M_PI;
}
} else {
var_s0 = 0;
colId = COL2_0;
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_248 = spBC.x;
player->unk_24C = spBC.z;
@ -2207,19 +2208,19 @@ void func_800AA800(Player* player) {
spC8.y = tempy;
spC8.z = tempz;
var_s0 = 0;
colId = COL2_0;
if (obj80->obj.id == OBJ_80_47) {
var_s0 = 7;
colId = COL2_7;
}
if (obj80->obj.id == OBJ_80_2) {
var_s0 = 2;
colId = COL2_2;
} 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)) {
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_06C = player->unk_138 + var_fs1;
player->unk_248 = spBC.x;
@ -2266,7 +2267,7 @@ void func_800AA800(Player* player) {
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) {
player->unk_068 = spEC.y + 15.0f + tempy;
player->unk_06C = spEC.z + 10.0f + tempz;
@ -2348,11 +2349,7 @@ void func_800AB334(void) {
case LEVEL_VENOM_ANDROSS:
D_80177A98 = 0;
D_80177AB0 = 6;
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;
D_E9F1D0_801A7F58 = D_E9F1D0_801A7F60 = D_E9F1D0_801A7F68 = D_E9F1D0_801A7F70 = D_E9F1D0_801A7F78 = 0.0f;
break;
case LEVEL_AQUAS:
D_80137E78 = 3;
@ -2370,7 +2367,7 @@ void func_800AB334(void) {
case LEVEL_ZONESS:
MEM_ARRAY_ALLOCATE(D_801782C4, 200);
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;
}
D_801784A4 = 0;
@ -2452,7 +2449,7 @@ void func_800AB964(void) {
for (j = 0; j < 10; j++) {
D_80177DD0[i][j] = 0;
}
gLaserStrength[i] = 0;
gLaserStrength[i] = LASERS_SINGLE;
gBombCount[i] = 0;
}
D_80177E7C = D_80177E74 = 0;
@ -2480,7 +2477,7 @@ void func_800ABAB4(void) {
gControllerRumble[i] = 0;
}
if (gExpertMode != 0) {
if (gExpertMode) {
D_80177828 = 200;
} else {
D_80177828 = 100;
@ -2631,7 +2628,7 @@ void func_800ABAB4(void) {
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 sp38;
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_RotateZ(gCalcMatrix, -((player->unk_0F8 + player->unk_0F0) * M_DTOR), 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;
}
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;
Matrix_MultVec3f(gCalcMatrix, &sp44, &sp2C);
shot->obj.status = 1;
shot->unk_20.x = sp38.x;
shot->unk_20.y = sp38.y;
shot->unk_20.z = sp38.z;
shot->vel.x = sp38.x;
shot->vel.y = sp38.y;
shot->vel.z = sp38.z;
shot->unk_60 = 0;
shot->obj.id = objId;
shot->obj.id = shotId;
if (!gVersusMode) {
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.y = player->unk_0E8 + player->unk_114;
shot->obj.rot.z = player->unk_0F8;
if (objId == PLAYERSHOT_8) {
if (shotId == PLAYERSHOT_8) {
if (gCurrentLevel == LEVEL_AQUAS) {
shot->unk_58 = 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;
}
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 sp48;
Vec3f sp3C;
@ -2729,9 +2726,9 @@ void func_800AC650(Player* player, PlayerShot* shot, s32 objId, f32 arg3) {
sp54.y = 7;
sp54.z = 0;
Matrix_MultVec3f(gCalcMatrix, &sp54, &sp3C);
shot->unk_20.x = sp48.x;
shot->unk_20.y = sp48.y;
shot->unk_20.z = sp48.z;
shot->vel.x = sp48.x;
shot->vel.y = sp48.y;
shot->vel.z = sp48.z;
shot->obj.pos.x = player->pos.x + sp3C.x;
shot->obj.pos.y = player->pos.y + sp3C.y;
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.z = player->unk_0EC;
shot->unk_64 = 40;
shot->obj.id = objId;
shot->obj.id = shotId;
shot->playerNum = player->num;
if (objId == PLAYERSHOT_8) {
if (shotId == PLAYERSHOT_8) {
if (arg3 <= 65.0f) {
shot->unk_5C = 1;
}
@ -2770,13 +2767,13 @@ void func_800ACA40(Player* player) {
void func_800ACABC(Player* player) {
s32 i;
s32 laser = gLaserStrength[gPlayerNum];
LaserStrength laser = gLaserStrength[gPlayerNum];
if (player->wings.unk_14 > -8.0f) {
laser = 0;
laser = LASERS_SINGLE;
}
switch (laser) {
case 0:
case LASERS_SINGLE:
for (i = 0; i < ARRAY_COUNT(gPlayerShots) - 1; i++) {
if (gPlayerShots[i].obj.status == 0) {
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;
case 1:
case 2:
case LASERS_TWIN:
case LASERS_HYPER:
for (i = 0; i < ARRAY_COUNT(gPlayerShots) - 1; i++) {
if (gPlayerShots[i].obj.status == 0) {
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);
D_80177AA0[player->num] = 0.5f;
} 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 sp50;
Vec3f sp44;
@ -2839,7 +2836,7 @@ void func_800ACDC0(Player* player, PlayerShot* shot, s32 objId) {
Matrix_RotateX(gCalcMatrix, player->unk_154 * M_DTOR, 1);
sp5C.x = 0.0f;
sp5C.y = 0.0f;
if (objId == PLAYERSHOT_3) {
if (shotId == PLAYERSHOT_3) {
sp5C.z = 100.0f;
} else {
sp5C.z = 150.0f;
@ -2855,9 +2852,9 @@ void func_800ACDC0(Player* player, PlayerShot* shot, s32 objId) {
sp5C.y = 0.0f;
sp5C.z = 0;
Matrix_MultVec3f(gCalcMatrix, &sp5C, &sp44);
shot->unk_20.x = sp50.x;
shot->unk_20.y = sp50.y;
shot->unk_20.z = sp50.z;
shot->vel.x = sp50.x;
shot->vel.y = sp50.y;
shot->vel.z = sp50.z;
shot->obj.pos.x = player->pos.x + sp44.x;
shot->obj.pos.y = player->pos.y + sp44.y;
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->obj.status = 1;
shot->obj.id = objId;
shot->obj.id = shotId;
shot->unk_64 = 30;
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;
s32 i;
@ -2921,7 +2918,7 @@ bool func_800AD1F4(Player* player) {
}
if ((!(gInputHold->button & R_TRIG) || !(gInputHold->button & Z_TRIG) || (player->form != FORM_ARWING) ||
(player->state_1C8 != PLAYERSTATE_1C8_3)) &&
!(gFrameCount & 3) && (func_800AD118(player->num) != 0)) {
!(gFrameCount & 3) && func_800AD118(player->num)) {
if (gChargeTimers[player->num] >= 21) {
for (i = 0; i < 13; i++) {
if (gPlayerShots[i].obj.status == 0) {
@ -3016,10 +3013,10 @@ void func_800AD7F0(Player* player) {
switch (player->form) {
case FORM_ARWING:
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 (gLaserStrength[gPlayerNum] > 0) {
if (!func_800AD1F4(player)) {
if (gLaserStrength[gPlayerNum] > LASERS_SINGLE) {
Math_SmoothStepToF(&player->wings.unk_14, -10.0f, 1.0f, 0.5f, 0.0f);
} else {
Math_SmoothStepToF(&player->wings.unk_14, 0.0f, 1.0f, 0.5f, 0.0f);
@ -3038,7 +3035,7 @@ void func_800AD7F0(Player* player) {
}
break;
case FORM_LANDMASTER:
if (func_800AD1F4(player) == 0) {
if (!func_800AD1F4(player)) {
if (gShootButton[player->num] & gInputPress->button) {
func_800ACA40(player);
}
@ -4094,10 +4091,8 @@ void func_800B0F50(Player* playerx) {
D_80161684 = D_80161A50;
D_80177DC8 = D_80177CA0;
D_80161A88 = D_80161A8C;
player->unk_144 = D_80177CB0;
D_80177D20 = player->unk_144;
player->unk_138 = -player->unk_144;
player->pos.z = -player->unk_144;
D_80177D20 = player->unk_144 = D_80177CB0;
player->pos.z = player->unk_138 = -player->unk_144;
if ((D_80177CA0 > 0) && (gLevelMode == LEVELMODE_ON_RAILS)) {
if (gCurrentLevel == LEVEL_MACBETH) {
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;
if (gVersusMode) {
gLaserStrength[gPlayerNum] = 0;
gLaserStrength[gPlayerNum] = LASERS_SINGLE;
player->pos.y = 500.0f;
player->pos.x = D_800D3114[gPlayerNum];
player->pos.z = D_800D3124[gPlayerNum];
@ -4287,7 +4282,7 @@ void func_800B0F50(Player* playerx) {
for (j = 0; j < 6; j++) {
D_80177CD0[j] = D_80177CF0[j] = 1;
}
gLaserStrength[gPlayerNum] = 0;
gLaserStrength[gPlayerNum] = LASERS_SINGLE;
gGoldRingCount[0] = D_80161A94[0] = D_80161714 = 0;
gLifeCount[gPlayerNum] = 2;
gBombCount[gPlayerNum] = 3;
@ -4324,7 +4319,7 @@ void func_800B0F50(Player* playerx) {
break;
}
}
if (gLaserStrength[gPlayerNum] > 0) {
if (gLaserStrength[gPlayerNum] > LASERS_SINGLE) {
player->wings.unk_14 = -10.0f;
}
D_801779BC = 0;
@ -5134,7 +5129,7 @@ void func_800B44C4(Player* player) {
}
void func_800B46F8(Player* player) {
s32 temp_ft2;
s32 teamId;
if ((player->state_1C8 == PLAYERSTATE_1C8_3) && (D_8017796C >= 0)) {
D_8017796C++;
@ -5144,10 +5139,10 @@ void func_800B46F8(Player* player) {
if ((player->shields < 0x40) && ((gTeamShields[1] > 0) || (gTeamShields[3] > 0) || (gTeamShields[2] > 0))) {
do {
do {
temp_ft2 = (s32) (Rand_ZeroOne() * 2.9f) + 1;
} while (gTeamShields[temp_ft2] <= 0);
teamId = (s32) (Rand_ZeroOne() * 2.9f) + 1;
} while (gTeamShields[teamId] <= 0);
} while (0); // macro?
switch (temp_ft2) {
switch (teamId) {
case 1:
if (Rand_ZeroOne() < 0.5f) {
func_800BA808(gMsg_ID_20306, RCID_FALCO);
@ -5206,11 +5201,11 @@ void func_800B48BC(Player* player) {
*D_80177984 = 1;
}
}
if (player->state_1C8 >= 2) {
if (player->state_1C8 >= PLAYERSTATE_1C8_2) {
func_800B39E0(player);
}
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) {
case 0:
sp1C4 = Animation_GetFrameData(&D_3015AF4, 0, sp58);
@ -5440,7 +5435,7 @@ void func_800B48BC(Player* player) {
D_80177854 = 1;
}
gBombCount[gPlayerNum] = 3;
gLaserStrength[gPlayerNum] = 0;
gLaserStrength[gPlayerNum] = LASERS_SINGLE;
D_80178488 = true;
gDrawMode = DRAWMODE_0;
}
@ -5889,7 +5884,7 @@ void func_800B7184(Player* player, s32 arg1) {
void func_800B71E4(Player* player) {
switch (player->state_1C8) {
case 3:
case PLAYERSTATE_1C8_3:
switch (gLevelMode) {
case LEVELMODE_ON_RAILS:
if (player->form == FORM_ARWING) {
@ -5912,11 +5907,11 @@ void func_800B71E4(Player* player) {
break;
}
break;
case 5:
case PLAYERSTATE_1C8_5:
player->unk_034 -= player->unk_034 * 0.1f;
func_800B7184(player, 0);
break;
case 4:
case PLAYERSTATE_1C8_4:
if ((gLevelMode == LEVELMODE_ON_RAILS) && (player->form == FORM_ARWING)) {
player->camEye.x += (player->pos.x - player->camEye.x) * 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;
}
break;
case 6:
case 7:
case PLAYERSTATE_1C8_6:
case PLAYERSTATE_1C8_7:
break;
}
}
@ -6038,8 +6033,8 @@ void func_800B79B0(void) {
case LEVEL_VERSUS:
func_800C26C8();
D_80177844++;
if ((D_80177844 == 200) && (gLaserStrength[0] == 0) && (gLaserStrength[1] == 0) &&
(gLaserStrength[2] == 0) && (gLaserStrength[3] == 0)) {
if ((D_80177844 == 200) && (gLaserStrength[0] == LASERS_SINGLE) && (gLaserStrength[1] == LASERS_SINGLE) &&
(gLaserStrength[2] == LASERS_SINGLE) && (gLaserStrength[3] == LASERS_SINGLE)) {
func_800B852C(OBJ_ITEM_LASERS, &gItems[0]);
}
if ((D_80177844 == 400) && (gBombCount[0] == 0) && (gBombCount[1] == 0) && (gBombCount[2] == 0) &&
@ -6235,7 +6230,7 @@ void func_800B832C(void) {
func_800B79B0();
}
void func_800B852C(s32 objId, Item* item) {
void func_800B852C(ObjectId objId, Item* item) {
u8 sp1F = Rand_ZeroOne() * 5.0f;
if (D_800D317C == sp1F) {

View File

@ -671,10 +671,8 @@ void func_800BB5D0(void) {
if (temp_ft0 == RCID_PEPPY) {
var_v1 = 3;
}
if ((((((gTeamShields[var_v1] <= 0) && (gFrameCount & 4)) && (gTeamShields[var_v1] != (-2))) &&
(D_801782A4 != 2)) &&
(D_801782A4 != 3)) &&
(D_801782A4 != 1000)) {
if ((gTeamShields[var_v1] <= 0) && (gFrameCount & 4) && (gTeamShields[var_v1] != -2) && (D_801782A4 != 2) &&
(D_801782A4 != 3) && (D_801782A4 != 1000)) {
RCP_SetupDL(&gMasterDisp, 0x4C);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN");
@ -687,12 +685,9 @@ void func_800BB5D0(void) {
temp_ft0 = (s32) D_80177D68;
if ((((((((temp_ft0 == RCID_WOLF) || (temp_ft0 == RCID_PIGMA)) || (temp_ft0 == RCID_LEON)) ||
(temp_ft0 == RCID_ANDREW)) ||
(temp_ft0 == RCID_WOLF_2)) ||
(temp_ft0 == RCID_PIGMA_2)) ||
(temp_ft0 == RCID_LEON_2)) ||
(temp_ft0 == RCID_ANDREW_2)) {
if ((temp_ft0 == RCID_WOLF) || (temp_ft0 == RCID_PIGMA) || (temp_ft0 == RCID_LEON) ||
(temp_ft0 == RCID_ANDREW) || (temp_ft0 == RCID_WOLF_2) || (temp_ft0 == RCID_PIGMA_2) ||
(temp_ft0 == RCID_LEON_2) || (temp_ft0 == RCID_ANDREW_2)) {
switch (temp_ft0) {
case RCID_WOLF:
@ -723,10 +718,8 @@ void func_800BB5D0(void) {
break;
}
if ((((((gObjects2F4[var_v1].obj.status != 2) && (gFrameCount & 4)) &&
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3)) &&
(D_801782A4 != 2)) &&
(D_801782A4 != 3)) &&
if ((gObjects2F4[var_v1].obj.status != 2) && (gFrameCount & 4) &&
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (D_801782A4 != 2) && (D_801782A4 != 3) &&
(D_801782A4 != 1000)) {
RCP_SetupDL(&gMasterDisp, 0x4C);
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,
PostLimbDraw postLimbDraw, void* data) {
s32 override;
bool override;
s32 limbIndex;
Gfx* dList;
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,
PostLimbDraw postLimbDraw, void* data, Matrix* transform) {
s32 override;
bool override;
Limb** skeleton;
Limb* rootLimb;
s32 rootIndex;

View File

@ -43,7 +43,7 @@ extern f32 D_E6A810_801BE2A4;
extern s16 D_E6A810_801BE2FA;
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_801A3790(Player*, f32, f32);
@ -335,7 +335,7 @@ void func_800444BC(Player* player) {
if (D_801784AC == 4) {
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_70 = D_E6A810_801BE250.unk_74 = 0.0f;
D_800C9F10 = 0.0f;
@ -515,7 +515,7 @@ void func_80044868(Player* player) {
if ((gCurrentLevel == LEVEL_TITANIA) && (D_80178284 == 0)) {
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);
}
}
@ -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_74 = sp58.z;
} 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->timer_1E8 = 15;
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)) {
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) &&
(D_E6A810_801BE250.unk_54 < (player->pos.x + 200.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);
}
}
if (func_801A3C20(player->unk_138) != 0) {
if (func_801A3C20(player->unk_138)) {
player->unk_0E4 = D_E6A810_801BE250.unk_5C;
if (((player->pos.x - 200.0f) < D_E6A810_801BE250.unk_54) &&
(D_E6A810_801BE250.unk_54 < (player->pos.x + 200.0f))) {
@ -1317,7 +1317,7 @@ void func_80047FBC(Player* player) {
if (!(D_800C9F08 & 1)) {
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 (gPlayer->state_1C8 != 7) {
if (gPlayer->state_1C8 != PLAYERSTATE_1C8_7) {
Audio_PlaySfx(0x19000065, &player->unk_460, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
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;
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)) {
*arg1 = NULL;
}
return 0;
return false;
}
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) &&
(fabsf(player->pos.y - obj8C->obj.pos.y) < arg2) && (player->timer_498 == 0)) {
Player_ApplyDamage(player, 0, obj8C->info.damage);
return 1;
return true;
} 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;
default:
ret = 0;
ret = false;
break;
}
@ -1622,7 +1622,7 @@ void func_800907C4(Object_408* obj408) {
func_8008FFF0(obj408, D_8015F928);
}
s32 func_8009092C(Object_2F4* obj2F4) {
bool func_8009092C(Object_2F4* obj2F4) {
bool var_s5 = false;
Object_408* obj408;
s32 i = 0;
@ -1648,7 +1648,7 @@ s32 func_8009092C(Object_2F4* obj2F4) {
return var_s5;
}
s32 func_80090A00(Object_2F4* obj2F4) {
bool func_80090A00(Object_2F4* obj2F4) {
switch (obj2F4->unk_064) {
case 0:
obj2F4->unk_134 = 0.0f;
@ -1722,10 +1722,10 @@ s32 func_80090A00(Object_2F4* obj2F4) {
return false;
}
s32 func_80090CCC(Object_2F4* obj2F4) {
s32 ret = 0;
bool func_80090CCC(Object_2F4* obj2F4) {
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.y = gObjects408[obj2F4->unk_0E6].obj.pos.y;
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)) {
obj2F4->unk_0B8 = 1;
obj2F4->unk_068 = 0;
ret = 1;
ret = true;
}
if (obj2F4->timer_0BE == 0) {
@ -1760,7 +1760,7 @@ s32 func_80090CCC(Object_2F4* obj2F4) {
obj2F4->unk_0B8 = 1;
obj2F4->unk_0E6 = 0;
obj2F4->unk_068 = 0;
ret = 1;
ret = true;
}
return ret;
@ -1809,7 +1809,7 @@ s32 func_80090E8C(Object_2F4* obj2F4) {
return false;
}
s32 func_800910C0(Object_2F4* obj2F4) {
bool func_800910C0(Object_2F4* obj2F4) {
f32 var_fv1;
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_120 = 3.6f;
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;
}
s32 func_80091368(Object_2F4* obj2F4) {
bool func_80091368(Object_2F4* obj2F4) {
switch (obj2F4->unk_064) {
case 0:
obj2F4->unk_124.y = 20000.0f;
@ -1910,7 +1910,7 @@ s32 func_80091368(Object_2F4* obj2F4) {
void func_800914FC(Object_2F4* obj2F4) {
switch (obj2F4->unk_0B8) {
case 0:
if (func_80090CCC(obj2F4) == 0) {
if (!func_80090CCC(obj2F4)) {
break;
}
case 1:
@ -1945,7 +1945,7 @@ void func_800914FC(Object_2F4* obj2F4) {
#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 sp40;
f32 sp3C;
@ -2004,7 +2004,7 @@ s32 func_80091864(Object_2F4* obj2F4) {
return false;
}
s32 func_80091B90(Object_2F4* obj2F4) {
bool func_80091B90(Object_2F4* obj2F4) {
Vec3f vec;
obj2F4->obj.rot.x = -obj2F4->unk_0F4.x;
@ -2032,7 +2032,7 @@ s32 func_80091B90(Object_2F4* obj2F4) {
return false;
}
s32 func_80091CF8(Object_2F4* obj2F4) {
bool func_80091CF8(Object_2F4* obj2F4) {
if (obj2F4->unk_054 != 0) {
if (obj2F4->unk_13C < 0.1f) {
obj2F4->unk_13C = 20.0f;
@ -2051,7 +2051,7 @@ s32 func_80091CF8(Object_2F4* obj2F4) {
return false;
}
s32 func_80091DF4(Object_2F4* obj2F4) {
bool func_80091DF4(Object_2F4* obj2F4) {
Vec3f sp44;
Vec3f sp38;
@ -2068,7 +2068,7 @@ s32 func_80091DF4(Object_2F4* obj2F4) {
return false;
}
s32 func_80091F00(Object_2F4* obj2F4) {
bool func_80091F00(Object_2F4* obj2F4) {
u8 temp_v0 = obj2F4->unk_0D0;
Vec3f sp40;
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")
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)) {
*arg1 = 0;
*arg1 = NULL;
}
return 0;
return false;
}
#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:
// 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
if (gControllerPress[gMainController].button & (A_BUTTON | START_BUTTON)) {
@ -1380,7 +1380,7 @@ void func_EBFBE0_80194AEC(void) {
s32 sp3C = gSoundMode;
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);
gSoundMode = sp3C;
if (gSoundMode >= 3) {
@ -2056,7 +2056,7 @@ void func_EBFBE0_80196FC4(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);
D_EBFBE0_801B91D4 = 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;
}
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 temp2;
s32 var_a2 = 0;
bool var_a2 = false;
f32 temp = *arg0;
s32 x = gControllerPress[gMainController].stick_x;
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) {
Audio_PlaySfx(0x49004007, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
var_a2 = 1;
var_a2 = true;
}
return var_a2;
@ -3964,7 +3964,7 @@ void func_EBFBE0_8019CD54(void) {
case 0:
if (D_EBFBE0_801B9138 == 0) {
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);
D_EBFBE0_801B9150[D_EBFBE0_801B9098][0] = D_EBFBE0_801AEF5C[D_EBFBE0_801B90A0[D_EBFBE0_801B9098]];
D_EBFBE0_801B90D0[D_EBFBE0_801B9098] = 0.0f;

View File

@ -2522,7 +2522,7 @@ void func_EBFBE0_8018EA78(s32 arg0) {
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 y;
f32 z;
@ -2655,7 +2655,7 @@ s32 func_EBFBE0_8018EDC8(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* a
break;
}
return 0;
return false;
}
void func_EBFBE0_8018F438(void) {

View File

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