mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-02 16:23:57 +03:00
oh god the docs (#234)
This commit is contained in:
parent
baaba960e6
commit
a864e5ebe2
@ -86,7 +86,7 @@ extern LevelId gCurrentLevel;
|
||||
extern s32 gLevelPhase;
|
||||
extern s32 gBossActive;
|
||||
extern s32 D_ctx_8017828C;
|
||||
extern s32 D_ctx_80178294;
|
||||
extern s32 gUseDynaFloor;
|
||||
extern s32 gRadioState;
|
||||
extern s32 gCurrentRadioPortrait;
|
||||
extern s32 gRadioStateTimer;
|
||||
|
@ -32,13 +32,13 @@ void ActorAllRange_Update(Actor* this);
|
||||
void ActorAllRange_Draw(Actor* this);
|
||||
|
||||
//fox_beam
|
||||
void func_beam_80038140(PlayerShot* shot);
|
||||
void func_beam_80036318(PlayerShot* shot);
|
||||
void func_beam_80035DEC(f32 xPos, f32 yPos, f32 zPos);
|
||||
void PlayerShot_CollisionCheck(PlayerShot* shot);
|
||||
void PlayerShot_Impact(PlayerShot* shot);
|
||||
void PlayerShot_SpawnEffect351(f32 xPos, f32 yPos, f32 zPos);
|
||||
void PlayerShot_Initialize(PlayerShot*);
|
||||
void func_beam_800365E4(f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
|
||||
void PlayerShot_Update(void);
|
||||
void PlayerShot_Draw(void);
|
||||
void PlayerShot_SpawnEffect344(f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
|
||||
void PlayerShot_UpdateAll(void);
|
||||
void PlayerShot_DrawAll(void);
|
||||
|
||||
// fox_bg
|
||||
void Background_DrawStarfield(void);
|
||||
@ -58,17 +58,17 @@ void Boss299_Draw(Boss* boss);
|
||||
void Boss300_Init(Boss* boss);
|
||||
void Boss300_Update(Boss* boss);
|
||||
void Boss300_Draw(Boss* boss);
|
||||
void Boss_SpawnActor189(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
|
||||
void Boss_SpawnDebris(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
|
||||
void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos);
|
||||
|
||||
// fox_tank
|
||||
void func_tank_80043468(Player* player);
|
||||
void Player_UpdateTankCamOnRails(Player* player);
|
||||
void func_tank_800444BC(Player* player);
|
||||
void func_tank_80044868(Player*);
|
||||
void func_tank_80045130(Player*);
|
||||
void func_tank_80045678(Player*);
|
||||
void func_tank_80045E7C(Player*);
|
||||
void func_tank_80047504(Player* player);
|
||||
void Tank_UpdateOnRails(Player* player);
|
||||
void func_tank_80046358(Player*);
|
||||
|
||||
// fox_demo
|
||||
@ -111,7 +111,7 @@ void Sprite167_Draw(Sprite*);
|
||||
void FogShadow_Draw(Sprite*);
|
||||
void func_edisplay_80059F68(Scenery*);
|
||||
void func_edisplay_80059FDC(Scenery*);
|
||||
void Actor189_Draw(Actor*);
|
||||
void ActorDebris_Draw(Actor*);
|
||||
void Actor_DrawEngineAndContrails(Actor*);
|
||||
void Actor_DrawEngineGlow(Actor*, s32);
|
||||
void func_edisplay_8005B388(Actor*);
|
||||
@ -129,9 +129,9 @@ void ItemBomb_Draw(Item*);
|
||||
void ItemLasers_Draw(Item*);
|
||||
void ItemMeteoWarp_Draw(Item*);
|
||||
void Object_ClampSfxSource(f32*);
|
||||
void func_edisplay_8005F0E8(f32*, Vec3f*);
|
||||
void func_edisplay_8005F1EC(f32*);
|
||||
void func_edisplay_8005F290(f32*, Vec3f*);
|
||||
void Object_SetSfxSourceToPos(f32*, Vec3f*);
|
||||
void Object_UpdateSfxSource(f32*);
|
||||
void Object_SetSfxSourceToView(f32*, Vec3f*);
|
||||
void Display_SetSecondLight(Vec3f*);
|
||||
bool func_edisplay_8005F9DC(Vec3f*);
|
||||
|
||||
@ -140,7 +140,7 @@ void Object_Draw(s32 );
|
||||
void Effect_Draw(u8 );
|
||||
void TexturedLine_Draw(void);
|
||||
void TexturedLine_DrawPath(s32);
|
||||
void func_enmy_80060F30(f32* , u32 , s32 );
|
||||
void Object_PlayerSfx(f32* , u32 , s32 );
|
||||
void Object_Kill(Object*, f32*);
|
||||
bool func_enmy_80060FE4(Vec3f*, f32);
|
||||
void Object_SetInfo(ObjectInfo* info, u32 objId);
|
||||
@ -177,7 +177,7 @@ void Sprite167_Update(Sprite*);
|
||||
void func_enmy_80066EA8(Scenery*);
|
||||
void Item_CheckBounds(Item*);
|
||||
void Item_SpinPickup(Item*);
|
||||
void func_enmy_800674B4(f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
void Actor_SpawnDebris70(f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
void ActorSupplies_Update(Actor*);
|
||||
void ActorSupplies_Draw(Actor*);
|
||||
void func_enmy_80067A40(void);
|
||||
@ -221,7 +221,7 @@ void Actor194_Dying(Actor*);
|
||||
void Actor194_Draw(Actor*);
|
||||
void Scenery42_Update(Scenery*);
|
||||
void Actor196_Update(Actor*);
|
||||
void Actor189_Update(Actor*);
|
||||
void ActorDebris_Update(Actor*);
|
||||
void MeteoTunnel_Update(Scenery*);
|
||||
void Actor_SetupPlayerShot(PlayerShotId, PlayerShot*, s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
void Actor_SpawnPlayerLaser(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
@ -407,11 +407,11 @@ void HUD_DrawCountdown(s32* , f32);
|
||||
void func_hud_8008E9EC(f32, f32);
|
||||
void func_hud_8008EA14(f32, f32);
|
||||
void HUD_Draw(void);
|
||||
void func_hud_8008FE78(Boss*);
|
||||
void HUD_BossFO_Draw(Boss*);
|
||||
void func_hud_8008FFF0(Boss*, s32);
|
||||
s32 func_hud_80090200(Boss* boss);
|
||||
bool func_hud_8009092C(Actor*);
|
||||
void func_hud_800907C4(Boss*);
|
||||
void HUD_BossFO_Update(Boss*);
|
||||
bool func_hud_800915FC(Actor*);
|
||||
bool func_hud_800924E0(Actor*);
|
||||
|
||||
@ -442,54 +442,54 @@ void func_800A3CA0(void);
|
||||
|
||||
// fox_play
|
||||
bool Play_CheckMedalStatus(u16);
|
||||
void func_play_800A3FB0(void);
|
||||
void Play_dummy_MuteSfx(void);
|
||||
s32 Play_GetMaxShields(void);
|
||||
void func_play_800A6028(f32*, u32);
|
||||
void func_play_800AC290(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, PlayerShotId shotId, f32 speed);
|
||||
void Play_PlaySfxFirstPlayer(f32*, u32);
|
||||
void Player_SetupArwingShot(Player* player, PlayerShot* shot, f32 arg2, f32 arg3, PlayerShotId shotId, f32 speed);
|
||||
void Play_Setup(void);
|
||||
void func_play_800A594C(void);
|
||||
void Play_InitEnvironment(void);
|
||||
void Play_GenerateStarfield(void);
|
||||
void Play_SetupStarfield(void);
|
||||
void func_play_800A5EBC(void);
|
||||
void func_play_800A5FA0(f32* , u32 , s32 );
|
||||
void func_play_800A6070(f32* , u32 );
|
||||
void Player_PlaySfx(f32* , u32 , s32 );
|
||||
void Play_PlaySfxNoPlayer(f32* , u32 );
|
||||
void Play_ClearObjectData(void);
|
||||
void func_play_800A69F8(s32 , f32 , f32 , f32 );
|
||||
void Play_SpawnDebris(s32 , f32 , f32 , f32 );
|
||||
void Player_ApplyDamage(Player* player, s32 direction, s32 damage);
|
||||
bool func_play_800A73E4(f32* , s32* , f32 xPos, f32 yPos, f32 zPos);
|
||||
bool func_play_800A78C4(Hitbox* hitbox, f32 , f32 , f32 , f32 , f32 , f32 );
|
||||
void func_play_800A8BA4(Player* player);
|
||||
void func_play_800AA800(Player* player);
|
||||
void func_play_800ACDC0(Player*, PlayerShot*, PlayerShotId );
|
||||
void func_play_800B0F50(Player*);
|
||||
void func_play_800B44C4(Player*);
|
||||
void func_play_800AB334(void);
|
||||
void func_play_800ABA08(void);
|
||||
void func_play_800AE278(Player*);
|
||||
void func_play_800B2130(Player*);
|
||||
void func_play_800B2574(Player*);
|
||||
void func_play_800B56BC(Player*);
|
||||
void func_play_800B5D30(Player*, s32);
|
||||
void func_play_800B5FBC(Player*, s32 , bool );
|
||||
void func_play_800B63BC(Player*, s32);
|
||||
void func_play_800B6848(Player*, s32 );
|
||||
void func_play_800B6BFC(Player*, s32 );
|
||||
void func_play_800B6F50(f32, f32, f32, f32, f32, f32);
|
||||
void func_play_800B7184(Player*, s32);
|
||||
void func_play_800B73E0(Player*);
|
||||
bool Play_CheckDynaFloorCollision(f32* , s32* , f32 xPos, f32 yPos, f32 zPos);
|
||||
bool Play_CheckSingleHitbox(Hitbox* hitbox, f32 , f32 , f32 , f32 , f32 , f32 );
|
||||
void Player_CollisionCheck(Player* player);
|
||||
void Player_FloorCheck(Player* player);
|
||||
void Player_SetupOnFootShot(Player*, PlayerShot*, PlayerShotId );
|
||||
void Player_Setup(Player*);
|
||||
void Player_Update360(Player*);
|
||||
void Play_InitLevel(void);
|
||||
void Player_InitVersus(void);
|
||||
void Player_CheckBounds360(Player*);
|
||||
void Player_UpdateArwingRoll(Player*);
|
||||
void Player_ArwingBoost(Player*);
|
||||
void Camera_UpdateArwingOnRails(Player*);
|
||||
void Camera_UpdateCockpitOnRails(Player*, s32);
|
||||
void Camera_FollowPlayer(Player*, s32 , bool );
|
||||
void Camera_UpdateArwing360(Player*, s32);
|
||||
void Camera_UpdateTank360(Player*, s32 );
|
||||
void Camera_UpdateOnFoot360(Player*, s32 );
|
||||
void Camera_SetStarfieldPos(f32, f32, f32, f32, f32, f32);
|
||||
void Camera_Update360(Player*, s32);
|
||||
void Camera_SetupLights(Player*);
|
||||
void Play_SpawnVsItem(ObjectId , Item*);
|
||||
void Play_Main(void);
|
||||
void func_play_800A668C(f32 xPos, f32 yPos, f32 zPos);
|
||||
void func_play_800AD7F0(Player* player);
|
||||
void func_play_800ADF58(Player* player);
|
||||
void func_play_800B415C(Player* player);
|
||||
void func_play_800B41E0(Player* player);
|
||||
void Play_SpawnHitmark(f32 xPos, f32 yPos, f32 zPos);
|
||||
void Player_Shoot(Player* player);
|
||||
void Player_UpdatePath(Player* player);
|
||||
void Player_LowHealthAlarm(Player* player);
|
||||
void Play_dummy_800B41E0(Player* player);
|
||||
void Player_Down(Player* player);
|
||||
void func_play_800A46A0(Player* player);
|
||||
void func_play_800A86E4(Player* player);
|
||||
void func_play_800A887C(Player* player);
|
||||
s32 func_play_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot,
|
||||
void Player_DamageEffects(Player* player);
|
||||
void Player_CheckItemCollect(Player* player);
|
||||
void Player_UpdateHitbox(Player* player);
|
||||
s32 Player_CheckHitboxCollision(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_play_800A8054(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8);
|
||||
bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8);
|
||||
void Scenery360_Initialize(Scenery360*);
|
||||
|
||||
// fox_versus
|
||||
|
@ -46,8 +46,8 @@ void Venom1_80192EB0(Actor*);
|
||||
void Venom1_801933DC(Actor*);
|
||||
void Venom1_801934D0(Actor*);
|
||||
void Venom1_80193540(Scenery*);
|
||||
void Venom1_80194398(Boss*);
|
||||
void Venom1_801985E4(Boss*);
|
||||
void Venom1_Boss_Update(Boss*);
|
||||
void Venom1_Boss_Draw(Boss*);
|
||||
void Training_ItemRing_Update(Item*);
|
||||
|
||||
void OvlI1_CallFunction(s32, void*);
|
||||
@ -66,7 +66,7 @@ void Venom1_Boss319_Init(Boss *);
|
||||
void Venom1_80198310(Boss *);
|
||||
void Venom1_80198594(Boss *);
|
||||
void Training_801988E0(void);
|
||||
void Training_80198C50(void);
|
||||
void Training_Setup360(void);
|
||||
void Training_8019949C(void);
|
||||
void Venom1_8019864C(PlayerShot*);
|
||||
|
||||
|
34
include/i3.h
34
include/i3.h
@ -19,12 +19,12 @@ void Aquas_801BE0F0(Actor*);
|
||||
|
||||
void OvlI3_CallFunction(s32, void*);
|
||||
void Area6_BossA6_Init(Boss *);
|
||||
void Area6_80187944(Boss*);
|
||||
void Area6_8018C54C(Boss*);
|
||||
void Area6_Boss_Update(Boss*);
|
||||
void Area6_Boss_Draw(Boss*);
|
||||
void Area6_LevelStart(Player *player);
|
||||
void Area6_LevelComplete(Player*);
|
||||
|
||||
void Zoness_801900FC(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32);
|
||||
void Zoness_SpawnDebris(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32);
|
||||
void Zoness_80190430(Actor* actor);
|
||||
void Zoness_801904CC(Actor* actor);
|
||||
void Zoness_80190A00(Actor* actor);
|
||||
@ -45,8 +45,8 @@ void Zoness_80192C18(Actor* actor);
|
||||
void Zoness_80192E64(Actor* actor);
|
||||
void Zoness_80193240(Actor* actor);
|
||||
void Zoness_BossZo_Init(Boss* this);
|
||||
void Zoness_801949DC(Boss* bossZO);
|
||||
void Zoness_80194A84(Boss* bossZO);
|
||||
void Zoness_Boss_Draw(Boss* bossZO);
|
||||
void Zoness_Boss_Update(Boss* bossZO);
|
||||
void Zoness_8019969C(Actor* actor);
|
||||
void Zoness_8019983C(Actor* actor);
|
||||
void Zoness_80199A28(Actor* actor);
|
||||
@ -83,22 +83,22 @@ void Solar_801A003C(Actor*);
|
||||
void Solar_801A0120(Effect*);
|
||||
void Solar_801A0AF0(Effect*);
|
||||
void Solar_LevelStart(Player* player);
|
||||
void Solar_801A5B3C(Boss*);
|
||||
void Solar_801A71B8(Boss*);
|
||||
void Solar_Boss_Update(Boss*);
|
||||
void Solar_Boss_Draw(Boss*);
|
||||
void Solar_801A8BE8(Actor*);
|
||||
void Solar_LevelComplete(Player* player);
|
||||
|
||||
void Aquas_801A9824(void);
|
||||
void Aquas_801AA20C(void);
|
||||
void Aquas_801AA8E8(Player*);
|
||||
void Aquas_801AACF8(Player*);
|
||||
void Aquas_UpdateCamera(Player*);
|
||||
void Aquas_BlueMarineMove(Player*);
|
||||
void Aquas_801ABA40(PlayerShot*);
|
||||
void Aquas_801AC274(Player*);
|
||||
void Aquas_BlueMarineShoot(Player*);
|
||||
void Aquas_801AC8A8(f32, f32, f32, f32, s32);
|
||||
void Aquas_801AC918(Effect*);
|
||||
void Aquas_801ACBB4(Player*);
|
||||
void Aquas_801ACE50(Player*);
|
||||
void Aquas_801AD328(Player*);
|
||||
void Aquas_BlueMarineBoost(Player*);
|
||||
void Aquas_BlueMarineBrake(Player*);
|
||||
void Aquas_801AD688(Actor *);
|
||||
void Aquas_801AD6C0(Actor*);
|
||||
void Aquas_801AE168(Actor*);
|
||||
@ -111,8 +111,8 @@ void Aquas_801B099C(Actor*);
|
||||
void Aquas_801B0B60(Actor*);
|
||||
void Aquas_801B0EC0(Actor*);
|
||||
void Aquas_BossAq_Init(Boss*);
|
||||
void Aquas_801B134C(Boss*);
|
||||
void Aquas_801B4D84(Boss*);
|
||||
void Aquas_Boss_Update(Boss*);
|
||||
void Aquas_Boss_Draw(Boss*);
|
||||
void Aquas_801B504C(Actor*);
|
||||
void Aquas_801B50E8(Actor*);
|
||||
void Aquas_801B619C(Actor*);
|
||||
@ -144,10 +144,10 @@ void Aquas_801BDF14(void);
|
||||
void Aquas_801BE1FC(Scenery*);
|
||||
void Aquas_801BE3F8(Actor*);
|
||||
void Aquas_801BEB1C(Actor*);
|
||||
void Aquas_801BEC50(Boss*);
|
||||
void Aquas_801BEC5C(Boss*);
|
||||
void Aquas_Boss301_Update(Boss*);
|
||||
void Aquas_Boss301_Draw(Boss*);
|
||||
void Aquas_801BEC68(Actor*);
|
||||
void Aquas_801BEC74(Actor*);
|
||||
void Aquas_801BEC80(Player*);
|
||||
void Aquas_Update360(Player*);
|
||||
|
||||
#endif
|
||||
|
@ -47,7 +47,7 @@ void Katina_BossUpdate(Boss*);
|
||||
void Katina_BossDraw(Boss*);
|
||||
void SectorZ_8019E234(Actor*);
|
||||
void SectorZ_8019E3A8(Actor*);
|
||||
void SectorZ_8019E454(Boss*);
|
||||
void SectorZ_8019E98C(Boss*);
|
||||
void SectorZ_Boss_Update(Boss*);
|
||||
void SectorZ_Boss_Draw(Boss*);
|
||||
|
||||
#endif
|
||||
|
@ -82,8 +82,8 @@ void Titania_8018EF14(Actor*);
|
||||
void Titania_Cactus_Update(Sprite*);
|
||||
void Titania_8018F4D8(Scenery*);
|
||||
void Titania_8018F8B8(Scenery*);
|
||||
void Titania_80197A94(Boss*);
|
||||
void Titania_801982A8(Boss*);
|
||||
void Titania_Boss_Update(Boss*);
|
||||
void Titania_Boss_Draw(Boss*);
|
||||
void Macbeth_8019C778(Actor*);
|
||||
void Macbeth_8019CE88(Actor*);
|
||||
void Macbeth_8019D700(Actor*);
|
||||
|
14
include/i6.h
14
include/i6.h
@ -36,9 +36,9 @@ void Venom2_80196968(void);
|
||||
void SectorY_Boss314_Init(Boss *);
|
||||
void SectorY_Actor204_Update(Actor*);
|
||||
void SectorY_Actor204_Draw(Actor*);
|
||||
void Turret_801A5AD4(Player*);
|
||||
void Turret_801A5FC0(Player*);
|
||||
void Turret_801A6164(Player *);
|
||||
void Turret_Update(Player*);
|
||||
void Turret_UpdateCamera(Player*);
|
||||
void Turret_Draw(Player *);
|
||||
|
||||
void Andross_801880E4(Actor*);
|
||||
void Andross_80188448(Actor*);
|
||||
@ -60,12 +60,12 @@ void Andross_80193380(Scenery*);
|
||||
void Andross_8019350C(Scenery*);
|
||||
void Andross_8019356C(Scenery*);
|
||||
void Andross_801935D4(Scenery*);
|
||||
void Venom2_80196210(Boss*);
|
||||
void Venom2_80196288(Boss*);
|
||||
void Venom2_Boss_Update(Boss*);
|
||||
void Venom2_Boss_Draw(Boss*);
|
||||
void SectorY_80197C64(Effect*);
|
||||
void SectorY_80197CB8(Scenery*);
|
||||
void SectorY_8019C888(Boss*);
|
||||
void SectorY_8019E2C4(Boss*);
|
||||
void SectorY_Boss_Update(Boss*);
|
||||
void SectorY_Boss_Draw(Boss*);
|
||||
void SectorY_801A4E44(Scenery*);
|
||||
void SectorY_801A52B8(Scenery*);
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
#ifndef PREVENT_CONTEXT_REORDERING_H
|
||||
#define PREVENT_CONTEXT_REORDERING_H
|
||||
|
||||
// extern int Dummyhalf;
|
||||
extern int Dummyhalf;
|
||||
// struct Dummy0 {int x;};
|
||||
// struct Dummy1 {int x;};
|
||||
// struct Dummy2 {int x;};
|
||||
// struct Dummy3 {int x;};
|
||||
// struct Dummy4 {int x;};
|
||||
// struct Dummy5 {int x;};
|
||||
struct Dummy6 {int x;};
|
||||
struct Dummy7 {int x;};
|
||||
// struct Dummy6 {int x;};
|
||||
// struct Dummy7 {int x;};
|
||||
struct Dummy8 {int x;};
|
||||
struct Dummy9 {int x;};
|
||||
struct Dummy10 {int x;};
|
||||
|
@ -14,6 +14,7 @@ typedef enum AudioType {
|
||||
/* 0 */ AUDIO_TYPE_MUSIC,
|
||||
/* 1 */ AUDIO_TYPE_VOICE,
|
||||
/* 2 */ AUDIO_TYPE_SFX,
|
||||
/* 3 */ AUDIO_TYPE_MAX,
|
||||
} AudioType;
|
||||
|
||||
typedef enum {
|
||||
|
@ -45,12 +45,12 @@ typedef enum {
|
||||
/* 1 */ COL1_1, // OBJ_SCENERY_ME_TUNNEL
|
||||
/* 2 */ COL1_2,
|
||||
/* 3 */ COL1_3, // ACTOR_EVENT_ID
|
||||
/* 4 */ COL1_4, // OBJ_BOSS_308
|
||||
/* 4 */ COL1_4, // OBJ_BOSS_FO
|
||||
/* 5 */ COL1_5, // OBJ_SCENERY_149
|
||||
/* 6 */ COL1_6, // OBJ_SCENERY_150
|
||||
/* 7 */ COL1_7, // OBJ_BOSS_309
|
||||
/* 8 */ COL1_8, // OBJ_BOSS_313
|
||||
/* 9 */ COL1_9, // OBJ_BOSS_312
|
||||
/* 8 */ COL1_8, // OBJ_BOSS_SZ
|
||||
/* 9 */ COL1_9, // OBJ_BOSS_VE2
|
||||
} CollisonId_1;
|
||||
|
||||
typedef enum {
|
||||
@ -502,7 +502,7 @@ typedef enum ObjectId {
|
||||
/* 186 */ OBJ_ACTOR_186,
|
||||
/* 187 */ OBJ_ACTOR_187,
|
||||
/* 188 */ OBJ_ACTOR_188,
|
||||
/* 189 */ OBJ_ACTOR_189,
|
||||
/* 189 */ OBJ_ACTOR_DEBRIS,
|
||||
/* 190 */ OBJ_ACTOR_190,
|
||||
/* 191 */ OBJ_ACTOR_191,
|
||||
/* 192 */ OBJ_ACTOR_192,
|
||||
@ -619,20 +619,20 @@ typedef enum ObjectId {
|
||||
/* 303 */ OBJ_BOSS_303,
|
||||
/* 304 */ OBJ_BOSS_304,
|
||||
/* 305 */ OBJ_BOSS_305,
|
||||
/* 306 */ OBJ_BOSS_306,
|
||||
/* 306 */ OBJ_BOSS_TI,
|
||||
/* 307 */ OBJ_BOSS_ZO,
|
||||
/* 308 */ OBJ_BOSS_308,
|
||||
/* 308 */ OBJ_BOSS_FO,
|
||||
/* 309 */ OBJ_BOSS_309,
|
||||
/* 310 */ OBJ_BOSS_310,
|
||||
/* 311 */ OBJ_BOSS_311,
|
||||
/* 312 */ OBJ_BOSS_312,
|
||||
/* 313 */ OBJ_BOSS_313,
|
||||
/* 314 */ OBJ_BOSS_314,
|
||||
/* 312 */ OBJ_BOSS_VE2,
|
||||
/* 313 */ OBJ_BOSS_SZ,
|
||||
/* 314 */ OBJ_BOSS_SY,
|
||||
/* 315 */ OBJ_BOSS_SO,
|
||||
/* 316 */ OBJ_BOSS_316,
|
||||
/* 317 */ OBJ_BOSS_317,
|
||||
/* 316 */ OBJ_BOSS_KA,
|
||||
/* 317 */ OBJ_BOSS_KA_BASE,
|
||||
/* 318 */ OBJ_BOSS_AQ,
|
||||
/* 319 */ OBJ_BOSS_319,
|
||||
/* 319 */ OBJ_BOSS_VE1,
|
||||
/* 320 */ OBJ_BOSS_320,
|
||||
/* 321 */ OBJ_BOSS_321,
|
||||
/* 322 */ OBJ_ITEM_LASERS,
|
||||
@ -719,10 +719,24 @@ typedef enum ObjectId {
|
||||
/* 403 */ OBJ_UNK_403,
|
||||
/* 404 */ OBJ_UNK_404,
|
||||
/* 405 */ OBJ_UNK_405,
|
||||
/* 406 */ OBJ_UNK_406,
|
||||
/* 407 */ OBJ_ID_MAX,
|
||||
} ObjectId;
|
||||
|
||||
#define OBJ_SCENERY_START OBJ_SCENERY_0
|
||||
#define OBJ_SPRITE_START OBJ_SPRITE_CO_POLE
|
||||
#define OBJ_ACTOR_START OBJ_ACTOR_176
|
||||
#define OBJ_BOSS_START OBJ_BOSS_292
|
||||
#define OBJ_ITEM_START OBJ_ITEM_LASERS
|
||||
#define OBJ_EFFECT_START OBJ_EFFECT_FIRE_SMOKE
|
||||
#define OBJ_ENV_START OBJ_UNK_400
|
||||
|
||||
#define OBJ_SCENERY_MAX OBJ_SPRITE_START
|
||||
#define OBJ_SPRITE_MAX OBJ_ACTOR_START
|
||||
#define OBJ_ACTOR_MAX OBJ_BOSS_START
|
||||
#define OBJ_BOSS_MAX OBJ_ITEM_START
|
||||
#define OBJ_ITEM_MAX OBJ_EFFECT_START
|
||||
#define OBJ_EFFECT_MAX OBJ_ENV_START
|
||||
|
||||
#define ACTOR_EVENT_ID 1000
|
||||
|
||||
typedef enum ItemDrop {
|
||||
@ -772,7 +786,7 @@ typedef enum AllRangeAi {
|
||||
/* 200 */ AI360_EVENT_HANDLER = 1000,
|
||||
} AllRangeAi;
|
||||
|
||||
Actor* func_game_800A3608(ObjectId);
|
||||
Actor* Game_SpawnActor(ObjectId);
|
||||
|
||||
// template enums for boss work buffers
|
||||
|
||||
@ -1117,7 +1131,7 @@ typedef Actor Actor185;
|
||||
typedef Actor Actor186;
|
||||
typedef Actor Actor187;
|
||||
typedef Actor Actor188;
|
||||
typedef Actor Actor189;
|
||||
typedef Actor ActorDebris;
|
||||
typedef Actor Actor190;
|
||||
typedef Actor Actor191;
|
||||
typedef Actor Actor192;
|
||||
|
@ -73,17 +73,23 @@ typedef enum PlayerState1C8 {
|
||||
/* 13 */ PLAYERSTATE_1C8_VS_STANDBY,
|
||||
} PlayerState1C8;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ PLAYERSHOT_0, // single laser?
|
||||
/* 1 */ PLAYERSHOT_1, // twin laser?
|
||||
typedef enum PlayerShotStatus {
|
||||
/* 0 */ SHOT_FREE,
|
||||
/* 1 */ SHOT_ACTIVE,
|
||||
/* 2 */ SHOT_HITMARK,
|
||||
} PlayerShotStatus;
|
||||
|
||||
typedef enum PlayerShotId {
|
||||
/* 0 */ PLAYERSHOT_SINGLE_LASER, // single laser?
|
||||
/* 1 */ PLAYERSHOT_TWIN_LASER, // twin laser?
|
||||
/* 2 */ PLAYERSHOT_2,
|
||||
/* 3 */ PLAYERSHOT_BOMB, // bomb?
|
||||
/* 4 */ PLAYERSHOT_4,
|
||||
/* 5 */ PLAYERSHOT_5, // landmaster shot
|
||||
/* 6 */ PLAYERSHOT_6, // on-foot shot
|
||||
/* 4 */ PLAYERSHOT_LOCK_SEARCH,
|
||||
/* 5 */ PLAYERSHOT_TANK, // landmaster shot
|
||||
/* 6 */ PLAYERSHOT_ON_FOOT, // on-foot shot
|
||||
/* 7 */ PLAYERSHOT_7, // unused? related to on-foot shot somehow
|
||||
/* 8 */ PLAYERSHOT_8, // charge shot
|
||||
/* 9 */ PLAYERSHOT_9,
|
||||
/* 8 */ PLAYERSHOT_LOCK_ON, // charge shot
|
||||
/* 9 */ PLAYERSHOT_GFOX_LASER,
|
||||
} PlayerShotId;
|
||||
|
||||
#define NPC_SHOT_ID 100
|
||||
@ -91,14 +97,14 @@ typedef enum {
|
||||
#define DMG_SRC_2 2
|
||||
#define DMG_SRC_100 100
|
||||
|
||||
typedef enum {
|
||||
typedef enum LaserStrength {
|
||||
/* 0 */ LASERS_SINGLE,
|
||||
/* 1 */ LASERS_TWIN,
|
||||
/* 2 */ LASERS_HYPER,
|
||||
/* 3 */ LASERS_UNK_3,
|
||||
} LaserStrength;
|
||||
|
||||
typedef struct {
|
||||
typedef struct PlayerShot {
|
||||
/* 0x00 */ Object obj;
|
||||
/* 0x1C */ s32 index;
|
||||
/* 0x20 */ Vec3f vel;
|
||||
@ -112,12 +118,12 @@ typedef struct {
|
||||
/* 0x58 */ s32 unk_58;
|
||||
/* 0x5C */ s32 unk_5C;
|
||||
/* 0x60 */ s32 unk_60;
|
||||
/* 0x64 */ s32 unk_64;
|
||||
/* 0x64 */ s32 timer;
|
||||
/* 0x68 */ s32 sourceId;
|
||||
/* 0x6C */ u8 bonus;
|
||||
} PlayerShot; // size = 0x70
|
||||
|
||||
typedef struct {
|
||||
typedef struct WingInfo {
|
||||
/* 0x00 */ u8 rightState;
|
||||
/* 0x01 */ u8 leftState;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
@ -136,7 +142,7 @@ typedef struct {
|
||||
/* 0x38 */ f32 unk_38;
|
||||
} WingInfo; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
typedef struct PlayerSfx {
|
||||
/* 0x00 */ u8 levelType;
|
||||
/* 0x01 */ u8 form;
|
||||
/* 0x04 */ f32 *srcPos;
|
||||
@ -167,7 +173,7 @@ typedef struct Player {
|
||||
/* 0x040 */ CameraPoint cam;
|
||||
/* 0x058 */ f32 camYaw;
|
||||
/* 0x05C */ f32 camPitch;
|
||||
/* 0x05C */ f32 unk_060;
|
||||
/* 0x05C */ f32 xRock;
|
||||
/* 0x064 */ Vec3f groundPos; // position on ground directly below player
|
||||
/* 0x070 */ f32 groundRotY; // y rotation of actor under player when acting as ground
|
||||
/* 0x074 */ Vec3f pos; // pos.z is position along path. see trueZpos for the actual z position
|
||||
@ -236,11 +242,11 @@ typedef struct Player {
|
||||
/* 0x1A0 */ s32 unk_1A0;
|
||||
/* 0x1A4 */ s32 unk_1A4;
|
||||
/* 0x1A8 */ char pad1A8[8];
|
||||
/* 0x1B0 */ s32 unk_1B0;
|
||||
/* 0x1B4 */ s32 unk_1B4;
|
||||
/* 0x1B0 */ s32 turretState;
|
||||
/* 0x1B4 */ s32 turretActor;
|
||||
/* 0x1B8 */ char pad1B8[4];
|
||||
/* 0x1BC */ s32 unk_1BC;
|
||||
/* 0x1C0 */ s32 unk_1C0;
|
||||
/* 0x1BC */ s32 turretRecoil;
|
||||
/* 0x1C0 */ s32 turretLockOnCount;
|
||||
/* 0x1C4 */ s32 num;
|
||||
/* 0x1C8 */ PlayerState1C8 state_1C8;
|
||||
/* 0x1CC */ PlayerForm form;
|
||||
@ -273,7 +279,7 @@ typedef struct Player {
|
||||
/* 0x238 */ s32 cockpitView;
|
||||
/* 0x23C */ s32 shadowing;
|
||||
/* 0x240 */ s32 unk_240;
|
||||
/* 0x244 */ s32 timer_244;
|
||||
/* 0x244 */ s32 shotTimer;
|
||||
/* 0x248 */ f32 unk_248;
|
||||
/* 0x24C */ f32 unk_24C;
|
||||
/* 0x250 */ f32 unk_250; // checked for by event actors, but unused?
|
||||
@ -290,7 +296,7 @@ typedef struct Player {
|
||||
/* 0x27C */ s32 meteoWarpTimer;
|
||||
/* 0x280 */ s32 barrelRollAlpha;
|
||||
/* 0x284 */ s32 unk_284;
|
||||
/* 0x288 */ s32 unk_288;
|
||||
/* 0x288 */ s32 attacker;
|
||||
/* 0x28C */ char pad28C[0x28];
|
||||
/* 0x2B4 */ bool boostCooldown;
|
||||
/* 0x2B8 */ bool boostActive;
|
||||
|
@ -303,8 +303,8 @@ typedef enum SfxBankId {
|
||||
#define NA_SE_EXPLOSION_DEMO5 0x3143402E
|
||||
#define NA_SE_EN_BOSS_BEAM0 0x3143102F
|
||||
#define NA_SE_EN_BOSS_CHARGE 0x39435830
|
||||
#define NA_SE_EN_BOSS_ATTACK 0x29003031
|
||||
#define NA_SE_EN_SAND_BOUND_M 0x29403031
|
||||
#define NA_SE_OB_SAND_BOUND_M 0x29003031
|
||||
#define NA_SE_EN_BOSS_ATTACK 0x29403031
|
||||
#define NA_SE_OB_SPEAR_PILLAR 0x29503032
|
||||
#define NA_SE_EN_WT_EXPLOSION_S 0x29038033
|
||||
#define NA_SE_EN_WT_EXPLOSION_M 0x29000034 // Unreferenced.
|
||||
|
@ -186,7 +186,7 @@ func_edisplay_80059FDC = 0x80059FDC;
|
||||
func_edisplay_8005A010 = 0x8005A010;
|
||||
func_edisplay_8005A07C = 0x8005A07C;
|
||||
func_edisplay_8005A088 = 0x8005A088;
|
||||
Actor189_Draw = 0x8005A094;
|
||||
ActorDebris_Draw = 0x8005A094;
|
||||
Actor_DrawEngineAndContrails = 0x8005ADAC;
|
||||
Actor_DrawEngineGlow = 0x8005B1E8;
|
||||
func_edisplay_8005B388 = 0x8005B388;
|
||||
@ -219,9 +219,9 @@ Item_Draw = 0x8005E7B8;
|
||||
ActorAllRange_DrawShadow = 0x8005EA24;
|
||||
Object_DrawShadow = 0x8005ECD8;
|
||||
Object_ClampSfxSource = 0x8005F030;
|
||||
func_edisplay_8005F0E8 = 0x8005F0E8;
|
||||
func_edisplay_8005F1EC = 0x8005F1EC;
|
||||
func_edisplay_8005F290 = 0x8005F290;
|
||||
Object_SetSfxSourceToPos = 0x8005F0E8;
|
||||
Object_UpdateSfxSource = 0x8005F1EC;
|
||||
Object_SetSfxSourceToView = 0x8005F290;
|
||||
Scenery360_Draw = 0x8005F2F4;
|
||||
Display_SetSecondLight = 0x8005F670;
|
||||
func_edisplay_8005F9DC = 0x8005F9DC;
|
||||
@ -252,7 +252,7 @@ func_effect_80081A8C = 0x80081A8C;
|
||||
func_effect_8008377C = 0x8008377C;
|
||||
|
||||
// fox_enmy
|
||||
func_enmy_80060F30 = 0x80060F30;
|
||||
Object_PlayerSfx = 0x80060F30;
|
||||
Object_Kill = 0x80060FBC;
|
||||
func_enmy_80060FE4 = 0x80060FE4;
|
||||
func_enmy_80061148 = 0x80061148;
|
||||
@ -313,8 +313,8 @@ func_enmy_80066EA8 = 0x80066EA8;
|
||||
func_enmy_80066EE4 = 0x80066EE4;
|
||||
Item_CheckBounds = 0x80066EF0;
|
||||
Item_SpinPickup = 0x800671D0;
|
||||
func_enmy_80067348 = 0x80067348;
|
||||
func_enmy_800674B4 = 0x800674B4;
|
||||
Actor_SetupDebris70 = 0x80067348;
|
||||
Actor_SpawnDebris70 = 0x800674B4;
|
||||
ActorSupplies_Update = 0x8006753C;
|
||||
ActorSupplies_Draw = 0x80067874;
|
||||
func_enmy_80067A40 = 0x80067A40;
|
||||
@ -384,7 +384,7 @@ Game_InitViewport = 0x800A1FB0;
|
||||
Game_Draw = 0x800A24DC;
|
||||
Game_SetScene = 0x800A25DC;
|
||||
Game_Update = 0x800A26C0;
|
||||
func_game_800A3608 = 0x800A3608;
|
||||
Game_SpawnActor = 0x800A3608;
|
||||
|
||||
|
||||
// sf_hud
|
||||
@ -568,7 +568,7 @@ gBossActive = 0x80178284;
|
||||
gStarOffsetsX = 0x80178288;
|
||||
D_ctx_8017828C = 0x8017828C;
|
||||
gStarOffsetsY = 0x80178290;
|
||||
D_ctx_80178294 = 0x80178294;
|
||||
gUseDynaFloor = 0x80178294;
|
||||
gStarFillColors = 0x80178298;
|
||||
gRadioState = 0x8017829C;
|
||||
gCurrentRadioPortrait = 0x801782A4;
|
||||
@ -667,104 +667,104 @@ gLight2GTarget = 0x80178574;
|
||||
gLight2BTarget = 0x80178578;
|
||||
|
||||
Play_GetMaxShields = 0x800A3FC4;
|
||||
func_play_800A3FB0 = 0x800A3FB0;
|
||||
Play_dummy_MuteSfx = 0x800A3FB0;
|
||||
Play_CheckMedalStatus = 0x800A3F50;
|
||||
func_play_800A3FEC = 0x800A3FEC;
|
||||
func_play_800A4460 = 0x800A4460;
|
||||
func_play_800A46A0 = 0x800A46A0;
|
||||
func_play_800A4C40 = 0x800A4C40;
|
||||
Play_UpdateDynaFloor = 0x800A3FEC;
|
||||
Player_WingEffects = 0x800A4460;
|
||||
Player_DamageEffects = 0x800A46A0;
|
||||
Player_WaterEffects = 0x800A4C40;
|
||||
Scenery360_Initialize = 0x800A4F4C;
|
||||
func_play_800A4F7C = 0x800A4F7C;
|
||||
func_play_800A5330 = 0x800A5330;
|
||||
func_play_800A5338 = 0x800A5338;
|
||||
func_play_800A55B0 = 0x800A55B0;
|
||||
func_play_800A57E0 = 0x800A57E0;
|
||||
Play_InitVsStage = 0x800A4F7C;
|
||||
Play_dummy_800A5330 = 0x800A5330;
|
||||
Play_Setup360_CO = 0x800A5338;
|
||||
Play_Setup360_SY = 0x800A55B0;
|
||||
Play_Setup360_AND = 0x800A57E0;
|
||||
Play_Setup = 0x800A5844;
|
||||
func_play_800A594C = 0x800A594C;
|
||||
Play_SetupStarfield = 0x800A5D6C;
|
||||
func_play_800A5EBC = 0x800A5EBC;
|
||||
func_play_800A5FA0 = 0x800A5FA0;
|
||||
func_play_800A6028 = 0x800A6028;
|
||||
func_play_800A6070 = 0x800A6070;
|
||||
Play_InitEnvironment = 0x800A594C;
|
||||
Play_GenerateStarfield = 0x800A5D6C;
|
||||
Play_SetupStarfield = 0x800A5EBC;
|
||||
Player_PlaySfx = 0x800A5FA0;
|
||||
Play_PlaySfxFirstPlayer = 0x800A6028;
|
||||
Play_PlaySfxNoPlayer = 0x800A6070;
|
||||
BonusText_Initialize = 0x800A60B8;
|
||||
TexturedLine_Initialize = 0x800A60E8;
|
||||
RadarMark_Initialize = 0x800A6118;
|
||||
Play_ClearObjectData = 0x800A6148;
|
||||
Play_UpdateFillScreen = 0x800A6590;
|
||||
func_play_800A668C = 0x800A668C;
|
||||
func_play_800A670C = 0x800A670C;
|
||||
func_play_800A69F8 = 0x800A69F8;
|
||||
func_play_800A6A74 = 0x800A6A74;
|
||||
Play_SpawnHitmark = 0x800A668C;
|
||||
Play_SetupDebris = 0x800A670C;
|
||||
Play_SpawnDebris = 0x800A69F8;
|
||||
Player_CheckAllGoldRings = 0x800A6A74;
|
||||
Player_DamageWings = 0x800A6AC0;
|
||||
Player_ApplyDamage = 0x800A6CD0;
|
||||
func_play_800A729C = 0x800A729C;
|
||||
func_play_800A73E4 = 0x800A73E4;
|
||||
func_play_800A78C4 = 0x800A78C4;
|
||||
func_play_800A7974 = 0x800A7974;
|
||||
func_play_800A8054 = 0x800A8054;
|
||||
func_play_800A8304 = 0x800A8304;
|
||||
func_play_800A86E4 = 0x800A86E4;
|
||||
func_play_800A8804 = 0x800A8804;
|
||||
func_play_800A887C = 0x800A887C;
|
||||
func_play_800A8BA4 = 0x800A8BA4;
|
||||
func_play_800AA800 = 0x800AA800;
|
||||
func_play_800AB2AC = 0x800AB2AC;
|
||||
Player_GroundedCollision = 0x800A729C;
|
||||
Play_CheckDynaFloorCollision = 0x800A73E4;
|
||||
Play_CheckSingleHitbox = 0x800A78C4;
|
||||
Player_CheckHitboxCollision = 0x800A7974;
|
||||
Play_CheckPolyCollision = 0x800A8054;
|
||||
Player_CheckPolyCollision = 0x800A8304;
|
||||
Player_CheckItemCollect = 0x800A86E4;
|
||||
Player_Collide = 0x800A8804;
|
||||
Player_UpdateHitbox = 0x800A887C;
|
||||
Player_CollisionCheck = 0x800A8BA4;
|
||||
Player_FloorCheck = 0x800AA800;
|
||||
Player_InitializeAll = 0x800AB2AC;
|
||||
Player_Initialize = 0x800AB304;
|
||||
func_play_800AB334 = 0x800AB334;
|
||||
func_play_800AB964 = 0x800AB964;
|
||||
func_play_800ABA08 = 0x800ABA08;
|
||||
Play_InitLevel = 0x800AB334;
|
||||
Player_ResetVsData = 0x800AB964;
|
||||
Player_InitVersus = 0x800ABA08;
|
||||
Play_Init = 0x800ABAB4;
|
||||
func_play_800AC290 = 0x800AC290;
|
||||
func_play_800AC650 = 0x800AC650;
|
||||
func_play_800ACA40 = 0x800ACA40;
|
||||
func_play_800ACABC = 0x800ACABC;
|
||||
func_play_800ACC7C = 0x800ACC7C;
|
||||
func_play_800ACDC0 = 0x800ACDC0;
|
||||
func_play_800AD094 = 0x800AD094;
|
||||
func_play_800AD118 = 0x800AD118;
|
||||
func_play_800AD1F4 = 0x800AD1F4;
|
||||
func_play_800AD7F0 = 0x800AD7F0;
|
||||
func_play_800ADA28 = 0x800ADA28;
|
||||
func_play_800ADD98 = 0x800ADD98;
|
||||
func_play_800ADF58 = 0x800ADF58;
|
||||
func_play_800AE278 = 0x800AE278;
|
||||
func_play_800AE4A4 = 0x800AE4A4;
|
||||
func_play_800AECAC = 0x800AECAC;
|
||||
func_play_800AF07C = 0x800AF07C;
|
||||
func_play_800AF928 = 0x800AF928;
|
||||
func_play_800B00C0 = 0x800B00C0;
|
||||
func_play_800B0194 = 0x800B0194;
|
||||
func_play_800B0F50 = 0x800B0F50;
|
||||
func_play_800B2130 = 0x800B2130;
|
||||
func_play_800B22C0 = 0x800B22C0;
|
||||
func_play_800B2574 = 0x800B2574;
|
||||
func_play_800B2BE0 = 0x800B2BE0;
|
||||
func_play_800B2C00 = 0x800B2C00;
|
||||
func_play_800B3010 = 0x800B3010;
|
||||
func_play_800B3314 = 0x800B3314;
|
||||
func_play_800B39E0 = 0x800B39E0;
|
||||
Player_SetupArwingShot = 0x800AC290;
|
||||
Player_SetupTankShot = 0x800AC650;
|
||||
Player_TankCannon = 0x800ACA40;
|
||||
Player_ArwingLaser = 0x800ACABC;
|
||||
Player_SmartBomb = 0x800ACC7C;
|
||||
Player_SetupOnFootShot = 0x800ACDC0;
|
||||
Player_OnFootGun = 0x800AD094;
|
||||
Player_CanLockOn = 0x800AD118;
|
||||
Player_UpdateLockOn = 0x800AD1F4;
|
||||
Player_Shoot = 0x800AD7F0;
|
||||
Player_ArwingBank = 0x800ADA28;
|
||||
Player_UseTankJets = 0x800ADD98;
|
||||
Player_UpdatePath = 0x800ADF58;
|
||||
Player_CheckBounds360 = 0x800AE278;
|
||||
Player_ArwingMove360 = 0x800AE4A4;
|
||||
Player_PerformLoop = 0x800AECAC;
|
||||
Player_ArwingMoveOnRails = 0x800AF07C;
|
||||
Player_TankMove360 = 0x800AF928;
|
||||
Player_OnFootUpdateSpeed = 0x800B00C0;
|
||||
Player_OnFootMove = 0x800B0194;
|
||||
Player_Setup = 0x800B0F50;
|
||||
Player_UpdateArwingRoll = 0x800B2130;
|
||||
Player_UpdateTankRoll = 0x800B22C0;
|
||||
Player_ArwingBoost = 0x800B2574;
|
||||
Player_ArwingBoost2 = 0x800B2BE0;
|
||||
Player_ArwingBrake = 0x800B2C00;
|
||||
Player_TankBoostBrake = 0x800B3010;
|
||||
Player_UpdateTankJets = 0x800B3314;
|
||||
Player_UpdateEffects = 0x800B39E0;
|
||||
Player_UpdateShields = 0x800B40AC;
|
||||
func_play_800B415C = 0x800B415C;
|
||||
func_play_800B41E0 = 0x800B41E0;
|
||||
Player_LowHealthAlarm = 0x800B415C;
|
||||
Play_dummy_800B41E0 = 0x800B41E0;
|
||||
Player_Down = 0x800B41EC;
|
||||
func_play_800B42B0 = 0x800B42B0;
|
||||
func_play_800B44C4 = 0x800B44C4;
|
||||
func_play_800B46F8 = 0x800B46F8;
|
||||
Player_UpdateOnRails = 0x800B42B0;
|
||||
Player_Update360 = 0x800B44C4;
|
||||
Player_LowHealthMsg = 0x800B46F8;
|
||||
Player_Update = 0x800B48BC;
|
||||
func_play_800B56BC = 0x800B56BC;
|
||||
func_play_800B5D30 = 0x800B5D30;
|
||||
func_play_800B5FBC = 0x800B5FBC;
|
||||
func_play_800B63BC = 0x800B63BC;
|
||||
func_play_800B6848 = 0x800B6848;
|
||||
func_play_800B6BFC = 0x800B6BFC;
|
||||
func_play_800B6F50 = 0x800B6F50;
|
||||
func_play_800B7184 = 0x800B7184;
|
||||
Player_UpdateCamera = 0x800B71E4;
|
||||
func_play_800B73E0 = 0x800B73E0;
|
||||
Camera_UpdateArwingOnRails = 0x800B56BC;
|
||||
Camera_UpdateCockpitOnRails = 0x800B5D30;
|
||||
Camera_FollowPlayer = 0x800B5FBC;
|
||||
Camera_UpdateArwing360 = 0x800B63BC;
|
||||
Camera_UpdateTank360 = 0x800B6848;
|
||||
Camera_UpdateOnFoot360 = 0x800B6BFC;
|
||||
Camera_SetStarfieldPos = 0x800B6F50;
|
||||
Camera_Update360 = 0x800B7184;
|
||||
Camera_Update = 0x800B71E4;
|
||||
Camera_SetupLights = 0x800B73E0;
|
||||
Play_UpdateLevel = 0x800B79B0;
|
||||
Play_Update = 0x800B832C;
|
||||
Play_SpawnVsItem = 0x800B852C;
|
||||
func_play_800B86A4 = 0x800B86A4;
|
||||
Play_SetupZPos360 = 0x800B86A4;
|
||||
Play_Main = 0x800B86CC;
|
||||
|
||||
D_tank_800C9F2C = 0x800C9F2C;
|
||||
|
@ -8,7 +8,7 @@ Venom1_80192CB0 = 0x80192CB0;//segment:ovl_i1
|
||||
Venom1_80192EA4 = 0x80192EA4;//segment:ovl_i1
|
||||
Venom1_801933B4 = 0x801933B4;//segment:ovl_i1
|
||||
Venom1_Boss319_Init = 0x801935CC;//segment:ovl_i1
|
||||
Venom1_80194398 = 0x80194398;//segment:ovl_i1
|
||||
Venom1_Boss_Update = 0x80194398;//segment:ovl_i1
|
||||
Venom1_801920F0 = 0x801920F0;//segment:ovl_i1
|
||||
D_i1_8019A04C = 0x8019A04C; // size:0xC type:s16 segment:ovl_i1
|
||||
D_i1_8019B6C0 = 0x8019B6C0;//segment:ovl_i1
|
||||
@ -58,22 +58,22 @@ D_menu_801AF274 = 0x801AF274; // type:f32 size:0x18 force_migration:True segment
|
||||
Area6_801875E4 = 0x801875E4;//segment:ovl_i3
|
||||
Area6_80187704 = 0x80187704;//segment:ovl_i3
|
||||
Area6_BossA6_Init = 0x80187754;//segment:ovl_i3
|
||||
Area6_80187944 = 0x80187944;//segment:ovl_i3
|
||||
Area6_Boss_Update = 0x80187944;//segment:ovl_i3
|
||||
Area6_8018A1B0 = 0x8018A1B0;//segment:ovl_i3
|
||||
Area6_8018A2C4 = 0x8018A2C4;//segment:ovl_i3
|
||||
Area6_8018A464 = 0x8018A464;//segment:ovl_i3
|
||||
Area6_8018B9BC = 0x8018B9BC;//segment:ovl_i3
|
||||
Area6_8018BCD4 = 0x8018BCD4;//segment:ovl_i3
|
||||
Area6_8018C0D0 = 0x8018C0D0;//segment:ovl_i3
|
||||
Area6_8018C54C = 0x8018C54C;//segment:ovl_i3
|
||||
Zoness_801900FC = 0x801900FC;//segment:ovl_i3
|
||||
Area6_Boss_Draw = 0x8018C54C;//segment:ovl_i3
|
||||
Zoness_SpawnDebris = 0x801900FC;//segment:ovl_i3
|
||||
Zoness_801915A4 = 0x801915A4;//segment:ovl_i3
|
||||
Zoness_80191BB8 = 0x80191BB8;//segment:ovl_i3
|
||||
Zoness_BossZo_Init = 0x801932AC;//segment:ovl_i3
|
||||
Zoness_80193908 = 0x80193908;//segment:ovl_i3
|
||||
Zoness_80193A98 = 0x80193A98;//segment:ovl_i3
|
||||
Zoness_80193CC8 = 0x80193CC8;//segment:ovl_i3
|
||||
Zoness_80194A84 = 0x80194A84;//segment:ovl_i3
|
||||
Zoness_Boss_Update = 0x80194A84;//segment:ovl_i3
|
||||
Zoness_801986FC = 0x801986FC;//segment:ovl_i3
|
||||
Zoness_801989FC = 0x801989FC;//segment:ovl_i3
|
||||
Zoness_80198BE8 = 0x80198BE8;//segment:ovl_i3
|
||||
@ -90,7 +90,7 @@ Zoness_8019B810 = 0x8019B810;//segment:ovl_i3
|
||||
Zoness_8019C200 = 0x8019C200;//segment:ovl_i3
|
||||
Zoness_Actor247_Init = 0x8019D060;//segment:ovl_i3
|
||||
Solar_LevelComplete = 0x801A7930;//segment:ovl_i3
|
||||
Aquas_801A9448 = 0x801A9448;//segment:ovl_i3
|
||||
Aquas_SpawnDebris = 0x801A9448;//segment:ovl_i3
|
||||
Aquas_801A94EC = 0x801A94EC;//segment:ovl_i3
|
||||
Aquas_801A958C = 0x801A958C;//segment:ovl_i3
|
||||
Aquas_801AC8A8 = 0x801AC8A8;//segment:ovl_i3
|
||||
@ -102,7 +102,7 @@ Aquas_801B0F88 = 0x801B0F88;//segment:ovl_i3
|
||||
Aquas_801B0FCC = 0x801B0FCC;//segment:ovl_i3
|
||||
Aquas_801B1008 = 0x801B1008;//segment:ovl_i3
|
||||
Aquas_BossAq_Init = 0x801B10F8;//segment:ovl_i3
|
||||
Aquas_801B134C = 0x801B134C;//segment:ovl_i3
|
||||
Aquas_Boss_Update = 0x801B134C;//segment:ovl_i3
|
||||
Aquas_801B6344 = 0x801B6344;//segment:ovl_i3
|
||||
Aquas_801B638C = 0x801B638C;//segment:ovl_i3
|
||||
Aquas_801B6E54 = 0x801B6E54;//segment:ovl_i3
|
||||
|
@ -71,7 +71,7 @@ u8 sUsedChannelsPerBank[5][5] = {
|
||||
};
|
||||
u8 sSfxRequestWriteIndex = 0;
|
||||
u8 sSfxRequestReadIndex = 0;
|
||||
u8 sSfxChannelLayout = 0;
|
||||
u8 sSfxChannelLayout = SFXCHAN_0;
|
||||
u16 sChannelMuteFlags = 0;
|
||||
f32 gDefaultSfxSource[3] = { 0.0f, 0.0f, 0.0f };
|
||||
f32 gDefaultMod = 1.0f;
|
||||
@ -596,7 +596,7 @@ s8 Audio_GetSfxReverb(u8 bankId, u8 entryIndex, u8 channelId) {
|
||||
}
|
||||
|
||||
s8 Audio_GetSfxPan(f32 xPos, f32 zPos, u8 mode) {
|
||||
if (sSfxChannelLayout != 3) {
|
||||
if (sSfxChannelLayout != SFXCHAN_3) {
|
||||
f32 absx = ABSF(xPos);
|
||||
f32 absz = ABSF(zPos);
|
||||
f32 pan;
|
||||
@ -638,7 +638,7 @@ f32 Audio_GetSfxFreqMod(u8 bankId, u8 entryIndex) {
|
||||
freqMod += 0.2f * (distance / 33000.0f);
|
||||
}
|
||||
}
|
||||
if ((sSfxChannelLayout != 0) && (sSfxBanks[bankId][entryIndex].token & 2)) {
|
||||
if ((sSfxChannelLayout != SFXCHAN_0) && (sSfxBanks[bankId][entryIndex].token & 2)) {
|
||||
freqMod *= 1.1f;
|
||||
}
|
||||
return freqMod;
|
||||
@ -669,12 +669,12 @@ void Audio_SetSfxProperties(u8 bankId, u8 entryIndex, u8 channelId) {
|
||||
reverb = Audio_GetSfxReverb(bankId, entryIndex, channelId);
|
||||
freqMod = Audio_GetSfxFreqMod(bankId, entryIndex) * *entry->freqMod;
|
||||
if (!((bankId == SFX_BANK_PLAYER) && ((-200.0f < *entry->zPos) && (*entry->zPos < 200.0f)) &&
|
||||
(sSfxChannelLayout != 3))) {
|
||||
(sSfxChannelLayout != SFXCHAN_3))) {
|
||||
pan = Audio_GetSfxPan(*entry->xPos, *entry->zPos, entry->token);
|
||||
}
|
||||
break;
|
||||
case SFX_BANK_SYSTEM:
|
||||
if (sSfxChannelLayout == 3) {
|
||||
if (sSfxChannelLayout == SFXCHAN_3) {
|
||||
if (entry->token != 4) {
|
||||
pan = (entry->token & 1) * 127;
|
||||
}
|
||||
|
@ -792,7 +792,7 @@ s32 func_360_8003049C(Actor* this) {
|
||||
} else if (boss->obj.id == OBJ_BOSS_309) {
|
||||
sp44 = 2000.0f;
|
||||
var_ft5 = 750.0f;
|
||||
} else if (boss->obj.id == OBJ_BOSS_317) {
|
||||
} else if (boss->obj.id == OBJ_BOSS_KA_BASE) {
|
||||
sp44 = 1500.0f;
|
||||
var_ft5 = 700.0f;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -32,7 +32,7 @@ void Boss_AwardBonus(Boss* boss) {
|
||||
yOffset = 0.0f;
|
||||
if (boss->obj.id == OBJ_BOSS_292) {
|
||||
yOffset = 300.0f;
|
||||
} else if (boss->obj.id == OBJ_BOSS_306) {
|
||||
} else if (boss->obj.id == OBJ_BOSS_TI) {
|
||||
yOffset = 200.0f;
|
||||
}
|
||||
BonusText_Display(boss->obj.pos.x, boss->obj.pos.y + yOffset, boss->obj.pos.z, bonus);
|
||||
@ -59,11 +59,11 @@ void Boss300_Update(Boss300* this) {
|
||||
void Boss300_Draw(Boss300* this) {
|
||||
}
|
||||
|
||||
void Boss_SetupActor189(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
|
||||
f32 arg9, f32 argA, s32 argB, s32 argC) {
|
||||
void Boss_SetupDebris(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
|
||||
f32 arg9, f32 argA, s32 argB, s32 argC) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = OBJ_ACTOR_189;
|
||||
actor->obj.id = OBJ_ACTOR_DEBRIS;
|
||||
actor->state = argB;
|
||||
actor->obj.pos.x = arg1;
|
||||
actor->obj.pos.y = arg2;
|
||||
@ -83,13 +83,13 @@ void Boss_SetupActor189(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f3
|
||||
}
|
||||
}
|
||||
|
||||
void Boss_SpawnActor189(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
|
||||
f32 arg9, s32 argA, s32 argB) {
|
||||
void Boss_SpawnDebris(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
|
||||
f32 arg9, s32 argA, s32 argB) {
|
||||
s32 i;
|
||||
|
||||
for (i = (ARRAY_COUNT(gActors)) - 1; i >= 0; i--) {
|
||||
if (gActors[i].obj.status == OBJ_FREE) {
|
||||
Boss_SetupActor189(&gActors[i], arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB);
|
||||
Boss_SetupDebris(&gActors[i], arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ LevelId gCurrentLevel;
|
||||
s32 gLevelPhase;
|
||||
s32 gBossActive;
|
||||
s32 D_ctx_8017828C;
|
||||
s32 D_ctx_80178294;
|
||||
s32 gUseDynaFloor;
|
||||
s32 gRadioState;
|
||||
s32 gCurrentRadioPortrait;
|
||||
s32 gRadioStateTimer;
|
||||
|
@ -521,7 +521,7 @@ void Cutscene_EnterWarpZone(Player* player) {
|
||||
|
||||
if (player->csTimer <= 100) {
|
||||
if (player->csTimer == 100) {
|
||||
func_play_800A6028(player->sfxSource, NA_SE_ARWING_WARP_DASH);
|
||||
Play_PlaySfxFirstPlayer(player->sfxSource, NA_SE_ARWING_WARP_DASH);
|
||||
player->unk_194 = 5.0f;
|
||||
player->unk_190 = 5.0f;
|
||||
}
|
||||
@ -589,7 +589,7 @@ void Cutscene_EnterWarpZone(Player* player) {
|
||||
gLevelPhase = 1;
|
||||
D_display_800CA230 = 0.15f;
|
||||
AUDIO_PLAY_SFX(NA_SE_WARP_OUT, gDefaultSfxSource, 0);
|
||||
func_play_800AB334();
|
||||
Play_InitLevel();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -644,7 +644,7 @@ void Cutscene_LevelStart(Player* player) {
|
||||
switch (gCurrentLevel) {
|
||||
case LEVEL_CORNERIA:
|
||||
Corneria_LevelStart(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case LEVEL_METEO:
|
||||
@ -657,7 +657,7 @@ void Cutscene_LevelStart(Player* player) {
|
||||
|
||||
case LEVEL_TITANIA:
|
||||
Titania_LevelStart(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case LEVEL_ZONESS:
|
||||
@ -678,7 +678,7 @@ void Cutscene_LevelStart(Player* player) {
|
||||
|
||||
case LEVEL_VENOM_1:
|
||||
Venom1_LevelStart(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case LEVEL_AQUAS:
|
||||
@ -694,22 +694,22 @@ void Cutscene_LevelStart(Player* player) {
|
||||
switch (gCurrentLevel) {
|
||||
case LEVEL_FORTUNA:
|
||||
AllRange_FortunaIntro(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case LEVEL_VENOM_2:
|
||||
Venom2_LevelStart(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case LEVEL_BOLSE:
|
||||
Bolse_LevelStart(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case LEVEL_KATINA:
|
||||
Katina_LevelStart(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case LEVEL_SECTOR_Z:
|
||||
@ -945,7 +945,7 @@ void Cutscene_AllRangeMode(Player* player) {
|
||||
player->rockPhase += 8.0f;
|
||||
player->rockAngle = SIN_DEG(player->rockPhase);
|
||||
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
}
|
||||
|
||||
void Cutscene_CoComplete2(Player* player) {
|
||||
@ -1307,7 +1307,7 @@ void Cutscene_CoComplete2(Player* player) {
|
||||
case 1255:
|
||||
player->csState = 3;
|
||||
player->csTimer = 10;
|
||||
func_play_800A6028(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
Play_PlaySfxFirstPlayer(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50);
|
||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
|
||||
break;
|
||||
@ -1371,27 +1371,27 @@ void Cutscene_LevelComplete(Player* player) {
|
||||
Area6_LevelComplete(player);
|
||||
} else if (gCurrentLevel == LEVEL_FORTUNA) {
|
||||
Cutscene_FortunaComplete(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else if (gCurrentLevel == LEVEL_BOLSE) {
|
||||
Bolse_LevelComplete(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else if (gCurrentLevel == LEVEL_SECTOR_Z) {
|
||||
SectorZ_LevelComplete(player);
|
||||
} else if (gCurrentLevel == LEVEL_KATINA) {
|
||||
Katina_LevelComplete(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else if (gCurrentLevel == LEVEL_SECTOR_Y) {
|
||||
SectorY_LevelComplete(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else if (gCurrentLevel == LEVEL_SOLAR) {
|
||||
Solar_LevelComplete(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else if (gCurrentLevel == LEVEL_ZONESS) {
|
||||
Zoness_LevelComplete(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else if (gCurrentLevel == LEVEL_VENOM_2) {
|
||||
Venom2_LevelComplete(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else if (gCurrentLevel == LEVEL_METEO) {
|
||||
if (gLevelPhase == 0) {
|
||||
Meteo_LevelComplete(player);
|
||||
@ -1400,15 +1400,15 @@ void Cutscene_LevelComplete(Player* player) {
|
||||
}
|
||||
} else if ((gCurrentLevel == LEVEL_CORNERIA) && (gLevelMode == LEVELMODE_ALL_RANGE)) {
|
||||
Corneria_LevelComplete1(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
} else {
|
||||
if (gCsFrameCount == 170) {
|
||||
AUDIO_PLAY_BGM(SEQ_ID_GOOD_END);
|
||||
}
|
||||
Cutscene_CoComplete2(player);
|
||||
func_play_800AA800(player);
|
||||
Player_FloorCheck(player);
|
||||
}
|
||||
func_play_800B2130(player);
|
||||
Player_UpdateArwingRoll(player);
|
||||
break;
|
||||
|
||||
case FORM_LANDMASTER:
|
||||
@ -1514,7 +1514,7 @@ void Cutscene_UTurn(Player* player) {
|
||||
player->zRotBank = -180.0f;
|
||||
}
|
||||
player->csState = 3;
|
||||
func_play_800A5FA0(player->sfxSource, NA_SE_ARWING_BOOST, player->num);
|
||||
Player_PlaySfx(player->sfxSource, NA_SE_ARWING_BOOST, player->num);
|
||||
player->unk_194 = 7.0f;
|
||||
player->unk_190 = 7.0f;
|
||||
}
|
||||
@ -1587,11 +1587,11 @@ void Cutscene_UTurn(Player* player) {
|
||||
player->pos.z += player->vel.z;
|
||||
player->trueZpos = player->pos.z;
|
||||
|
||||
func_play_800B2574(player);
|
||||
func_play_800B2130(player);
|
||||
func_play_800AD7F0(player);
|
||||
func_play_800AA800(player);
|
||||
func_play_800A46A0(player);
|
||||
Player_ArwingBoost(player);
|
||||
Player_UpdateArwingRoll(player);
|
||||
Player_Shoot(player);
|
||||
Player_FloorCheck(player);
|
||||
Player_DamageEffects(player);
|
||||
}
|
||||
|
||||
void func_demo_8004D3C8(s32 arg0) {
|
||||
@ -1612,7 +1612,7 @@ void Cutscene_KillPlayer(Player* player) {
|
||||
|
||||
Audio_StopPlayerNoise(player->num);
|
||||
Audio_KillSfxBySourceAndId(player->sfxSource, NA_SE_ARWING_DOWN);
|
||||
func_play_800A5FA0(player->sfxSource, NA_SE_ARWING_EXPLOSION, player->num);
|
||||
Player_PlaySfx(player->sfxSource, NA_SE_ARWING_EXPLOSION, player->num);
|
||||
player->state_1C8 = PLAYERSTATE_1C8_NEXT;
|
||||
player->csTimer = 70;
|
||||
player->timer_224 = 20;
|
||||
@ -1653,11 +1653,11 @@ void Cutscene_KillPlayer(Player* player) {
|
||||
gLifeCount[gPlayerNum] -= 1;
|
||||
}
|
||||
} else {
|
||||
if (player->unk_288 > 0) {
|
||||
D_ctx_80177DD0[player->unk_288 - 1][D_ctx_80177DB8[player->unk_288 - 1]] = player->num;
|
||||
D_ctx_80177DB8[player->unk_288 - 1] += 1;
|
||||
if (gVsPointsToWin == D_ctx_80177DB8[player->unk_288 - 1]) {
|
||||
player->unk_288 = -1;
|
||||
if (player->attacker > 0) {
|
||||
D_ctx_80177DD0[player->attacker - 1][D_ctx_80177DB8[player->attacker - 1]] = player->num;
|
||||
D_ctx_80177DB8[player->attacker - 1] += 1;
|
||||
if (gVsPointsToWin == D_ctx_80177DB8[player->attacker - 1]) {
|
||||
player->attacker = -1;
|
||||
if (player->unk_284 == 0) {
|
||||
func_effect_8007C688(player->pos.x, player->pos.y, player->trueZpos, 3.0f, 1000);
|
||||
}
|
||||
@ -1728,7 +1728,7 @@ void func_demo_8004D828(Player* player) {
|
||||
player->vel.y = 10.0f;
|
||||
player->csState = 1;
|
||||
|
||||
func_play_800A6070(player->sfxSource, NA_SE_EXPLOSION_S);
|
||||
Play_PlaySfxNoPlayer(player->sfxSource, NA_SE_EXPLOSION_S);
|
||||
|
||||
if ((gCurrentLevel == LEVEL_CORNERIA) || (gCurrentLevel == LEVEL_FORTUNA)) {
|
||||
func_enmy_80062C38(player->pos.x, player->pos.z);
|
||||
@ -1737,12 +1737,12 @@ void func_demo_8004D828(Player* player) {
|
||||
}
|
||||
|
||||
if (player->wings.rightState == WINGSTATE_INTACT) {
|
||||
func_play_800A69F8(1, player->hit1.x, player->hit1.y, player->hit1.z);
|
||||
Play_SpawnDebris(1, player->hit1.x, player->hit1.y, player->hit1.z);
|
||||
player->wings.rightState = WINGSTATE_BROKEN;
|
||||
func_effect_8007D0E0(player->hit1.x, player->hit1.y, player->hit1.z, 2.0f);
|
||||
}
|
||||
if (player->wings.leftState == WINGSTATE_INTACT) {
|
||||
func_play_800A69F8(0, player->hit2.x, player->hit2.y, player->hit2.z);
|
||||
Play_SpawnDebris(0, player->hit2.x, player->hit2.y, player->hit2.z);
|
||||
player->wings.leftState = WINGSTATE_BROKEN;
|
||||
func_effect_8007D0E0(player->hit2.x, player->hit2.y, player->hit2.z, 2.0f);
|
||||
}
|
||||
@ -1759,11 +1759,11 @@ void func_demo_8004D828(Player* player) {
|
||||
}
|
||||
if (gLevelType == LEVELTYPE_PLANET) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_play_800A69F8(2, player->pos.x, player->pos.y, player->trueZpos);
|
||||
Play_SpawnDebris(2, player->pos.x, player->pos.y, player->trueZpos);
|
||||
}
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
func_play_800A69F8(3, player->pos.x, player->pos.y, player->trueZpos);
|
||||
Play_SpawnDebris(3, player->pos.x, player->pos.y, player->trueZpos);
|
||||
}
|
||||
}
|
||||
func_effect_8007D0E0(player->pos.x, player->pos.y, player->trueZpos, 5.0f);
|
||||
@ -1790,14 +1790,14 @@ void func_demo_8004D828(Player* player) {
|
||||
if ((gLevelType == LEVELTYPE_PLANET) || (gCurrentLevel == LEVEL_BOLSE)) {
|
||||
player->cam.eye.y = (player->pos.y * player->unk_148) + dest.y;
|
||||
player->cam.eye.y -= player->unk_02C - 50.0f;
|
||||
player->cam.at.y = (player->pos.y * player->unk_14C) + 20.0f + (player->unk_060 * 5.0f);
|
||||
player->cam.at.y = (player->pos.y * player->unk_14C) + 20.0f + (player->xRock * 5.0f);
|
||||
} else {
|
||||
player->cam.eye.y = player->pos.y + dest.y;
|
||||
player->cam.at.y = player->pos.y;
|
||||
}
|
||||
|
||||
if (gVersusMode != 0) {
|
||||
func_play_800AE278(player);
|
||||
Player_CheckBounds360(player);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1838,19 +1838,19 @@ void func_demo_8004DEF8(Player* player) {
|
||||
player->radioDamageTimer = 0;
|
||||
player->vel.y = 10.0f;
|
||||
player->csState = 1;
|
||||
func_play_800A6070(player->sfxSource, NA_SE_EXPLOSION_S);
|
||||
Play_PlaySfxNoPlayer(player->sfxSource, NA_SE_EXPLOSION_S);
|
||||
if (gCurrentLevel == LEVEL_CORNERIA) {
|
||||
func_enmy_80062C38(player->pos.x, player->pos.z);
|
||||
}
|
||||
|
||||
if (player->wings.rightState == WINGSTATE_INTACT) {
|
||||
func_play_800A69F8(1, player->hit1.x, player->hit1.y, player->hit1.z);
|
||||
Play_SpawnDebris(1, player->hit1.x, player->hit1.y, player->hit1.z);
|
||||
player->wings.rightState = WINGSTATE_NONE;
|
||||
func_effect_8007D0E0(player->hit1.x, player->hit1.y, player->hit1.z, 2.0f);
|
||||
}
|
||||
|
||||
if (player->wings.leftState == WINGSTATE_INTACT) {
|
||||
func_play_800A69F8(0, player->hit2.x, player->hit2.y, player->hit2.z);
|
||||
Play_SpawnDebris(0, player->hit2.x, player->hit2.y, player->hit2.z);
|
||||
player->wings.leftState = WINGSTATE_NONE;
|
||||
func_effect_8007D0E0(player->hit2.x, player->hit2.y, player->hit2.z, 2.0f);
|
||||
}
|
||||
@ -1867,11 +1867,11 @@ void func_demo_8004DEF8(Player* player) {
|
||||
0.0f, 0.0f, 0.0f, 3.0f, 20);
|
||||
if (gLevelType == LEVELTYPE_PLANET) {
|
||||
for (i = 0; i < 2; i++) {
|
||||
func_play_800A69F8(2, player->pos.x, player->pos.y, player->trueZpos);
|
||||
Play_SpawnDebris(2, player->pos.x, player->pos.y, player->trueZpos);
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_play_800A69F8(4, player->pos.x, player->pos.y, player->trueZpos);
|
||||
Play_SpawnDebris(4, player->pos.x, player->pos.y, player->trueZpos);
|
||||
}
|
||||
}
|
||||
Cutscene_KillPlayer(player);
|
||||
@ -1903,10 +1903,10 @@ void Cutscene_PlayerDown(Player* player) {
|
||||
func_demo_8004D828(player);
|
||||
} else {
|
||||
func_demo_8004DEF8(player);
|
||||
func_play_800ADF58(player);
|
||||
Player_UpdatePath(player);
|
||||
}
|
||||
func_play_800A8BA4(player);
|
||||
func_play_800AA800(player);
|
||||
Player_CollisionCheck(player);
|
||||
Player_FloorCheck(player);
|
||||
break;
|
||||
|
||||
case FORM_LANDMASTER:
|
||||
@ -2111,7 +2111,7 @@ void func_demo_8004EBD0(ActorCutscene* this) {
|
||||
if (this->timer_0BC == 0) {
|
||||
this->state++;
|
||||
this->timer_0BC = 10;
|
||||
func_play_800A6028(this->sfxSource, NA_SE_ARWING_BOOST);
|
||||
Play_PlaySfxFirstPlayer(this->sfxSource, NA_SE_ARWING_BOOST);
|
||||
this->fwork[29] = 5.0f;
|
||||
}
|
||||
break;
|
||||
|
@ -871,7 +871,7 @@ void func_display_80054E80(Player* player) {
|
||||
Vec3f spA0 = { -30.0f, -10.0f, 30.0f };
|
||||
Vec3f sp94;
|
||||
Vec3f sp88;
|
||||
u8 var_v1;
|
||||
u8 laserStrength;
|
||||
f32 sp80;
|
||||
|
||||
if (gChargeTimers[player->num] > 10) {
|
||||
@ -936,11 +936,11 @@ void func_display_80054E80(Player* player) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
RCP_SetupDL(&gMasterDisp, 0x43);
|
||||
Matrix_Copy(gCalcMatrix, &D_display_80161418[player->num]);
|
||||
var_v1 = gLaserStrength[player->num];
|
||||
laserStrength = gLaserStrength[player->num];
|
||||
if (player->wings.unk_14 > -8.0f) {
|
||||
var_v1 = LASERS_SINGLE;
|
||||
laserStrength = LASERS_SINGLE;
|
||||
}
|
||||
switch (var_v1) {
|
||||
switch (laserStrength) {
|
||||
case LASERS_SINGLE:
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128);
|
||||
gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128);
|
||||
@ -959,7 +959,7 @@ void func_display_80054E80(Player* player) {
|
||||
break;
|
||||
case LASERS_TWIN:
|
||||
case LASERS_HYPER:
|
||||
if (var_v1 == LASERS_TWIN) {
|
||||
if (laserStrength == LASERS_TWIN) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 192, 255, 192, 128);
|
||||
gDPSetEnvColor(gMasterDisp++, 64, 255, 64, 128);
|
||||
} else {
|
||||
@ -1424,7 +1424,7 @@ void func_display_80057504(void) {
|
||||
|
||||
for (i = 0; i < gCamCount; i++) {
|
||||
if (gLockOnTargetViewPos[i].z < 0.0f) {
|
||||
var_fs0 = (VEC3F_MAG(&gLockOnTargetViewPos[i]));
|
||||
var_fs0 = VEC3F_MAG(&gLockOnTargetViewPos[i]);
|
||||
if (var_fs0 < 20000.0f) {
|
||||
var_fs0 *= 0.0015f;
|
||||
if (var_fs0 > 100.0f) {
|
||||
@ -1453,7 +1453,6 @@ void func_display_80057504(void) {
|
||||
}
|
||||
}
|
||||
for (j = 0; j < gCamCount; j++) {
|
||||
|
||||
gLockOnTargetViewPos[j].x = gLockOnTargetViewPos[j].y = 0.f;
|
||||
gLockOnTargetViewPos[j].z = 100.0f;
|
||||
}
|
||||
@ -1469,7 +1468,7 @@ void func_display_80057814(Player* player) {
|
||||
sp2C.x = player->sfxSource[0];
|
||||
sp2C.y = player->sfxSource[1];
|
||||
sp2C.z = player->sfxSource[2];
|
||||
func_edisplay_8005F0E8(player->sfxSource, &sp20);
|
||||
Object_SetSfxSourceToPos(player->sfxSource, &sp20);
|
||||
player->sfxVel[0] = player->sfxSource[0] - sp2C.x;
|
||||
player->sfxVel[1] = player->sfxSource[1] - sp2C.y;
|
||||
player->sfxVel[2] = player->sfxSource[2] - sp2C.z;
|
||||
@ -1558,7 +1557,7 @@ void Play_Draw(void) {
|
||||
Matrix_RotateZ(gGfxMatrix, -(f32) gGameFrameCount * 10.0f * M_DTOR, MTXF_APPLY);
|
||||
Matrix_Scale(gGfxMatrix, 1.0f + D_display_800CA230, 1.0f - D_display_800CA230, 1.0f, MTXF_APPLY);
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
func_play_800B73E0(player);
|
||||
Camera_SetupLights(player);
|
||||
Lights_SetOneLight(&gMasterDisp, gLight1x, gLight1y, gLight1z, gLight1R, gLight1G, gLight1B, gAmbientR, gAmbientG,
|
||||
gAmbientB);
|
||||
if (gLevelMode == LEVELMODE_ON_RAILS) {
|
||||
@ -1606,8 +1605,8 @@ void Play_Draw(void) {
|
||||
Matrix_MultVec3f(gCalcMatrix, &tempVec, &playerCamUp);
|
||||
if (gStarCount != 0) {
|
||||
gStarfieldRoll = DEG_TO_RAD(gPlayer[0].camRoll);
|
||||
func_play_800B6F50(gPlayerCamEye.x, gPlayerCamEye.y, gPlayerCamEye.z, gPlayerCamAt.x, gPlayerCamAt.y,
|
||||
gPlayerCamAt.z);
|
||||
Camera_SetStarfieldPos(gPlayerCamEye.x, gPlayerCamEye.y, gPlayerCamEye.z, gPlayerCamAt.x, gPlayerCamAt.y,
|
||||
gPlayerCamAt.z);
|
||||
Background_DrawStarfield();
|
||||
}
|
||||
Background_DrawBackdrop();
|
||||
@ -1657,12 +1656,12 @@ void Play_Draw(void) {
|
||||
Object_Draw(1);
|
||||
TexturedLine_Draw();
|
||||
gReflectY = 1;
|
||||
PlayerShot_Draw();
|
||||
PlayerShot_DrawAll();
|
||||
if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, MTXF_APPLY);
|
||||
gReflectY = -1;
|
||||
PlayerShot_Draw();
|
||||
PlayerShot_DrawAll();
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
}
|
||||
gReflectY = -1;
|
||||
@ -1727,7 +1726,7 @@ void Play_Draw(void) {
|
||||
}
|
||||
}
|
||||
if ((gLevelMode == LEVELMODE_UNK_2) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) {
|
||||
Turret_801A6164(gPlayer);
|
||||
Turret_Draw(gPlayer);
|
||||
}
|
||||
Background_DrawLensFlare();
|
||||
if ((gCamCount != 1) &&
|
||||
|
@ -282,7 +282,7 @@ ObjectInfo gObjectInfo[] = {
|
||||
/* OBJ_ACTOR_186 */ {(void*) func_edisplay_8005B7CC, 1, (ObjectFunc) Meteo_8018795C, D_ME_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
|
||||
/* OBJ_ACTOR_187 */ {(void*) D_ME_6018450, 0, (ObjectFunc) Meteo_801877C4, D_ME_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
|
||||
/* OBJ_ACTOR_188 */ {(void*) Aquas_801BEC74, 1, (ObjectFunc) Aquas_801BEC68, D_AQ_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
|
||||
/* OBJ_ACTOR_189 */ {(void*) Actor189_Draw, 1, (ObjectFunc) Actor189_Update, gNoHitbox, 0.0f, 0, 0, 39, 0, 0.0f, 0 },
|
||||
/* OBJ_ACTOR_DEBRIS */ {(void*) ActorDebris_Draw, 1, (ObjectFunc) ActorDebris_Update, gNoHitbox, 0.0f, 0, 0, 39, 0, 0.0f, 0 },
|
||||
/* OBJ_ACTOR_190 */ {(void*) func_edisplay_8005B848, 1, (ObjectFunc) func_enmy_800656D4, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
|
||||
/* OBJ_ACTOR_191 */ {(void*) func_edisplay_8005B848, 1, (ObjectFunc) func_enmy_800656D4, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
|
||||
/* OBJ_ACTOR_192 */ {(void*) func_edisplay_8005B9A4, 1, (ObjectFunc) func_enmy_8006654C, D_CO_603E54C, 200.0f, 0, 1, 39, 0, 50.0f, 1 },
|
||||
@ -394,25 +394,25 @@ ObjectInfo gObjectInfo[] = {
|
||||
/* OBJ_BOSS_298 */ {(void*) Meteo_801887D0, 1, (ObjectFunc) Meteo_80188344, D_ME_602FA50, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_299 */ {(void*) Boss299_Draw, 2, (ObjectFunc) Boss299_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_300 */ {(void*) Boss300_Draw, 1, (ObjectFunc) Boss300_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_301 */ {(void*) Aquas_801BEC5C, 1, (ObjectFunc) Aquas_801BEC50, D_AQ_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_A6 */ {(void*) Area6_8018C54C, 1, (ObjectFunc) Area6_80187944, D_A6_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_301 */ {(void*) Aquas_Boss301_Draw, 1, (ObjectFunc) Aquas_Boss301_Update, D_AQ_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_A6 */ {(void*) Area6_Boss_Draw, 1, (ObjectFunc) Area6_Boss_Update, D_A6_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_303 */ {(void*) SectorX_80193434, 2, (ObjectFunc) SectorX_80190078, D_SX_6032550, 20000.0f, 0, 0, 20, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_304 */ {(void*) SectorX_8018FF84, 2, (ObjectFunc) SectorX_8018FE38, D_SX_6032488, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_305 */ {(void*) SectorX_80190020, 2, (ObjectFunc) SectorX_8018FF20, D_SX_60324EC, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_306 */ {(void*) Titania_801982A8, 1, (ObjectFunc) Titania_80197A94,D_TI_801B83A8, 1000.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_ZO */ {(void*) Zoness_801949DC, 2, (ObjectFunc) Zoness_80194A84, D_ZO_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 },
|
||||
/* OBJ_BOSS_308 */ {(void*) func_hud_8008FE78, 1, (ObjectFunc) func_hud_800907C4, D_FO_600FFE0, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_TI */ {(void*) Titania_Boss_Draw, 1, (ObjectFunc) Titania_Boss_Update,D_TI_801B83A8, 1000.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_ZO */ {(void*) Zoness_Boss_Draw, 2, (ObjectFunc) Zoness_Boss_Update, D_ZO_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 },
|
||||
/* OBJ_BOSS_FO */ {(void*) HUD_BossFO_Draw, 1, (ObjectFunc) HUD_BossFO_Update, D_FO_600FFE0, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_309 */ {(void*) Boss309_Draw, 1, (ObjectFunc) Boss309_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_310 */ {(void*) Boss310_Draw, 1, (ObjectFunc) Boss310_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_311 */ {(void*) Bolse_80191AFC, 2, (ObjectFunc) Bolse_801912FC, D_BO_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_312 */ {(void*) Venom2_80196288, 2, (ObjectFunc) Venom2_80196210, D_VE2_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_313 */ {(void*) SectorZ_8019E98C, 1, (ObjectFunc) SectorZ_8019E454, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_314 */ {(void*) SectorY_8019E2C4, 2, (ObjectFunc) SectorY_8019C888, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_SO */ {(void*) Solar_801A71B8, 2, (ObjectFunc) Solar_801A5B3C, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_316 */ {(void*) Katina_BossDraw, 1, (ObjectFunc) Katina_BossUpdate, D_KA_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_317 */ {(void*) Katina_Base_Draw, 1, (ObjectFunc) Katina_BaseUpdate, D_KA_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_AQ */ {(void*) Aquas_801B4D84, 2, (ObjectFunc) Aquas_801B134C, D_AQ_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_319 */ {(void*) Venom1_801985E4, 1, (ObjectFunc) Venom1_80194398,D_VE1_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_VE2 */ {(void*) Venom2_Boss_Draw, 2, (ObjectFunc) Venom2_Boss_Update, D_VE2_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_SZ */ {(void*) SectorZ_Boss_Draw, 1, (ObjectFunc) SectorZ_Boss_Update, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_SY */ {(void*) SectorY_Boss_Draw, 2, (ObjectFunc) SectorY_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_SO */ {(void*) Solar_Boss_Draw, 2, (ObjectFunc) Solar_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_KA */ {(void*) Katina_BossDraw, 1, (ObjectFunc) Katina_BossUpdate, D_KA_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_KA_BASE */ {(void*) Katina_Base_Draw, 1, (ObjectFunc) Katina_BaseUpdate, D_KA_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_AQ */ {(void*) Aquas_Boss_Draw, 2, (ObjectFunc) Aquas_Boss_Update, D_AQ_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_VE1 */ {(void*) Venom1_Boss_Draw, 1, (ObjectFunc) Venom1_Boss_Update,D_VE1_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_320 */ {(void*) Andross_801928C8, 2, (ObjectFunc) Andross_8018DBF0, D_ANDROSS_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_321 */ {(void*) Andross_8018B8C0, 1, (ObjectFunc) Andross_80189B70, D_ANDROSS_C038F24, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_ITEM_LASERS */ {(void*) ItemLasers_Draw, 1, (ObjectFunc) ItemLasers_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
|
||||
|
@ -236,7 +236,7 @@ Gfx* D_edisplay_800CFC64[] = { D_AQ_6023940, D_AQ_6023D70, D_AQ_60249C0, D_AQ_60
|
||||
Gfx* D_edisplay_800CFC7C[] = { D_ZO_601B570, D_ZO_601B710, D_ZO_60209B0, D_ZO_6020B70, D_ZO_6020D50,
|
||||
D_ZO_601B8F0, D_ZO_601B3B0, D_ZO_601B1C0, D_ZO_6011660 };
|
||||
|
||||
void Actor189_Draw(Actor189* this) {
|
||||
void ActorDebris_Draw(ActorDebris* this) {
|
||||
switch (this->state) {
|
||||
case 0:
|
||||
Matrix_Translate(gGfxMatrix, 18.0f, 15.0f, -15.0f, MTXF_APPLY);
|
||||
@ -412,7 +412,7 @@ void Actor189_Draw(Actor189* this) {
|
||||
gSPDisplayList(gMasterDisp++, D_VE1_8019A008[this->unk_048]);
|
||||
break;
|
||||
default:
|
||||
if (this->state > 9) {
|
||||
if (this->state >= 10) {
|
||||
if (this->state == 36) {
|
||||
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
|
||||
}
|
||||
@ -669,7 +669,7 @@ void func_edisplay_8005BAB4(ObjectId objId, s32 index) {
|
||||
case OBJ_BOSS_292:
|
||||
gSPDisplayList(gMasterDisp++, D_CO_6034B90);
|
||||
break;
|
||||
case OBJ_BOSS_316:
|
||||
case OBJ_BOSS_KA:
|
||||
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) {
|
||||
RCP_SetupDL(&gMasterDisp, 0x40);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 200);
|
||||
@ -754,7 +754,7 @@ void func_edisplay_8005BAB4(ObjectId objId, s32 index) {
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
gSPDisplayList(gMasterDisp++, D_1024AC0);
|
||||
break;
|
||||
case OBJ_BOSS_319:
|
||||
case OBJ_BOSS_VE1:
|
||||
Venom1_80198310(&gBosses[index]);
|
||||
break;
|
||||
}
|
||||
@ -1016,10 +1016,10 @@ void Actor_DrawOnRails(Actor* this) {
|
||||
}
|
||||
if (this->info.drawType == 0) {
|
||||
gSPDisplayList(gMasterDisp++, this->info.dList);
|
||||
func_edisplay_8005F1EC(this->sfxSource);
|
||||
Object_UpdateSfxSource(this->sfxSource);
|
||||
} else {
|
||||
this->info.draw(&this->obj);
|
||||
func_edisplay_8005F1EC(this->sfxSource);
|
||||
Object_UpdateSfxSource(this->sfxSource);
|
||||
if (((this->obj.id == OBJ_ACTOR_TEAM_BOSS) ||
|
||||
((this->obj.id == OBJ_ACTOR_SLIPPY_SX) && (this->unk_0B6 > 0))) &&
|
||||
(gReflectY > 0)) {
|
||||
@ -1114,7 +1114,7 @@ void Actor_DrawAllRange(Actor* this) {
|
||||
}
|
||||
if (!sDrewActor) {
|
||||
this->lockOnTimers[gPlayerNum] = 0;
|
||||
if ((this->obj.id == OBJ_ACTOR_189) || (this->obj.id == OBJ_ACTOR_286)) {
|
||||
if ((this->obj.id == OBJ_ACTOR_DEBRIS) || (this->obj.id == OBJ_ACTOR_286)) {
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
}
|
||||
}
|
||||
@ -1127,7 +1127,7 @@ void Actor_DrawAllRange(Actor* this) {
|
||||
}
|
||||
}
|
||||
}
|
||||
func_edisplay_8005F290(this->sfxSource, &sViewPos);
|
||||
Object_SetSfxSourceToView(this->sfxSource, &sViewPos);
|
||||
this->iwork[24] = sDrewActor;
|
||||
}
|
||||
|
||||
@ -1137,7 +1137,7 @@ void Boss_Draw(Boss* this, s32 arg1) {
|
||||
f32 var_fv0;
|
||||
f32 var_fv1;
|
||||
f32 sp3C;
|
||||
Vec3f sp30 = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f origin = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
if (this->info.unk_19 != 0) {
|
||||
this->obj.pos.y += this->unk_068 + gCameraShakeY;
|
||||
@ -1146,14 +1146,14 @@ void Boss_Draw(Boss* this, s32 arg1) {
|
||||
} else {
|
||||
func_edisplay_8005D1F0(&this->obj, this->info.drawType);
|
||||
}
|
||||
Matrix_MultVec3f(&D_edisplay_801615F0, &sp30, &D_edisplay_801615D0);
|
||||
func_edisplay_8005F290(this->sfxSource, &D_edisplay_801615D0);
|
||||
if ((this->obj.id == OBJ_BOSS_316) || (this->obj.id == OBJ_BOSS_317)) {
|
||||
Matrix_MultVec3f(&D_edisplay_801615F0, &origin, &D_edisplay_801615D0);
|
||||
Object_SetSfxSourceToView(this->sfxSource, &D_edisplay_801615D0);
|
||||
if ((this->obj.id == OBJ_BOSS_KA) || (this->obj.id == OBJ_BOSS_KA_BASE)) {
|
||||
var_fa1 = 6000.0f;
|
||||
var_fv0 = 6000.0f;
|
||||
var_ft5 = 0.9f;
|
||||
var_fv1 = -20000.0f;
|
||||
} else if (this->obj.id == OBJ_BOSS_313) {
|
||||
} else if (this->obj.id == OBJ_BOSS_SZ) {
|
||||
var_fv1 = -25000.0f;
|
||||
var_ft5 = 0.7f;
|
||||
var_fa1 = 3000.0f;
|
||||
@ -1170,7 +1170,7 @@ void Boss_Draw(Boss* this, s32 arg1) {
|
||||
if (fabsf(D_edisplay_801615D0.y) < (fabsf(D_edisplay_801615D0.z * var_ft5) + var_fa1)) {
|
||||
sp3C = 1.0f;
|
||||
if (this->obj.id != OBJ_BOSS_309) {
|
||||
if (this->obj.id != OBJ_BOSS_316) {
|
||||
if (this->obj.id != OBJ_BOSS_KA) {
|
||||
Display_SetSecondLight(&this->obj.pos);
|
||||
}
|
||||
if (this->info.drawType != 2) {
|
||||
@ -1243,7 +1243,7 @@ void Effect_DrawAllRange(Effect* this) {
|
||||
}
|
||||
}
|
||||
}
|
||||
func_edisplay_8005F290(this->sfxSource, &sp40);
|
||||
Object_SetSfxSourceToView(this->sfxSource, &sp40);
|
||||
if (!drawn && (this->obj.id != OBJ_EFFECT_352) && (this->obj.id != OBJ_EFFECT_373) && (!gVersusMode)) {
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
}
|
||||
@ -1275,7 +1275,7 @@ void Item_Draw(Item* this, s32 arg1) {
|
||||
}
|
||||
}
|
||||
}
|
||||
func_edisplay_8005F290(this->sfxSource, &sp38);
|
||||
Object_SetSfxSourceToView(this->sfxSource, &sp38);
|
||||
if (!drawn && (gLevelMode == LEVELMODE_ALL_RANGE) && (gCamCount == 1) && (this->obj.id < OBJ_ITEM_GOLD_RING) &&
|
||||
(gCurrentLevel != LEVEL_VENOM_ANDROSS)) {
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
@ -1329,7 +1329,7 @@ void Object_DrawShadow(s32 index, Object* obj) {
|
||||
Matrix_Translate(gGfxMatrix, obj->pos.x, gGroundHeight + 2.0f + gActors[index].fwork[0],
|
||||
obj->pos.z + gPathProgress, MTXF_APPLY);
|
||||
break;
|
||||
case OBJ_BOSS_316:
|
||||
case OBJ_BOSS_KA:
|
||||
Matrix_Translate(gGfxMatrix, obj->pos.x, gGroundHeight + 2.0f + gCameraShakeY, obj->pos.z, MTXF_APPLY);
|
||||
break;
|
||||
default:
|
||||
@ -1341,7 +1341,7 @@ void Object_DrawShadow(s32 index, Object* obj) {
|
||||
Matrix_Scale(gGfxMatrix, 1.0f, 0.0f, 1.0f, MTXF_APPLY);
|
||||
Matrix_RotateY(gGfxMatrix, obj->rot.y * M_DTOR, MTXF_APPLY);
|
||||
}
|
||||
if ((obj->id < OBJ_BOSS_292) && (obj->id != OBJ_ACTOR_230) && (obj->id != OBJ_ACTOR_229) &&
|
||||
if ((obj->id < OBJ_ACTOR_MAX) && (obj->id != OBJ_ACTOR_230) && (obj->id != OBJ_ACTOR_229) &&
|
||||
(obj->id != OBJ_ACTOR_231)) {
|
||||
Matrix_RotateX(gGfxMatrix, obj->rot.x * M_DTOR, MTXF_APPLY);
|
||||
Matrix_RotateZ(gGfxMatrix, obj->rot.z * M_DTOR, MTXF_APPLY);
|
||||
@ -1372,7 +1372,7 @@ void Object_ClampSfxSource(f32* sfxSrc) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_edisplay_8005F0E8(f32* sfxSrc, Vec3f* pos) {
|
||||
void Object_SetSfxSourceToPos(f32* sfxSrc, Vec3f* pos) {
|
||||
Vec3f sp2C;
|
||||
Vec3f sp20;
|
||||
|
||||
@ -1392,15 +1392,15 @@ void func_edisplay_8005F0E8(f32* sfxSrc, Vec3f* pos) {
|
||||
Object_ClampSfxSource(sfxSrc);
|
||||
}
|
||||
|
||||
void func_edisplay_8005F1EC(f32* sfxSrc) {
|
||||
Vec3f sp2C = { 0.0f, 0.0f, 0.0f };
|
||||
void Object_UpdateSfxSource(f32* sfxSrc) {
|
||||
Vec3f origin = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f sp20;
|
||||
s32 pad;
|
||||
|
||||
if (gCamCount != 1) {
|
||||
sfxSrc[0] = sfxSrc[1] = sfxSrc[2] = 0.0f;
|
||||
} else {
|
||||
Matrix_MultVec3f(&D_edisplay_801615F0, &sp2C, &sp20);
|
||||
Matrix_MultVec3f(&D_edisplay_801615F0, &origin, &sp20);
|
||||
sfxSrc[0] = sp20.x;
|
||||
sfxSrc[1] = sp20.y;
|
||||
sfxSrc[2] = sp20.z;
|
||||
@ -1408,13 +1408,13 @@ void func_edisplay_8005F1EC(f32* sfxSrc) {
|
||||
Object_ClampSfxSource(sfxSrc);
|
||||
}
|
||||
|
||||
void func_edisplay_8005F290(f32* sfxSrc, Vec3f* pos) {
|
||||
void Object_SetSfxSourceToView(f32* sfxSrc, Vec3f* viewPos) {
|
||||
if (gCamCount != 1) {
|
||||
sfxSrc[0] = sfxSrc[1] = sfxSrc[2] = 0.0f;
|
||||
} else {
|
||||
sfxSrc[0] = pos->x;
|
||||
sfxSrc[1] = pos->y;
|
||||
sfxSrc[2] = pos->z;
|
||||
sfxSrc[0] = viewPos->x;
|
||||
sfxSrc[1] = viewPos->y;
|
||||
sfxSrc[2] = viewPos->z;
|
||||
}
|
||||
Object_ClampSfxSource(sfxSrc);
|
||||
}
|
||||
@ -1577,7 +1577,7 @@ void Object_DrawAll(s32 arg0) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Scenery_Draw(scenery, arg0);
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
func_edisplay_8005F1EC(scenery->sfxSource);
|
||||
Object_UpdateSfxSource(scenery->sfxSource);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1697,7 +1697,7 @@ void Effect_DrawAll(s32 arg0) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Effect_DrawOnRails(effect, arg0);
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
func_edisplay_8005F1EC(effect->sfxSource);
|
||||
Object_UpdateSfxSource(effect->sfxSource);
|
||||
if (effect->obj.id == OBJ_EFFECT_374) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Object_DrawShadow(i, &effect->obj);
|
||||
|
@ -1167,7 +1167,7 @@ void func_effect_8007B040(Effect* effect) {
|
||||
f32 sp2C;
|
||||
s32 sp28;
|
||||
|
||||
if (func_play_800A73E4(&sp2C, &sp28, effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp2C, &sp28, effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z)) {
|
||||
D_ctx_801782EC[sp28] = effect->scale1;
|
||||
D_ctx_801782EC[sp28 + 1] = effect->scale1 * 0.7f;
|
||||
D_ctx_801782EC[sp28 - 1] = effect->scale1 * 0.7f;
|
||||
@ -1580,7 +1580,7 @@ void func_effect_8007C1AC(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32
|
||||
for (i = ARRAY_COUNT(gEffects) - 1; i >= 0; i--) {
|
||||
if (gEffects[i].obj.status == OBJ_FREE) {
|
||||
func_effect_8007BF64(&gEffects[i], xPos, yPos, zPos, xVel, yVel, zVel, scale2, timer50);
|
||||
func_play_800A6070(gEffects[i].sfxSource, NA_SE_EXPLOSION_S);
|
||||
Play_PlaySfxNoPlayer(gEffects[i].sfxSource, NA_SE_EXPLOSION_S);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2192,8 +2192,8 @@ void func_effect_8007DB70(Effect* effect) {
|
||||
func_effect_8007BFFC(effect->obj.pos.x, effect->obj.pos.y + 30.0f, effect->obj.pos.z, 0.0f, 0.0f, 0.0f,
|
||||
4.0f, 5);
|
||||
if ((effect->obj.pos.y < (gGroundHeight + 10.0f)) || (gGroundSurface != SURFACE_WATER)) {
|
||||
func_beam_800365E4(effect->obj.pos.x, 3.0f, effect->obj.pos.z, effect->obj.pos.x, effect->obj.pos.z,
|
||||
0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
|
||||
PlayerShot_SpawnEffect344(effect->obj.pos.x, 3.0f, effect->obj.pos.z, effect->obj.pos.x,
|
||||
effect->obj.pos.z, 0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -3637,8 +3637,8 @@ void func_effect_80081C5C(Effect* effect) {
|
||||
|
||||
effect->vel.y -= 1.0f;
|
||||
|
||||
if ((func_play_800A73E4(&posYOut, &unusedOut, effect->obj.pos.x, effect->obj.pos.y,
|
||||
effect->obj.pos.z)) ||
|
||||
if ((Play_CheckDynaFloorCollision(&posYOut, &unusedOut, effect->obj.pos.x, effect->obj.pos.y,
|
||||
effect->obj.pos.z)) ||
|
||||
(effect->timer_50 == 0)) {
|
||||
func_effect_8007B228(effect->obj.pos.x, posYOut, effect->obj.pos.z, effect->scale2);
|
||||
Object_Kill(&effect->obj, effect->sfxSource);
|
||||
|
@ -73,7 +73,7 @@ u32 gWarpRingSfx[] = {
|
||||
NA_SE_WARP_RING_6, NA_SE_WARP_RING_7, NA_SE_WARP_RING_7, NA_SE_WARP_RING_7,
|
||||
};
|
||||
|
||||
void func_enmy_80060F30(f32* pos, u32 sfxId, s32 shotSource) {
|
||||
void Object_PlayerSfx(f32* pos, u32 sfxId, s32 playerNum) {
|
||||
PRINTF("CHIME SET \n");
|
||||
PRINTF("BOMB SET 1\n");
|
||||
PRINTF("BOMB SET 2\n");
|
||||
@ -82,7 +82,7 @@ void func_enmy_80060F30(f32* pos, u32 sfxId, s32 shotSource) {
|
||||
if (!gVersusMode) {
|
||||
AUDIO_PLAY_SFX(sfxId, gDefaultSfxSource, 4);
|
||||
} else {
|
||||
AUDIO_PLAY_SFX(sfxId, pos, shotSource);
|
||||
AUDIO_PLAY_SFX(sfxId, pos, playerNum);
|
||||
}
|
||||
}
|
||||
|
||||
@ -411,7 +411,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
|
||||
if ((xMax > objInit->xPos - gPlayer[0].xPath) && (objInit->xPos - gPlayer[0].xPath > xMin) &&
|
||||
(yMax > objInit->yPos - gPlayer[0].yPath) && (objInit->yPos - gPlayer[0].yPath > yMin)) {
|
||||
if (objInit->id < OBJ_SPRITE_CO_POLE) {
|
||||
if (objInit->id < OBJ_SCENERY_MAX) {
|
||||
for (i = 0; i < ARRAY_COUNT(gScenery); i++) {
|
||||
if (gScenery[i].obj.status == OBJ_FREE) {
|
||||
Scenery_Load(&gScenery[i], objInit);
|
||||
@ -419,7 +419,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((objInit->id >= OBJ_SPRITE_CO_POLE) && (objInit->id < OBJ_ACTOR_176)) {
|
||||
if ((objInit->id >= OBJ_SPRITE_START) && (objInit->id < OBJ_SPRITE_MAX)) {
|
||||
for (i = 0; i < ARRAY_COUNT(gSprites); i++) {
|
||||
if (gSprites[i].obj.status == OBJ_FREE) {
|
||||
Sprite_Load(&gSprites[i], objInit);
|
||||
@ -427,7 +427,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((objInit->id >= OBJ_ACTOR_176) && (objInit->id < OBJ_BOSS_292)) {
|
||||
if ((objInit->id >= OBJ_ACTOR_START) && (objInit->id < OBJ_ACTOR_MAX)) {
|
||||
if ((objInit->id == OBJ_ACTOR_267) || (objInit->id == OBJ_ACTOR_254)) {
|
||||
for (i = ARRAY_COUNT(gActors) - 1; i >= 0; i--) {
|
||||
if (gActors[i].obj.status == OBJ_FREE) {
|
||||
@ -451,7 +451,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((objInit->id >= OBJ_BOSS_292) && (objInit->id < OBJ_ITEM_LASERS)) {
|
||||
if ((objInit->id >= OBJ_BOSS_START) && (objInit->id < OBJ_BOSS_MAX)) {
|
||||
for (i = 0; i < ARRAY_COUNT(gBosses); i++) {
|
||||
if (gBosses[i].obj.status == OBJ_FREE) {
|
||||
Boss_Load(&gBosses[i], objInit);
|
||||
@ -459,7 +459,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((objInit->id >= OBJ_ITEM_LASERS) && (objInit->id < OBJ_EFFECT_FIRE_SMOKE)) {
|
||||
if ((objInit->id >= OBJ_ITEM_START) && (objInit->id < OBJ_ITEM_MAX)) {
|
||||
for (i = 0; i < ARRAY_COUNT(gItems); i++) {
|
||||
if (gItems[i].obj.status == OBJ_FREE) {
|
||||
Item_Load(&gItems[i], objInit);
|
||||
@ -467,7 +467,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (objInit->id >= OBJ_EFFECT_FIRE_SMOKE && objInit->id <= OBJ_UNK_406) {
|
||||
if (objInit->id >= OBJ_EFFECT_START && objInit->id <= OBJ_ID_MAX) {
|
||||
switch (objInit->id) {
|
||||
case OBJ_UNK_403:
|
||||
D_MA_801BA1E8 = 99;
|
||||
@ -493,7 +493,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (objInit->id > OBJ_UNK_406) {
|
||||
if (objInit->id > OBJ_ID_MAX) {
|
||||
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
|
||||
if (gActors[i].obj.status == OBJ_FREE) {
|
||||
ActorEvent_Load(&gActors[i], objInit, i);
|
||||
@ -570,8 +570,10 @@ void Object_LoadLevelObjects(void) {
|
||||
gLastPathChange = 0;
|
||||
|
||||
for (i = 0, objInit = &gLevelObjects[gObjectLoadIndex]; i < 10000; i++, gObjectLoadIndex++, objInit++) {
|
||||
if ((objInit->id > OBJ_INVALID) && gPathProgress <= objInit->zPos1 &&
|
||||
objInit->zPos1 <= gPathProgress + 200.0f) {
|
||||
if (objInit->id <= OBJ_INVALID) {
|
||||
break;
|
||||
}
|
||||
if (((gPathProgress <= objInit->zPos1) && (objInit->zPos1 <= gPathProgress + 200.0f))) {
|
||||
if ((gCurrentLevel == LEVEL_VENOM_1) && (objInit->id >= ACTOR_EVENT_ID)) {
|
||||
if (((objInit->rot.y < 180.0f) && (objInit->xPos < gPlayer[0].xPath)) ||
|
||||
((objInit->rot.y > 180.0f) && (gPlayer[0].xPath < objInit->xPos))) {
|
||||
@ -747,15 +749,15 @@ bool Object_CheckPolyCollision(Vec3f* pos, Vec3f* vel, ObjectId objId, Object* o
|
||||
objPos.y = obj->pos.y;
|
||||
objPos.z = obj->pos.z;
|
||||
if ((objId == OBJ_ACTOR_180) || (objId == OBJ_SCENERY_149) || (objId == OBJ_SCENERY_150) ||
|
||||
(objId == OBJ_BOSS_308) || (objId == OBJ_BOSS_313) || (objId == OBJ_BOSS_312) || (objId == OBJ_BOSS_309) ||
|
||||
(objId == OBJ_BOSS_FO) || (objId == OBJ_BOSS_SZ) || (objId == OBJ_BOSS_VE2) || (objId == OBJ_BOSS_309) ||
|
||||
(objId == OBJ_SCENERY_ME_TUNNEL)) {
|
||||
colId = COL1_0;
|
||||
if (objId == OBJ_BOSS_312) {
|
||||
if (objId == OBJ_BOSS_VE2) {
|
||||
colId = COL1_9;
|
||||
}
|
||||
if (objId == OBJ_SCENERY_ME_TUNNEL) {
|
||||
colId = COL1_1;
|
||||
} else if (objId == OBJ_BOSS_308) {
|
||||
} else if (objId == OBJ_BOSS_FO) {
|
||||
colId = COL1_4;
|
||||
} else if (objId == OBJ_BOSS_309) {
|
||||
colId = COL1_7;
|
||||
@ -763,7 +765,7 @@ bool Object_CheckPolyCollision(Vec3f* pos, Vec3f* vel, ObjectId objId, Object* o
|
||||
colId = COL1_5;
|
||||
} else if (objId == OBJ_SCENERY_150) {
|
||||
colId = COL1_6;
|
||||
} else if (objId == OBJ_BOSS_313) {
|
||||
} else if (objId == OBJ_BOSS_SZ) {
|
||||
colId = COL1_8;
|
||||
}
|
||||
if (func_col1_800998FC(&relPos, &objPos, vel, colId, &sp44, sp30) > 0) {
|
||||
@ -859,8 +861,8 @@ s32 Object_CheckCollision(s32 index, Vec3f* pos, Vec3f* vel, s32 mode) {
|
||||
boss = gBosses;
|
||||
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
|
||||
if (boss->obj.status == OBJ_ACTIVE) {
|
||||
if ((boss->obj.id == OBJ_BOSS_308) || (boss->obj.id == OBJ_BOSS_312) ||
|
||||
(boss->obj.id == OBJ_BOSS_313) || (boss->obj.id == OBJ_BOSS_309)) {
|
||||
if ((boss->obj.id == OBJ_BOSS_FO) || (boss->obj.id == OBJ_BOSS_VE2) ||
|
||||
(boss->obj.id == OBJ_BOSS_SZ) || (boss->obj.id == OBJ_BOSS_309)) {
|
||||
if (Object_CheckPolyCollision(pos, vel, boss->obj.id, &boss->obj)) {
|
||||
return 2;
|
||||
}
|
||||
@ -873,7 +875,7 @@ s32 Object_CheckCollision(s32 index, Vec3f* pos, Vec3f* vel, s32 mode) {
|
||||
return 2;
|
||||
}
|
||||
} else {
|
||||
if (boss->obj.id == OBJ_BOSS_316) {
|
||||
if (boss->obj.id == OBJ_BOSS_KA) {
|
||||
temp.x = fabsf(boss->obj.pos.x - pos->x);
|
||||
temp.y = fabsf(boss->obj.pos.y - 300.0f - pos->y) * 7.42f;
|
||||
temp.z = fabsf(boss->obj.pos.z - pos->z);
|
||||
@ -1188,10 +1190,10 @@ void Object_Init(s32 index, ObjectId objId) {
|
||||
case OBJ_BOSS_320:
|
||||
Andross_Boss320_Init(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_BOSS_316:
|
||||
case OBJ_BOSS_KA:
|
||||
Katina_BossSetup(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_BOSS_314:
|
||||
case OBJ_BOSS_SY:
|
||||
SectorY_Boss314_Init(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_ACTOR_205:
|
||||
@ -1273,7 +1275,7 @@ void Object_Init(s32 index, ObjectId objId) {
|
||||
case OBJ_SPRITE_TI_CACTUS:
|
||||
Titania_8018EFF0(&gSprites[index]);
|
||||
break;
|
||||
case OBJ_BOSS_306:
|
||||
case OBJ_BOSS_TI:
|
||||
Titania_Boss306_Init(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_ACTOR_240:
|
||||
@ -1318,7 +1320,7 @@ void Object_Init(s32 index, ObjectId objId) {
|
||||
case OBJ_SCENERY_57:
|
||||
Titania_8018F0D8(&gScenery[index]);
|
||||
break;
|
||||
case OBJ_BOSS_319:
|
||||
case OBJ_BOSS_VE1:
|
||||
Venom1_Boss319_Init(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_ACTOR_280:
|
||||
@ -1961,30 +1963,30 @@ void Item_SpinPickup(Item* this) {
|
||||
this->obj.rot.y = Math_ModF(this->obj.rot.y, 360.0f);
|
||||
}
|
||||
|
||||
void func_enmy_80067348(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 arg6, f32 arg7, f32 arg8) {
|
||||
void Actor_SetupDebris70(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 xVel, f32 yVel, f32 zVel) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.id = OBJ_ACTOR_189;
|
||||
actor->obj.id = OBJ_ACTOR_DEBRIS;
|
||||
actor->state = 70;
|
||||
actor->obj.pos.x = xPos;
|
||||
actor->obj.pos.y = yPos;
|
||||
actor->obj.pos.z = zPos;
|
||||
actor->obj.rot.x = xRot;
|
||||
actor->obj.rot.y = yRot;
|
||||
actor->vel.x = arg6;
|
||||
actor->vel.y = arg7;
|
||||
actor->vel.z = arg8;
|
||||
actor->vel.x = xVel;
|
||||
actor->vel.y = yVel;
|
||||
actor->vel.z = zVel;
|
||||
actor->timer_0BC = RAND_INT(15.0f) + 25.0f;
|
||||
actor->gravity = 0.5f;
|
||||
Object_SetInfo(&actor->info, actor->obj.id);
|
||||
}
|
||||
|
||||
void func_enmy_800674B4(f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 arg5, f32 arg6, f32 arg7) {
|
||||
void Actor_SpawnDebris70(f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 arg5, f32 arg6, f32 arg7) {
|
||||
s32 i;
|
||||
|
||||
for (i = ARRAY_COUNT(gActors) - 1; i >= 50; i--) {
|
||||
if (gActors[i].obj.status == OBJ_FREE) {
|
||||
func_enmy_80067348(&gActors[i], xPos, yPos, zPos, xRot, yRot, arg5, arg6, arg7);
|
||||
Actor_SetupDebris70(&gActors[i], xPos, yPos, zPos, xRot, yRot, arg5, arg6, arg7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2022,10 +2024,10 @@ void ActorSupplies_Update(ActorSupplies* this) {
|
||||
}
|
||||
Actor_Despawn(this);
|
||||
for (i = 0; i < 6; i++) {
|
||||
func_enmy_800674B4(D_enmy_800CFEC4[i].x + this->obj.pos.x, D_enmy_800CFEC4[i].y + this->obj.pos.y,
|
||||
D_enmy_800CFEC4[i].z + this->obj.pos.z, D_enmy_800CFF0C[i].y + this->obj.rot.y,
|
||||
D_enmy_800CFF0C[i].x + this->obj.rot.x, RAND_FLOAT_CENTERED(40.0f),
|
||||
RAND_FLOAT(10.0f) + 10.0f, RAND_FLOAT_CENTERED(40.0f));
|
||||
Actor_SpawnDebris70(D_enmy_800CFEC4[i].x + this->obj.pos.x, D_enmy_800CFEC4[i].y + this->obj.pos.y,
|
||||
D_enmy_800CFEC4[i].z + this->obj.pos.z, D_enmy_800CFF0C[i].y + this->obj.rot.y,
|
||||
D_enmy_800CFF0C[i].x + this->obj.rot.x, RAND_FLOAT_CENTERED(40.0f),
|
||||
RAND_FLOAT(10.0f) + 10.0f, RAND_FLOAT_CENTERED(40.0f));
|
||||
func_effect_800794CC(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 0.6f);
|
||||
}
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
@ -2078,7 +2080,7 @@ void Item1up_Update(Item1UP* this) {
|
||||
Item_SpinPickup(this);
|
||||
if (this->collected) {
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_ONE_UP, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_ONE_UP, this->playerNum);
|
||||
if (gCurrentLevel != LEVEL_TRAINING) {
|
||||
gLifeCount[this->playerNum]++;
|
||||
}
|
||||
@ -2101,8 +2103,8 @@ void ItemPickup_Update(Item* this) {
|
||||
this->timer_48 = 20;
|
||||
this->unk_50 = 60.0f;
|
||||
gBombCount[this->playerNum]++;
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_BOMB_GET, this->playerNum);
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_BOMB_GAUGE_UP, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_BOMB_GET, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_BOMB_GAUGE_UP, this->playerNum);
|
||||
}
|
||||
break;
|
||||
case OBJ_ITEM_LASERS:
|
||||
@ -2116,7 +2118,7 @@ void ItemPickup_Update(Item* this) {
|
||||
if (gLaserStrength[this->playerNum] > LASERS_HYPER) {
|
||||
gLaserStrength[this->playerNum] = LASERS_HYPER;
|
||||
}
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_TWIN_LASER_GET, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_TWIN_LASER_GET, this->playerNum);
|
||||
if (gExpertMode) {
|
||||
gRightWingHealth[this->playerNum] = gLeftWingHealth[this->playerNum] = 10;
|
||||
} else {
|
||||
@ -2168,13 +2170,13 @@ void ItemSupplyRing_Update(Item* this) {
|
||||
this->timer_48 = 50;
|
||||
if (this->obj.id == OBJ_ITEM_SILVER_RING) {
|
||||
gPlayer[this->playerNum].heal += 32;
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_SHIELD_RING, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_SHIELD_RING, this->playerNum);
|
||||
} else if (this->obj.id == OBJ_ITEM_GOLD_RING) {
|
||||
gGoldRingCount[0]++;
|
||||
if (gGoldRingCount[0] == 3) {
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_SHIELD_UPGRADE, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_SHIELD_UPGRADE, this->playerNum);
|
||||
} else if (gGoldRingCount[0] == 6) {
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_ONE_UP, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_ONE_UP, this->playerNum);
|
||||
if (gCurrentLevel != LEVEL_TRAINING) {
|
||||
gLifeCount[this->playerNum]++;
|
||||
}
|
||||
@ -2183,11 +2185,11 @@ void ItemSupplyRing_Update(Item* this) {
|
||||
gPlayer[this->playerNum].trueZpos, BONUS_TEXT_1UP);
|
||||
} else {
|
||||
gPlayer[this->playerNum].heal += 32;
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_GOLD_RING, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_GOLD_RING, this->playerNum);
|
||||
}
|
||||
} else {
|
||||
gPlayer[this->playerNum].heal += 128;
|
||||
func_enmy_80060F30(gPlayer[this->playerNum].sfxSource, NA_SE_SHIELD_RING_M, this->playerNum);
|
||||
Object_PlayerSfx(gPlayer[this->playerNum].sfxSource, NA_SE_SHIELD_RING_M, this->playerNum);
|
||||
}
|
||||
}
|
||||
if ((this->obj.id == OBJ_ITEM_GOLD_RING) && (this->timer_48 == 1)) {
|
||||
@ -2476,13 +2478,13 @@ void Object_Dying(s32 index, ObjectId objId) {
|
||||
case OBJ_ACTOR_192:
|
||||
func_enmy_8006684C(&gActors[index]);
|
||||
break;
|
||||
case OBJ_BOSS_306:
|
||||
case OBJ_BOSS_TI:
|
||||
Titania_801990DC(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_ACTOR_232:
|
||||
Titania_8018B720(&gActors[index]);
|
||||
break;
|
||||
case OBJ_BOSS_319:
|
||||
case OBJ_BOSS_VE1:
|
||||
Venom1_80198594(&gBosses[index]);
|
||||
break;
|
||||
}
|
||||
|
@ -496,8 +496,44 @@ void func_enmy2_8006BF7C(f32 xPos, f32 yPos, f32 zPos) {
|
||||
}
|
||||
}
|
||||
|
||||
typedef enum DebrisType {
|
||||
DEBRIS_0,
|
||||
DEBRIS_1,
|
||||
DEBRIS_2,
|
||||
DEBRIS_3,
|
||||
DEBRIS_4,
|
||||
DEBRIS_10,
|
||||
DEBRIS_34,
|
||||
DEBRIS_35,
|
||||
DEBRIS_36,
|
||||
DEBRIS_37,
|
||||
DEBRIS_38, // unused
|
||||
DEBRIS_39,
|
||||
DEBRIS_40,
|
||||
DEBRIS_41,
|
||||
DEBRIS_42,
|
||||
DEBRIS_43,
|
||||
DEBRIS_44,
|
||||
DEBRIS_45,
|
||||
DEBRIS_46,
|
||||
DEBRIS_47,
|
||||
DEBRIS_48,
|
||||
DEBRIS_49,
|
||||
DEBRIS_50,
|
||||
DEBRIS_51,
|
||||
DEBRIS_52,
|
||||
DEBRIS_53,
|
||||
DEBRIS_54,
|
||||
DEBRIS_55,
|
||||
DEBRIS_56,
|
||||
DEBRIS_57,
|
||||
DEBRIS_58,
|
||||
DEBRIS_59,
|
||||
DEBRIS_70 = 70,
|
||||
} DebrisType;
|
||||
|
||||
static Vec3f D_800D0030 = { 0.0f, -10.0f, 0.0f }; // could be in-function
|
||||
void Actor189_Update(Actor189* this) {
|
||||
void ActorDebris_Update(ActorDebris* this) {
|
||||
f32 sp4C;
|
||||
f32 sp48;
|
||||
f32 sp44;
|
||||
@ -534,7 +570,7 @@ void Actor189_Update(Actor189* this) {
|
||||
AUDIO_PLAY_SFX(NA_SE_OB_SAND_BOUND_S, this->sfxSource, 4);
|
||||
break;
|
||||
case 25:
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_BOSS_ATTACK, this->sfxSource, 4);
|
||||
AUDIO_PLAY_SFX(NA_SE_OB_SAND_BOUND_M, this->sfxSource, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -753,7 +789,7 @@ void Actor189_Update(Actor189* this) {
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
|
||||
}
|
||||
if (func_play_800A73E4(&sp44, &sp40, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp44, &sp40, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z)) {
|
||||
func_effect_8007B228(this->obj.pos.x, sp44, this->obj.pos.z, 2.0f);
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
}
|
||||
@ -856,8 +892,8 @@ void func_enmy2_8006D0F4(Actor* this) {
|
||||
|
||||
for (j = 0; j < count; j++) {
|
||||
hitbox = (Hitbox*) hitboxData;
|
||||
if (func_play_800A78C4(hitbox, gScenery[i].obj.pos.x, gScenery[i].obj.pos.y, gScenery[i].obj.pos.z,
|
||||
temp_fs0, temp_fs1, temp_fs2)) {
|
||||
if (Play_CheckSingleHitbox(hitbox, gScenery[i].obj.pos.x, gScenery[i].obj.pos.y,
|
||||
gScenery[i].obj.pos.z, temp_fs0, temp_fs1, temp_fs2)) {
|
||||
D_ctx_80161A7C = 10;
|
||||
D_ctx_80161A80 = 10;
|
||||
D_ctx_80161A84 = 10;
|
||||
@ -1643,7 +1679,7 @@ void ActorEvent_SpawnTIMine(f32 xPos, f32 yPos, f32 zPos) {
|
||||
void Actor_SetupPlayerShot(PlayerShotId objId, PlayerShot* shot, s32 actorId, f32 xPos, f32 yPos, f32 zPos, f32 xVel,
|
||||
f32 yVel, f32 zVel, f32 xRot, f32 yRot, f32 zRot) {
|
||||
PlayerShot_Initialize(shot);
|
||||
shot->obj.status = 1;
|
||||
shot->obj.status = SHOT_ACTIVE;
|
||||
|
||||
shot->vel.z = zVel;
|
||||
shot->vel.x = xVel;
|
||||
@ -1661,10 +1697,10 @@ void Actor_SetupPlayerShot(PlayerShotId objId, PlayerShot* shot, s32 actorId, f3
|
||||
shot->unk_58 = 1;
|
||||
shot->unk_60 = 0;
|
||||
|
||||
if (objId == PLAYERSHOT_9) {
|
||||
shot->unk_64 = 120;
|
||||
if (objId == PLAYERSHOT_GFOX_LASER) {
|
||||
shot->timer = 120;
|
||||
} else {
|
||||
shot->unk_64 = 30;
|
||||
shot->timer = 30;
|
||||
}
|
||||
shot->sourceId = actorId + NPC_SHOT_ID;
|
||||
|
||||
@ -1690,9 +1726,9 @@ void Actor_SpawnPlayerLaser(s32 actorId, f32 xPos, f32 yPos, f32 zPos, f32 xVel,
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
if (gPlayerShots[i].obj.status == 0) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_1, &gPlayerShots[i], actorId, xPos, yPos, zPos, xVel, yVel, zVel, xRot,
|
||||
yRot, zRot);
|
||||
if (gPlayerShots[i].obj.status == SHOT_FREE) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_TWIN_LASER, &gPlayerShots[i], actorId, xPos, yPos, zPos, xVel, yVel, zVel,
|
||||
xRot, yRot, zRot);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1703,9 +1739,9 @@ void Actor_SpawnGreatFoxLaser(s32 actorId, f32 xPos, f32 yPos, f32 zPos, f32 xVe
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
if (gPlayerShots[i].obj.status == 0) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_9, &gPlayerShots[i], actorId, xPos, yPos, zPos, xVel, yVel, zVel, xRot,
|
||||
yRot, zRot);
|
||||
if (gPlayerShots[i].obj.status == SHOT_FREE) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_GFOX_LASER, &gPlayerShots[i], actorId, xPos, yPos, zPos, xVel, yVel, zVel,
|
||||
xRot, yRot, zRot);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2003,8 +2039,8 @@ void ActorEvent_8006FEEC(ActorEvent* this) {
|
||||
|
||||
if (this->health <= 0) {
|
||||
for (i = 3; i < 11; i++) {
|
||||
Zoness_801900FC(&this->vwork[i], &this->vwork[i + 11], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(-10.0f),
|
||||
RAND_FLOAT(10.0f), 41, this->scale, 200, i);
|
||||
Zoness_SpawnDebris(&this->vwork[i], &this->vwork[i + 11], RAND_FLOAT_CENTERED(20.0f),
|
||||
RAND_FLOAT(-10.0f), RAND_FLOAT(10.0f), 41, this->scale, 200, i);
|
||||
}
|
||||
this->itemDrop = DROP_NONE;
|
||||
Actor_Despawn(this);
|
||||
@ -2117,10 +2153,10 @@ void ActorEvent_800701E0(ActorEvent* this) {
|
||||
if (this->unk_0B4 == EVID_2) {
|
||||
this->timer_04C = 1;
|
||||
if (this->obj.pos.x < this->hitPos.x) {
|
||||
func_play_800A69F8(1, this->obj.pos.x + 20.0f, this->obj.pos.y, this->obj.pos.z);
|
||||
Play_SpawnDebris(1, this->obj.pos.x + 20.0f, this->obj.pos.y, this->obj.pos.z);
|
||||
this->fwork[17] = 777.0f;
|
||||
} else {
|
||||
func_play_800A69F8(0, this->obj.pos.x - 20.0f, this->obj.pos.y, this->obj.pos.z);
|
||||
Play_SpawnDebris(0, this->obj.pos.x - 20.0f, this->obj.pos.y, this->obj.pos.z);
|
||||
this->fwork[18] = 777.0f;
|
||||
}
|
||||
}
|
||||
@ -2552,7 +2588,7 @@ void ActorEvent_ProcessTriggers(ActorEvent* this) {
|
||||
|
||||
case EVC_SHOT_CLOSE_150:
|
||||
for (i = 0; i < ARRAY_COUNT(gPlayerShots); i++) {
|
||||
if ((gPlayerShots[i].obj.status == 1) &&
|
||||
if ((gPlayerShots[i].obj.status == SHOT_ACTIVE) &&
|
||||
(fabsf(this->obj.pos.x - gPlayerShots[i].obj.pos.x) < 150.0f) &&
|
||||
(fabsf(this->obj.pos.y - gPlayerShots[i].obj.pos.y) < 150.0f) &&
|
||||
(fabsf(this->obj.pos.z - gPlayerShots[i].obj.pos.z) < 150.0f)) {
|
||||
@ -2564,7 +2600,7 @@ void ActorEvent_ProcessTriggers(ActorEvent* this) {
|
||||
|
||||
case EVC_SHOT_CLOSE_300:
|
||||
for (i = 0; i < ARRAY_COUNT(gPlayerShots); i++) {
|
||||
if ((gPlayerShots[i].obj.status == 1) &&
|
||||
if ((gPlayerShots[i].obj.status == SHOT_ACTIVE) &&
|
||||
(fabsf(this->obj.pos.x - gPlayerShots[i].obj.pos.x) < 300.0f) &&
|
||||
(fabsf(this->obj.pos.y - gPlayerShots[i].obj.pos.y) < 300.0f) &&
|
||||
(fabsf(this->obj.pos.z - gPlayerShots[i].obj.pos.z) < 300.0f)) {
|
||||
@ -3454,7 +3490,7 @@ void ActorEvent_Update(ActorEvent* this) {
|
||||
break;
|
||||
|
||||
case EVID_46:
|
||||
if (func_play_800A73E4(&spEC, &spFC, this->obj.pos.x, -100.0f, this->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&spEC, &spFC, this->obj.pos.x, -100.0f, this->obj.pos.z)) {
|
||||
spF0 = 10.0f;
|
||||
|
||||
if (Math_SmoothStepToF(&this->obj.pos.y, spEC, 0.5f, 7.0f, 0.0f) >= 0.0f) {
|
||||
@ -4215,8 +4251,8 @@ void func_enmy2_800763A4(Actor* actor) {
|
||||
func_effect_8007D24C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 2.2f);
|
||||
}
|
||||
|
||||
if ((D_ctx_80178294 != 0) &&
|
||||
func_play_800A73E4(&sp58, &sp5C, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z)) {
|
||||
if (gUseDynaFloor &&
|
||||
Play_CheckDynaFloorCollision(&sp58, &sp5C, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z)) {
|
||||
func_effect_8007BFFC(actor->obj.pos.x, sp58 + 20.0f, actor->obj.pos.z, 0.0f, 0.0f, 0.0f,
|
||||
actor->scale * 3.0f, 5);
|
||||
func_effect_8007B228(actor->obj.pos.x, sp58, actor->obj.pos.z, 2.0f);
|
||||
@ -4271,11 +4307,11 @@ void func_enmy2_800763A4(Actor* actor) {
|
||||
|
||||
if ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->unk_0B4 == EVID_2)) {
|
||||
if (actor->fwork[17] < 360.0f) {
|
||||
func_play_800A69F8(1, actor->obj.pos.x + 20.0f, actor->obj.pos.y, actor->obj.pos.z);
|
||||
Play_SpawnDebris(1, actor->obj.pos.x + 20.0f, actor->obj.pos.y, actor->obj.pos.z);
|
||||
actor->fwork[17] = 777.0f;
|
||||
}
|
||||
if (actor->fwork[18] < 360.0f) {
|
||||
func_play_800A69F8(0, actor->obj.pos.x - 20.0f, actor->obj.pos.y, actor->obj.pos.z);
|
||||
Play_SpawnDebris(0, actor->obj.pos.x - 20.0f, actor->obj.pos.y, actor->obj.pos.z);
|
||||
actor->fwork[18] = 777.0f;
|
||||
}
|
||||
}
|
||||
@ -4291,8 +4327,8 @@ void func_enmy2_800763A4(Actor* actor) {
|
||||
20);
|
||||
func_effect_8007ADF4(actor->obj.pos.x, gGroundHeight, actor->obj.pos.z, 0.1f, 3.0f);
|
||||
} else {
|
||||
func_beam_800365E4(actor->obj.pos.x, 3.0f, actor->obj.pos.z, actor->obj.pos.x,
|
||||
actor->obj.pos.z, 0.0f, 0.0f, 90.0f, 6.5f, 0, 0);
|
||||
PlayerShot_SpawnEffect344(actor->obj.pos.x, 3.0f, actor->obj.pos.z, actor->obj.pos.x,
|
||||
actor->obj.pos.z, 0.0f, 0.0f, 90.0f, 6.5f, 0, 0);
|
||||
}
|
||||
func_effect_8007C120(actor->obj.pos.x, 20.0f, actor->obj.pos.z, 0.0f, 0.0f, 0.0f,
|
||||
actor->scale * 0.05f, 30);
|
||||
@ -4317,7 +4353,7 @@ void func_enmy2_800763A4(Actor* actor) {
|
||||
for (var_s0 = 0; var_s0 < 4; var_s0++) {
|
||||
if (Rand_ZeroOne() < 0.7f) {
|
||||
if (gCurrentLevel == LEVEL_FORTUNA) {
|
||||
func_play_800A69F8(4, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z);
|
||||
Play_SpawnDebris(4, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z);
|
||||
} else {
|
||||
func_effect_800794CC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1.0f);
|
||||
}
|
||||
@ -4345,7 +4381,7 @@ void func_enmy2_800763A4(Actor* actor) {
|
||||
for (var_s0 = 0; var_s0 < 4; var_s0++) {
|
||||
if (Rand_ZeroOne() < 0.7f) {
|
||||
if (gCurrentLevel == LEVEL_FORTUNA) {
|
||||
func_play_800A69F8(4, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z);
|
||||
Play_SpawnDebris(4, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z);
|
||||
} else {
|
||||
func_effect_800794CC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1.0f);
|
||||
}
|
||||
|
@ -433,21 +433,21 @@ void Game_Update(void) {
|
||||
break;
|
||||
}
|
||||
SEQCMD_SET_SOUND_MODE(soundMode);
|
||||
gVolumeSettings[0] = gSaveFile.save.data.musicVolume;
|
||||
gVolumeSettings[1] = gSaveFile.save.data.voiceVolume;
|
||||
gVolumeSettings[2] = gSaveFile.save.data.sfxVolume;
|
||||
if (gVolumeSettings[0] > 99) {
|
||||
gVolumeSettings[0] = 99;
|
||||
gVolumeSettings[AUDIO_TYPE_MUSIC] = gSaveFile.save.data.musicVolume;
|
||||
gVolumeSettings[AUDIO_TYPE_VOICE] = gSaveFile.save.data.voiceVolume;
|
||||
gVolumeSettings[AUDIO_TYPE_SFX] = gSaveFile.save.data.sfxVolume;
|
||||
if (gVolumeSettings[AUDIO_TYPE_MUSIC] > 99) {
|
||||
gVolumeSettings[AUDIO_TYPE_MUSIC] = 99;
|
||||
}
|
||||
if (gVolumeSettings[1] > 99) {
|
||||
gVolumeSettings[1] = 99;
|
||||
if (gVolumeSettings[AUDIO_TYPE_VOICE] > 99) {
|
||||
gVolumeSettings[AUDIO_TYPE_VOICE] = 99;
|
||||
}
|
||||
if (gVolumeSettings[2] > 99) {
|
||||
gVolumeSettings[2] = 99;
|
||||
if (gVolumeSettings[AUDIO_TYPE_SFX] > 99) {
|
||||
gVolumeSettings[AUDIO_TYPE_SFX] = 99;
|
||||
}
|
||||
Audio_SetVolume(0, gVolumeSettings[0]);
|
||||
Audio_SetVolume(1, gVolumeSettings[1]);
|
||||
Audio_SetVolume(2, gVolumeSettings[2]);
|
||||
Audio_SetVolume(AUDIO_TYPE_MUSIC, gVolumeSettings[AUDIO_TYPE_MUSIC]);
|
||||
Audio_SetVolume(AUDIO_TYPE_VOICE, gVolumeSettings[AUDIO_TYPE_VOICE]);
|
||||
Audio_SetVolume(AUDIO_TYPE_SFX, gVolumeSettings[AUDIO_TYPE_SFX]);
|
||||
break;
|
||||
case GSTATE_TITLE:
|
||||
OvlMenu_CallFunction(OVLCALL_TITLE_UPDATE, NULL);
|
||||
@ -556,7 +556,7 @@ void Game_Update(void) {
|
||||
}
|
||||
}
|
||||
|
||||
Actor* func_game_800A3608(ObjectId objId) {
|
||||
Actor* Game_SpawnActor(ObjectId objId) {
|
||||
Actor* actor = gActors;
|
||||
s32 i;
|
||||
|
||||
|
@ -2668,10 +2668,9 @@ void func_hud_8008C104(u16* srcTexture, u16* dstTexture) {
|
||||
|
||||
rowPhase = 0.0f;
|
||||
|
||||
i = halfHeight - 1;
|
||||
|
||||
while (1) {
|
||||
if ((rowPhase += 90.0f / halfHeight) > 90.0f) {
|
||||
for (i = halfHeight - 1; true; i--) {
|
||||
rowPhase += 90.0f / halfHeight;
|
||||
if (rowPhase > 90.0f) {
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2690,7 +2689,6 @@ void func_hud_8008C104(u16* srcTexture, u16* dstTexture) {
|
||||
buffer[(((halfHeight - i) + (halfHeight - 1)) * width) + j] =
|
||||
src[(((halfHeight - offset) + (halfHeight - 1)) * width) + j];
|
||||
}
|
||||
i--;
|
||||
}
|
||||
Texture_Mottle(dst, buffer, 2);
|
||||
}
|
||||
@ -3423,7 +3421,7 @@ void func_hud_8008EA14(f32 x, f32 y) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (gPlayerShots[15].obj.status == OBJ_FREE) {
|
||||
if (gPlayerShots[15].obj.status == SHOT_FREE) {
|
||||
D_80161770 = D_80161774 = D_80161778 = 255.0f;
|
||||
D_8016177C = D_80161780 = 255.0f;
|
||||
D_80161784 = 0.0f;
|
||||
@ -3649,7 +3647,7 @@ void HUD_Draw(void) {
|
||||
func_hud_80088970();
|
||||
}
|
||||
|
||||
void func_hud_8008FE78(Boss* boss) {
|
||||
void HUD_BossFO_Draw(Boss* boss) {
|
||||
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
|
||||
gSPDisplayList(gMasterDisp++, D_FO_6003090);
|
||||
RCP_SetupDL_34(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
|
||||
@ -3674,12 +3672,7 @@ void func_hud_8008FFF0(Boss* boss, s32 arg1) {
|
||||
s32 i;
|
||||
f32 temp;
|
||||
s32 temp2;
|
||||
|
||||
while (1) {
|
||||
if (arg1 < 7000) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (arg1 >= 7000) {
|
||||
temp2 = arg1 - 7000;
|
||||
|
||||
if (temp2 > 1596) {
|
||||
@ -3703,7 +3696,6 @@ void func_hud_8008FFF0(Boss* boss, s32 arg1) {
|
||||
func_effect_8007BFFC(boss->obj.pos.x + D_800D21C8[i].x, boss->obj.pos.y + D_800D21C8[i].y,
|
||||
boss->obj.pos.z + D_800D21C8[i].z, 0.0f, 0.0f, 0.0f, 7.0f * temp, 10);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3813,7 +3805,7 @@ s32 func_hud_80090200(Boss* boss) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
void func_hud_800907C4(Boss* boss) {
|
||||
void HUD_BossFO_Update(Boss* boss) {
|
||||
switch (boss->state) {
|
||||
case 0:
|
||||
if ((boss->fwork[1] == 255.0f) && (boss->fwork[2] == 212.0f)) {
|
||||
@ -5215,7 +5207,7 @@ void HUD_AquasStart(Player* player) {
|
||||
|
||||
player->cam.at.x = player->pos.x * (600.0f / player->pathWidth);
|
||||
player->cam.at.y = player->pos.y * (1050.0f / player->pathHeight);
|
||||
player->cam.at.y += player->unk_060 * 10.0f;
|
||||
player->cam.at.y += player->xRock * 10.0f;
|
||||
|
||||
player->pos.z += 1000.0f;
|
||||
player->camRoll = 0.0f;
|
||||
@ -5238,7 +5230,7 @@ void HUD_AquasStart(Player* player) {
|
||||
player->cam.at.z = gCsCamAtZ = 0.0f;
|
||||
|
||||
case 6:
|
||||
player->unk_060 = SIN_DEG(player->rockPhase * 0.7f) * 0.5f;
|
||||
player->xRock = SIN_DEG(player->rockPhase * 0.7f) * 0.5f;
|
||||
player->bobPhase += 10.0f;
|
||||
player->rockPhase += 8.0f;
|
||||
player->yBob = -SIN_DEG(player->bobPhase) * 0.5f;
|
||||
@ -5250,7 +5242,7 @@ void HUD_AquasStart(Player* player) {
|
||||
|
||||
gCsCamAtX = player->pos.x * (600.0f / player->pathWidth);
|
||||
gCsCamAtY = player->pos.y * (750.0f / player->pathHeight);
|
||||
gCsCamAtY += player->unk_060 * 10.0f;
|
||||
gCsCamAtY += player->xRock * 10.0f;
|
||||
|
||||
Math_SmoothStepToF(&player->pos.z, 0.0f, 0.1f, 40.0f, 0.1f);
|
||||
|
||||
@ -5957,7 +5949,7 @@ void HUD_AquasComplete(Player* player) {
|
||||
|
||||
player->bankAngle = player->rot.z + player->zRotBank + player->zRotBarrelRoll;
|
||||
|
||||
player->unk_060 = SIN_DEG(player->rockPhase * 0.7f) * 0.5f;
|
||||
player->xRock = SIN_DEG(player->rockPhase * 0.7f) * 0.5f;
|
||||
player->bobPhase += 10.0f;
|
||||
player->rockPhase += 8.0f;
|
||||
player->yBob = -SIN_DEG(player->bobPhase) * 0.5f;
|
||||
@ -6072,7 +6064,7 @@ void func_hud_80096A74(Player* player) {
|
||||
player->boostMeter = 1;
|
||||
player->csTimer = 60;
|
||||
|
||||
func_play_800B2574(player);
|
||||
Player_ArwingBoost(player);
|
||||
|
||||
gControllerRumbleFlags[0] = 0;
|
||||
gControllerHold[player->num].button = button;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -54,7 +54,7 @@ void func_tank_80043280(u16* text0, u16* text1, f32 zRot) {
|
||||
Matrix_Pop(&gCalcMatrix);
|
||||
}
|
||||
|
||||
void func_tank_80043468(Player* player) {
|
||||
void Player_UpdateTankCamOnRails(Player* player) {
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
@ -236,7 +236,7 @@ s32 func_tank_80044120(Hitbox* hitbox, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f
|
||||
sp34.y = arg2 - arg5;
|
||||
sp34.z = arg3 - arg6;
|
||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp34, &sp28);
|
||||
return func_play_800A78C4(hitbox, arg4, arg5, arg6, sp28.x + arg4, sp28.y + arg5, sp28.z + arg6);
|
||||
return Play_CheckSingleHitbox(hitbox, arg4, arg5, arg6, sp28.x + arg4, sp28.y + arg5, sp28.z + arg6);
|
||||
}
|
||||
|
||||
void func_tank_800441C8(Player* player, f32* hitboxData, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 zRot) {
|
||||
@ -500,7 +500,7 @@ void func_tank_80044868(Player* player) {
|
||||
func_tank_80043280(D_landmaster_3005EA8, D_TI_6009BB8, gGameFrameCount * -55.0f);
|
||||
}
|
||||
}
|
||||
func_play_800A46A0(player);
|
||||
Player_DamageEffects(player);
|
||||
}
|
||||
|
||||
void func_tank_80045130(Player* player) {
|
||||
@ -777,7 +777,7 @@ void func_tank_800460E0(Player* player, f32* hitboxData, f32 arg2, f32 arg3, f32
|
||||
sp88.y = spf94.y - arg3;
|
||||
sp88.z = spf94.z - arg4;
|
||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp88, &sp7C);
|
||||
if (func_play_800A78C4(hitbox, arg2, arg3, arg4, sp7C.x + arg2, sp7C.y + arg3, sp7C.z + arg4)) {
|
||||
if (Play_CheckSingleHitbox(hitbox, arg2, arg3, arg4, sp7C.x + arg2, sp7C.y + arg3, sp7C.z + arg4)) {
|
||||
player->groundPos.y = arg3 + 20.0f + 3.0f;
|
||||
}
|
||||
}
|
||||
@ -841,7 +841,7 @@ void func_tank_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4,
|
||||
sp84 = sp64.x + arg2;
|
||||
sp80 = sp64.y + arg3;
|
||||
sp7C = sp64.z + arg4;
|
||||
if (func_play_800A8054(arg1, arg2, arg3, arg4, sp84, sp80, sp7C, &sp58, &sp4C)) {
|
||||
if (Play_CheckPolyCollision(arg1, arg2, arg3, arg4, sp84, sp80, sp7C, &sp58, &sp4C)) {
|
||||
if (D_MA_801BE250[27] < arg3 + sp58.y) {
|
||||
D_MA_801BE250[27] = arg3 + sp58.y;
|
||||
if (arg1 == OBJ_SCENERY_67) {
|
||||
@ -852,7 +852,7 @@ void func_tank_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4,
|
||||
D_MA_801BE250[28] = sp58.x;
|
||||
D_MA_801BE250[29] = sp58.z;
|
||||
} else if ((arg1 == OBJ_SCENERY_67) && (D_MA_801BE250[27] == 0.0f) &&
|
||||
func_play_800A8054(arg1, arg2 + 20.0f, arg3, arg4, sp84, sp80, sp7C, &sp58, &sp4C)) {
|
||||
Play_CheckPolyCollision(arg1, arg2 + 20.0f, arg3, arg4, sp84, sp80, sp7C, &sp58, &sp4C)) {
|
||||
player->barrelRoll = 9;
|
||||
player->timer_1E8 = 15;
|
||||
if ((arg6 > 90.0f) && (arg6 < 270.0f)) {
|
||||
@ -861,7 +861,8 @@ void func_tank_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4,
|
||||
player->rollRate = player->baseRollRate = -20;
|
||||
}
|
||||
}
|
||||
if (func_play_800A8054(arg1, arg2, arg3, arg4, sp84, arg3, sp7C, &sp58, &sp4C) && (D_800C9F10 <= arg3 + sp58.y)) {
|
||||
if (Play_CheckPolyCollision(arg1, arg2, arg3, arg4, sp84, arg3, sp7C, &sp58, &sp4C) &&
|
||||
(D_800C9F10 <= arg3 + sp58.y)) {
|
||||
D_800C9F10 = arg3 + sp58.y;
|
||||
player->groundPos.x = player->pos.x;
|
||||
player->groundPos.y = D_800C9F10 - 2.0f;
|
||||
@ -1035,7 +1036,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
||||
var_fv1 = sp88.y + yPos;
|
||||
var_fa0 = sp88.z + zPos;
|
||||
}
|
||||
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
if (Play_CheckSingleHitbox((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
*index = i + 1;
|
||||
return 1;
|
||||
}
|
||||
@ -1052,7 +1053,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
||||
var_fv1 = sp88.y + yPos;
|
||||
var_fa0 = sp88.z + zPos;
|
||||
}
|
||||
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
if (Play_CheckSingleHitbox((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
*index = i + 1;
|
||||
return 2;
|
||||
}
|
||||
@ -1069,7 +1070,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
||||
var_fv1 = sp88.y + yPos;
|
||||
var_fa0 = sp88.z + zPos;
|
||||
}
|
||||
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
if (Play_CheckSingleHitbox((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
*index = i + 1;
|
||||
if (hitboxData[-1] == HITBOX_SHADOW) {
|
||||
return -1;
|
||||
@ -1093,7 +1094,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
||||
var_fv1 = sp88.y + yPos;
|
||||
var_fa0 = sp88.z + zPos;
|
||||
}
|
||||
if (func_play_800A78C4((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
if (Play_CheckSingleHitbox((Hitbox*) hitboxData, xPos, yPos, zPos, var_fv0, var_fv1, var_fa0)) {
|
||||
*index = i + 1;
|
||||
return 4;
|
||||
}
|
||||
@ -1102,7 +1103,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_tank_80047504(Player* player) {
|
||||
void Tank_UpdateOnRails(Player* player) {
|
||||
s32 pad;
|
||||
|
||||
player->unk_204 = 1;
|
||||
@ -1137,14 +1138,14 @@ void func_tank_80047504(Player* player) {
|
||||
player->boostMeter = 0.0f;
|
||||
}
|
||||
}
|
||||
func_play_800B41E0(player);
|
||||
Play_dummy_800B41E0(player);
|
||||
func_tank_80045E7C(player);
|
||||
func_tank_80044868(player);
|
||||
D_800C9F04 = 0;
|
||||
func_play_800ADF58(player);
|
||||
func_play_800AD7F0(player);
|
||||
Player_UpdatePath(player);
|
||||
Player_Shoot(player);
|
||||
if (gCurrentLevel != LEVEL_MACBETH) {
|
||||
func_play_800A8BA4(player);
|
||||
Player_CollisionCheck(player);
|
||||
} else {
|
||||
player->groundPos.x = player->pos.x;
|
||||
player->groundPos.z = player->trueZpos + -10.0f;
|
||||
@ -1158,7 +1159,7 @@ void func_tank_80047504(Player* player) {
|
||||
func_tank_80046358(player);
|
||||
func_tank_80046260(player);
|
||||
}
|
||||
func_play_800B415C(player);
|
||||
Player_LowHealthAlarm(player);
|
||||
if ((player->shields <= 0) && (player->radioDamageTimer != 0)) {
|
||||
Player_Down(player);
|
||||
}
|
||||
@ -1231,12 +1232,10 @@ label_29:
|
||||
player->rot.x = D_MA_801BE250[13]; // not fake, but weird
|
||||
player->rot.x = D_MA_801BE250[13];
|
||||
func_tank_80047FBC(player);
|
||||
} else {
|
||||
if (((player->pos.x - 150.0f) < D_MA_801BE250[19]) && (D_MA_801BE250[19] < (player->pos.x + 150.0f)) &&
|
||||
((player->pos.y - 60.0f) < (D_MA_801BE250[12] + 30.0f)) &&
|
||||
((D_MA_801BE250[12] + 30.0f) < (player->pos.y + 60.0f))) {
|
||||
func_tank_80047E7C(player, D_MA_801BE250[19], D_MA_801BE250[12] + 30.0f);
|
||||
}
|
||||
} else if (((player->pos.x - 150.0f) < D_MA_801BE250[19]) && (D_MA_801BE250[19] < (player->pos.x + 150.0f)) &&
|
||||
((player->pos.y - 60.0f) < (D_MA_801BE250[12] + 30.0f)) &&
|
||||
((D_MA_801BE250[12] + 30.0f) < (player->pos.y + 60.0f))) {
|
||||
func_tank_80047E7C(player, D_MA_801BE250[19], D_MA_801BE250[12] + 30.0f);
|
||||
}
|
||||
}
|
||||
if (!sp2F) {
|
||||
@ -1339,7 +1338,7 @@ void func_tank_800481F4(Player* player) {
|
||||
s32 pad2;
|
||||
f32 var_fv1;
|
||||
|
||||
func_play_800A887C(player);
|
||||
Player_UpdateHitbox(player);
|
||||
func_tank_800444BC(player);
|
||||
if (player->timer_498 == 0) {
|
||||
for (i = 0, scenery = gScenery; i < ARRAY_COUNT(gScenery); i++, scenery++) {
|
||||
@ -1355,9 +1354,9 @@ void func_tank_800481F4(Player* player) {
|
||||
if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) {
|
||||
var_fv1 = 0.0f;
|
||||
}
|
||||
temp_v0 = func_play_800A7974(player, scenery->info.hitbox, &sp98, scenery->obj.pos.x,
|
||||
scenery->obj.pos.y, scenery->obj.pos.z, scenery->obj.rot.x, var_fv1,
|
||||
scenery->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
||||
temp_v0 = Player_CheckHitboxCollision(player, scenery->info.hitbox, &sp98, scenery->obj.pos.x,
|
||||
scenery->obj.pos.y, scenery->obj.pos.z, scenery->obj.rot.x,
|
||||
var_fv1, scenery->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
||||
if (temp_v0 != 0) {
|
||||
if (temp_v0 < 0) {
|
||||
if (temp_v0 == -1) {
|
||||
@ -1385,9 +1384,9 @@ void func_tank_800481F4(Player* player) {
|
||||
|
||||
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
|
||||
if (boss->obj.status == OBJ_ACTIVE) {
|
||||
temp_v0 = func_play_800A7974(player, boss->info.hitbox, &sp98, boss->obj.pos.x, boss->obj.pos.y,
|
||||
boss->obj.pos.z, boss->obj.rot.x, boss->obj.rot.y, boss->obj.rot.z, 0.0f,
|
||||
0.0f, 0.0f);
|
||||
temp_v0 = Player_CheckHitboxCollision(player, boss->info.hitbox, &sp98, boss->obj.pos.x,
|
||||
boss->obj.pos.y, boss->obj.pos.z, boss->obj.rot.x,
|
||||
boss->obj.rot.y, boss->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
||||
if (temp_v0 != 0) {
|
||||
Player_ApplyDamage(player, temp_v0, boss->info.damage);
|
||||
}
|
||||
@ -1397,10 +1396,10 @@ void func_tank_800481F4(Player* player) {
|
||||
for (i = 0, actor = gActors; i < ARRAY_COUNT(gActors); i++, actor++) {
|
||||
if ((actor->obj.status == OBJ_ACTIVE) && (actor->timer_0C2 == 0)) {
|
||||
if (actor->obj.id == OBJ_ACTOR_EVENT) {
|
||||
temp_v0 = func_play_800A7974(player, actor->info.hitbox, &sp98, actor->obj.pos.x, actor->obj.pos.y,
|
||||
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z,
|
||||
actor->vwork[29].x, actor->vwork[29].y,
|
||||
actor->vwork[29].z + actor->unk_0F4.z);
|
||||
temp_v0 = Player_CheckHitboxCollision(player, actor->info.hitbox, &sp98, actor->obj.pos.x,
|
||||
actor->obj.pos.y, actor->obj.pos.z, actor->obj.rot.x,
|
||||
actor->obj.rot.y, actor->obj.rot.z, actor->vwork[29].x,
|
||||
actor->vwork[29].y, actor->vwork[29].z + actor->unk_0F4.z);
|
||||
if (temp_v0 != 0) {
|
||||
Player_ApplyDamage(player, temp_v0, actor->info.damage);
|
||||
actor->dmgType = DMG_COLLISION;
|
||||
@ -1430,7 +1429,7 @@ void func_tank_800481F4(Player* player) {
|
||||
Player_ApplyDamage(player, 0, 5);
|
||||
player->timer_498 = 1;
|
||||
}
|
||||
} else if ((actor->obj.id >= 205) && (actor->obj.id < 214)) {
|
||||
} else if ((OBJ_ACTOR_205 <= actor->obj.id) && (actor->obj.id <= OBJ_ACTOR_213)) {
|
||||
if (func_tank_80046E40(player, actor->info.hitbox, &sp98, actor->fwork[25] + actor->obj.pos.x,
|
||||
actor->fwork[8] + actor->obj.pos.y + 25.0f, actor->obj.pos.z,
|
||||
actor->fwork[29], actor->fwork[26], actor->obj.rot.z, 0.0f, 0.0f,
|
||||
@ -1459,9 +1458,9 @@ void func_tank_800481F4(Player* player) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
temp_v0 = func_play_800A7974(player, actor->info.hitbox, &sp98, actor->obj.pos.x, actor->obj.pos.y,
|
||||
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z,
|
||||
0.0f, 0.0f, 0.0f);
|
||||
temp_v0 = Player_CheckHitboxCollision(player, actor->info.hitbox, &sp98, actor->obj.pos.x,
|
||||
actor->obj.pos.y, actor->obj.pos.z, actor->obj.rot.x,
|
||||
actor->obj.rot.y, actor->obj.rot.z, 0.0f, 0.0f, 0.0f);
|
||||
if (temp_v0 != 0) {
|
||||
actor->dmgType = DMG_COLLISION;
|
||||
if ((actor->obj.id == OBJ_ACTOR_225) || (actor->obj.id == OBJ_ACTOR_190)) {
|
||||
@ -1482,9 +1481,9 @@ void func_tank_800481F4(Player* player) {
|
||||
for (i = 0, sprite = gSprites; i < ARRAY_COUNT(gSprites); i++, sprite++) {
|
||||
if (sprite->obj.status == OBJ_ACTIVE) {
|
||||
if ((player->trueZpos - 200.0f) < sprite->obj.pos.z) {
|
||||
temp_v0 =
|
||||
func_play_800A7974(player, sprite->info.hitbox, &sp98, sprite->obj.pos.x, sprite->obj.pos.y,
|
||||
sprite->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
temp_v0 = Player_CheckHitboxCollision(player, sprite->info.hitbox, &sp98, sprite->obj.pos.x,
|
||||
sprite->obj.pos.y, sprite->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.0f,
|
||||
0.0f, 0.0f);
|
||||
if (temp_v0 != 0) {
|
||||
if ((sprite->obj.id == OBJ_SPRITE_FO_POLE) || (sprite->obj.id == OBJ_SPRITE_CO_POLE) ||
|
||||
(sprite->obj.id == OBJ_SPRITE_CO_TREE)) {
|
||||
@ -1501,5 +1500,5 @@ void func_tank_800481F4(Player* player) {
|
||||
}
|
||||
}
|
||||
}
|
||||
func_play_800A86E4(player);
|
||||
Player_CheckItemCollect(player);
|
||||
}
|
||||
|
@ -822,8 +822,8 @@ s32 Versus_CheckForWinner(void) {
|
||||
if (j == i) {
|
||||
continue;
|
||||
}
|
||||
if (gPlayer[j].unk_288 >= 0) {
|
||||
gPlayer[j].unk_288 = i + 1;
|
||||
if (gPlayer[j].attacker >= 0) {
|
||||
gPlayer[j].attacker = i + 1;
|
||||
}
|
||||
gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
|
||||
}
|
||||
@ -863,8 +863,8 @@ s32 Versus_CheckForWinner(void) {
|
||||
if (j == gVsWinner) {
|
||||
continue;
|
||||
}
|
||||
if (gPlayer[j].unk_288 >= 0) {
|
||||
gPlayer[j].unk_288 = i + 1;
|
||||
if (gPlayer[j].attacker >= 0) {
|
||||
gPlayer[j].attacker = i + 1;
|
||||
}
|
||||
gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
|
||||
}
|
||||
@ -988,8 +988,8 @@ s32 Versus_CheckForWinner(void) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (gPlayer[j].unk_288 >= 0) {
|
||||
gPlayer[j].unk_288 = i + 1;
|
||||
if (gPlayer[j].attacker >= 0) {
|
||||
gPlayer[j].attacker = i + 1;
|
||||
}
|
||||
|
||||
gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
|
||||
@ -1456,7 +1456,7 @@ bool func_versus_800C16A0(s32 arg0) {
|
||||
}
|
||||
|
||||
void func_versus_800C16D0(void) {
|
||||
func_play_800ABA08();
|
||||
Player_InitVersus();
|
||||
gVsMatchState = 0;
|
||||
D_80178778 = 0;
|
||||
}
|
||||
@ -1506,7 +1506,7 @@ bool Versus_Update(void) {
|
||||
break;
|
||||
}
|
||||
if (func_versus_800C16A0(30)) {
|
||||
func_play_800ABA08();
|
||||
Player_InitVersus();
|
||||
gVsMatchState = 3;
|
||||
func_versus_800C1690();
|
||||
}
|
||||
|
@ -1053,8 +1053,8 @@ void Ending_801924EC(u32 arg0) {
|
||||
Matrix_LookAt(gGfxMatrix, D_ending_801985D0.x, D_ending_801985D0.y, D_ending_801985D0.z,
|
||||
D_ending_801985E0.x, D_ending_801985E0.y, D_ending_801985E0.z, 0.0f, 1.0f, 0.0f, MTXF_APPLY);
|
||||
|
||||
func_play_800B6F50(D_ending_801985D0.x, D_ending_801985D0.y, D_ending_801985D0.z, D_ending_801985E0.x,
|
||||
D_ending_801985E0.y, D_ending_801985E0.z);
|
||||
Camera_SetStarfieldPos(D_ending_801985D0.x, D_ending_801985D0.y, D_ending_801985D0.z, D_ending_801985E0.x,
|
||||
D_ending_801985E0.y, D_ending_801985E0.z);
|
||||
|
||||
Matrix_GetYRPAngles(gGfxMatrix, &D_ending_801985F0);
|
||||
break;
|
||||
|
@ -239,10 +239,10 @@ void Corneria_80187AC8(Boss* boss) {
|
||||
boss->swork[7] = boss->swork[8] = boss->swork[9] = 1000;
|
||||
boss->info.hitbox[1 + 24] = 100000.0f;
|
||||
for (var_s1 = 3; var_s1 < 6; var_s1++) {
|
||||
Boss_SpawnActor189(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
|
||||
D_i1_8019B6D8[30 + var_s1 + 2], D_i1_8019B6D8[36 + var_s1 + 2],
|
||||
D_i1_8019B6D8[42 + var_s1 + 2], D_i1_8019B6D8[48 + var_s1 + 2], 0.0f,
|
||||
RAND_FLOAT(20.0f), 0.0f, 5.5f, var_s1 + 28, RAND_INT(30.0f) + 60.0f);
|
||||
Boss_SpawnDebris(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
|
||||
D_i1_8019B6D8[30 + var_s1 + 2], D_i1_8019B6D8[36 + var_s1 + 2],
|
||||
D_i1_8019B6D8[42 + var_s1 + 2], D_i1_8019B6D8[48 + var_s1 + 2], 0.0f,
|
||||
RAND_FLOAT(20.0f), 0.0f, 5.5f, var_s1 + 28, RAND_INT(30.0f) + 60.0f);
|
||||
}
|
||||
if (boss->state < 5) {
|
||||
boss->state = 5;
|
||||
@ -258,10 +258,10 @@ void Corneria_80187AC8(Boss* boss) {
|
||||
boss->info.hitbox[1 + 30] = 100000.0f;
|
||||
|
||||
for (var_s1 = 0; var_s1 < 3; var_s1++) {
|
||||
Boss_SpawnActor189(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
|
||||
D_i1_8019B6D8[30 + var_s1 + 2], D_i1_8019B6D8[36 + var_s1 + 2],
|
||||
D_i1_8019B6D8[42 + var_s1 + 2], D_i1_8019B6D8[48 + var_s1 + 2], 0.0f,
|
||||
RAND_FLOAT(20.0f), 0.0f, 5.5f, var_s1 + 28, RAND_INT(30.0f) + 60.0f);
|
||||
Boss_SpawnDebris(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
|
||||
D_i1_8019B6D8[30 + var_s1 + 2], D_i1_8019B6D8[36 + var_s1 + 2],
|
||||
D_i1_8019B6D8[42 + var_s1 + 2], D_i1_8019B6D8[48 + var_s1 + 2], 0.0f,
|
||||
RAND_FLOAT(20.0f), 0.0f, 5.5f, var_s1 + 28, RAND_INT(30.0f) + 60.0f);
|
||||
}
|
||||
if (boss->state < 5) {
|
||||
boss->state = 6;
|
||||
@ -1360,9 +1360,9 @@ void Corneria_8018B58C(Actor* actor) {
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
||||
Boss_SpawnActor189(actor->fwork[2 + i], actor->fwork[6 + i], actor->fwork[10 + i], 0.0f, 0.0f, 0.0f,
|
||||
spB4[i] * (RAND_FLOAT(0.75f) + 0.5f), spA4[i] * (RAND_FLOAT(0.75f) + 0.5f),
|
||||
RAND_FLOAT_CENTERED(20.0f), 3.0f, i + 24, RAND_INT(30.0f) + 60.0f);
|
||||
Boss_SpawnDebris(actor->fwork[2 + i], actor->fwork[6 + i], actor->fwork[10 + i], 0.0f, 0.0f, 0.0f,
|
||||
spB4[i] * (RAND_FLOAT(0.75f) + 0.5f), spA4[i] * (RAND_FLOAT(0.75f) + 0.5f),
|
||||
RAND_FLOAT_CENTERED(20.0f), 3.0f, i + 24, RAND_INT(30.0f) + 60.0f);
|
||||
}
|
||||
|
||||
if ((fabsf(actor->obj.pos.z - gPlayer[0].trueZpos) < 500.0f) &&
|
||||
@ -2887,19 +2887,19 @@ void Corneria_LevelStart(Player* player) {
|
||||
}
|
||||
if (player->csTimer == 70) {
|
||||
actor0->state = 1;
|
||||
func_play_800A6028(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
Play_PlaySfxFirstPlayer(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
}
|
||||
if (player->csTimer == 50) {
|
||||
actor1->state = 2;
|
||||
func_play_800A6028(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
Play_PlaySfxFirstPlayer(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
}
|
||||
if (player->csTimer == 30) {
|
||||
actor2->state = 3;
|
||||
func_play_800A6028(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
Play_PlaySfxFirstPlayer(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
}
|
||||
if (player->csTimer == 0) {
|
||||
player->csState = 9;
|
||||
func_play_800A6028(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
Play_PlaySfxFirstPlayer(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
player->csTimer = 3;
|
||||
player->unk_194 = 5.0f;
|
||||
player->unk_190 = 5.0f;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "global.h"
|
||||
#include "assets/ast_training.h"
|
||||
|
||||
void Training_80198C50(void) {
|
||||
void Training_Setup360(void) {
|
||||
Scenery360* scenery360;
|
||||
s32 i;
|
||||
|
||||
@ -16,21 +16,20 @@ void Training_80198C50(void) {
|
||||
|
||||
scenery360 = gScenery360;
|
||||
for (i = 0; i < 1000; i++) {
|
||||
if (gLevelObjects[i].id >= 0) {
|
||||
if (gLevelObjects[i].id <= 160) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
scenery360->obj.pos.x = gLevelObjects[i].xPos;
|
||||
scenery360->obj.pos.z = -gLevelObjects[i].zPos1;
|
||||
scenery360->obj.pos.y = gLevelObjects[i].yPos - RAND_FLOAT_SEEDED(300.0f);
|
||||
scenery360->obj.rot.y = gLevelObjects[i].rot.y;
|
||||
Object_SetInfo(&scenery360->info, scenery360->obj.id);
|
||||
scenery360++;
|
||||
}
|
||||
} else {
|
||||
if (gLevelObjects[i].id <= OBJ_INVALID) {
|
||||
break;
|
||||
}
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
scenery360->obj.pos.x = gLevelObjects[i].xPos;
|
||||
scenery360->obj.pos.z = -gLevelObjects[i].zPos1;
|
||||
scenery360->obj.pos.y = gLevelObjects[i].yPos - RAND_FLOAT_SEEDED(300.0f);
|
||||
scenery360->obj.rot.y = gLevelObjects[i].rot.y;
|
||||
Object_SetInfo(&scenery360->info, scenery360->obj.id);
|
||||
scenery360++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -256,7 +256,7 @@ void Venom1_BossTrigger1_Update(Ve1BossTrigger1* this) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_319)) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_VE1)) {
|
||||
if (boss->obj.pos.z <= this->obj.pos.z) {
|
||||
D_i1_8019C0B8 = (s32) this->obj.rot.x + 1;
|
||||
this->obj.status = OBJ_FREE;
|
||||
@ -271,7 +271,7 @@ void Venom1_BossTrigger2_Update(Ve1BossTrigger2* this) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_319)) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_VE1)) {
|
||||
if (boss->obj.pos.z <= this->obj.pos.z) {
|
||||
D_i1_8019C0B8 = 0;
|
||||
this->obj.status = OBJ_FREE;
|
||||
@ -286,7 +286,7 @@ void Venom1_BossTrigger3_Update(Ve1BossTrigger3* this) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_319)) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_VE1)) {
|
||||
if (boss->obj.pos.z <= this->obj.pos.z) {
|
||||
D_i1_8019C0BC = (s32) this->obj.rot.x + 1;
|
||||
this->obj.status = OBJ_FREE;
|
||||
@ -301,7 +301,7 @@ void Venom1_BossTrigger4_Update(Ve1BossTrigger4* this) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_319)) {
|
||||
if ((boss->obj.status != OBJ_FREE) && (boss->obj.id == OBJ_BOSS_VE1)) {
|
||||
if (boss->obj.pos.z <= this->obj.pos.z) {
|
||||
D_i1_8019C0C0 = 1;
|
||||
this->obj.status = OBJ_FREE;
|
||||
@ -1074,7 +1074,7 @@ void Venom1_80193D64(s32 limbIndex, Vec3f* rot, void* thisx) {
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Lots of problems with loop at 2082. Seems related to spE8. https://decomp.me/scratch/gOy2L
|
||||
void Venom1_80194398(Boss* boss) {
|
||||
void Venom1_Boss_Update(Boss* boss) {
|
||||
s32 is0;
|
||||
Vec3f sp118[27];
|
||||
Actor* actor;
|
||||
@ -1296,7 +1296,7 @@ void Venom1_80194398(Boss* boss) {
|
||||
func_effect_8007D2C8(spF8.x, spF8.y, spF8.z, D_i1_8019AD80[is4][2]);
|
||||
}
|
||||
for (is1 = 0; is1 < D_i1_8019AD80[is4][0]; is1++) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.pos.x = spF8.x + RAND_FLOAT_CENTERED(60.0f);
|
||||
@ -1323,7 +1323,7 @@ void Venom1_80194398(Boss* boss) {
|
||||
}
|
||||
}
|
||||
for (is1 = 0; is1 < D_i1_8019AD80[is4][1]; is1++) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.pos.x = spF8.x + RAND_FLOAT_CENTERED(60.0f);
|
||||
@ -1357,7 +1357,7 @@ void Venom1_80194398(Boss* boss) {
|
||||
spF8.y += boss->obj.pos.y + RAND_FLOAT_CENTERED(60.0f);
|
||||
spF8.z += boss->obj.pos.z;
|
||||
for (is1 = 0; is1 < 5; is1++) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.pos.x = spF8.x + RAND_FLOAT_CENTERED(60.0f);
|
||||
@ -1384,7 +1384,7 @@ void Venom1_80194398(Boss* boss) {
|
||||
D_i1_8019B838[spF4].unk_7C &= ~0x10;
|
||||
}
|
||||
if (D_i1_8019B838[spF4].unk_7C & 0x40) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.pos.x = boss->obj.pos.x + D_i1_8019B838[spF4].unk_0C[0].x;
|
||||
@ -1419,7 +1419,7 @@ void Venom1_80194398(Boss* boss) {
|
||||
actor->gravity = 2.0f;
|
||||
}
|
||||
for (is1 = 0; is1 < 6; is1++) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.pos.x = boss->obj.pos.x + D_i1_8019B838[spF4].unk_0C[0].x;
|
||||
@ -2316,8 +2316,8 @@ void Venom1_80194398(Boss* boss) {
|
||||
}
|
||||
}
|
||||
#else
|
||||
void Venom1_80194398(Boss* boss);
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i1/fox_ve1/Venom1_80194398.s")
|
||||
void Venom1_Boss_Update(Boss* boss);
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i1/fox_ve1/Venom1_Boss_Update.s")
|
||||
#endif
|
||||
|
||||
void Venom1_80198310(Boss* boss) {
|
||||
@ -2361,7 +2361,7 @@ void Venom1_80198594(Boss* boss) {
|
||||
}
|
||||
}
|
||||
|
||||
void Venom1_801985E4(Boss* boss) {
|
||||
void Venom1_Boss_Draw(Boss* boss) {
|
||||
if (boss->swork[26] == 0) {
|
||||
Animation_DrawSkeleton(0, D_VE1_901C0F4, boss->vwork, Venom1_801937F4, Venom1_80193D64, boss, &gIdentityMatrix);
|
||||
}
|
||||
@ -2381,7 +2381,7 @@ void Venom1_8019864C(PlayerShot* shot) {
|
||||
|
||||
boss = gBosses;
|
||||
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
|
||||
if ((boss->obj.id == OBJ_BOSS_319) && (boss->obj.status == OBJ_ACTIVE) && (boss->timer_05A == 0)) {
|
||||
if ((boss->obj.id == OBJ_BOSS_VE1) && (boss->obj.status == OBJ_ACTIVE) && (boss->timer_05A == 0)) {
|
||||
temp_fs1 = shot->scale * 30.0f;
|
||||
hitboxData = boss->info.hitbox;
|
||||
count = *hitboxData++;
|
||||
|
@ -134,7 +134,7 @@ void SectorX_8018F330(Actor* actor) {
|
||||
if (actor->timer_0BC == 0) {
|
||||
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
if (gPlayer[0].cockpitView) {
|
||||
func_play_800B5D30(&gPlayer[0], 1);
|
||||
Camera_UpdateCockpitOnRails(&gPlayer[0], 1);
|
||||
}
|
||||
gProjectFar = 12800.0f;
|
||||
Object_Kill(&gActors[50].obj, gActors[50].sfxSource);
|
||||
@ -229,7 +229,7 @@ void SectorX_8018FBBC(Vec3f* pos) {
|
||||
(actor->scale < 0.0f) &&
|
||||
Object_CheckHitboxCollision(pos, actor->info.hitbox, &actor->obj, actor->vwork[29].x, actor->vwork[29].y,
|
||||
actor->vwork[29].z + actor->unk_0F4.z)) {
|
||||
func_play_800A6028(actor->sfxSource, NA_SE_SLIPPY_HIT);
|
||||
Play_PlaySfxFirstPlayer(actor->sfxSource, NA_SE_SLIPPY_HIT);
|
||||
actor->state = 1000;
|
||||
xRot = Math_Atan2F(actor->obj.pos.x - pos->x, actor->obj.pos.z - pos->z);
|
||||
yRot = -Math_Atan2F(actor->obj.pos.y - pos->y,
|
||||
@ -410,7 +410,7 @@ void SectorX_80190078(Boss* boss) {
|
||||
func_effect_8007C120(boss->obj.pos.x, boss->obj.pos.y + 334.0f, -237.0f + boss->obj.pos.z,
|
||||
boss->vel.x, boss->vel.y, boss->vel.z, 0.15f, 70);
|
||||
for (i = 0; i < 10; i++) {
|
||||
func_play_800A69F8(4, boss->obj.pos.x, boss->obj.pos.y + 334.0f, -237.0f + boss->obj.pos.z);
|
||||
Play_SpawnDebris(4, boss->obj.pos.x, boss->obj.pos.y + 334.0f, -237.0f + boss->obj.pos.z);
|
||||
}
|
||||
|
||||
func_effect_8007A6F0(&boss->obj.pos, NA_SE_EN_EXPLOSION_L);
|
||||
@ -462,7 +462,7 @@ void SectorX_80190078(Boss* boss) {
|
||||
boss->vel.x, boss->vel.y, boss->vel.z, 0.15f, 70);
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
func_play_800A69F8(4, boss->obj.pos.x, boss->obj.pos.y + 334.0f, -237.0f + boss->obj.pos.z);
|
||||
Play_SpawnDebris(4, boss->obj.pos.x, boss->obj.pos.y + 334.0f, -237.0f + boss->obj.pos.z);
|
||||
}
|
||||
|
||||
boss->swork[4] = 2;
|
||||
@ -702,14 +702,14 @@ void SectorX_80190078(Boss* boss) {
|
||||
sp74.y = boss->fwork[9] + boss->obj.pos.y;
|
||||
sp74.z = boss->fwork[10] + boss->obj.pos.z;
|
||||
|
||||
func_edisplay_8005F0E8(D_i2_80195D88, &sp74);
|
||||
Object_SetSfxSourceToPos(D_i2_80195D88, &sp74);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_SZMIS_ENGINE, D_i2_80195D88, 4);
|
||||
|
||||
sp74.x = boss->fwork[11] + boss->obj.pos.x;
|
||||
sp74.y = boss->fwork[12] + boss->obj.pos.y;
|
||||
sp74.z = boss->fwork[13] + boss->obj.pos.z;
|
||||
|
||||
func_edisplay_8005F0E8(D_i2_80195D98, &sp74);
|
||||
Object_SetSfxSourceToPos(D_i2_80195D98, &sp74);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_SZMIS_ENGINE, D_i2_80195D98, 4);
|
||||
|
||||
Math_SmoothStepToF(&boss->fwork[27], 30.0f, 0.05f, 1.0f, 0);
|
||||
|
@ -529,7 +529,7 @@ void Area6_BossA6_Init(BossA6* this) {
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_SHIELD_ROLL_LEVEL, this->sfxSource, 4);
|
||||
}
|
||||
|
||||
void Area6_80187944(Boss* bossA6) {
|
||||
void Area6_Boss_Update(Boss* bossA6) {
|
||||
s32 i;
|
||||
s32 pad;
|
||||
s32 var_s0;
|
||||
@ -1717,7 +1717,7 @@ void Area6_8018B9BC(Boss* bossA6) {
|
||||
if (D_i3_801C2250[A6_BSS_0] == 0) {
|
||||
for (i = 3, j = 15; j < 18; j++, i++) {
|
||||
if (bossA6->swork[A6_SWK_0 + j] != 0) {
|
||||
if ((D_ctx_8017812C != 0) && (gPlayerShots[15].unk_64 > 0)) {
|
||||
if ((D_ctx_8017812C != 0) && (gPlayerShots[15].timer > 0)) {
|
||||
bossA6->swork[A6_SWK_0 + j] -= bossA6->damage;
|
||||
} else if (i + 1 == bossA6->dmgPart) {
|
||||
bossA6->swork[A6_SWK_0 + j] -= bossA6->damage;
|
||||
@ -1870,7 +1870,7 @@ void Area6_8018C0D0(f32* arg0, f32 arg1, Vec3f* arg2, f32 arg3, s32 arg4) {
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
}
|
||||
|
||||
void Area6_8018C54C(Boss* bossA6) {
|
||||
void Area6_Boss_Draw(Boss* bossA6) {
|
||||
Vec3f spD0[30];
|
||||
Vec3f spC4;
|
||||
Vec3f spB8;
|
||||
@ -2067,7 +2067,7 @@ void Area6_8018D3CC(s32 arg0, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel,
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
if (gPlayerShots[i].obj.status == 0) {
|
||||
if (gPlayerShots[i].obj.status == SHOT_FREE) {
|
||||
PlayerShot_Initialize(&gPlayerShots[i]);
|
||||
gPlayerShots[i].vel.z = zVel;
|
||||
gPlayerShots[i].vel.x = xVel;
|
||||
@ -2075,14 +2075,14 @@ void Area6_8018D3CC(s32 arg0, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel,
|
||||
gPlayerShots[i].obj.pos.x = xPos;
|
||||
gPlayerShots[i].obj.pos.y = yPos;
|
||||
gPlayerShots[i].obj.pos.z = zPos;
|
||||
gPlayerShots[i].obj.status = OBJ_INIT;
|
||||
gPlayerShots[i].obj.status = SHOT_ACTIVE;
|
||||
gPlayerShots[i].obj.rot.x = xRot + 180.0f;
|
||||
gPlayerShots[i].obj.rot.y = yRot;
|
||||
gPlayerShots[i].obj.rot.z = -zRot;
|
||||
gPlayerShots[i].unk_58 = 1;
|
||||
gPlayerShots[i].unk_60 = 0;
|
||||
gPlayerShots[i].obj.id = PLAYERSHOT_1;
|
||||
gPlayerShots[i].unk_64 = 150;
|
||||
gPlayerShots[i].obj.id = PLAYERSHOT_TWIN_LASER;
|
||||
gPlayerShots[i].timer = 150;
|
||||
gPlayerShots[i].sourceId = CS_SHOT_ID;
|
||||
|
||||
AUDIO_PLAY_SFX(NA_SE_ARWING_SHOT_F, gPlayerShots[i].sfxSource, 4);
|
||||
|
@ -335,11 +335,11 @@ void Aquas_801A92EC(Actor* actor, f32 xUnk, f32 yUnk, f32 zUnk, s32 index, s32 m
|
||||
gTexturedLines[index].timer = 3;
|
||||
}
|
||||
|
||||
void Aquas_801A9374(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state, f32 scale,
|
||||
s32 timerBC, s32 unk48) {
|
||||
void Aquas_SetupDebris(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state, f32 scale,
|
||||
s32 timerBC, s32 unk48) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.id = OBJ_ACTOR_189;
|
||||
actor->obj.id = OBJ_ACTOR_DEBRIS;
|
||||
actor->state = state;
|
||||
actor->scale = scale;
|
||||
actor->unk_048 = unk48;
|
||||
@ -353,13 +353,13 @@ void Aquas_801A9374(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f3
|
||||
Object_SetInfo(&actor->info, actor->obj.id);
|
||||
}
|
||||
|
||||
void Aquas_801A9448(Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 unkB8, f32 scale, s32 timerBC,
|
||||
s32 unk48) {
|
||||
void Aquas_SpawnDebris(Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state, f32 scale, s32 timerBC,
|
||||
s32 unk48) {
|
||||
s32 i;
|
||||
|
||||
for (i = ARRAY_COUNT(gActors) - 1; i >= 0; i--) {
|
||||
if (gActors[i].obj.status == OBJ_FREE) {
|
||||
Aquas_801A9374(&gActors[i], pos, rot, xVel, yVel, zVel, unkB8, scale, timerBC, unk48);
|
||||
Aquas_SetupDebris(&gActors[i], pos, rot, xVel, yVel, zVel, state, scale, timerBC, unk48);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -537,7 +537,7 @@ void Aquas_801A9C98(Player* player) {
|
||||
D_i3_801C4190[0] = D_i3_801C4190[3] = D_i3_801C4190[5] = D_i3_801C4190[1] = 0;
|
||||
} else {
|
||||
var_v0 = 1;
|
||||
if (actor->info.hitbox[1] == 200000.0f) {
|
||||
if (actor->info.hitbox[1] == HITBOX_ROTATED) {
|
||||
var_v0 = 5;
|
||||
}
|
||||
D_i3_801C41B8[2] = actor->obj.pos.z + actor->info.hitbox[var_v0 + 0] + actor->info.hitbox[var_v0 + 1];
|
||||
@ -783,7 +783,7 @@ void Aquas_801AA4BC(Player* player) {
|
||||
}
|
||||
}
|
||||
|
||||
void Aquas_801AA8E8(Player* player) {
|
||||
void Aquas_UpdateCamera(Player* player) {
|
||||
f32 var_fv0 = gInputPress->stick_x;
|
||||
f32 var_fv1 = -gInputPress->stick_y;
|
||||
f32 temp;
|
||||
@ -811,7 +811,7 @@ void Aquas_801AA8E8(Player* player) {
|
||||
gCsCamAtX -= player->unk_030 * 0.5f;
|
||||
gCsCamAtX += player->xPath;
|
||||
gCsCamAtY = (player->pos.y - player->yPath) * (750.0f / player->pathHeight);
|
||||
gCsCamAtY += player->unk_060 * 10.0f;
|
||||
gCsCamAtY += player->xRock * 10.0f;
|
||||
gCsCamAtY -= player->unk_02C * -0.55f;
|
||||
gCsCamAtY += player->yPath + D_i3_801C41B8[10];
|
||||
|
||||
@ -837,7 +837,7 @@ void Aquas_801AA8E8(Player* player) {
|
||||
Math_SmoothStepToF(&player->camRoll, temp * 0.3f, 0.1f, 1.5f, 0.0f);
|
||||
}
|
||||
|
||||
void Aquas_801AACF8(Player* player) {
|
||||
void Aquas_BlueMarineMove(Player* player) {
|
||||
Vec3f sp8C;
|
||||
Vec3f sp80;
|
||||
Vec3f sp74;
|
||||
@ -1022,7 +1022,7 @@ void Aquas_801AACF8(Player* player) {
|
||||
|
||||
player->pos.z += player->vel.z;
|
||||
player->trueZpos = player->pos.z;
|
||||
player->unk_060 = SIN_DEG(player->rockPhase * 0.7f) * 0.5f;
|
||||
player->xRock = SIN_DEG(player->rockPhase * 0.7f) * 0.5f;
|
||||
player->bobPhase += 10.0f;
|
||||
player->rockPhase += 8.0f + D_i3_801C41B8[24];
|
||||
player->yBob = -SIN_DEG(player->bobPhase) * 0.5f;
|
||||
@ -1073,29 +1073,29 @@ void Aquas_801ABA40(PlayerShot* shot) {
|
||||
if ((fabsf(shot->obj.pos.z - (gPlayer[0].cam.eye.z - gPathProgress)) > 10000.0f) ||
|
||||
(fabsf(shot->obj.pos.y - gPlayer[0].cam.eye.y) > 1500.0f) ||
|
||||
((fabsf(shot->obj.pos.x - gPlayer[0].cam.eye.x) > 4000.0f) && (shot->unk_5C != 0))) {
|
||||
shot->unk_64 = 0;
|
||||
shot->timer = 0;
|
||||
}
|
||||
|
||||
if (shot->obj.pos.y < gGroundHeight) {
|
||||
shot->obj.pos.y = gGroundHeight + 2.0f;
|
||||
func_beam_800365E4(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.0f, 90.0f, 2.0f, 0,
|
||||
0);
|
||||
PlayerShot_SpawnEffect344(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.0f, 90.0f,
|
||||
2.0f, 0, 0);
|
||||
func_effect_8007CF30(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 1.2f);
|
||||
D_i3_801C4190[5] = D_i3_801C4190[3] = 0;
|
||||
func_beam_80036318(shot);
|
||||
} else if (((shot->unk_64 == 0) || (D_i3_801C4454 == 0)) && (shot->unk_5C != 0)) {
|
||||
PlayerShot_Impact(shot);
|
||||
} else if (((shot->timer == 0) || (D_i3_801C4454 == 0)) && (shot->unk_5C != 0)) {
|
||||
func_effect_8007CF30(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 1.2f);
|
||||
D_i3_801C41B8[21] = D_i3_801C41B8[22] = D_i3_801C41B8[23] = 0.0f;
|
||||
D_i3_801C4190[5] = D_i3_801C4190[3] = 0;
|
||||
func_beam_80036318(shot);
|
||||
PlayerShot_Impact(shot);
|
||||
} else {
|
||||
Math_SmoothStepToF(&shot->unk_48, 50.0f, 0.2f, 10.0f, 0.00001f);
|
||||
shot->obj.rot.z += shot->unk_48;
|
||||
if (((gGameFrameCount % 2) == 0)) {
|
||||
func_beam_80035DEC(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z);
|
||||
PlayerShot_SpawnEffect351(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z);
|
||||
}
|
||||
|
||||
func_beam_80038140(shot);
|
||||
PlayerShot_CollisionCheck(shot);
|
||||
|
||||
shot->vec_2C.x = (shot->obj.pos.y * 0.01f) + 1.2f;
|
||||
shot->vec_2C.y = (shot->obj.pos.y * 0.003f) + 0.6f;
|
||||
@ -1107,7 +1107,7 @@ void Aquas_801ABA40(PlayerShot* shot) {
|
||||
|
||||
switch (shot->unk_5C) {
|
||||
case 0:
|
||||
shot->unk_64 = 50;
|
||||
shot->timer = 50;
|
||||
shot->obj.rot.y = gPlayer[0].rot.y;
|
||||
shot->obj.rot.x = gPlayer[0].rot.x;
|
||||
shot->unk_5C++;
|
||||
@ -1122,14 +1122,14 @@ void Aquas_801ABA40(PlayerShot* shot) {
|
||||
sp70 = Math_RadToDeg(-Math_Atan2F(sp78, sqrtf(SQ(sp7C) + SQ(sp74))));
|
||||
Math_SmoothStepToAngle(&shot->obj.rot.y, sp6C, 1.0f, 100.0f, 0.00001f);
|
||||
Math_SmoothStepToAngle(&shot->obj.rot.x, sp70, 1.0f, 100.0f, 0.00001f);
|
||||
if (shot->unk_64 < 2) {
|
||||
if (shot->timer < 2) {
|
||||
if (D_i3_801C4458 < -30.0f) {
|
||||
D_i3_801C4458 += 20.0f;
|
||||
}
|
||||
if (D_i3_801C445C < 1.0f) {
|
||||
D_i3_801C445C += 0.25f;
|
||||
}
|
||||
shot->unk_64 = 10;
|
||||
shot->timer = 10;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1170,13 +1170,13 @@ void Aquas_801ABA40(PlayerShot* shot) {
|
||||
}
|
||||
}
|
||||
|
||||
void Aquas_801AC09C(Player* player) {
|
||||
void Aquas_BlueMarineTorpedo(Player* player) {
|
||||
s32 i;
|
||||
PlayerShot* shot;
|
||||
|
||||
for (i = 15, shot = &gPlayerShots[15]; i < ARRAY_COUNT(gPlayerShots); i++, shot++) {
|
||||
if (shot->obj.status == OBJ_FREE) {
|
||||
func_play_800AC290(player, shot, 0.0f, 0.0f, PLAYERSHOT_8, 50.0f);
|
||||
if (shot->obj.status == SHOT_FREE) {
|
||||
Player_SetupArwingShot(player, shot, 0.0f, 0.0f, PLAYERSHOT_LOCK_ON, 50.0f);
|
||||
AUDIO_PLAY_SFX(NA_SE_MAR_BOMB_SHOT, shot->sfxSource, 0);
|
||||
D_i3_801C4190[5] = i + 1;
|
||||
D_i3_801C4454 = 300;
|
||||
@ -1188,12 +1188,12 @@ void Aquas_801AC09C(Player* player) {
|
||||
}
|
||||
}
|
||||
|
||||
void Aquas_801AC18C(Player* player) {
|
||||
void Aquas_BlueMarineLaser(Player* player) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (gPlayerShots[i].obj.status == OBJ_FREE) {
|
||||
func_play_800AC290(player, &gPlayerShots[i], 0.0f, -10.0f, PLAYERSHOT_0, 120.0f);
|
||||
if (gPlayerShots[i].obj.status == SHOT_FREE) {
|
||||
Player_SetupArwingShot(player, &gPlayerShots[i], 0.0f, -10.0f, PLAYERSHOT_SINGLE_LASER, 120.0f);
|
||||
if (gLaserStrength[gPlayerNum] == LASERS_SINGLE) {
|
||||
AUDIO_PLAY_SFX(NA_SE_MAR_SHOT, gPlayerShots[i].sfxSource, 0);
|
||||
} else {
|
||||
@ -1204,7 +1204,7 @@ void Aquas_801AC18C(Player* player) {
|
||||
}
|
||||
}
|
||||
|
||||
void Aquas_801AC274(Player* player) {
|
||||
void Aquas_BlueMarineShoot(Player* player) {
|
||||
s32 temp;
|
||||
s32 i;
|
||||
f32 tempy1;
|
||||
@ -1216,7 +1216,7 @@ void Aquas_801AC274(Player* player) {
|
||||
Vec3f sp5C;
|
||||
Actor* actor;
|
||||
|
||||
if ((gPlayerShots[D_i3_801C4190[5] - 1].obj.status == OBJ_FREE) && (D_i3_801C4190[5] != 0)) {
|
||||
if ((gPlayerShots[D_i3_801C4190[5] - 1].obj.status == SHOT_FREE) && (D_i3_801C4190[5] != 0)) {
|
||||
D_i3_801C41B8[21] = D_i3_801C41B8[22] = D_i3_801C41B8[23] = 0.0f;
|
||||
D_i3_801C4190[5] = D_i3_801C4190[3] = 0;
|
||||
}
|
||||
@ -1246,7 +1246,7 @@ void Aquas_801AC274(Player* player) {
|
||||
temp = D_i3_801C4190[0];
|
||||
|
||||
for (i = 0, actor = gActors; i < ARRAY_COUNT(gActors); i++, actor++) {
|
||||
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id != OBJ_ACTOR_189)) {
|
||||
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id != OBJ_ACTOR_DEBRIS)) {
|
||||
var_v1 = 1;
|
||||
if (actor->info.hitbox[1] == HITBOX_ROTATED) {
|
||||
var_v1 = 5;
|
||||
@ -1286,11 +1286,11 @@ void Aquas_801AC274(Player* player) {
|
||||
}
|
||||
|
||||
if (gInputPress->button & A_BUTTON) {
|
||||
Aquas_801AC18C(player);
|
||||
Aquas_BlueMarineLaser(player);
|
||||
}
|
||||
|
||||
if (gInputPress->button & B_BUTTON) {
|
||||
Aquas_801AC09C(player);
|
||||
Aquas_BlueMarineTorpedo(player);
|
||||
if (D_i3_801C4190[0] != 0) {
|
||||
D_i3_801C4190[3] = 1;
|
||||
}
|
||||
@ -1428,7 +1428,7 @@ void Aquas_801ACBB4(Player* player) {
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
}
|
||||
|
||||
void Aquas_801ACE50(Player* player) {
|
||||
void Aquas_BlueMarineBoost(Player* player) {
|
||||
f32 pad;
|
||||
f32 pad2;
|
||||
Vec3f sp54;
|
||||
@ -1513,7 +1513,7 @@ void Aquas_801ACE50(Player* player) {
|
||||
Math_SmoothStepToF(&player->camDist, 0.0f, 0.1f, 2.0f, 0.0f);
|
||||
}
|
||||
|
||||
void Aquas_801AD328(Player* player) {
|
||||
void Aquas_BlueMarineBrake(Player* player) {
|
||||
player->sfx.brake = 0;
|
||||
if ((gBrakeButton[player->num] & gInputHold->button) && (player->unk_230 == 0) &&
|
||||
(player->state_1C8 != PLAYERSTATE_1C8_U_TURN) && (player->boostCooldown == 0)) {
|
||||
@ -2509,7 +2509,7 @@ void Aquas_BossAq_Init(BossAQ* this) {
|
||||
// loop at 2854 unrolls incorrectly
|
||||
// sp100 shouldn't be on the stack
|
||||
// https://decomp.me/scratch/M6ghQ
|
||||
void Aquas_801B134C(Boss* bossAQ) {
|
||||
void Aquas_Boss_Update(Boss* bossAQ) {
|
||||
s32 i;
|
||||
s32 i2;
|
||||
s32 i3;
|
||||
@ -3308,8 +3308,8 @@ void Aquas_801B134C(Boss* bossAQ) {
|
||||
}
|
||||
}
|
||||
#else
|
||||
void Aquas_801B134C(Boss* bossAQ);
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/fox_aq/Aquas_801B134C.s")
|
||||
void Aquas_Boss_Update(Boss* bossAQ);
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/fox_aq/Aquas_Boss_Update.s")
|
||||
#endif
|
||||
|
||||
bool Aquas_801B42AC(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thisx) {
|
||||
@ -3575,7 +3575,7 @@ void Aquas_801B49DC(s32 limbIndex, Vec3f* rot, void* thisx) {
|
||||
}
|
||||
|
||||
// OBJ_BOSS_AQ draw
|
||||
void Aquas_801B4D84(Boss* bossAQ) {
|
||||
void Aquas_Boss_Draw(Boss* bossAQ) {
|
||||
Animation_DrawSkeleton(3, D_AQ_602BD60, bossAQ->vwork, Aquas_801B42AC, Aquas_801B49DC, bossAQ, gCalcMatrix);
|
||||
}
|
||||
|
||||
@ -3767,8 +3767,8 @@ void Aquas_801B50E8(Actor* actor) {
|
||||
|
||||
case 7:
|
||||
for (i = 0; i < 8; i++) {
|
||||
Aquas_801A9448(&actor->vwork[i], &actor->vwork[8 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 49, actor->scale, 200, i);
|
||||
Aquas_SpawnDebris(&actor->vwork[i], &actor->vwork[8 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 49, actor->scale, 200, i);
|
||||
func_effect_8007BC7C(actor->vwork[i].x, actor->vwork[i].y, actor->vwork[i].z + 100.0f, 6.0f);
|
||||
}
|
||||
actor->itemDrop = DROP_NONE;
|
||||
@ -3977,8 +3977,8 @@ void Aquas_801B638C(Actor* actor) {
|
||||
|
||||
if (actor->health == 0) {
|
||||
for (i = 0; i < 9; i++) {
|
||||
Aquas_801A9448(&actor->vwork[i], &actor->vwork[9 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 48, actor->scale, 200, i);
|
||||
Aquas_SpawnDebris(&actor->vwork[i], &actor->vwork[9 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 48, actor->scale, 200, i);
|
||||
func_effect_8007BC7C(actor->vwork[i].x, actor->vwork[i].y, actor->vwork[i].z, 10.0f);
|
||||
}
|
||||
|
||||
@ -4167,8 +4167,8 @@ void Aquas_801B6FF8(Actor* actor) {
|
||||
actor->itemDrop = DROP_SILVER_RING_50p;
|
||||
Actor_Despawn(actor);
|
||||
for (i = 0; i < 15; i++) {
|
||||
Aquas_801A9448(&actor->vwork[i], &actor->vwork[15 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 51, actor->scale, 200, i);
|
||||
Aquas_SpawnDebris(&actor->vwork[i], &actor->vwork[15 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 51, actor->scale, 200, i);
|
||||
func_effect_800815DC();
|
||||
func_effect_8007D0E0(actor->vwork[i].x, actor->vwork[i].y, actor->vwork[i].z + 100.0f, 6.0f);
|
||||
}
|
||||
@ -4398,8 +4398,8 @@ void Aquas_801B7C78(Actor* actor) {
|
||||
}
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
Aquas_801A9448(&actor->vwork[0 + i], &actor->vwork[10 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 52, actor->scale, 200, i);
|
||||
Aquas_SpawnDebris(&actor->vwork[0 + i], &actor->vwork[10 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 52, actor->scale, 200, i);
|
||||
func_effect_8007BC7C(actor->vwork[0 + i].x, actor->vwork[0 + i].y, actor->vwork[0 + i].z + 100.0f, 6.0f);
|
||||
}
|
||||
|
||||
@ -4825,8 +4825,8 @@ void Aquas_801B91A4(Actor* actor) {
|
||||
}
|
||||
|
||||
for (i = RAND_INT(10.0f); i < 13; i++) {
|
||||
Aquas_801A9448(&actor->vwork[0 + i], &actor->vwork[13 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 53, actor->scale, 200, i);
|
||||
Aquas_SpawnDebris(&actor->vwork[0 + i], &actor->vwork[13 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 53, actor->scale, 200, i);
|
||||
func_effect_8007BC7C(actor->vwork[0 + i].x, actor->vwork[0 + i].y, actor->vwork[0 + i].z + 100.0f, 6.0f);
|
||||
}
|
||||
|
||||
@ -5237,8 +5237,8 @@ void Aquas_801BA6A4(Actor* actor) {
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < 4; i++) {
|
||||
Aquas_801A9448(&actor->obj.pos, &actor->obj.rot, RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 54, 0.1f, 200, i);
|
||||
Aquas_SpawnDebris(&actor->obj.pos, &actor->obj.rot, RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 54, 0.1f, 200, i);
|
||||
}
|
||||
}
|
||||
func_effect_8007BC7C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 130.0f, actor->scale * 30.0f);
|
||||
@ -5287,8 +5287,8 @@ void Aquas_801BADF8(Actor* actor) {
|
||||
|
||||
case 2:
|
||||
for (i = 0; i < 5; i++) {
|
||||
Aquas_801A9448(&actor->vwork[0 + i], &actor->vwork[5 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 55, actor->scale, 200, i);
|
||||
Aquas_SpawnDebris(&actor->vwork[0 + i], &actor->vwork[5 + i], RAND_FLOAT_CENTERED(20.0f),
|
||||
RAND_FLOAT(5.0f), RAND_FLOAT_CENTERED(10.0f), 55, actor->scale, 200, i);
|
||||
func_effect_8007BC7C(actor->vwork[0 + i].x, actor->vwork[0 + i].y, actor->vwork[0 + i].z + 100.0f,
|
||||
6.0f);
|
||||
}
|
||||
@ -5898,7 +5898,7 @@ void Aquas_801BC9A0(Actor* actor) {
|
||||
case 3:
|
||||
for (i = 0; i < 2; i++) {
|
||||
for (j = 0; j < ARRAY_COUNT(gActors); j++) {
|
||||
if ((gActors[j].obj.status == OBJ_ACTIVE) && (gActors[j].obj.id == OBJ_ACTOR_189) &&
|
||||
if ((gActors[j].obj.status == OBJ_ACTIVE) && (gActors[j].obj.id == OBJ_ACTOR_DEBRIS) &&
|
||||
(gActors[j].state == 58)) {
|
||||
Object_Kill(&gActors[j].obj, gActors[j].sfxSource);
|
||||
break;
|
||||
@ -5937,8 +5937,8 @@ void Aquas_801BC9A0(Actor* actor) {
|
||||
}
|
||||
|
||||
for (j = 0; j < 10; j++) {
|
||||
Aquas_801A9448(&actor->vwork[4], &actor->vwork[5], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 58, 0.2f + RAND_FLOAT(1.0f), 200, 0);
|
||||
Aquas_SpawnDebris(&actor->vwork[4], &actor->vwork[5], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(5.0f),
|
||||
RAND_FLOAT_CENTERED(10.0f), 58, 0.2f + RAND_FLOAT(1.0f), 200, 0);
|
||||
func_effect_8007BC7C(actor->vwork[4].x, actor->vwork[4].y, actor->vwork[4].z + 50.0f, 6.0f);
|
||||
}
|
||||
|
||||
@ -6488,11 +6488,11 @@ void Aquas_801BEB1C(Actor* actor) {
|
||||
}
|
||||
|
||||
// OBJ_BOSS_301 action
|
||||
void Aquas_801BEC50(Boss* boss301) {
|
||||
void Aquas_Boss301_Update(Boss* boss301) {
|
||||
}
|
||||
|
||||
// OBJ_BOSS_301 draw
|
||||
void Aquas_801BEC5C(Boss* boss301) {
|
||||
void Aquas_Boss301_Draw(Boss* boss301) {
|
||||
}
|
||||
|
||||
// OBJ_ACTOR_188 action
|
||||
@ -6503,7 +6503,7 @@ void Aquas_801BEC68(Actor* actor) {
|
||||
void Aquas_801BEC74(Actor* actor) {
|
||||
}
|
||||
|
||||
void Aquas_801BEC80(Player* player) {
|
||||
void Aquas_Update360(Player* player) {
|
||||
}
|
||||
|
||||
void Aquas_801BEC8C(void* arg0) {
|
||||
|
@ -252,10 +252,10 @@ void Solar_8019EA7C(Actor* actor) {
|
||||
}
|
||||
if ((actor->unk_046 == 0) || (actor->unk_046 == 1)) {
|
||||
actor->unk_046 = 3;
|
||||
func_edisplay_8005F0E8(actor->sfxSource, &actor->obj.pos);
|
||||
Object_SetSfxSourceToPos(actor->sfxSource, &actor->obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_OB_MAGMA_WAVE, actor->sfxSource, 0);
|
||||
}
|
||||
if (func_play_800A73E4(&sp34, &sp30, actor->obj.pos.x, -100.0f, actor->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp34, &sp30, actor->obj.pos.x, -100.0f, actor->obj.pos.z)) {
|
||||
D_ctx_801782EC[sp30] = actor->fwork[0];
|
||||
D_ctx_801782EC[sp30 + 1] = actor->fwork[0] * 0.95f;
|
||||
D_ctx_801782EC[sp30 - 1] = actor->fwork[0] * 0.95f;
|
||||
@ -419,7 +419,7 @@ void Solar_8019F20C(Actor* actor) {
|
||||
case 1:
|
||||
actor->state = 2;
|
||||
actor->vel.y = actor->fwork[0];
|
||||
func_play_800A73E4(&sp8C, &sp88, actor->obj.pos.x, actor->obj.pos.y - 100.0f, actor->obj.pos.z);
|
||||
Play_CheckDynaFloorCollision(&sp8C, &sp88, actor->obj.pos.x, actor->obj.pos.y - 100.0f, actor->obj.pos.z);
|
||||
actor->obj.pos.y = sp8C;
|
||||
for (i = 0; i < 4; i++) {
|
||||
Solar_8019E9F4(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, D_i3_801BF8E0[i],
|
||||
@ -430,7 +430,7 @@ void Solar_8019F20C(Actor* actor) {
|
||||
break;
|
||||
case 2:
|
||||
actor->gravity = 0.5f;
|
||||
if (func_play_800A73E4(&sp8C, &sp88, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp8C, &sp88, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z)) {
|
||||
Object_Kill(&actor->obj, actor->sfxSource);
|
||||
func_effect_8007A6F0(&actor->obj.pos, NA_SE_OB_SNROCK_DISAPPEAR);
|
||||
for (i = 0; i < 4; i++) {
|
||||
@ -665,7 +665,7 @@ void Solar_801A003C(Actor* actor) {
|
||||
actor->state = 0;
|
||||
actor->timer_0BE = 50;
|
||||
actor->unk_04E = 0;
|
||||
func_edisplay_8005F0E8(actor->sfxSource, &actor->obj.pos);
|
||||
Object_SetSfxSourceToPos(actor->sfxSource, &actor->obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_OUT_PROMINENCE, actor->sfxSource, 4);
|
||||
}
|
||||
break;
|
||||
@ -704,7 +704,7 @@ void Solar_801A0120(Effect* effect) {
|
||||
Object_Kill(&effect->obj, effect->sfxSource);
|
||||
}
|
||||
sp48 = effect->unk_48;
|
||||
if (func_play_800A73E4(&sp5C, &sp4C, effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp5C, &sp4C, effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z)) {
|
||||
effect->unk_48 = 1;
|
||||
if (effect->scale2 == 20.0f) {
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_IN_PROMINENCE, effect->sfxSource, 4);
|
||||
@ -775,7 +775,7 @@ void Solar_801A0120(Effect* effect) {
|
||||
effect->obj.rot.z = 0.0f;
|
||||
}
|
||||
sp48 = effect->unk_48;
|
||||
if (func_play_800A73E4(&sp5C, &sp4C, effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp5C, &sp4C, effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z)) {
|
||||
effect->unk_48 = 1;
|
||||
if (effect->scale2 == 20.0f) {
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_IN_PROMINENCE, effect->sfxSource, 4);
|
||||
@ -936,7 +936,7 @@ void Solar_801A0DF8(f32 xPos, f32 zPos, f32 yRot, s32 index, f32 yPos) {
|
||||
gActors[sp2C].timer_0BE = 50;
|
||||
gActors[sp2C].unk_04E = 0;
|
||||
gActors[sp2C].obj.pos.y = -1.0f * yPos;
|
||||
func_edisplay_8005F0E8(gActors[sp2C].sfxSource, &gActors[sp2C].obj.pos);
|
||||
Object_SetSfxSourceToPos(gActors[sp2C].sfxSource, &gActors[sp2C].obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_OUT_PROMINENCE, gActors[sp2C].sfxSource, 4);
|
||||
}
|
||||
}
|
||||
@ -1090,7 +1090,7 @@ void Solar_LevelStart(Player* player) {
|
||||
RAND_FLOAT_CENTERED(2000.0f) + 500.0f + gPathProgress, RAND_FLOAT(20.0f) + 20.0f);
|
||||
}
|
||||
if (gCsFrameCount == 615) {
|
||||
func_play_800A6028(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
Play_PlaySfxFirstPlayer(player->sfxSource, NA_SE_ARWING_BOOST);
|
||||
gActors[0].fwork[29] = gActors[1].fwork[29] = gActors[2].fwork[29] = 5.0f;
|
||||
gActors[0].state = 3;
|
||||
gActors[1].state = 2;
|
||||
@ -1172,7 +1172,7 @@ void Solar_801A1CD8(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yR
|
||||
f32 zVel, s32 unk46) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = OBJ_ACTOR_189;
|
||||
actor->obj.id = OBJ_ACTOR_DEBRIS;
|
||||
actor->state = 40;
|
||||
actor->unk_046 = unk46;
|
||||
actor->unk_04A = 3;
|
||||
@ -1330,7 +1330,7 @@ void Solar_801A23F4(Boss* bossSO) {
|
||||
bossSO->info.hitbox[42] = 110.0f;
|
||||
}
|
||||
if (bossSO->unk_04C == 29) {
|
||||
func_edisplay_8005F0E8(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
Object_SetSfxSourceToPos(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_OUT_PROMINENCE, bossSO->sfxSource, 4);
|
||||
}
|
||||
if (bossSO->unk_04C == 80) {
|
||||
@ -1357,7 +1357,7 @@ void Solar_801A23F4(Boss* bossSO) {
|
||||
bossSO->info.hitbox[24] = 275.0f;
|
||||
}
|
||||
if (bossSO->unk_04C == 10) {
|
||||
func_edisplay_8005F0E8(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
Object_SetSfxSourceToPos(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_OUT_PROMINENCE, bossSO->sfxSource, 4);
|
||||
}
|
||||
if (bossSO->unk_04C == 50) {
|
||||
@ -1449,7 +1449,7 @@ void Solar_801A23F4(Boss* bossSO) {
|
||||
bossSO->info.hitbox[24] = 110.0f;
|
||||
}
|
||||
if (bossSO->unk_04C == 5) {
|
||||
func_edisplay_8005F0E8(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
Object_SetSfxSourceToPos(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_OUT_PROMINENCE, bossSO->sfxSource, 4);
|
||||
}
|
||||
if (bossSO->unk_04C == 20) {
|
||||
@ -1653,7 +1653,7 @@ void Solar_801A3510(Boss* bossSO) {
|
||||
}
|
||||
}
|
||||
if (bossSO->unk_04C == 29) {
|
||||
func_edisplay_8005F0E8(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
Object_SetSfxSourceToPos(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_OUT_PROMINENCE, bossSO->sfxSource, 4);
|
||||
}
|
||||
if (bossSO->unk_04C == 80) {
|
||||
@ -1671,7 +1671,7 @@ void Solar_801A3510(Boss* bossSO) {
|
||||
}
|
||||
Math_SmoothStepToAngle(&bossSO->obj.rot.x, 20.0f, 0.1f, 10.0f, 0.1f);
|
||||
if (bossSO->unk_04C == 10) {
|
||||
func_edisplay_8005F0E8(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
Object_SetSfxSourceToPos(bossSO->sfxSource, &bossSO->obj.pos);
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_OUT_PROMINENCE, bossSO->sfxSource, 4);
|
||||
}
|
||||
if (bossSO->unk_04C == 50) {
|
||||
@ -2282,7 +2282,7 @@ BossSOfunc D_i3_801BF980[9] = {
|
||||
Solar_801A4214, Solar_801A4A34, Solar_801A4EF8, Solar_801A56B8,
|
||||
};
|
||||
|
||||
void Solar_801A5B3C(Boss* bossSO) {
|
||||
void Solar_Boss_Update(Boss* bossSO) {
|
||||
f32 sp1CC;
|
||||
f32 sp1C8;
|
||||
f32 sp1C4;
|
||||
@ -2346,15 +2346,18 @@ void Solar_801A5B3C(Boss* bossSO) {
|
||||
bossSO->info.hitbox[41] = bossSO->fwork[SO_FWK_25] - bossSO->obj.pos.x;
|
||||
}
|
||||
if (((gGameFrameCount % 8) == 0) && (bossSO->fwork[SO_FWK_3] < 4800.0f)) {
|
||||
if (func_play_800A73E4(&sp1C0, &sp1B8, bossSO->obj.pos.x, bossSO->obj.pos.y - 160.0f, bossSO->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp1C0, &sp1B8, bossSO->obj.pos.x, bossSO->obj.pos.y - 160.0f,
|
||||
bossSO->obj.pos.z)) {
|
||||
Solar_801A1EB0(bossSO, bossSO->obj.pos.x, 50.0f, sp1C0 - 170.0f, bossSO->obj.pos.z + 100.0f);
|
||||
}
|
||||
if ((bossSO->swork[SO_SWK_2] != 0) && func_play_800A73E4(&sp1C0, &sp1B8, bossSO->fwork[SO_FWK_16],
|
||||
bossSO->fwork[SO_FWK_17], bossSO->fwork[SO_FWK_18])) {
|
||||
if ((bossSO->swork[SO_SWK_2] != 0) &&
|
||||
Play_CheckDynaFloorCollision(&sp1C0, &sp1B8, bossSO->fwork[SO_FWK_16], bossSO->fwork[SO_FWK_17],
|
||||
bossSO->fwork[SO_FWK_18])) {
|
||||
Solar_801A1EB0(bossSO, bossSO->fwork[SO_FWK_16], 50.0f, sp1C0 - 150.f, bossSO->fwork[SO_FWK_18] + 150.0f);
|
||||
}
|
||||
if ((bossSO->swork[SO_SWK_3] != 0) && func_play_800A73E4(&sp1C0, &sp1B8, bossSO->fwork[SO_FWK_13],
|
||||
bossSO->fwork[SO_FWK_14], bossSO->fwork[SO_FWK_15])) {
|
||||
if ((bossSO->swork[SO_SWK_3] != 0) &&
|
||||
Play_CheckDynaFloorCollision(&sp1C0, &sp1B8, bossSO->fwork[SO_FWK_13], bossSO->fwork[SO_FWK_14],
|
||||
bossSO->fwork[SO_FWK_15])) {
|
||||
Solar_801A1EB0(bossSO, bossSO->fwork[SO_FWK_13], 50.0f, sp1C0 - 150.0f, bossSO->fwork[SO_FWK_15] + 150.0f);
|
||||
}
|
||||
}
|
||||
@ -2697,7 +2700,7 @@ void Solar_801A6BDC(s32 limbIndex, Vec3f* rot, void* thisx) {
|
||||
}
|
||||
}
|
||||
|
||||
void Solar_801A71B8(Boss* bossSO) {
|
||||
void Solar_Boss_Draw(Boss* bossSO) {
|
||||
s32 i;
|
||||
Vec3f spE8[9] = {
|
||||
{ 150.0f, 300.0f, 100.0f }, { -100.0f, 200.0f, 100.0f }, { 50.0f, 100.0f, 100.0f },
|
||||
|
@ -77,7 +77,7 @@ void Zoness_8019962C(Boss* bossZO, f32 arg1);
|
||||
// /* 408 */ Vec3f unk_198;
|
||||
// /* 420 */ char pad1A4[4];
|
||||
// /* 424 */ Vec3f unk_1A8;
|
||||
// /* 436 */ Vec3f unk_1B4;
|
||||
// /* 436 */ Vec3f turretActor;
|
||||
// /* 448 */ char pad1C0[152];
|
||||
// } UnkStruct_1C24E8; /* size = 600 */
|
||||
|
||||
@ -520,31 +520,32 @@ void Zoness_8018FF50(Actor* actor) {
|
||||
actor->obj.rot.x = RAD_TO_DEG(-Math_Atan2F(gPlayer[0].cam.eye.y - actor->obj.pos.y, temp));
|
||||
}
|
||||
|
||||
void Zoness_80190028(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 arg6, f32 scale, s32 arg8,
|
||||
s32 arg9) {
|
||||
void Zoness_SetupDebris(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state, f32 scale,
|
||||
s32 timerBC, s32 unk48) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.id = OBJ_ACTOR_189;
|
||||
actor->state = arg6;
|
||||
actor->obj.id = OBJ_ACTOR_DEBRIS;
|
||||
actor->state = state;
|
||||
actor->scale = scale;
|
||||
actor->unk_048 = arg9;
|
||||
actor->unk_048 = unk48;
|
||||
actor->obj.pos = *pos;
|
||||
actor->obj.rot = *rot;
|
||||
actor->vel.x = xVel;
|
||||
actor->vel.y = yVel;
|
||||
actor->vel.z = zVel;
|
||||
actor->timer_0BC = arg8;
|
||||
actor->timer_0BC = timerBC;
|
||||
actor->gravity = 0.5f;
|
||||
|
||||
Object_SetInfo(&actor->info, actor->obj.id);
|
||||
}
|
||||
|
||||
void Zoness_801900FC(Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 arg6, f32 scale, s32 arg8, s32 arg9) {
|
||||
void Zoness_SpawnDebris(Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state, f32 scale, s32 timerBC,
|
||||
s32 unk48) {
|
||||
s32 i;
|
||||
|
||||
for (i = ARRAY_COUNT(gActors) - 1; i > 0; i--) {
|
||||
if (gActors[i].obj.status == OBJ_FREE) {
|
||||
Zoness_80190028(&gActors[i], pos, rot, xVel, yVel, zVel, arg6, scale, arg8, arg9);
|
||||
Zoness_SetupDebris(&gActors[i], pos, rot, xVel, yVel, zVel, state, scale, timerBC, unk48);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -641,8 +642,8 @@ void Zoness_801904CC(Actor* actor) {
|
||||
break;
|
||||
case 1:
|
||||
for (i = 0; i < 11; i++) {
|
||||
Zoness_801900FC(&actor->vwork[i], &actor->vwork[i + 11], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(-10.0f),
|
||||
RAND_FLOAT(10.0f), 41, actor->scale, 200, i);
|
||||
Zoness_SpawnDebris(&actor->vwork[i], &actor->vwork[i + 11], RAND_FLOAT_CENTERED(20.0f),
|
||||
RAND_FLOAT(-10.0f), RAND_FLOAT(10.0f), 41, actor->scale, 200, i);
|
||||
}
|
||||
actor->itemDrop = DROP_NONE;
|
||||
Actor_Despawn(actor);
|
||||
@ -722,7 +723,7 @@ void Zoness_80190A00(Actor* actor) {
|
||||
s32 sp28;
|
||||
|
||||
if ((actor->timer_0C0 == 0) &&
|
||||
func_play_800A73E4(&sp2C, &sp28, actor->obj.pos.x, actor->obj.pos.y - 50.0f, actor->obj.pos.z)) {
|
||||
Play_CheckDynaFloorCollision(&sp2C, &sp28, actor->obj.pos.x, actor->obj.pos.y - 50.0f, actor->obj.pos.z)) {
|
||||
func_effect_8008377C(actor->obj.pos.x, sp2C, actor->obj.pos.z + 150.0f, 0.0f, 1.7f);
|
||||
if (actor->vel.y >= 0.0f) {
|
||||
AUDIO_PLAY_SFX(NA_SE_OUT_SPLASH_L, actor->sfxSource, 4);
|
||||
@ -869,7 +870,7 @@ void Zoness_80191010(Actor* actor) {
|
||||
actor->vel.y = 0.0f;
|
||||
Object_Kill(&actor->obj, actor->sfxSource);
|
||||
}
|
||||
if (func_play_800A73E4(&sp7C, &sp70, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) &&
|
||||
if (Play_CheckDynaFloorCollision(&sp7C, &sp70, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) &&
|
||||
(actor->iwork[0] < 2) && (actor->timer_0C0 == 0)) {
|
||||
if (var_fs0 == 5.0f) {
|
||||
AUDIO_PLAY_SFX(NA_SE_OUT_SPLASH_L, actor->sfxSource, 4);
|
||||
@ -883,8 +884,8 @@ void Zoness_80191010(Actor* actor) {
|
||||
break;
|
||||
case 3:
|
||||
for (i = 0; i < 3; i++) {
|
||||
Zoness_801900FC(&actor->vwork[i], &actor->vwork[3 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(-10.0f),
|
||||
RAND_FLOAT(10.0f), 42, actor->scale, 200, i);
|
||||
Zoness_SpawnDebris(&actor->vwork[i], &actor->vwork[3 + i], RAND_FLOAT_CENTERED(20.0f),
|
||||
RAND_FLOAT(-10.0f), RAND_FLOAT(10.0f), 42, actor->scale, 200, i);
|
||||
}
|
||||
actor->itemDrop = DROP_SILVER_RING_25p;
|
||||
Actor_Despawn(actor);
|
||||
@ -1042,7 +1043,8 @@ void Zoness_80191BC4(Actor* actor) {
|
||||
actor->iwork[1] = 1;
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_FALLING_DOWN, actor->sfxSource, 4);
|
||||
}
|
||||
if (func_play_800A73E4(&sp4C, &sp48, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) && (actor->state == 0)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp4C, &sp48, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) &&
|
||||
(actor->state == 0)) {
|
||||
func_effect_8007B344(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 20.0f, 7);
|
||||
func_effect_8007C120(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.5f, 50);
|
||||
Object_Kill(&actor->obj, actor->sfxSource);
|
||||
@ -1133,7 +1135,7 @@ void Zoness_80192094(Actor* actor) {
|
||||
Math_SmoothStepToAngle(&actor->obj.rot.x, temp_fs0_2, 0.1f, 10.0f, 0.00001f);
|
||||
Math_SmoothStepToAngle(&actor->obj.rot.y, spA4, 0.1f, 10.0f, 0.00001f);
|
||||
if ((actor->iwork[0] == 0) &&
|
||||
(func_play_800A73E4(&spB8, &spA0, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) != 0)) {
|
||||
(Play_CheckDynaFloorCollision(&spB8, &spA0, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) != 0)) {
|
||||
func_effect_8008377C(actor->obj.pos.x, spB8, actor->obj.pos.z + 100.0f, 0.0f, 1.5f);
|
||||
actor->iwork[0] += 1;
|
||||
if (actor->vel.y >= 0.0f) {
|
||||
@ -1211,8 +1213,8 @@ void Zoness_80192094(Actor* actor) {
|
||||
break;
|
||||
case 4:
|
||||
for (i = 0; i < 6; i++) {
|
||||
Zoness_801900FC(&actor->vwork[i], &actor->vwork[i + 6], RAND_FLOAT_CENTERED(40.0f), RAND_FLOAT(-10.0f),
|
||||
RAND_FLOAT(20.0f), 44, actor->scale, 200, i);
|
||||
Zoness_SpawnDebris(&actor->vwork[i], &actor->vwork[i + 6], RAND_FLOAT_CENTERED(40.0f),
|
||||
RAND_FLOAT(-10.0f), RAND_FLOAT(20.0f), 44, actor->scale, 200, i);
|
||||
}
|
||||
actor->itemDrop = DROP_BOMB;
|
||||
Actor_Despawn(actor);
|
||||
@ -1312,8 +1314,8 @@ void Zoness_80192834(Actor* actor) {
|
||||
break;
|
||||
case 2:
|
||||
for (i = 0; i < 5; i++) {
|
||||
Zoness_801900FC(&actor->vwork[i], &actor->vwork[5 + i], RAND_FLOAT_CENTERED(20.0f), RAND_FLOAT(-10.0f),
|
||||
RAND_FLOAT(10.0f), 43, actor->scale, 200, i);
|
||||
Zoness_SpawnDebris(&actor->vwork[i], &actor->vwork[5 + i], RAND_FLOAT_CENTERED(20.0f),
|
||||
RAND_FLOAT(-10.0f), RAND_FLOAT(10.0f), 43, actor->scale, 200, i);
|
||||
}
|
||||
actor->itemDrop = DROP_NONE;
|
||||
Actor_Despawn(actor);
|
||||
@ -1324,7 +1326,7 @@ void Zoness_80192834(Actor* actor) {
|
||||
}
|
||||
|
||||
if ((actor->iwork[0] == 0) &&
|
||||
(func_play_800A73E4(&sp74, &sp70, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) != 0)) {
|
||||
(Play_CheckDynaFloorCollision(&sp74, &sp70, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) != 0)) {
|
||||
actor->iwork[0]++;
|
||||
func_effect_8008377C(actor->obj.pos.x, sp74, actor->obj.pos.z, 0.0f, 0.7f);
|
||||
if (actor->vel.y >= 0.0f) {
|
||||
@ -1430,8 +1432,8 @@ void Zoness_80192E64(Actor* actor) {
|
||||
break;
|
||||
case 3:
|
||||
for (i = 0; i < 9; i++) {
|
||||
Zoness_801900FC(&actor->vwork[i], &actor->vwork[9 + i], RAND_FLOAT_CENTERED(40.0f), RAND_FLOAT(-10.0f),
|
||||
RAND_FLOAT(20.0f), 59, actor->scale, 200, i);
|
||||
Zoness_SpawnDebris(&actor->vwork[i], &actor->vwork[9 + i], RAND_FLOAT_CENTERED(40.0f),
|
||||
RAND_FLOAT(-10.0f), RAND_FLOAT(20.0f), 59, actor->scale, 200, i);
|
||||
}
|
||||
actor->itemDrop = DROP_BOMB_33p;
|
||||
Actor_Despawn(actor);
|
||||
@ -1452,7 +1454,7 @@ void Zoness_80192E64(Actor* actor) {
|
||||
}
|
||||
actor->dmgType = DMG_NONE;
|
||||
}
|
||||
if (func_play_800A73E4(&sp70, &sp6C, actor->obj.pos.x, actor->obj.pos.y - 1000.0f, actor->obj.pos.z)) {
|
||||
if (Play_CheckDynaFloorCollision(&sp70, &sp6C, actor->obj.pos.x, actor->obj.pos.y - 1000.0f, actor->obj.pos.z)) {
|
||||
Math_SmoothStepToF(&actor->obj.pos.y, sp70 + 300.0f, 0.1f, 20.0f, 0);
|
||||
}
|
||||
}
|
||||
@ -1960,7 +1962,7 @@ void Zoness_80194394(s32 limbIndex, Vec3f* rot, void* thisx) {
|
||||
}
|
||||
}
|
||||
|
||||
void Zoness_801949DC(Boss* bossZO) {
|
||||
void Zoness_Boss_Draw(Boss* bossZO) {
|
||||
Matrix_Translate(gCalcMatrix, 0.0f, bossZO->fwork[ZO_FWK_3], 0.0f, MTXF_APPLY);
|
||||
Matrix_Scale(gCalcMatrix, 2.6f, 2.6f, 2.6f, MTXF_APPLY);
|
||||
Animation_DrawSkeleton(3, D_ZO_6019E18, bossZO->vwork, Zoness_80193D08, Zoness_80194394, bossZO, gCalcMatrix);
|
||||
@ -1972,7 +1974,7 @@ f32 D_i3_801BF6CC[2] = { 250.0f, -250.0f };
|
||||
f32 D_i3_801BF6D4[2] = { 330.0f, 30.0f };
|
||||
|
||||
// OBJ_BOSS_ZO action
|
||||
void Zoness_80194A84(Boss* bossZO) {
|
||||
void Zoness_Boss_Update(Boss* bossZO) {
|
||||
f32 sp134;
|
||||
s32 sp130;
|
||||
s32 i;
|
||||
@ -2085,8 +2087,8 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
if ((((gGameFrameCount % 8) == 0) || (bossZO->timer_050 == 43)) && (bossZO->swork[ZO_SWK_13] == 0) &&
|
||||
((bossZO->swork[ZO_SWK_12] < 7) || (bossZO->timer_050 == 43))) {
|
||||
D_ctx_801779A8[0] = 20;
|
||||
if (func_play_800A73E4(&sp134, &sp130, sZoFwork[ZO_BSF_43_X], sZoFwork[ZO_BSF_43_Y] - 300.0f,
|
||||
sZoFwork[ZO_BSF_43_Z])) {
|
||||
if (Play_CheckDynaFloorCollision(&sp134, &sp130, sZoFwork[ZO_BSF_43_X], sZoFwork[ZO_BSF_43_Y] - 300.0f,
|
||||
sZoFwork[ZO_BSF_43_Z])) {
|
||||
sp100 = 1.5f;
|
||||
spFC = 2.0f;
|
||||
if (bossZO->timer_050 == 43) {
|
||||
@ -2444,9 +2446,9 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
spD8.y = Math_ModF(RAND_FLOAT_CENTERED(60.0f) + 360.0f, 360.0f);
|
||||
spD8.z = bossZO->obj.rot.z;
|
||||
for (i = 0; i < 5; i++) {
|
||||
Zoness_801900FC(&spE4, &spD8, RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT_CENTERED(20.0f),
|
||||
RAND_FLOAT_CENTERED(30.0f), 4, 1.0f, RAND_FLOAT(15.0f) + (bossZO->unk_3F8 * 10.0f),
|
||||
0);
|
||||
Zoness_SpawnDebris(&spE4, &spD8, RAND_FLOAT_CENTERED(30.0f), RAND_FLOAT_CENTERED(20.0f),
|
||||
RAND_FLOAT_CENTERED(30.0f), 4, 1.0f,
|
||||
RAND_FLOAT(15.0f) + (bossZO->unk_3F8 * 10.0f), 0);
|
||||
}
|
||||
}
|
||||
bossZO->vel.x = 0.0f;
|
||||
@ -2493,7 +2495,7 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
case 7:
|
||||
D_ctx_801779A8[0] = 20;
|
||||
if (((gGameFrameCount % 8) == 0) &&
|
||||
(func_play_800A73E4(&sp134, &sp130, bossZO->obj.pos.x, -300.0f, bossZO->obj.pos.z) != 0)) {
|
||||
(Play_CheckDynaFloorCollision(&sp134, &sp130, bossZO->obj.pos.x, -300.0f, bossZO->obj.pos.z) != 0)) {
|
||||
func_effect_8008377C(RAND_FLOAT_CENTERED(500.0f) + bossZO->obj.pos.x, sp134 - 300.0f,
|
||||
RAND_FLOAT_CENTERED(3000.0f) + bossZO->obj.pos.z, 5.0f, 2.0f);
|
||||
}
|
||||
@ -2642,8 +2644,8 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
sZoFwork[ZO_BSF_87] -= 10.0f;
|
||||
sZoFwork[ZO_BSF_88] += 20.0f;
|
||||
func_effect_8007D0E0(sZoFwork[ZO_BSF_43_X], sZoFwork[ZO_BSF_43_Y], sZoFwork[ZO_BSF_43_Z], 5.0f);
|
||||
if ((func_play_800A73E4(&sp134, &sp130, sZoFwork[ZO_BSF_43_X], sZoFwork[ZO_BSF_43_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_43_Z]) != 0) &&
|
||||
if ((Play_CheckDynaFloorCollision(&sp134, &sp130, sZoFwork[ZO_BSF_43_X], sZoFwork[ZO_BSF_43_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_43_Z]) != 0) &&
|
||||
(sZoSwork[ZO_BSS_45] == 0)) {
|
||||
if (gPlayer) {}
|
||||
func_effect_8008377C(sZoFwork[ZO_BSF_43_X], sp134, sZoFwork[ZO_BSF_43_Z] + 30.0f, 0.0f, 2.0f);
|
||||
@ -2660,8 +2662,8 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
sZoFwork[ZO_BSF_81] += 12.0f;
|
||||
sZoFwork[ZO_BSF_82] -= 10.0f;
|
||||
func_effect_8007D0E0(sZoFwork[ZO_BSF_29_X], sZoFwork[ZO_BSF_29_Y], sZoFwork[ZO_BSF_29_Z], 5.0f);
|
||||
if ((func_play_800A73E4(&sp134, &sp130, sZoFwork[ZO_BSF_29_X], sZoFwork[ZO_BSF_29_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_29_Z]) != 0) &&
|
||||
if ((Play_CheckDynaFloorCollision(&sp134, &sp130, sZoFwork[ZO_BSF_29_X], sZoFwork[ZO_BSF_29_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_29_Z]) != 0) &&
|
||||
(sZoSwork[ZO_BSS_46] == 0)) {
|
||||
func_effect_8008377C(sZoFwork[ZO_BSF_29_X], sp134, sZoFwork[ZO_BSF_29_Z] + 30.0f, 0.0f, 2.0f);
|
||||
sZoSwork[ZO_BSS_46]++;
|
||||
@ -2677,8 +2679,8 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
sZoFwork[ZO_BSF_84] += 12.0f;
|
||||
sZoFwork[ZO_BSF_85] -= 10.0f;
|
||||
func_effect_8007D0E0(sZoFwork[ZO_BSF_32_X], sZoFwork[ZO_BSF_32_Y], sZoFwork[ZO_BSF_32_Z], 5.0f);
|
||||
if ((func_play_800A73E4(&sp134, &sp130, sZoFwork[ZO_BSF_32_X], sZoFwork[ZO_BSF_32_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_32_Z]) != 0) &&
|
||||
if ((Play_CheckDynaFloorCollision(&sp134, &sp130, sZoFwork[ZO_BSF_32_X], sZoFwork[ZO_BSF_32_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_32_Z]) != 0) &&
|
||||
(sZoSwork[ZO_BSS_47] == 0)) {
|
||||
func_effect_8008377C(sZoFwork[ZO_BSF_32_X], sp134, sZoFwork[ZO_BSF_32_Z] + 30.0f, 0.0f, 2.0f);
|
||||
sZoSwork[ZO_BSS_47]++;
|
||||
@ -2709,8 +2711,8 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
sZoFwork[ZO_BSF_91] -= 5.0f;
|
||||
sZoFwork[ZO_BSF_92] -= 5.0f;
|
||||
func_effect_8007D0E0(sZoFwork[ZO_BSF_52_X], sZoFwork[ZO_BSF_52_Y], sZoFwork[ZO_BSF_52_Z], 5.0f);
|
||||
if ((func_play_800A73E4(&sp134, &sp130, sZoFwork[ZO_BSF_52_X], sZoFwork[ZO_BSF_52_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_52_Z]) != 0) &&
|
||||
if ((Play_CheckDynaFloorCollision(&sp134, &sp130, sZoFwork[ZO_BSF_52_X], sZoFwork[ZO_BSF_52_Y] - 100.0f,
|
||||
sZoFwork[ZO_BSF_52_Z]) != 0) &&
|
||||
(sZoSwork[ZO_BSS_48] == 0)) {
|
||||
func_effect_8008377C(sZoFwork[ZO_BSF_52_X], sp134, sZoFwork[ZO_BSF_52_Z] + 100.0f, 0.0f, 2.0f);
|
||||
sZoSwork[ZO_BSS_48]++;
|
||||
@ -2981,7 +2983,8 @@ void Zoness_80194A84(Boss* bossZO) {
|
||||
spD8.z = sZoFwork[ZO_BSF_52_Z];
|
||||
func_effect_8007A6F0(&spD8, NA_SE_OB_DAMAGE_M);
|
||||
}
|
||||
if (func_play_800A73E4(&sp134, &sp130, bossZO->obj.pos.x, bossZO->obj.pos.y - 500.0f, bossZO->obj.pos.z) != 0) {
|
||||
if (Play_CheckDynaFloorCollision(&sp134, &sp130, bossZO->obj.pos.x, bossZO->obj.pos.y - 500.0f,
|
||||
bossZO->obj.pos.z) != 0) {
|
||||
Math_SmoothStepToF(&bossZO->obj.pos.y, sp134 - 20.0f, 0.1f, bossZO->fwork[ZO_FWK_4], 0.0f);
|
||||
bossZO->fwork[ZO_FWK_1] = SIN_DEG(gGameFrameCount * 7.0f) * 12.0f;
|
||||
bossZO->fwork[ZO_FWK_2] = COS_DEG(gGameFrameCount * 9.0f) * 12.0f;
|
||||
@ -3394,7 +3397,8 @@ void Zoness_80199A28(Actor* actor) {
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if ((func_play_800A73E4(&sp3C, &sp34, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) != 0) &&
|
||||
if ((Play_CheckDynaFloorCollision(&sp3C, &sp34, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z) !=
|
||||
0) &&
|
||||
(actor->iwork[1] == 0)) {
|
||||
func_effect_8008377C(actor->obj.pos.x, sp3C, actor->obj.pos.z, 0.0f, 0.5f);
|
||||
actor->iwork[1]++;
|
||||
@ -3410,8 +3414,8 @@ void Zoness_80199A28(Actor* actor) {
|
||||
break;
|
||||
case 2:
|
||||
actor->gravity = 1.0f;
|
||||
if (func_play_800A73E4(&sp3C, &sp34, actor->obj.pos.x, actor->fwork[0] + actor->obj.pos.y,
|
||||
actor->obj.pos.z) != 0) {
|
||||
if (Play_CheckDynaFloorCollision(&sp3C, &sp34, actor->obj.pos.x, actor->fwork[0] + actor->obj.pos.y,
|
||||
actor->obj.pos.z) != 0) {
|
||||
actor->gravity = 0.0f;
|
||||
Math_SmoothStepToF(&actor->fwork[0], -50.0f, 0.1f, 2.0f, 0.001f);
|
||||
sp38 = 10.0f;
|
||||
@ -3685,7 +3689,8 @@ void Zoness_8019A5D4(Actor* actor) {
|
||||
actor->dmgType = DMG_NONE;
|
||||
}
|
||||
if (((gGameFrameCount % 8) == 0) && (actor->state != 0) && (actor->iwork[0] < 8) &&
|
||||
(func_play_800A73E4(&sp44, &sp40, actor->obj.pos.x, actor->obj.pos.y - 100.0f, actor->obj.pos.z) != 0)) {
|
||||
(Play_CheckDynaFloorCollision(&sp44, &sp40, actor->obj.pos.x, actor->obj.pos.y - 100.0f, actor->obj.pos.z) !=
|
||||
0)) {
|
||||
func_effect_8008377C(actor->obj.pos.x, sp44, actor->obj.pos.z, 0.0f, 0.7f);
|
||||
actor->iwork[0]++;
|
||||
if (actor->vel.y >= 0.0f) {
|
||||
@ -3890,7 +3895,7 @@ void Zoness_8019B548(Actor* actor) {
|
||||
break;
|
||||
}
|
||||
if ((fabsf(actor->obj.pos.z - gPlayer[0].trueZpos) < 1000.0f) &&
|
||||
func_play_800A73E4(&sp6C, &sp68, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z)) {
|
||||
Play_CheckDynaFloorCollision(&sp6C, &sp68, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z)) {
|
||||
Math_SmoothStepToF(&actor->obj.pos.y, sp6C, 0.1f, 4.0f, 0.0f);
|
||||
}
|
||||
}
|
||||
@ -3936,9 +3941,9 @@ void Zoness_8019B854(Actor* actor) {
|
||||
break;
|
||||
case 1:
|
||||
for (i = 0; i < 6; i++) {
|
||||
Zoness_801900FC(&actor->vwork[i], &actor->vwork[6 + i], RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT(10.0f) + 20.0f, RAND_FLOAT_CENTERED(50.0f), 39, actor->scale,
|
||||
RAND_FLOAT(15.0f) + (actor->scale * 10.0f), i);
|
||||
Zoness_SpawnDebris(&actor->vwork[i], &actor->vwork[6 + i], RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT(10.0f) + 20.0f, RAND_FLOAT_CENTERED(50.0f), 39, actor->scale,
|
||||
RAND_FLOAT(15.0f) + (actor->scale * 10.0f), i);
|
||||
}
|
||||
for (i = 0; i < 10; i++) {
|
||||
func_effect_80079618(RAND_FLOAT_CENTERED(50.0f) + actor->obj.pos.x,
|
||||
@ -4080,8 +4085,8 @@ void Zoness_8019BE48(Actor* actor) {
|
||||
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_WT_EXPLOSION_S);
|
||||
break;
|
||||
}
|
||||
if ((actor->state < 2) &&
|
||||
(func_play_800A73E4(&sp40, &sp38, actor->obj.pos.x, actor->obj.pos.y - 60.0f, actor->obj.pos.z) != 0)) {
|
||||
if ((actor->state < 2) && (Play_CheckDynaFloorCollision(&sp40, &sp38, actor->obj.pos.x, actor->obj.pos.y - 60.0f,
|
||||
actor->obj.pos.z) != 0)) {
|
||||
actor->gravity = 0.0f;
|
||||
sp3C = 10.0f;
|
||||
if (Math_SmoothStepToF(&actor->obj.pos.y, sp40 - 20.0f, 0.1f, 5.0f, 0) >= 0.0f) {
|
||||
@ -4471,7 +4476,7 @@ void Zoness_LevelStart(Player* player) {
|
||||
gControllerHold[gMainController].button = gBoostButton[gMainController];
|
||||
player->csTimer = 60;
|
||||
player->boostMeter = 1.0f;
|
||||
func_play_800B2574(player);
|
||||
Player_ArwingBoost(player);
|
||||
if (gCsFrameCount > 195) {
|
||||
D_ctx_801779A8[0] = 50.0f;
|
||||
} else {
|
||||
|
@ -335,7 +335,7 @@ void Bolse_UpdateEventHandler(Actor* this) {
|
||||
if ((gControllerPress->button & START_BUTTON) || ((gAllRangeSpawnEvent + 300) == gAllRangeEventTimer)) {
|
||||
this->state = 2;
|
||||
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B7184(player, 1);
|
||||
Camera_Update360(player, 1);
|
||||
player->unk_014 = 0.0f;
|
||||
D_hud_80161708 = 0;
|
||||
}
|
||||
@ -384,7 +384,7 @@ void Bolse_UpdateEventHandler(Actor* this) {
|
||||
gAllRangeEventTimer = 3000;
|
||||
this->state = 2;
|
||||
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B7184(player, 1);
|
||||
Camera_Update360(player, 1);
|
||||
player->unk_014 = 0.0f;
|
||||
Audio_KillSfxBySource(gBosses[1].sfxSource);
|
||||
this->iwork[1] = gHitCount;
|
||||
@ -616,7 +616,7 @@ bool Bolse_8018D278(Actor* actor) {
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (Rand_ZeroOne() >= 0.5f) {
|
||||
func_play_800A69F8(4, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z);
|
||||
Play_SpawnDebris(4, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z);
|
||||
}
|
||||
}
|
||||
|
||||
@ -717,7 +717,7 @@ bool Bolse_8018D584(Actor* actor) {
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
if (!(Rand_ZeroOne() >= 0.5f)) {
|
||||
func_play_800A69F8(4, actor->obj.pos.x, actor->obj.pos.y + 730.0f, actor->obj.pos.z);
|
||||
Play_SpawnDebris(4, actor->obj.pos.x, actor->obj.pos.y + 730.0f, actor->obj.pos.z);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1717,7 +1717,7 @@ void Bolse_LevelComplete(Player* player) {
|
||||
Math_SmoothStepToF(&player->pos.y, 700.0f, 0.1f, 10.0f, 0.0f);
|
||||
}
|
||||
|
||||
func_play_800B7184(player, 0);
|
||||
Camera_Update360(player, 0);
|
||||
|
||||
player->cam.eye.x += player->vel.x * 0.1f;
|
||||
player->cam.eye.y += player->vel.y * 0.1f;
|
||||
@ -2113,7 +2113,7 @@ void Bolse_80191ED8(void) {
|
||||
if (gLevelObjects[i].id < 0) {
|
||||
break;
|
||||
}
|
||||
if (gLevelObjects[i].id < 161) {
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
@ -2130,7 +2130,7 @@ void Bolse_80191ED8(void) {
|
||||
if (gLevelObjects[i].id < 0) {
|
||||
break;
|
||||
}
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_176) && (gLevelObjects[i].id <= OBJ_ACTOR_SUPPLIES)) {
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_START) && (gLevelObjects[i].id < OBJ_ACTOR_MAX)) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = gLevelObjects[i].id;
|
||||
|
@ -248,7 +248,7 @@ void Fortuna_UpdateEvents(Actor* actor) {
|
||||
actorPtr->obj.pos.z = D_i4_8019EDF8[i - 1].z;
|
||||
}
|
||||
}
|
||||
func_play_800B63BC(player, 1);
|
||||
Camera_UpdateArwing360(player, 1);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
@ -295,7 +295,7 @@ void Fortuna_UpdateEvents(Actor* actor) {
|
||||
if ((gControllerPress->button & START_BUTTON) || (gAllRangeEventTimer == (gAllRangeSpawnEvent + 440))) {
|
||||
actor->state = 2;
|
||||
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B7184(player, 1);
|
||||
Camera_Update360(player, 1);
|
||||
player->unk_014 = 0.0f;
|
||||
D_hud_80161708 = 0;
|
||||
}
|
||||
@ -347,7 +347,7 @@ void Fortuna_UpdateEvents(Actor* actor) {
|
||||
actor->state = 2;
|
||||
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
|
||||
func_play_800B7184(player, 1);
|
||||
Camera_Update360(player, 1);
|
||||
|
||||
player->unk_014 = 0.0f;
|
||||
D_hud_80161708 = 0;
|
||||
@ -440,10 +440,10 @@ void Fortuna_UpdateEvents(Actor* actor) {
|
||||
}
|
||||
}
|
||||
|
||||
void Fortuna_801888C0(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state) {
|
||||
void Fortuna_SetupDebris(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.id = OBJ_ACTOR_189;
|
||||
actor->obj.id = OBJ_ACTOR_DEBRIS;
|
||||
actor->state = state;
|
||||
|
||||
actor->obj.pos = *pos;
|
||||
@ -459,12 +459,12 @@ void Fortuna_801888C0(Actor* actor, Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel,
|
||||
Object_SetInfo(&actor->info, actor->obj.id);
|
||||
}
|
||||
|
||||
void Fortuna_80188A48(Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state) {
|
||||
void Fortuna_SpawnDebris(Vec3f* pos, Vec3f* rot, f32 xVel, f32 yVel, f32 zVel, s32 state) {
|
||||
s32 i;
|
||||
|
||||
for (i = ARRAY_COUNT(gActors) - 1; i >= 30; i--) {
|
||||
if (gActors[i].obj.status == 0) {
|
||||
Fortuna_801888C0(&gActors[i], pos, rot, xVel, yVel, zVel, state);
|
||||
Fortuna_SetupDebris(&gActors[i], pos, rot, xVel, yVel, zVel, state);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -474,14 +474,14 @@ void Fortuna_80188AD0(Actor* actor) {
|
||||
actor->fwork[0] += 2.0f;
|
||||
if (actor->state == 2) {
|
||||
actor->state = 3;
|
||||
Fortuna_80188A48(actor->vwork, &actor->vwork[6], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 36);
|
||||
Fortuna_80188A48(&actor->vwork[1], &actor->vwork[7], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 36);
|
||||
Fortuna_80188A48(&actor->vwork[2], &actor->vwork[8], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 35);
|
||||
Fortuna_80188A48(&actor->vwork[3], &actor->vwork[9], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 35);
|
||||
Fortuna_SpawnDebris(actor->vwork, &actor->vwork[6], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 36);
|
||||
Fortuna_SpawnDebris(&actor->vwork[1], &actor->vwork[7], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 36);
|
||||
Fortuna_SpawnDebris(&actor->vwork[2], &actor->vwork[8], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 35);
|
||||
Fortuna_SpawnDebris(&actor->vwork[3], &actor->vwork[9], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
|
||||
RAND_FLOAT_CENTERED(50.0f), 35);
|
||||
func_effect_8007BFFC(actor->obj.pos.x, actor->obj.pos.y + 180.0f, actor->obj.pos.z, 0.0f, 0.0f, 0.0f, 5.0f, 10);
|
||||
actor->itemDrop = DROP_SILVER_RING;
|
||||
actor->obj.pos.y += 230.0f;
|
||||
@ -652,7 +652,7 @@ void Fortuna_LevelComplete(Player* player) {
|
||||
} else if (player->pos.y < 500.0f) {
|
||||
Math_SmoothStepToF(&player->pos.y, 500.0f, 0.1f, 5.0f, 0.0f);
|
||||
}
|
||||
func_play_800B7184(player, 0);
|
||||
Camera_Update360(player, 0);
|
||||
player->cam.eye.x += player->vel.x * 0.1f;
|
||||
player->cam.eye.y += player->vel.y * 0.1f;
|
||||
player->cam.eye.z += player->vel.z * 0.1f;
|
||||
@ -790,7 +790,7 @@ void Fortuna_LevelComplete(Player* player) {
|
||||
gScenery360[i].obj.status = OBJ_FREE;
|
||||
}
|
||||
|
||||
func_play_800A5EBC();
|
||||
Play_SetupStarfield();
|
||||
gLevelType = LEVELTYPE_SPACE;
|
||||
gGroundType = gBgColor = gFogRed = gFogGreen = gFogBlue = 0;
|
||||
gLight1R = gLight2R = D_ctx_80161A70 = 86;
|
||||
@ -1446,7 +1446,7 @@ void Fortuna_8018BA2C(void) {
|
||||
if (gLevelObjects[i].id <= OBJ_INVALID) {
|
||||
break;
|
||||
}
|
||||
if (gLevelObjects[i].id <= OBJ_SCENERY_160) {
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
@ -1463,7 +1463,7 @@ void Fortuna_8018BA2C(void) {
|
||||
if (gLevelObjects[i].id <= OBJ_INVALID) {
|
||||
break;
|
||||
}
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_176) && (gLevelObjects[i].id < OBJ_BOSS_292)) {
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_START) && (gLevelObjects[i].id < OBJ_ACTOR_MAX)) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = gLevelObjects[i].id;
|
||||
@ -1495,6 +1495,6 @@ void Fortuna_8018BA2C(void) {
|
||||
boss->obj.pos.x = 0.0f;
|
||||
boss->obj.pos.y = 0.0f;
|
||||
boss->obj.pos.z = 0.0f;
|
||||
boss->obj.id = OBJ_BOSS_308;
|
||||
boss->obj.id = OBJ_BOSS_FO;
|
||||
Object_SetInfo(&boss->info, boss->obj.id);
|
||||
}
|
||||
|
@ -1034,7 +1034,7 @@ void Katina_BossUpdate(Saucerer* this) {
|
||||
|
||||
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) {
|
||||
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B7184(&gPlayer[0], 1);
|
||||
Camera_Update360(&gPlayer[0], 1);
|
||||
}
|
||||
|
||||
gPlayer[0].unk_014 = 0.0f;
|
||||
@ -1924,7 +1924,7 @@ void Katina_LevelComplete(Player* player) {
|
||||
D_ctx_80177A48[2] = 0.0f;
|
||||
|
||||
Katina_SFTeam_LevelComplete_Update();
|
||||
func_play_800A3FB0();
|
||||
Play_dummy_MuteSfx();
|
||||
|
||||
gCsFrameCount = 0;
|
||||
}
|
||||
@ -2356,7 +2356,7 @@ void Katina_BossInit(void) {
|
||||
mothership->obj.pos.x = -15000.0f;
|
||||
mothership->obj.pos.y = 3240.0f;
|
||||
mothership->obj.pos.z = 15000.0f;
|
||||
mothership->obj.id = OBJ_BOSS_316;
|
||||
mothership->obj.id = OBJ_BOSS_KA;
|
||||
Object_SetInfo(&mothership->info, mothership->obj.id);
|
||||
|
||||
Boss_Initialize(base);
|
||||
@ -2364,7 +2364,7 @@ void Katina_BossInit(void) {
|
||||
base->obj.pos.x = 0.0f;
|
||||
base->obj.pos.y = 0.0f;
|
||||
base->obj.pos.z = 0.0f;
|
||||
base->obj.id = OBJ_BOSS_317;
|
||||
base->obj.id = OBJ_BOSS_KA_BASE;
|
||||
Object_SetInfo(&base->info, base->obj.id);
|
||||
}
|
||||
|
||||
|
@ -557,7 +557,7 @@ void SectorZ_UpdateEvents(Actor* actor) {
|
||||
if (actor->timer_0BC == 70) {
|
||||
actor->state = 2;
|
||||
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B7184(player, 1);
|
||||
Camera_Update360(player, 1);
|
||||
player->unk_014 = 0.0f;
|
||||
}
|
||||
break;
|
||||
@ -623,7 +623,7 @@ void SectorZ_UpdateEvents(Actor* actor) {
|
||||
if (actor->timer_0BC < 9680) {
|
||||
actor->state = 2;
|
||||
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B7184(player, 1);
|
||||
Camera_Update360(player, 1);
|
||||
player->unk_014 = 0.0f;
|
||||
gActors[10].fwork[1] = 25.0f;
|
||||
gActors[10].fwork[29] = 5.0f;
|
||||
@ -1553,7 +1553,7 @@ void SectorZ_LevelComplete(Player* player) {
|
||||
if (player->pos.y < 700.0f) {
|
||||
Math_SmoothStepToF(&player->pos.y, 700.0f, 0.1f, 10.0f, 0.0f);
|
||||
}
|
||||
func_play_800B7184(player, 0);
|
||||
Camera_Update360(player, 0);
|
||||
player->cam.eye.x += player->vel.x * 0.1f;
|
||||
player->cam.eye.y += player->vel.y * 0.1f;
|
||||
player->cam.eye.z += player->vel.z * 0.1f;
|
||||
@ -1710,7 +1710,7 @@ Vec3f D_i4_8019F64C[] = { { 612.0f, 409.0f, 386.0f }, { 1027.0f, 141.0f, 383.0f
|
||||
{ 600.0f, 385.0f, 380.0f }, { 776.0f, 245.0f, 384.0f }, { 376.0f, 123.0f, 384.0f },
|
||||
{ 428.0f, 174.0f, 383.0f }, { 722.0f, 306.0f, 383.0f }, { 530.0f, 380.0f, 385.0f } };
|
||||
|
||||
void SectorZ_8019E454(Boss* boss) {
|
||||
void SectorZ_Boss_Update(Boss* boss) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
f32 x;
|
||||
@ -1783,7 +1783,7 @@ void SectorZ_8019E454(Boss* boss) {
|
||||
}
|
||||
}
|
||||
|
||||
void SectorZ_8019E98C(Boss* boss) {
|
||||
void SectorZ_Boss_Draw(Boss* boss) {
|
||||
gSPFogPosition(gMasterDisp++, gFogNear, 1005);
|
||||
Cutscene_DrawGreatFox();
|
||||
}
|
||||
@ -1804,7 +1804,7 @@ void SectorZ_8019EA68(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (gLevelObjects[i].id <= OBJ_SCENERY_160) {
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
@ -1822,7 +1822,7 @@ void SectorZ_8019EA68(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_176) && (gLevelObjects[i].id < OBJ_BOSS_292)) {
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_START) && (gLevelObjects[i].id < OBJ_ACTOR_MAX)) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = gLevelObjects[i].id;
|
||||
@ -1855,7 +1855,7 @@ void SectorZ_8019EA68(void) {
|
||||
boss->obj.rot.y = boss->unk_078.y + 180.0f;
|
||||
boss->obj.rot.z = -boss->unk_078.z;
|
||||
|
||||
boss->obj.id = OBJ_BOSS_313;
|
||||
boss->obj.id = OBJ_BOSS_SZ;
|
||||
Object_SetInfo(&boss->info, boss->obj.id);
|
||||
AUDIO_PLAY_SFX(NA_SE_GREATFOX_ENGINE, boss->sfxSource, 0);
|
||||
}
|
||||
|
@ -4930,20 +4930,20 @@ void Macbeth_LevelStart(Player* player) {
|
||||
sp4C = 0.0f;
|
||||
sp48 = 0.0f;
|
||||
sp44 = 0.0f;
|
||||
func_play_800ADF58(player);
|
||||
Player_UpdatePath(player);
|
||||
|
||||
switch (player->csState) {
|
||||
case 0:
|
||||
|
||||
objInit = gLevelObjects = SEGMENTED_TO_VIRTUAL(D_MA_6035678);
|
||||
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_MA_6035678);
|
||||
|
||||
for (i = 0; objInit->id != OBJ_INVALID; i++, objInit++) {
|
||||
for (i = 0, objInit = gLevelObjects; objInit->id != OBJ_INVALID; i++, objInit++) {
|
||||
Object_Load(objInit, 4000.0f, -4000.0f, 4000.0f, -4000.0f);
|
||||
}
|
||||
|
||||
objInit = gLevelObjects = SEGMENTED_TO_VIRTUAL(gLevelObjectInits[gCurrentLevel]);
|
||||
gLevelObjects = SEGMENTED_TO_VIRTUAL(gLevelObjectInits[gCurrentLevel]);
|
||||
|
||||
for (i = 0; i < 40; i++, objInit++) {
|
||||
for (i = 0, objInit = gLevelObjects; i < 40; i++, objInit++) {
|
||||
Object_Load(objInit, 4000.0f, -4000.0f, 4000.0f, -4000.0f);
|
||||
}
|
||||
|
||||
@ -5017,7 +5017,7 @@ void Macbeth_LevelStart(Player* player) {
|
||||
player->gravity = 3.0f;
|
||||
player->unk_014 = 0.0f;
|
||||
D_ctx_8017782C = 1;
|
||||
func_play_800A594C();
|
||||
Play_InitEnvironment();
|
||||
D_ctx_8017782C = 0;
|
||||
gObjectLoadIndex = 40;
|
||||
player->csState = 4;
|
||||
@ -5078,7 +5078,9 @@ void Macbeth_801ACF6C(void) {
|
||||
void Macbeth_801ACFBC(void) {
|
||||
ObjectInit* objInit;
|
||||
|
||||
for (objInit = gLevelObjects = SEGMENTED_TO_VIRTUAL(D_MA_60357CC); objInit->id != OBJ_INVALID; objInit++) {
|
||||
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_MA_60357CC);
|
||||
|
||||
for (objInit = gLevelObjects; objInit->id != OBJ_INVALID; objInit++) {
|
||||
Object_Load(objInit, 4000.0f, -4000.0f, 4000.0f, -4000.0f);
|
||||
}
|
||||
}
|
||||
@ -5086,7 +5088,9 @@ void Macbeth_801ACFBC(void) {
|
||||
void Macbeth_801AD080(void) {
|
||||
ObjectInit* objInit;
|
||||
|
||||
for (objInit = gLevelObjects = SEGMENTED_TO_VIRTUAL(D_MA_6035920); objInit->id != OBJ_INVALID; objInit++) {
|
||||
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_MA_6035920);
|
||||
|
||||
for (objInit = gLevelObjects; objInit->id != OBJ_INVALID; objInit++) {
|
||||
Object_Load(objInit, 4000.0f, -4000.0f, 4000.0f, -4000.0f);
|
||||
}
|
||||
}
|
||||
@ -5224,8 +5228,8 @@ void Macbeth_801AD6F0(Actor* actor) {
|
||||
func_effect_8007BFFC(actor->obj.pos.x, actor->obj.pos.y + 30.0f, actor->obj.pos.z, 0.0f, 0.0f, 0.0f,
|
||||
4.0f, 5);
|
||||
if (actor->obj.pos.y < (gGroundHeight + 10.0f)) {
|
||||
func_beam_800365E4(actor->obj.pos.x, 3.0f, actor->obj.pos.z, actor->obj.pos.x, actor->obj.pos.z,
|
||||
0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
|
||||
PlayerShot_SpawnEffect344(actor->obj.pos.x, 3.0f, actor->obj.pos.z, actor->obj.pos.x,
|
||||
actor->obj.pos.z, 0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
|
||||
}
|
||||
gControllerRumbleFlags[gMainController] = 1;
|
||||
gControllerRumbleTimers[gMainController] = 10;
|
||||
@ -6288,7 +6292,7 @@ void Macbeth_LevelComplete2(Player* player) {
|
||||
func_tank_80045130(player);
|
||||
func_tank_80044868(player);
|
||||
func_tank_800444BC(player);
|
||||
func_play_800ADF58(player);
|
||||
Player_UpdatePath(player);
|
||||
if (gCsFrameCount >= 2175) {
|
||||
Math_SmoothStepToF(&gCsCamAtZ, gActors[3].obj.pos.z + gPathProgress - 300.0f, 0.1f, 20.0f, 0.0f);
|
||||
Math_SmoothStepToF(&gCsCamAtY, gActors[3].obj.pos.y + 100.0f, 0.1f, 10.0f, 0.0f);
|
||||
@ -6717,7 +6721,7 @@ void Macbeth_801B38E0(void) {
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gScenery); i++) {
|
||||
if (gScenery[i].obj.id <= OBJ_SCENERY_91 || gScenery[i].obj.id >= OBJ_SCENERY_97) {
|
||||
if ((gScenery[i].obj.id <= OBJ_SCENERY_91) || (gScenery[i].obj.id >= OBJ_SCENERY_97)) {
|
||||
Object_Kill(&gScenery[i].obj, gScenery[i].sfxSource);
|
||||
Scenery_Initialize(&gScenery[i]);
|
||||
}
|
||||
@ -6834,8 +6838,8 @@ void Macbeth_LevelComplete1(Player* player) {
|
||||
func_tank_80044868(player);
|
||||
func_tank_80045678(player);
|
||||
func_tank_80045E7C(player);
|
||||
func_play_800A8BA4(player);
|
||||
func_play_800ADF58(player);
|
||||
Player_CollisionCheck(player);
|
||||
Player_UpdatePath(player);
|
||||
break;
|
||||
case 2:
|
||||
Math_SmoothStepToF(D_ctx_80177A48, 0.01f, 0.1f, 0.01f, 0.0f);
|
||||
@ -6859,8 +6863,8 @@ void Macbeth_LevelComplete1(Player* player) {
|
||||
func_tank_80044868(player);
|
||||
func_tank_80045678(player);
|
||||
func_tank_80045E7C(player);
|
||||
func_play_800A8BA4(player);
|
||||
func_play_800ADF58(player);
|
||||
Player_CollisionCheck(player);
|
||||
Player_UpdatePath(player);
|
||||
break;
|
||||
case 10:
|
||||
player->csState = 11;
|
||||
@ -6896,8 +6900,8 @@ void Macbeth_LevelComplete1(Player* player) {
|
||||
func_tank_80044868(player);
|
||||
func_tank_80045678(player);
|
||||
func_tank_80045E7C(player);
|
||||
func_play_800A8BA4(player);
|
||||
func_play_800ADF58(player);
|
||||
Player_CollisionCheck(player);
|
||||
Player_UpdatePath(player);
|
||||
break;
|
||||
case 12:
|
||||
break;
|
||||
|
@ -887,7 +887,7 @@ void Titania_8018B720(Actor* actor) {
|
||||
var_s1 = SEGMENTED_TO_VIRTUAL(D_i5_801BDA30);
|
||||
|
||||
for (i = 0; i < 10; i++, var_s1++) {
|
||||
actorPtr = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actorPtr = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actorPtr != NULL) {
|
||||
actorPtr->obj.status = OBJ_ACTIVE;
|
||||
actorPtr->state = 46;
|
||||
@ -1601,7 +1601,7 @@ void Titania_8018C8A8(Actor* actor) {
|
||||
15.0f);
|
||||
var_s1 = D_i5_801BD738[actor->iwork[0]];
|
||||
for (i = 0; i < 9U; i++, var_s1++) {
|
||||
actorPtr = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actorPtr = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if ((actorPtr != NULL) && D_i5_801B7630[i][1] == 1) {
|
||||
actorPtr->state = 47;
|
||||
actorPtr->unk_048 = i;
|
||||
@ -1637,7 +1637,7 @@ void Titania_8018C8A8(Actor* actor) {
|
||||
}
|
||||
|
||||
if (i == 8) {
|
||||
actorPtr = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actorPtr = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actorPtr != NULL) {
|
||||
actorPtr->state = 47;
|
||||
actorPtr->unk_048 = 9;
|
||||
@ -3196,7 +3196,7 @@ void Titania_80192118(Boss* boss) {
|
||||
sp54.x = (boss->obj.pos.x + D_i5_801BBEF4[39]) + D_i5_801BBEF4[68];
|
||||
sp54.y = 0.0f;
|
||||
sp54.z = (boss->obj.pos.z + D_i5_801BBEF4[41]) + D_i5_801BBEF4[70];
|
||||
func_effect_8007A6F0(&sp54, NA_SE_EN_SAND_BOUND_M);
|
||||
func_effect_8007A6F0(&sp54, NA_SE_EN_BOSS_ATTACK);
|
||||
boss->swork[39] = 5;
|
||||
gCameraShake = 5;
|
||||
}
|
||||
@ -3204,7 +3204,7 @@ void Titania_80192118(Boss* boss) {
|
||||
sp54.x = (boss->obj.pos.x + D_i5_801BBEF4[42]) + D_i5_801BBEF4[71];
|
||||
sp54.y = 0.0f;
|
||||
sp54.z = (boss->obj.pos.z + D_i5_801BBEF4[44]) + D_i5_801BBEF4[73];
|
||||
func_effect_8007A6F0(&sp54, NA_SE_EN_SAND_BOUND_M);
|
||||
func_effect_8007A6F0(&sp54, NA_SE_EN_BOSS_ATTACK);
|
||||
boss->swork[39] = 5;
|
||||
gCameraShake = 5;
|
||||
}
|
||||
@ -3667,7 +3667,7 @@ void Titania_80193DF0(Boss* boss) {
|
||||
D_i5_801BBEF0[44] = 0;
|
||||
D_i5_801BBEF0[8] = -1;
|
||||
D_i5_801BBEF0[41] = 1;
|
||||
actor = func_game_800A3608(OBJ_ACTOR_TEAM_BOSS);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_TEAM_BOSS);
|
||||
if (actor != NULL) {
|
||||
Matrix_MultVec3f(gCalcMatrix, &D_i5_801BBF00[i].unk_00.pos, &spC8);
|
||||
actor->obj.pos.x = boss->obj.pos.x + spC8.x;
|
||||
@ -3681,7 +3681,7 @@ void Titania_80193DF0(Boss* boss) {
|
||||
D_i5_801BBF00[i].unk_26 &= ~16;
|
||||
}
|
||||
if (D_i5_801BBF00[i].unk_26 & 2) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->state = 40;
|
||||
actor->unk_046 = D_i5_801B7770[i][5];
|
||||
@ -4027,7 +4027,7 @@ void Titania_80193DF0(Boss* boss) {
|
||||
AUDIO_PLAY_SFX(NA_SE_EN_GATHER_PARTS, boss->sfxSource, 4);
|
||||
|
||||
for (i = 0; i < 33; i++) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->state = 40;
|
||||
actor->obj.pos.x = 0.0f;
|
||||
@ -4315,7 +4315,7 @@ void Titania_80193DF0(Boss* boss) {
|
||||
func_effect_8007A900(spD4.x, 0.0f, spD4.z, 10.0f, 255, 8, 0);
|
||||
}
|
||||
if (boss->unk_04C == 38) {
|
||||
func_effect_8007A6F0(&spD4, NA_SE_EN_SAND_BOUND_M);
|
||||
func_effect_8007A6F0(&spD4, NA_SE_EN_BOSS_ATTACK);
|
||||
boss->swork[39] = 5;
|
||||
gCameraShake = 20;
|
||||
}
|
||||
@ -4328,7 +4328,7 @@ void Titania_80193DF0(Boss* boss) {
|
||||
func_effect_8007A900(spD4.x, 0.0f, spD4.z, 10.0f, 255, 8, 0);
|
||||
}
|
||||
if (boss->unk_04C == 98) {
|
||||
func_effect_8007A6F0(&spD4, NA_SE_EN_SAND_BOUND_M);
|
||||
func_effect_8007A6F0(&spD4, NA_SE_EN_BOSS_ATTACK);
|
||||
boss->swork[39] = 5;
|
||||
gCameraShake = 20;
|
||||
}
|
||||
@ -4726,7 +4726,7 @@ void Titania_80193DF0(Boss*);
|
||||
|
||||
static s16 D_i5_801B8D54[4] = { 30, 35, 60, 70 };
|
||||
|
||||
void Titania_80197A94(Boss* boss) {
|
||||
void Titania_Boss_Update(Boss* boss) {
|
||||
Vec3f sp3C;
|
||||
|
||||
boss->swork[38]++;
|
||||
@ -4933,7 +4933,7 @@ static f32 D_i5_801B8E24[4][2] = {
|
||||
{ 1.0f, -1.0f },
|
||||
};
|
||||
|
||||
void Titania_801982A8(Boss* boss) {
|
||||
void Titania_Boss_Draw(Boss* boss) {
|
||||
TexturedLine* temp_v0_6;
|
||||
f32 sp120;
|
||||
f32 temp_fs0;
|
||||
@ -5175,14 +5175,14 @@ void Titania_801990DC(Boss* boss) {
|
||||
gShowBossHealth = 0;
|
||||
actor = gActors;
|
||||
for (i = 0; i < ARRAY_COUNT(gActors); i++, actor++) {
|
||||
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_ACTOR_189) && (actor->state == 40)) {
|
||||
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_ACTOR_DEBRIS) && (actor->state == 40)) {
|
||||
actor->gravity = 0.2f;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_COUNTU(D_i5_801BBF00); i++) {
|
||||
if (!(D_i5_801BBF00[i].unk_26 & 4)) {
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->state = 40;
|
||||
actor->unk_046 = D_i5_801B7770[i][5];
|
||||
@ -5223,7 +5223,7 @@ void Titania_801990DC(Boss* boss) {
|
||||
|
||||
switch (boss->timer_050) {
|
||||
case 100:
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->fwork[0] = ((Rand_ZeroOne() < 0.5f) ? -1 : 1) * (RAND_FLOAT(1.0f) + 1.0f);
|
||||
actor->fwork[1] = ((Rand_ZeroOne() < 0.5f) ? -1 : 1) * (RAND_FLOAT(1.0f) + 1.0f);
|
||||
@ -5243,7 +5243,7 @@ void Titania_801990DC(Boss* boss) {
|
||||
}
|
||||
break;
|
||||
case 120:
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->fwork[0] = ((Rand_ZeroOne() < 0.5f) ? -1 : 1) * (RAND_FLOAT(5.0f) + 5.0f);
|
||||
actor->fwork[1] = ((Rand_ZeroOne() < 0.5f) ? -1 : 1) * (RAND_FLOAT(5.0f) + 5.0f);
|
||||
@ -5264,7 +5264,7 @@ void Titania_801990DC(Boss* boss) {
|
||||
}
|
||||
break;
|
||||
case 140:
|
||||
actor = func_game_800A3608(OBJ_ACTOR_189);
|
||||
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
|
||||
if (actor != NULL) {
|
||||
actor->fwork[0] = ((Rand_ZeroOne() < 0.5f) ? -1 : 1) * (RAND_FLOAT(1.0f) + 1.0f);
|
||||
actor->fwork[1] = ((Rand_ZeroOne() < 0.5f) ? -1 : 1) * (RAND_FLOAT(1.0f) + 1.0f);
|
||||
|
@ -226,7 +226,7 @@ void Titania_LevelStart(Player* player) {
|
||||
player->gravity = 3.0f;
|
||||
player->unk_014 = 0.0f;
|
||||
D_ctx_8017782C = 1;
|
||||
func_play_800A594C();
|
||||
Play_InitEnvironment();
|
||||
D_ctx_8017782C = 0;
|
||||
if ((gControllerHold[player->num].button & Z_TRIG) && (gControllerHold[player->num].button & R_TRIG)) {
|
||||
Audio_KillSfxBySourceAndId(player->sfxSource, NA_SE_TANK_GO_UP);
|
||||
@ -354,8 +354,8 @@ void Titania_LevelComplete(Player* player) {
|
||||
func_tank_80044868(player);
|
||||
func_tank_80045678(player);
|
||||
func_tank_80045E7C(player);
|
||||
func_play_800A8BA4(player);
|
||||
func_play_800ADF58(player);
|
||||
Player_CollisionCheck(player);
|
||||
Player_UpdatePath(player);
|
||||
|
||||
if (((gGameFrameCount % 4) == 0)) {
|
||||
f32 x;
|
||||
|
@ -102,7 +102,7 @@ void Andross_801878A8() {
|
||||
break;
|
||||
}
|
||||
|
||||
if (gLevelObjects[i].id <= OBJ_SCENERY_160) {
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
@ -124,7 +124,7 @@ void Andross_801878A8() {
|
||||
break;
|
||||
}
|
||||
|
||||
if ((gLevelObjects[i].id <= OBJ_ACTOR_SUPPLIES) && (gLevelObjects[i].id >= OBJ_ACTOR_176)) {
|
||||
if ((gLevelObjects[i].id < OBJ_ACTOR_MAX) && (gLevelObjects[i].id >= OBJ_ACTOR_START)) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.id = gLevelObjects[i].id;
|
||||
@ -142,7 +142,7 @@ void Andross_801878A8() {
|
||||
if (gLevelObjects[i].id <= OBJ_INVALID) {
|
||||
break;
|
||||
}
|
||||
if ((gLevelObjects[i].id <= OBJ_ITEM_TRAINING_RING) && (gLevelObjects[i].id >= OBJ_ITEM_LASERS)) {
|
||||
if ((gLevelObjects[i].id < OBJ_ITEM_MAX) && (gLevelObjects[i].id >= OBJ_ITEM_START)) {
|
||||
Item_Initialize(item);
|
||||
item->obj.status = OBJ_ACTIVE;
|
||||
item->obj.id = gLevelObjects[i].id;
|
||||
@ -180,7 +180,7 @@ void Andross_80187C5C(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (gLevelObjects[i].id <= OBJ_SCENERY_160) {
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
@ -205,7 +205,7 @@ void Andross_80187C5C(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if ((gLevelObjects[i].id <= OBJ_ACTOR_SUPPLIES) && (gLevelObjects[i].id >= OBJ_ACTOR_176)) {
|
||||
if ((gLevelObjects[i].id < OBJ_ACTOR_MAX) && (gLevelObjects[i].id >= OBJ_ACTOR_START)) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_ACTIVE;
|
||||
actor->obj.id = gLevelObjects[i].id;
|
||||
@ -223,7 +223,7 @@ void Andross_80187C5C(void) {
|
||||
if (gLevelObjects[i].id <= OBJ_INVALID) {
|
||||
break;
|
||||
}
|
||||
if ((gLevelObjects[i].id <= OBJ_ITEM_TRAINING_RING) && (gLevelObjects[i].id >= OBJ_ITEM_LASERS)) {
|
||||
if ((gLevelObjects[i].id < OBJ_ITEM_MAX) && (gLevelObjects[i].id >= OBJ_ITEM_START)) {
|
||||
Item_Initialize(item);
|
||||
item->obj.status = OBJ_ACTIVE;
|
||||
item->obj.id = gLevelObjects[i].id;
|
||||
@ -591,7 +591,7 @@ void Andross_80189214(void) {
|
||||
gPathProgress = 0.0f;
|
||||
player->unk_018 = player->unk_014 = 1.0f;
|
||||
player->pos.z = player->trueZpos = -player->zPath;
|
||||
func_play_800B56BC(player);
|
||||
Camera_UpdateArwingOnRails(player);
|
||||
}
|
||||
|
||||
void Andross_8018933C(Actor* actor) {
|
||||
@ -664,7 +664,7 @@ void Andross_80189470(Actor* actor) {
|
||||
|
||||
Andross_80193710();
|
||||
D_ctx_8017782C = 1;
|
||||
func_play_800A594C();
|
||||
Play_InitEnvironment();
|
||||
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
|
||||
gFillScreenAlpha = gFillScreenAlphaTarget = 255;
|
||||
player->csTimer = 2;
|
||||
@ -1018,7 +1018,7 @@ void Andross_80189B70(Boss* boss) {
|
||||
Andross_80188468();
|
||||
Andross_80187C5C();
|
||||
gPlayer[0].unk_014 = 1.0f;
|
||||
func_play_800B7184(gPlayer, 1);
|
||||
Camera_Update360(gPlayer, 1);
|
||||
Audio_StartPlayerNoise(0);
|
||||
AUDIO_PLAY_BGM(D_boss_800C9E90[gCurrentLevel]);
|
||||
AUDIO_PLAY_SFX(NA_SE_OB_ROOT_EXPLOSION1, gDefaultSfxSource, 0);
|
||||
@ -1332,7 +1332,7 @@ void Andross_8018C390(Player* player) {
|
||||
break;
|
||||
}
|
||||
player->trueZpos = player->pos.z + player->camDist;
|
||||
func_play_800A46A0(player);
|
||||
Player_DamageEffects(player);
|
||||
}
|
||||
|
||||
void Andross_8018C660(Effect* effect, f32 xPos, f32 yPos, f32 zPos, s32 arg4) {
|
||||
@ -3368,7 +3368,7 @@ void Andross_80193710(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (gLevelObjects[i].id <= OBJ_SCENERY_160) {
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
@ -3386,7 +3386,7 @@ void Andross_80193710(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_176) && (gLevelObjects[i].id <= OBJ_ACTOR_SUPPLIES)) {
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_START) && (gLevelObjects[i].id < OBJ_ACTOR_MAX)) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = gLevelObjects[i].id;
|
||||
@ -3402,7 +3402,7 @@ void Andross_80193710(void) {
|
||||
boss = &gBosses[0];
|
||||
Boss_Initialize(boss);
|
||||
boss->obj.status = OBJ_INIT;
|
||||
boss->obj.id = OBJ_BOSS_312;
|
||||
boss->obj.id = OBJ_BOSS_VE2;
|
||||
Object_SetInfo(&boss->info, boss->obj.id);
|
||||
}
|
||||
|
||||
@ -3658,7 +3658,7 @@ void Andross_80193C4C(Player* player) {
|
||||
}
|
||||
Andross_80193710();
|
||||
D_ctx_8017782C = 1;
|
||||
func_play_800A594C();
|
||||
Play_InitEnvironment();
|
||||
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
|
||||
gFillScreenAlpha = gFillScreenAlphaTarget = 255;
|
||||
player->csTimer = 2;
|
||||
@ -3779,7 +3779,7 @@ void Andross_80193C4C(Player* player) {
|
||||
}
|
||||
|
||||
if (gCsFrameCount == 190) {
|
||||
Play_SetupStarfield();
|
||||
Play_GenerateStarfield();
|
||||
gStarCount = 1000;
|
||||
player->unk_204 = 0;
|
||||
}
|
||||
|
@ -18,8 +18,8 @@ void SectorY_8019BBBC(Boss*);
|
||||
void SectorY_8019BC14(Boss*);
|
||||
void SectorY_8019C194(Boss*, f32, f32);
|
||||
void SectorY_801A0510(Actor*, s32);
|
||||
void SectorY_801A39FC(Actor*, f32, f32, f32, f32, f32, f32, s32);
|
||||
void SectorY_801A3B50(f32, f32, f32, f32, f32, f32, s32);
|
||||
void SectorY_SetupDebris(Actor*, f32, f32, f32, f32, f32, f32, s32);
|
||||
void SectorY_SpawnDebris(f32, f32, f32, f32, f32, f32, s32);
|
||||
|
||||
f32 D_i6_801A8440[3];
|
||||
|
||||
@ -555,8 +555,9 @@ void SectorY_80199438(Boss* boss) {
|
||||
func_effect_8007B344(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 8.0f, 5);
|
||||
for (i = 10; i < 24; i++) {
|
||||
if (i != 15) {
|
||||
SectorY_801A3B50(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f) + boss->vel.z, i);
|
||||
SectorY_SpawnDebris(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z,
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f) + boss->vel.z, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -594,8 +595,8 @@ void SectorY_80199438(Boss* boss) {
|
||||
|
||||
for (i = 10; i < 24; i++) {
|
||||
if (i != 15) {
|
||||
SectorY_801A3B50(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f) + boss->vel.z, i);
|
||||
SectorY_SpawnDebris(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f) + boss->vel.z, i);
|
||||
}
|
||||
}
|
||||
boss->timer_058 = 100;
|
||||
@ -611,7 +612,7 @@ void SectorY_80199438(Boss* boss) {
|
||||
gScenery360[0].info.drawType = 0;
|
||||
} else {
|
||||
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B63BC(&gPlayer[0], 1);
|
||||
Camera_UpdateArwing360(&gPlayer[0], 1);
|
||||
gPlayer[0].unk_014 = 0.0f;
|
||||
if (gTeamShields[TEAM_ID_PEPPY] > 0) {
|
||||
AllRange_PlayMessage(gMsg_ID_14230, RCID_PEPPY);
|
||||
@ -627,9 +628,9 @@ void SectorY_80199438(Boss* boss) {
|
||||
|
||||
for (j = ARRAY_COUNT(gActors) - 1; j >= 0; j--) {
|
||||
if (gActors[j].obj.status == OBJ_FREE) {
|
||||
SectorY_801A39FC(&gActors[j], boss->fwork[28], boss->fwork[29], boss->fwork[30],
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f) + boss->vel.z, 15);
|
||||
SectorY_SetupDebris(&gActors[j], boss->fwork[28], boss->fwork[29], boss->fwork[30],
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f) + boss->vel.z, 15);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1074,7 +1075,7 @@ void SectorY_8019AEEC(Boss* boss) {
|
||||
boss->fwork[43] = 0.0f;
|
||||
boss->vel.y = 0.0f;
|
||||
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B63BC(&gPlayer[0], 1);
|
||||
Camera_UpdateArwing360(&gPlayer[0], 1);
|
||||
gPlayer[0].unk_014 = 0.0f;
|
||||
boss->swork[34]++;
|
||||
Radio_PlayMessage(gMsg_ID_14310, RCID_BOSS_SECTORY);
|
||||
@ -1372,7 +1373,7 @@ static BossFuncs D_i6_801A6910[] = {
|
||||
SectorY_80199DAC, SectorY_8019A520, SectorY_8019A66C, SectorY_8019A898, SectorY_8019AAF0, SectorY_8019AEEC,
|
||||
};
|
||||
|
||||
void SectorY_8019C888(Boss* boss) {
|
||||
void SectorY_Boss_Update(Boss* boss) {
|
||||
s32 i;
|
||||
f32 sp1E8;
|
||||
f32 sp1E4;
|
||||
@ -1861,7 +1862,7 @@ void SectorY_8019E014(s32 limbIndex, Vec3f* rot, void* data) {
|
||||
static f32 D_i6_801A69AC[20] = { 0.3f, 0.7f, 1.3f, 0.7f, 0.3f, 0.0f, 10.0f, 20.0f, 300.0f, 100.0f,
|
||||
200.0f, 100.0f, 60.0f, -260.0f, 80.0f, 100.0f, 80.0f, 262.0f, 285.0f, 252.0f };
|
||||
|
||||
void SectorY_8019E2C4(Boss* boss) {
|
||||
void SectorY_Boss_Draw(Boss* boss) {
|
||||
f32 sp9C;
|
||||
f32 sp98;
|
||||
f32 sp94;
|
||||
@ -2679,11 +2680,11 @@ void SectorY_801A0AC0(Player* player) {
|
||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spA4, &sp98);
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
if (gPlayerShots[i].obj.status == OBJ_FREE) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_1, &gPlayerShots[i], CS_SHOT_ID, gActors[8].obj.pos.x,
|
||||
if (gPlayerShots[i].obj.status == SHOT_FREE) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_TWIN_LASER, &gPlayerShots[i], CS_SHOT_ID, gActors[8].obj.pos.x,
|
||||
gActors[8].obj.pos.y - 200.0f, sp80, sp98.x, sp98.y, sp98.z, sp88, sp84,
|
||||
0.0f);
|
||||
gPlayerShots[i].unk_64 = 200;
|
||||
gPlayerShots[i].timer = 200;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2794,11 +2795,11 @@ void SectorY_801A0AC0(Player* player) {
|
||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spA4, &sp98);
|
||||
|
||||
for (i = 0; i < 11; i++) {
|
||||
if (gPlayerShots[i].obj.status == OBJ_FREE) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_1, &gPlayerShots[i], CS_SHOT_ID, gActors[8].obj.pos.x,
|
||||
gActors[8].obj.pos.y, gActors[8].obj.pos.z, sp98.x, sp98.y, sp98.z,
|
||||
sp88, sp84, 0.0f);
|
||||
gPlayerShots[i].unk_64 = 174;
|
||||
if (gPlayerShots[i].obj.status == SHOT_FREE) {
|
||||
Actor_SetupPlayerShot(PLAYERSHOT_TWIN_LASER, &gPlayerShots[i], CS_SHOT_ID,
|
||||
gActors[8].obj.pos.x, gActors[8].obj.pos.y, gActors[8].obj.pos.z,
|
||||
sp98.x, sp98.y, sp98.z, sp88, sp84, 0.0f);
|
||||
gPlayerShots[i].timer = 174;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2830,9 +2831,9 @@ void SectorY_801A0AC0(Player* player) {
|
||||
case 150:
|
||||
Object_Kill(&gActors[11].obj, gActors[11].sfxSource);
|
||||
for (i = 10; i < 24; i++) {
|
||||
SectorY_801A3B50(gActors[11].obj.pos.x, gActors[11].obj.pos.y, gActors[11].obj.pos.z,
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f), i);
|
||||
SectorY_SpawnDebris(gActors[11].obj.pos.x, gActors[11].obj.pos.y, gActors[11].obj.pos.z,
|
||||
RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f), i);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -3396,11 +3397,11 @@ void SectorY_801A0AC0(Player* player) {
|
||||
player->trueZpos = player->pos.z + player->camDist;
|
||||
}
|
||||
|
||||
void SectorY_801A39FC(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, s32 arg7) {
|
||||
void SectorY_SetupDebris(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, s32 state) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = OBJ_ACTOR_189;
|
||||
actor->state = arg7;
|
||||
actor->obj.id = OBJ_ACTOR_DEBRIS;
|
||||
actor->state = state;
|
||||
actor->obj.pos.x = xPos;
|
||||
actor->obj.pos.y = yPos;
|
||||
actor->obj.pos.z = zPos;
|
||||
@ -3412,12 +3413,12 @@ void SectorY_801A39FC(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32
|
||||
Object_SetInfo(&actor->info, actor->obj.id);
|
||||
}
|
||||
|
||||
void SectorY_801A3B50(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, s32 arg6) {
|
||||
void SectorY_SpawnDebris(f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, s32 state) {
|
||||
s32 i;
|
||||
|
||||
for (i = ARRAY_COUNT(gActors) - 1; i >= 0; i--) {
|
||||
if (gActors[i].obj.status == OBJ_FREE) {
|
||||
SectorY_801A39FC(&gActors[i], xPos, yPos, zPos, xVel, yVel, zVel, arg6);
|
||||
SectorY_SetupDebris(&gActors[i], xPos, yPos, zPos, xVel, yVel, zVel, state);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -3625,8 +3626,8 @@ void SectorY_Actor204_Update(Actor204* this) {
|
||||
Object_Kill(&this->obj, this->sfxSource);
|
||||
Actor_Despawn(this);
|
||||
for (i = 10; i < 24; i++) {
|
||||
SectorY_801A3B50(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f), this->vel.z + RAND_FLOAT_CENTERED(50.0f), i);
|
||||
SectorY_SpawnDebris(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, RAND_FLOAT_CENTERED(50.0f),
|
||||
RAND_FLOAT_CENTERED(50.0f), this->vel.z + RAND_FLOAT_CENTERED(50.0f), i);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "global.h"
|
||||
|
||||
void Turret_801A5560(Player* player, PlayerShot* shot, f32 xOffset, f32 yOffset, f32 zOffset, s32 shotId, f32 speed) {
|
||||
void Turret_SetupShot(Player* player, PlayerShot* shot, f32 xOffset, f32 yOffset, f32 zOffset, s32 shotId, f32 speed) {
|
||||
Vec3f sp4C;
|
||||
Vec3f sp40;
|
||||
Vec3f sp34;
|
||||
@ -26,7 +26,7 @@ void Turret_801A5560(Player* player, PlayerShot* shot, f32 xOffset, f32 yOffset,
|
||||
sp4C.z = speed;
|
||||
Matrix_MultVec3f(gCalcMatrix, &sp4C, &sp40);
|
||||
Matrix_GetYRPAngles(gCalcMatrix, &sp4C);
|
||||
shot->obj.status = 1;
|
||||
shot->obj.status = SHOT_ACTIVE;
|
||||
|
||||
shot->vel.x = sp40.x;
|
||||
shot->vel.y = sp40.y;
|
||||
@ -48,53 +48,56 @@ void Turret_801A5560(Player* player, PlayerShot* shot, f32 xOffset, f32 yOffset,
|
||||
shot->obj.rot.z = player->rot.z;
|
||||
shot->unk_60 = 0;
|
||||
shot->obj.id = shotId;
|
||||
shot->unk_64 = 40;
|
||||
shot->timer = 40;
|
||||
shot->scale = 1.5f;
|
||||
|
||||
shot->sourceId = player->num;
|
||||
}
|
||||
|
||||
void Turret_801A581C(Player* player, f32 xOffset) {
|
||||
void Turret_GreatFoxLaser(Player* player, f32 xOffset) {
|
||||
s32 i;
|
||||
PlayerShot* shot;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gPlayerShots); i++) {
|
||||
if (gPlayerShots[i].obj.status == 0) {
|
||||
Turret_801A5560(player, &gPlayerShots[i], xOffset, -100.0f, 200.0f, PLAYERSHOT_9, 100.0f);
|
||||
func_play_800A6028(gPlayerShots[i].sfxSource, NA_SE_TURRET_SHOT);
|
||||
if (gPlayerShots[i].obj.status == SHOT_FREE) {
|
||||
Turret_SetupShot(player, &gPlayerShots[i], xOffset, -100.0f, 200.0f, PLAYERSHOT_GFOX_LASER, 100.0f);
|
||||
Play_PlaySfxFirstPlayer(gPlayerShots[i].sfxSource, NA_SE_TURRET_SHOT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Turret_801A58A8(Player* player) {
|
||||
void Turret_Shoot(Player* player) {
|
||||
s32 i;
|
||||
|
||||
if (gControllerPress[player->num].button & A_BUTTON) {
|
||||
player->timer_244 = 0;
|
||||
player->shotTimer = 0;
|
||||
}
|
||||
// Fires two great fox lasers. Offsets match up with the possible guns in Draw.
|
||||
if (gControllerHold[player->num].button & A_BUTTON) {
|
||||
if (player->timer_244 == 0) {
|
||||
Turret_801A581C(player, -100.0f);
|
||||
Turret_801A581C(player, 100.0f);
|
||||
player->unk_1BC = 30;
|
||||
if (player->shotTimer == 0) {
|
||||
Turret_GreatFoxLaser(player, -100.0f);
|
||||
Turret_GreatFoxLaser(player, 100.0f);
|
||||
player->turretRecoil = 30;
|
||||
}
|
||||
player->timer_244++;
|
||||
if (player->timer_244 >= 4) {
|
||||
player->timer_244 = 0;
|
||||
player->shotTimer++;
|
||||
if (player->shotTimer >= 4) {
|
||||
player->shotTimer = 0;
|
||||
}
|
||||
}
|
||||
if (player->unk_1BC > 0) {
|
||||
player->unk_1BC -= 4;
|
||||
if (player->turretRecoil > 0) {
|
||||
player->turretRecoil -= 4;
|
||||
} else {
|
||||
player->unk_1BC = 0;
|
||||
player->turretRecoil = 0;
|
||||
}
|
||||
|
||||
// Fires the lock on attack? The code is missing if so
|
||||
if (gControllerPress[player->num].button & R_TRIG) {
|
||||
player->unk_1C0 = 0;
|
||||
player->turretLockOnCount = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < player->unk_1C0; i++) {
|
||||
// Draws a textured line to each Event Actor in sequence as R is held. Some sort of charged lock on attack?
|
||||
for (i = 0; i < player->turretLockOnCount; i++) {
|
||||
if ((gActors[i].obj.status == OBJ_ACTIVE) && (gActors[i].obj.id == OBJ_ACTOR_EVENT)) {
|
||||
gTexturedLines[i].mode = 3;
|
||||
gTexturedLines[i].zScale = 1.0f;
|
||||
@ -116,51 +119,57 @@ void Turret_801A58A8(Player* player) {
|
||||
}
|
||||
}
|
||||
if (gControllerHold[player->num].button & R_TRIG) {
|
||||
player->unk_1C0++;
|
||||
if (player->unk_1C0 > ARRAY_COUNT(gActors)) {
|
||||
player->unk_1C0 = ARRAY_COUNT(gActors);
|
||||
player->turretLockOnCount++;
|
||||
if (player->turretLockOnCount > ARRAY_COUNT(gActors)) {
|
||||
player->turretLockOnCount = ARRAY_COUNT(gActors);
|
||||
} else {
|
||||
player->unk_1C0 = player->unk_1C0;
|
||||
player->turretLockOnCount = player->turretLockOnCount;
|
||||
}
|
||||
} else {
|
||||
player->unk_1C0 = 0;
|
||||
player->turretLockOnCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Turret_801A5AD4(Player* player) {
|
||||
void Turret_Update(Player* player) {
|
||||
f32 sp2C;
|
||||
f32 sp28;
|
||||
|
||||
player->pos.x = gActors[player->unk_1B4].obj.pos.x;
|
||||
player->pos.y = gActors[player->unk_1B4].obj.pos.y;
|
||||
player->pos.z = gActors[player->unk_1B4].obj.pos.z;
|
||||
player->unk_000 = gActors[player->unk_1B4].obj.rot.y;
|
||||
player->unk_004 = gActors[player->unk_1B4].obj.rot.x;
|
||||
player->rot.z = gActors[player->unk_1B4].obj.rot.z;
|
||||
if (player->unk_1B0 < 2) {
|
||||
if (player->unk_1B0 == 0) {
|
||||
player->unk_1BC = 200;
|
||||
player->unk_1B0++;
|
||||
// The player follows the turret actor. Possibly the great fox
|
||||
player->pos.x = gActors[player->turretActor].obj.pos.x;
|
||||
player->pos.y = gActors[player->turretActor].obj.pos.y;
|
||||
player->pos.z = gActors[player->turretActor].obj.pos.z;
|
||||
player->unk_000 = gActors[player->turretActor].obj.rot.y;
|
||||
player->unk_004 = gActors[player->turretActor].obj.rot.x;
|
||||
player->rot.z = gActors[player->turretActor].obj.rot.z;
|
||||
|
||||
// Disables controls for 50 frames. some sort of big charged attack?
|
||||
if (player->turretState < 2) {
|
||||
if (player->turretState == 0) {
|
||||
player->turretRecoil = 200;
|
||||
player->turretState++;
|
||||
}
|
||||
gControllerLock = 10;
|
||||
if (player->unk_1BC == 0) {
|
||||
if (player->turretRecoil == 0) {
|
||||
gControllerLock = 0;
|
||||
player->unk_1B0++;
|
||||
player->turretState++;
|
||||
gLevelStartStatusScreenTimer = 50;
|
||||
}
|
||||
}
|
||||
|
||||
// The control stick may have moved a targeting cursor
|
||||
sp2C = (f32) gControllerPress[player->num].stick_x;
|
||||
sp28 = -(f32) gControllerPress[player->num].stick_y;
|
||||
Math_SmoothStepToF(&player->rot.y, -sp2C * 0.35000002f, 0.5f, 2.0f, 0.00001f);
|
||||
Math_SmoothStepToF(&player->rot.x, -sp28 * 0.3f, 0.5f, 2.0f, 0.00001f);
|
||||
player->trueZpos = player->pos.z;
|
||||
player->zPathVel = -gActors[player->unk_1B4].vel.z;
|
||||
player->zPathVel = -gActors[player->turretActor].vel.z;
|
||||
player->zPath += player->zPathVel;
|
||||
|
||||
gPathVelZ = player->zPathVel;
|
||||
gPathProgress = player->zPath;
|
||||
|
||||
if (!(gControllerHold[player->num].button & Z_TRIG) && (sqrtf((sp2C * sp2C) + (sp28 * sp28)) > 55.0f)) {
|
||||
// These appear to move the camera around unless locked in place with Z
|
||||
if (!(gControllerHold[player->num].button & Z_TRIG) && (sqrtf(SQ(sp2C) + SQ(sp28)) > 55.0f)) {
|
||||
if ((gControllerHold[player->num].button & R_CBUTTONS) || (sp2C > 40.0f)) {
|
||||
player->unk_008 += 2.0f;
|
||||
}
|
||||
@ -200,15 +209,17 @@ void Turret_801A5AD4(Player* player) {
|
||||
if (player->unk_00C < -20.0f) {
|
||||
player->flags_228 |= PFLAG_228_2;
|
||||
}
|
||||
|
||||
// the B button recenters the view straight ahead
|
||||
if (gControllerPress[player->num].button & B_BUTTON) {
|
||||
player->unk_008 = player->unk_00C = 0.0f;
|
||||
}
|
||||
Math_SmoothStepToF(&player->unk_180, -player->unk_008, 0.5f, 3.0f, 0.00001f);
|
||||
Math_SmoothStepToF(&player->unk_17C, -player->unk_00C, 0.5f, 3.0f, 0.00001f);
|
||||
Turret_801A58A8(player);
|
||||
Turret_Shoot(player);
|
||||
}
|
||||
|
||||
void Turret_801A5FC0(Player* player) {
|
||||
void Turret_UpdateCamera(Player* player) {
|
||||
Vec3f sp3C;
|
||||
Vec3f sp30;
|
||||
|
||||
@ -232,9 +243,10 @@ void Turret_801A5FC0(Player* player) {
|
||||
player->cam.eye.z = player->pos.z + gPathProgress;
|
||||
}
|
||||
|
||||
void Turret_801A6164(Player* player) {
|
||||
void Turret_Draw(Player* player) {
|
||||
static f32 D_i6_801A6B80 = -100.0f;
|
||||
|
||||
// Probably a Y-offset adjustment, for debug?
|
||||
if (gControllerHold[player->num].button & U_JPAD) {
|
||||
D_i6_801A6B80 += 10.0f;
|
||||
}
|
||||
@ -243,43 +255,48 @@ void Turret_801A6164(Player* player) {
|
||||
}
|
||||
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
// Possibly the targeting cursor. During the big attack, it would come back to the player before moving outward
|
||||
RCP_SetupDL_36();
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, -100.0f, 0.0f, MTXF_APPLY);
|
||||
Matrix_RotateY(gGfxMatrix, player->rot.y * M_DTOR, MTXF_APPLY);
|
||||
Matrix_RotateX(gGfxMatrix, -player->rot.x * M_DTOR, MTXF_APPLY);
|
||||
if (player->unk_1B0 < 2) {
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -5000.0f + (player->unk_1BC * 25), MTXF_APPLY);
|
||||
if (player->turretState < 2) {
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -5000.0f + (player->turretRecoil * 25), MTXF_APPLY);
|
||||
} else {
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -5000.0f, MTXF_APPLY);
|
||||
}
|
||||
Matrix_Scale(gGfxMatrix, 12.0f, 12.0f, 1.0f, MTXF_APPLY);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
|
||||
// Likely displayed the turrets guns. They are 100 units to the left and right of the player and 100 units below
|
||||
RCP_SetupDL_27();
|
||||
if ((player->unk_1BC > 20) && (player->unk_1B0 >= 2)) {
|
||||
if ((player->turretRecoil > 20) && (player->turretState >= 2)) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 200, 0, 100, 255);
|
||||
} else {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
}
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Translate(gGfxMatrix, -100.0f, -100.0f, -200.0f + player->unk_1BC, MTXF_APPLY);
|
||||
Matrix_Translate(gGfxMatrix, -100.0f, -100.0f, -200.0f + player->turretRecoil, MTXF_APPLY);
|
||||
Matrix_RotateY(gGfxMatrix, player->rot.y * M_DTOR, MTXF_APPLY);
|
||||
Matrix_RotateX(gGfxMatrix, -player->rot.x * M_DTOR, MTXF_APPLY);
|
||||
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 1.0f, MTXF_APPLY);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Translate(gGfxMatrix, 100.0f, -100.0f, -200.0f + player->unk_1BC, MTXF_APPLY);
|
||||
Matrix_Translate(gGfxMatrix, 100.0f, -100.0f, -200.0f + player->turretRecoil, MTXF_APPLY);
|
||||
Matrix_RotateY(gGfxMatrix, player->rot.y * M_DTOR, MTXF_APPLY);
|
||||
Matrix_RotateX(gGfxMatrix, -player->rot.x * M_DTOR, MTXF_APPLY);
|
||||
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 1.0f, MTXF_APPLY);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
if ((player->unk_1BC > 20) && (player->unk_1B0 >= 2)) {
|
||||
|
||||
// Likely drew muzzle flashes. This suggests the guns were 188 long
|
||||
if ((player->turretRecoil > 20) && (player->turretState >= 2)) {
|
||||
RCP_SetupDL_64();
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 128);
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Translate(gGfxMatrix, -100.0f, -100.0f, -200.0f + player->unk_1BC, MTXF_APPLY);
|
||||
Matrix_Translate(gGfxMatrix, -100.0f, -100.0f, -200.0f + player->turretRecoil, MTXF_APPLY);
|
||||
Matrix_RotateY(gGfxMatrix, player->rot.y * M_DTOR, MTXF_APPLY);
|
||||
Matrix_RotateX(gGfxMatrix, -player->rot.x * M_DTOR, MTXF_APPLY);
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -188.0f, MTXF_APPLY);
|
||||
@ -287,7 +304,7 @@ void Turret_801A6164(Player* player) {
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_Translate(gGfxMatrix, 100.0f, -100.0f, -200.0f + player->unk_1BC, MTXF_APPLY);
|
||||
Matrix_Translate(gGfxMatrix, 100.0f, -100.0f, -200.0f + player->turretRecoil, MTXF_APPLY);
|
||||
Matrix_RotateY(gGfxMatrix, player->rot.y * M_DTOR, MTXF_APPLY);
|
||||
Matrix_RotateX(gGfxMatrix, -player->rot.x * M_DTOR, MTXF_APPLY);
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -188.0f, MTXF_APPLY);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "assets/ast_venom_2.h"
|
||||
|
||||
void Venom2_80196210(Boss* boss) {
|
||||
void Venom2_Boss_Update(Boss* boss) {
|
||||
Math_SmoothStepToF(&boss->fwork[0], boss->fwork[1], 0.5f, 5.0f, 0.0f);
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ bool Venom2_8019624C(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
|
||||
return false;
|
||||
}
|
||||
|
||||
void Venom2_80196288(Boss* boss) {
|
||||
void Venom2_Boss_Draw(Boss* boss) {
|
||||
Animation_GetFrameData(&D_VE2_6014904, 0, boss->vwork);
|
||||
Animation_DrawSkeleton(3, D_VE2_60149D0, boss->vwork, Venom2_8019624C, NULL, boss, gCalcMatrix);
|
||||
}
|
||||
@ -74,7 +74,7 @@ void Venom2_UpdateEvents(Actor* this) {
|
||||
|
||||
gFillScreenAlpha = gFillScreenAlphaTarget = 255;
|
||||
}
|
||||
func_play_800B63BC(player, 1);
|
||||
Camera_UpdateArwing360(player, 1);
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
|
||||
@ -133,7 +133,7 @@ void Venom2_UpdateEvents(Actor* this) {
|
||||
if ((gControllerPress->button & START_BUTTON) || (gAllRangeEventTimer == (gAllRangeSpawnEvent + 300))) {
|
||||
this->state = 2;
|
||||
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
|
||||
func_play_800B7184(player, 1);
|
||||
Camera_Update360(player, 1);
|
||||
player->unk_014 = 0.0f;
|
||||
D_hud_80161708 = 0;
|
||||
}
|
||||
@ -178,7 +178,7 @@ void Venom2_80196968(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (gLevelObjects[i].id <= OBJ_SCENERY_160) {
|
||||
if (gLevelObjects[i].id < OBJ_SCENERY_MAX) {
|
||||
Scenery360_Initialize(scenery360);
|
||||
scenery360->obj.status = OBJ_ACTIVE;
|
||||
scenery360->obj.id = gLevelObjects[i].id;
|
||||
@ -198,7 +198,7 @@ void Venom2_80196968(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_176) && (gLevelObjects[i].id <= OBJ_ACTOR_SUPPLIES)) {
|
||||
if ((gLevelObjects[i].id >= OBJ_ACTOR_START) && (gLevelObjects[i].id < OBJ_ACTOR_MAX)) {
|
||||
Actor_Initialize(actor);
|
||||
actor->obj.status = OBJ_INIT;
|
||||
actor->obj.id = gLevelObjects[i].id;
|
||||
@ -213,7 +213,7 @@ void Venom2_80196968(void) {
|
||||
boss = &gBosses[0];
|
||||
Boss_Initialize(boss);
|
||||
boss->obj.status = OBJ_INIT;
|
||||
boss->obj.id = OBJ_BOSS_312;
|
||||
boss->obj.id = OBJ_BOSS_VE2;
|
||||
Object_SetInfo(&boss->info, boss->obj.id);
|
||||
}
|
||||
|
||||
|
@ -1204,7 +1204,7 @@ void Map_801AD048(void);
|
||||
|
||||
void Map_8019E800(void) {
|
||||
Memory_FreeAll();
|
||||
Play_SetupStarfield();
|
||||
Play_GenerateStarfield();
|
||||
gStarCount = 0;
|
||||
gNextGameState = GSTATE_MAP;
|
||||
D_game_80161A34 = 5;
|
||||
@ -1869,8 +1869,8 @@ void Map_8019FF48(void) {
|
||||
Map_801AD718(D_menu_801CDA00, D_menu_801CDA04, D_menu_801CDA08, &D_menu_801CD9F4, &D_menu_801CD9F8,
|
||||
&D_menu_801CD9FC, D_menu_801CDA14, D_menu_801CDA0C + D_menu_801CDA18,
|
||||
D_menu_801CDA10 + D_menu_801CDA1C);
|
||||
func_play_800B6F50(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
||||
D_menu_801CDA08);
|
||||
Camera_SetStarfieldPos(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
||||
D_menu_801CDA08);
|
||||
}
|
||||
gGameFrameCount++;
|
||||
#if MODS_LEVEL_SELECT == true
|
||||
@ -2013,7 +2013,7 @@ void Map_801A0788(void) {
|
||||
gStarCount = 800;
|
||||
|
||||
Memory_FreeAll();
|
||||
Play_SetupStarfield();
|
||||
Play_GenerateStarfield();
|
||||
|
||||
gStarfieldX = SCREEN_WIDTH;
|
||||
gStarfieldY = SCREEN_HEIGHT;
|
||||
@ -2896,8 +2896,8 @@ void Map_801A2B8C(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
func_play_800B6F50(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
||||
D_menu_801CDA08);
|
||||
Camera_SetStarfieldPos(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
||||
D_menu_801CDA08);
|
||||
|
||||
D_menu_801CD9C4++;
|
||||
}
|
||||
|
@ -517,7 +517,7 @@ void Option_Setup(void) {
|
||||
gStarfieldX = SCREEN_WIDTH;
|
||||
gStarfieldY = SCREEN_HEIGHT;
|
||||
|
||||
Play_SetupStarfield();
|
||||
Play_GenerateStarfield();
|
||||
|
||||
gCsCamEyeX = 0.0f;
|
||||
gCsCamEyeY = 0.0f;
|
||||
@ -1311,27 +1311,27 @@ void Option_SoundInit(void) {
|
||||
gOptionSoundMode = gSaveFile.save.data.soundMode;
|
||||
SEQCMD_SET_SOUND_MODE(D_menu_801AE998[gOptionSoundMode]);
|
||||
|
||||
gVolumeSettings[0] = gSaveFile.save.data.musicVolume;
|
||||
gVolumeSettings[1] = gSaveFile.save.data.voiceVolume;
|
||||
gVolumeSettings[2] = gSaveFile.save.data.sfxVolume;
|
||||
gVolumeSettings[AUDIO_TYPE_MUSIC] = gSaveFile.save.data.musicVolume;
|
||||
gVolumeSettings[AUDIO_TYPE_VOICE] = gSaveFile.save.data.voiceVolume;
|
||||
gVolumeSettings[AUDIO_TYPE_SFX] = gSaveFile.save.data.sfxVolume;
|
||||
|
||||
if (gVolumeSettings[0] > 99) {
|
||||
gVolumeSettings[0] = 99;
|
||||
if (gVolumeSettings[AUDIO_TYPE_MUSIC] > 99) {
|
||||
gVolumeSettings[AUDIO_TYPE_MUSIC] = 99;
|
||||
}
|
||||
if (gVolumeSettings[1] > 99) {
|
||||
gVolumeSettings[1] = 99;
|
||||
if (gVolumeSettings[AUDIO_TYPE_VOICE] > 99) {
|
||||
gVolumeSettings[AUDIO_TYPE_VOICE] = 99;
|
||||
}
|
||||
if (gVolumeSettings[2] > 99) {
|
||||
gVolumeSettings[2] = 99;
|
||||
if (gVolumeSettings[AUDIO_TYPE_SFX] > 99) {
|
||||
gVolumeSettings[AUDIO_TYPE_SFX] = 99;
|
||||
}
|
||||
|
||||
Audio_SetVolume(0, gVolumeSettings[0]);
|
||||
Audio_SetVolume(1, gVolumeSettings[1]);
|
||||
Audio_SetVolume(2, gVolumeSettings[2]);
|
||||
Audio_SetVolume(0, gVolumeSettings[AUDIO_TYPE_MUSIC]);
|
||||
Audio_SetVolume(1, gVolumeSettings[AUDIO_TYPE_VOICE]);
|
||||
Audio_SetVolume(2, gVolumeSettings[AUDIO_TYPE_SFX]);
|
||||
|
||||
D_menu_801AEB48[0].unk_18 = gVolumeSettings[0] + 146.0f;
|
||||
D_menu_801AEB48[1].unk_18 = gVolumeSettings[1] + 146.0f;
|
||||
D_menu_801AEB48[2].unk_18 = gVolumeSettings[2] + 146.0f;
|
||||
D_menu_801AEB48[0].unk_18 = gVolumeSettings[AUDIO_TYPE_MUSIC] + 146.0f;
|
||||
D_menu_801AEB48[1].unk_18 = gVolumeSettings[AUDIO_TYPE_VOICE] + 146.0f;
|
||||
D_menu_801AEB48[2].unk_18 = gVolumeSettings[AUDIO_TYPE_SFX] + 146.0f;
|
||||
|
||||
D_menu_801B9288 = 0;
|
||||
D_menu_801B9284 = 0;
|
||||
|
@ -198,7 +198,7 @@ void Title_Init(void) {
|
||||
|
||||
Memory_FreeAll();
|
||||
|
||||
Play_SetupStarfield();
|
||||
Play_GenerateStarfield();
|
||||
gStarfieldX = SCREEN_WIDTH;
|
||||
gStarfieldY = SCREEN_HEIGHT;
|
||||
|
||||
@ -368,7 +368,7 @@ void Title_80187B00(void) {
|
||||
|
||||
case 1:
|
||||
if (D_menu_801B82BC != 0) {
|
||||
func_play_800B6F50(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
Camera_SetStarfieldPos(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
D_ctx_8017842C -= 1.0f;
|
||||
if (D_menu_801B82BC == 60) {
|
||||
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 60);
|
||||
@ -840,7 +840,7 @@ void Title_801888E8(void) {
|
||||
|
||||
Title_80191320(1, &gCsCamEyeX, &gCsCamEyeY, &gCsCamEyeZ, &gCsCamAtX, &gCsCamAtY, &gCsCamAtZ, D_menu_801B86A8,
|
||||
D_menu_801B86AC, D_menu_801B86B0);
|
||||
func_play_800B6F50(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
Camera_SetStarfieldPos(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
|
||||
D_ctx_8017842C -= 0.5f;
|
||||
|
||||
@ -1192,7 +1192,7 @@ void Title_8018994C(void) {
|
||||
Title_80191674(D_menu_801B86C8, D_menu_801B86CC, 100.0f, &D_menu_801B82E0, &D_menu_801B82E4, &D_menu_801B82E8);
|
||||
|
||||
if (D_menu_801B7BE8 != 0) {
|
||||
func_play_800B6F50(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
Camera_SetStarfieldPos(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
}
|
||||
|
||||
D_ctx_8017842C -= D_menu_801B7BE8;
|
||||
@ -1529,7 +1529,7 @@ void Title_8018ACEC(void) {
|
||||
Title_80191320(1, &gCsCamEyeX, &gCsCamEyeY, &gCsCamEyeZ, &gCsCamAtX, &gCsCamAtY, &gCsCamAtZ, D_menu_801B86A8,
|
||||
D_menu_801B86AC, D_menu_801B86B0);
|
||||
Title_80191674(D_menu_801B86C8, D_menu_801B86CC, 100.0f, &D_menu_801B82E0, &D_menu_801B82E4, &D_menu_801B82E8);
|
||||
func_play_800B6F50(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
Camera_SetStarfieldPos(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
|
||||
D_ctx_8017842C += 2.0f;
|
||||
D_ctx_80178430 += 2.0f;
|
||||
@ -2110,7 +2110,7 @@ void Title_8018C644(void) {
|
||||
Title_80191844(D_menu_801B86A8, D_menu_801B86AC);
|
||||
Title_8018CC30(D_menu_801B8294, 9, D_menu_801B8290);
|
||||
Title_80191674(D_menu_801B86C8, D_menu_801B86CC, 100.0f, &D_menu_801B82E0, &D_menu_801B82E4, &D_menu_801B82E8);
|
||||
func_play_800B6F50(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
Camera_SetStarfieldPos(gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ);
|
||||
|
||||
D_menu_801B7BEC++;
|
||||
}
|
||||
@ -2266,7 +2266,7 @@ void Title_8018D2B8(s32 arg0) {
|
||||
|
||||
func_display_80053658(&wings);
|
||||
|
||||
func_edisplay_8005F1EC(D_menu_801B84E8[arg0].unk_50);
|
||||
Object_UpdateSfxSource(D_menu_801B84E8[arg0].unk_50);
|
||||
|
||||
if (D_menu_801B84E8[arg0].unk_40 != 0) {
|
||||
Title_8018D80C(arg0);
|
||||
@ -2468,7 +2468,7 @@ void Title_8018E058(void) {
|
||||
gGreatFoxIntact = true;
|
||||
|
||||
Cutscene_DrawGreatFox();
|
||||
func_edisplay_8005F1EC(D_menu_801B8658.unk_24);
|
||||
Object_UpdateSfxSource(D_menu_801B8658.unk_24);
|
||||
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
}
|
||||
@ -2575,7 +2575,7 @@ void Title_8018E67C(s32 arg0) {
|
||||
}
|
||||
|
||||
if (arg0 == 0) {
|
||||
func_edisplay_8005F1EC(D_menu_801B84D8);
|
||||
Object_UpdateSfxSource(D_menu_801B84D8);
|
||||
}
|
||||
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
|
@ -318,7 +318,7 @@ void Fault_ThreadEntry(void* arg0) {
|
||||
#endif
|
||||
|
||||
func_80007910(sp40);
|
||||
while (1) {
|
||||
while (true) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ void Lib_QuickSort(u8* first, u32 length, u32 size, CompareFunc cFunc) {
|
||||
u8* right;
|
||||
u8* left;
|
||||
|
||||
while (1) {
|
||||
while (true) {
|
||||
last = first + (length - 1) * size;
|
||||
|
||||
if (length == 2) {
|
||||
@ -40,7 +40,7 @@ void Lib_QuickSort(u8* first, u32 length, u32 size, CompareFunc cFunc) {
|
||||
left = first;
|
||||
right = last - size;
|
||||
|
||||
while (1) {
|
||||
while (true) {
|
||||
while (cFunc(left, last) < 0) {
|
||||
left += size;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ void Audio_ThreadEntry(void* arg0) {
|
||||
osWritebackDCacheAll();
|
||||
osSendMesg(&gTaskMesgQueue, task, OS_MESG_NOBLOCK);
|
||||
}
|
||||
while (1) {
|
||||
while (true) {
|
||||
task = AudioThread_CreateTask();
|
||||
if (task != NULL) {
|
||||
task->mesgQueue = &gAudioTaskMesgQueue;
|
||||
@ -199,7 +199,7 @@ void SerialInterface_ThreadEntry(void* arg0) {
|
||||
OSMesg sp34;
|
||||
|
||||
Controller_Init();
|
||||
while (1) {
|
||||
while (true) {
|
||||
MQ_WAIT_FOR_MESG(&gSerialThreadMesgQueue, &sp34);
|
||||
|
||||
switch ((s32) sp34) {
|
||||
@ -222,7 +222,7 @@ void SerialInterface_ThreadEntry(void* arg0) {
|
||||
void Timer_ThreadEntry(void* arg0) {
|
||||
void* sp24;
|
||||
|
||||
while (1) {
|
||||
while (true) {
|
||||
MQ_WAIT_FOR_MESG(&gTimerTaskMesgQueue, &sp24);
|
||||
Timer_CompleteTask(sp24);
|
||||
}
|
||||
@ -247,7 +247,7 @@ void Graphics_ThreadEntry(void* arg0) {
|
||||
gSPEndDisplayList(gMasterDisp++);
|
||||
}
|
||||
Graphics_SetTask();
|
||||
while (1) {
|
||||
while (true) {
|
||||
gSysFrameCount++;
|
||||
Graphics_InitializeTask(gSysFrameCount);
|
||||
MQ_WAIT_FOR_MESG(&gControllerMesgQueue, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user