mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
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:
+17
-9
@@ -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 *);
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+10
-6
@@ -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;
|
||||
|
||||
+70
-1
@@ -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];
|
||||
|
||||
+24
-17
@@ -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;
|
||||
|
||||
@@ -20,7 +20,7 @@ typedef enum {
|
||||
/* 103 */ GSTATE_CHECK_SAVE,
|
||||
/* 104 */ GSTATE_LOGO_WAIT,
|
||||
/* 105 */ GSTATE_START,
|
||||
} GameStates;
|
||||
} GameState;
|
||||
|
||||
typedef void (*TimerAction)(s32*, s32);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
+74
-9
@@ -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[];
|
||||
|
||||
@@ -49,7 +49,7 @@ Graphics_GetSmallTextWidth = 0x800A13EC;
|
||||
func_800A1540 = 0x800A1540;
|
||||
Texture_BlendRGBA16 = 0x800A1558;
|
||||
|
||||
// sf_beam
|
||||
// fox_beam
|
||||
PlayerShot_Initialize = 0x80035E48;
|
||||
|
||||
// fox_rcp
|
||||
|
||||
+175
-160
File diff suppressed because it is too large
Load Diff
+31
-34
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
+77
-78
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+11
-11
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
+36
-36
@@ -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]);
|
||||
|
||||
+26
-28
@@ -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);
|
||||
|
||||
+2
-2
@@ -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);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user