oh god the docs (#234)

This commit is contained in:
petrie911 2024-05-06 17:45:24 -05:00 committed by GitHub
parent baaba960e6
commit a864e5ebe2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
57 changed files with 1808 additions and 1712 deletions

View File

@ -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;

View File

@ -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

View File

@ -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*);

View File

@ -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

View File

@ -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

View File

@ -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*);

View File

@ -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*);

View File

@ -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;};

View File

@ -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 {

View File

@ -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;

View File

@ -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;

View File

@ -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.

View File

@ -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;

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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,
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,
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;
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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,7 +1605,7 @@ 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,
Camera_SetStarfieldPos(gPlayerCamEye.x, gPlayerCamEye.y, gPlayerCamEye.z, gPlayerCamAt.x, gPlayerCamAt.y,
gPlayerCamAt.z);
Background_DrawStarfield();
}
@ -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) &&

View File

@ -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 },

View File

@ -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);

View File

@ -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,7 +3637,7 @@ 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,
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);

View File

@ -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,7 +2024,7 @@ 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,
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));
@ -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;
}

View File

@ -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,7 +4327,7 @@ 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,
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,
@ -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);
}

View File

@ -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;

View File

@ -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

View File

@ -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,14 +1232,12 @@ 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)) &&
} 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) {
if (!D_MA_801BE250) {}
@ -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);
}

View File

@ -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();
}

View File

@ -1053,7 +1053,7 @@ 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,
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);

View File

@ -239,7 +239,7 @@ 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],
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);
@ -258,7 +258,7 @@ 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],
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);
@ -1360,7 +1360,7 @@ 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,
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);
}
@ -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;

View File

@ -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,8 +16,10 @@ void Training_80198C50(void) {
scenery360 = gScenery360;
for (i = 0; i < 1000; i++) {
if (gLevelObjects[i].id >= 0) {
if (gLevelObjects[i].id <= 160) {
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;
@ -28,9 +30,6 @@ void Training_80198C50(void) {
Object_SetInfo(&scenery360->info, scenery360->obj.id);
scenery360++;
}
} else {
break;
}
}
}

View File

@ -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++;

View File

@ -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);

View File

@ -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);

View File

@ -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,
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,
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,7 +3767,7 @@ 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),
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);
}
@ -3977,7 +3977,7 @@ 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),
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,7 +4167,7 @@ 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),
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,7 +4398,7 @@ 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),
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,7 +4825,7 @@ 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),
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,7 +5237,7 @@ 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),
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);
}
}
@ -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,7 +5937,7 @@ 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),
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) {

View File

@ -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 },

View File

@ -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,7 +2087,7 @@ 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,
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;
@ -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,7 +2644,7 @@ 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,
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) {}
@ -2660,7 +2662,7 @@ 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,
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);
@ -2677,7 +2679,7 @@ 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,
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);
@ -2709,7 +2711,7 @@ 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,
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);
@ -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,7 +3414,7 @@ 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,
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);
@ -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,7 +3941,7 @@ 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),
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);
}
@ -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 {

View File

@ -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;

View File

@ -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,13 +474,13 @@ 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,
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_80188A48(&actor->vwork[1], &actor->vwork[7], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
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_80188A48(&actor->vwork[2], &actor->vwork[8], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
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_80188A48(&actor->vwork[3], &actor->vwork[9], RAND_FLOAT_CENTERED(50.0f), RAND_FLOAT(10.0f) + 10.0f,
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;
@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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;
}

View File

@ -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,7 +595,7 @@ 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),
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);
}
}
@ -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,7 +628,7 @@ 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],
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,7 +2831,7 @@ 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,
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);
}
@ -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,7 +3626,7 @@ 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),
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);
}
}

View File

@ -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);

View File

@ -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);
}

View File

@ -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,7 +1869,7 @@ 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,
Camera_SetStarfieldPos(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
D_menu_801CDA08);
}
gGameFrameCount++;
@ -2013,7 +2013,7 @@ void Map_801A0788(void) {
gStarCount = 800;
Memory_FreeAll();
Play_SetupStarfield();
Play_GenerateStarfield();
gStarfieldX = SCREEN_WIDTH;
gStarfieldY = SCREEN_HEIGHT;
@ -2896,7 +2896,7 @@ void Map_801A2B8C(void) {
break;
}
func_play_800B6F50(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
Camera_SetStarfieldPos(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
D_menu_801CDA08);
D_menu_801CD9C4++;

View File

@ -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;

View File

@ -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);

View File

@ -318,7 +318,7 @@ void Fault_ThreadEntry(void* arg0) {
#endif
func_80007910(sp40);
while (1) {
while (true) {
;
}
}

View File

@ -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;
}

View File

@ -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);