Cleanup + misc decomp (#844)

* hos funcs

* more hos funcs

* 4 more

* little clean

* 4 more

* find_similar_areas min, max params

* calc_partner_test_enemy

* nothing of substance

* battle_state_update_begin/end_player_turn

* fix

* warnings

* 2 omos

* 2 mo omo

* PR comments

* 3 mo omo
This commit is contained in:
Ethan Roseman 2022-11-01 03:41:14 -04:00 committed by GitHub
parent 9c46cbb993
commit 5a668faf5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
77 changed files with 1431 additions and 4834 deletions

View File

@ -1880,7 +1880,7 @@ typedef struct Actor {
/* 0x1F4 */ struct ActorPart* partsTable; /* 0x1F4 */ struct ActorPart* partsTable;
/* 0x1F8 */ s16 lastDamageTaken; /* 0x1F8 */ s16 lastDamageTaken;
/* 0x1FA */ s16 hpChangeCounter; /* 0x1FA */ s16 hpChangeCounter;
/* 0x1FC */ u16 damageCounter; /* 0x1FC */ s16 damageCounter;
/* 0x1FE */ char unk_1FE[2]; /* 0x1FE */ char unk_1FE[2];
/* 0x200 */ struct EffectInstance* attackResultEffect; /* 0x200 */ struct EffectInstance* attackResultEffect;
/* 0x204 */ s8 unk_204; /* 0x204 */ s8 unk_204;
@ -2541,4 +2541,13 @@ typedef struct PartnerDMAData {
/* 0x10 */ s32 y; /* 0x10 */ s32 y;
} PartnerDMAData; // size = 0x14 } PartnerDMAData; // size = 0x14
typedef struct UnkOmo {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 treeIndex;
} UnkOmo; // size = 0x18
#endif #endif

View File

@ -1452,7 +1452,7 @@ typedef struct MotionBlurFlameFXData {
/* 0x04 */ f32 unk_04; /* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08; /* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C; /* 0x0C */ f32 unk_0C;
/* 0x10 */ Vec3f position; /* 0x10 */ Vec3f pos;
/* 0x1C */ f32 unk_1C[4]; /* 0x1C */ f32 unk_1C[4];
/* 0x2C */ f32 unk_2C[4]; /* 0x2C */ f32 unk_2C[4];
/* 0x3C */ f32 unk_3C[4]; /* 0x3C */ f32 unk_3C[4];

View File

@ -666,6 +666,7 @@ void btl_show_battle_message(s32 messageIndex, s32 duration);
void btl_update_ko_status(void); void btl_update_ko_status(void);
void reset_actor_turn_info(void); void reset_actor_turn_info(void);
void startup_draw_prim_rect(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a); void startup_draw_prim_rect(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a);
void startup_draw_prim_rect_COPY(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a);
void btl_draw_prim_quad(u8 r, u8 g, u8 b, u8 a, u16 left, u16 top, u16 arg6, u16 arg7); void btl_draw_prim_quad(u8 r, u8 g, u8 b, u8 a, u16 left, u16 top, u16 arg6, u16 arg7);
void reset_all_actor_sounds(Actor*); void reset_all_actor_sounds(Actor*);
void decrement_status_menu_disabled(void); void decrement_status_menu_disabled(void);

View File

@ -27,6 +27,8 @@ BSS s32 D_8029F25C;
BSS s32 D_8029F260; BSS s32 D_8029F260;
BSS s32 D_8029F264; BSS s32 D_8029F264;
s32 dispatch_damage_event_player_0(s32 damageAmount, s32 event);
void btl_merlee_on_start_turn(void) { void btl_merlee_on_start_turn(void) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;
EncounterStatus* currentEncounter = &gCurrentEncounter; EncounterStatus* currentEncounter = &gCurrentEncounter;
@ -573,17 +575,17 @@ void btl_state_update_begin_turn(void) {
battleStatus->nextEnemyIndex = 0; battleStatus->nextEnemyIndex = 0;
btl_merlee_on_start_turn(); btl_merlee_on_start_turn();
battleStatus->rushFlags = 0; battleStatus->rushFlags = RUSH_FLAG_NONE;
gBattleStatus.flags2 &= ~BS_FLAGS2_8000000; gBattleStatus.flags2 &= ~BS_FLAGS2_8000000;
if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) { if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) {
if (playerData->curHP < 2 && is_ability_active(ABILITY_MEGA_RUSH)) { if (playerData->curHP < 2 && is_ability_active(ABILITY_MEGA_RUSH)) {
gBattleStatus.flags2 |= BS_FLAGS2_8000000; gBattleStatus.flags2 |= BS_FLAGS2_8000000;
battleStatus->rushFlags |= 1; battleStatus->rushFlags |= RUSH_FLAG_MEGA;
} }
if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) && !(battleStatus->rushFlags & 1)) { if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) && !(battleStatus->rushFlags & RUSH_FLAG_MEGA)) {
gBattleStatus.flags2 |= BS_FLAGS2_8000000; gBattleStatus.flags2 |= BS_FLAGS2_8000000;
battleStatus->rushFlags |= 2; battleStatus->rushFlags |= RUSH_FLAG_POWER;
} }
} }
@ -612,7 +614,7 @@ void btl_state_update_begin_turn(void) {
enemy->lastEventType = EVENT_DEATH; enemy->lastEventType = EVENT_DEATH;
} }
} }
gBattleState2 = BATTLE_STATE_SWITCH_TO_PLAYER; gBattleState2 = BATTLE_STATE2_PLAYER_DEFEATED;
} else { } else {
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
enemy = battleStatus->enemyActors[i]; enemy = battleStatus->enemyActors[i];
@ -635,11 +637,11 @@ void btl_state_update_begin_turn(void) {
script->owner1.actorID = ACTOR_PARTNER; script->owner1.actorID = ACTOR_PARTNER;
} }
} }
gBattleState2 = BATTLE_STATE_BEGIN_TURN; gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP;
} }
} }
if (gBattleState2 == BATTLE_STATE_BEGIN_TURN) { if (gBattleState2 == BATTLE_STATE2_BEGIN_LEVEL_UP) {
cond = FALSE; cond = FALSE;
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
enemy = battleStatus->enemyActors[i]; enemy = battleStatus->enemyActors[i];
@ -659,7 +661,7 @@ void btl_state_update_begin_turn(void) {
} }
} }
if (gBattleState2 == BATTLE_STATE_SWITCH_TO_PLAYER) { if (gBattleState2 == BATTLE_STATE2_PLAYER_DEFEATED) {
cond = FALSE; cond = FALSE;
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
enemy = battleStatus->enemyActors[i]; enemy = battleStatus->enemyActors[i];
@ -679,8 +681,6 @@ void btl_state_update_begin_turn(void) {
void btl_state_draw_begin_turn(void) { void btl_state_draw_begin_turn(void) {
} }
// tail merging
#ifdef NON_MATCHING
void btl_state_update_begin_player_turn(void) { void btl_state_update_begin_player_turn(void) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;
PlayerData* playerData = &gPlayerData; PlayerData* playerData = &gPlayerData;
@ -690,10 +690,9 @@ void btl_state_update_begin_player_turn(void) {
Evt* script; Evt* script;
s32 i; s32 i;
s32 phi_v0; s8 debuffDuration;
s32 phi_v1; s32 koDuration;
s32 phi_a0; s32 temp;
s32 phi_v0_2;
if (gBattleState2 == BATTLE_STATE2_UNK_0) { if (gBattleState2 == BATTLE_STATE2_UNK_0) {
btl_cam_use_preset(BTL_CAM_PRESET_C); btl_cam_use_preset(BTL_CAM_PRESET_C);
@ -711,10 +710,10 @@ void btl_state_update_begin_player_turn(void) {
gBattleStatus.flags1 |= BS_FLAGS1_8; gBattleStatus.flags1 |= BS_FLAGS1_8;
gBattleStatus.flags2 &= ~BS_FLAGS2_1000000; gBattleStatus.flags2 &= ~BS_FLAGS2_1000000;
player->disableDismissTimer = 0; player->disableDismissTimer = 0;
player->flags |= 0x0C000000; player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000;
if (partner != NULL) { if (partner != NULL) {
player->flags |= 0x0C000000; player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000;
partner->disableDismissTimer = 0; partner->disableDismissTimer = 0;
} }
@ -747,9 +746,9 @@ void btl_state_update_begin_player_turn(void) {
if (battleStatus->waterBlockTurnsLeft <= 0) { if (battleStatus->waterBlockTurnsLeft <= 0) {
battleStatus->waterBlockEffect->flags |= 0x10; battleStatus->waterBlockEffect->flags |= 0x10;
fx_water_block(1, player->currentPos.x, player->currentPos.y + 18.0f, player->currentPos.z + 5.0f, 1.5f, 10); fx_water_block(1, player->currentPos.x, player->currentPos.y + 18.0f, player->currentPos.z + 5.0f, 1.5f, 10);
fx_water_splash(0, player->currentPos.x - 10.0f, player->currentPos.y + 5.0f, player->currentPos.z + 5.0f, 1.0f, 0x18); fx_water_splash(0, player->currentPos.x - 10.0f, player->currentPos.y + 5.0f, player->currentPos.z + 5.0f, 1.0f, 24);
fx_water_splash(0, player->currentPos.x - 15.0f, player->currentPos.y + 32.0f, player->currentPos.z + 5.0f, 1.0f, 0x18); fx_water_splash(0, player->currentPos.x - 15.0f, player->currentPos.y + 32.0f, player->currentPos.z + 5.0f, 1.0f, 24);
fx_water_splash(1, player->currentPos.x + 15.0f, player->currentPos.y + 22.0f, player->currentPos.z + 5.0f, 1.0f, 0x18); fx_water_splash(1, player->currentPos.x + 15.0f, player->currentPos.y + 22.0f, player->currentPos.z + 5.0f, 1.0f, 24);
battleStatus->waterBlockEffect = NULL; battleStatus->waterBlockEffect = NULL;
sfx_play_sound(SOUND_299); sfx_play_sound(SOUND_299);
btl_show_battle_message(0x27, 60); btl_show_battle_message(0x27, 60);
@ -811,6 +810,12 @@ void btl_state_update_begin_player_turn(void) {
} }
break; break;
case BATTLE_STATE2_UNK_10: case BATTLE_STATE2_UNK_10:
if (0) { // TODO relocated block - required to match
back:
player->koStatus = STATUS_DAZE;
player->disableEffect->data.disableX->unk_3C = player->koDuration;
goto later;
}
if (!btl_is_popup_displayed()) { if (!btl_is_popup_displayed()) {
gBattleState2 = BATTLE_STATE2_UNK_15; gBattleState2 = BATTLE_STATE2_UNK_15;
} }
@ -818,34 +823,36 @@ void btl_state_update_begin_player_turn(void) {
} }
if (gBattleState2 == BATTLE_STATE2_UNK_15) { if (gBattleState2 == BATTLE_STATE2_UNK_15) {
if (player->debuff == 9 && player->stoneStatus == 0) { if (player->debuff == STATUS_POISON && player->stoneStatus == 0) {
gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE;
dispatch_damage_event_player_0(1, 0xA); dispatch_damage_event_player_0(1, 0xA);
} }
battleStatus->rushFlags = 0; battleStatus->rushFlags = RUSH_FLAG_NONE;
gBattleStatus.flags2 &= ~BS_FLAGS2_8000000; gBattleStatus.flags2 &= ~BS_FLAGS2_8000000;
if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) { if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) {
if (playerData->curHP <= 1 && is_ability_active(0x14)) { if (playerData->curHP <= 1 && is_ability_active(ABILITY_MEGA_RUSH)) {
gBattleStatus.flags2 |= BS_FLAGS2_8000000; gBattleStatus.flags2 |= BS_FLAGS2_8000000;
battleStatus->rushFlags |= 1; battleStatus->rushFlags |= RUSH_FLAG_MEGA;
} }
if (playerData->curHP < 6 && is_ability_active(0x1E) && !(battleStatus->rushFlags & 1)) { if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) && !(battleStatus->rushFlags & RUSH_FLAG_MEGA)) {
gBattleStatus.flags2 |= BS_FLAGS2_8000000; gBattleStatus.flags2 |= BS_FLAGS2_8000000;
battleStatus->rushFlags |= 2; battleStatus->rushFlags |= RUSH_FLAG_POWER;
} }
} }
gBattleState2 = BATTLE_STATE2_UNK_16; gBattleState2 = BATTLE_STATE2_UNK_16;
} }
if ((gBattleState2 == BATTLE_STATE2_UNK_16) && (player->onHitScript == NULL || !does_script_exist(player->onHitID))) { if (gBattleState2 == BATTLE_STATE2_UNK_16 &&
(player->onHitScript == NULL || !does_script_exist(player->onHitID)))
{
player->onHitScript = NULL; player->onHitScript = NULL;
if (!btl_check_player_defeated()) { if (!btl_check_player_defeated()) {
D_8029F254 = 0; D_8029F254 = 0;
player->disableDismissTimer = 0; player->disableDismissTimer = 0;
player->flags |= 0x0C000000; player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000;
if (is_ability_active(0xE)) { if (is_ability_active(ABILITY_FEELING_FINE)) {
if (player->debuff != 0) { if (player->debuff != 0) {
player->debuffDuration = 1; player->debuffDuration = 1;
} }
@ -867,13 +874,10 @@ void btl_state_update_begin_player_turn(void) {
player->stoneDuration--; player->stoneDuration--;
if (player->stoneDuration <= 0) { if (player->stoneDuration <= 0) {
player->stoneStatus = 0; player->stoneStatus = 0;
dispatch_event_player(0x31); dispatch_event_player(EVENT_RECOVER_STATUS);
} }
} else { } else {
s8 debuffDuration; if (!is_ability_active(ABILITY_ZAP_TAP) && player->staticStatus != 0) {
s32 koDuration;
if (!is_ability_active(0x13) && (player->staticStatus != 0)) {
player->staticDuration--; player->staticDuration--;
if (player->staticDuration <= 0) { if (player->staticDuration <= 0) {
player->staticStatus = 0; player->staticStatus = 0;
@ -882,12 +886,14 @@ void btl_state_update_begin_player_turn(void) {
} }
if (player->transparentStatus != 0) { if (player->transparentStatus != 0) {
player->transparentDuration--; player->transparentDuration--;
part->flags |= 0x100; part->flags |= ACTOR_PART_FLAG_100;
if (player->transparentDuration <= 0) { do {
player->transparentStatus = 0; if (player->transparentDuration <= 0) {
part->flags &= ~0x100; player->transparentStatus = 0;
remove_status_transparent(player->hudElementDataIndex); part->flags &= ~ACTOR_PART_FLAG_100;
} remove_status_transparent(player->hudElementDataIndex);
}
} while (0); // TODO required to match
} }
if (player->debuff != 0) { if (player->debuff != 0) {
@ -901,9 +907,9 @@ void btl_state_update_begin_player_turn(void) {
sfx_play_sound(SOUND_FROZEN_SHATTER); sfx_play_sound(SOUND_FROZEN_SHATTER);
player->icePillarEffect->flags |= 0x10; player->icePillarEffect->flags |= 0x10;
player->icePillarEffect = NULL; player->icePillarEffect = NULL;
dispatch_event_player(0x32); dispatch_event_player(EVENT_32);
} else { } else {
dispatch_event_player(0x31); dispatch_event_player(EVENT_RECOVER_STATUS);
} }
player->debuff = 0; player->debuff = 0;
player->debuffDuration = 0; player->debuffDuration = 0;
@ -912,23 +918,23 @@ void btl_state_update_begin_player_turn(void) {
} }
debuffDuration = player->debuffDuration; debuffDuration = player->debuffDuration;
koDuration = player->koDuration; temp = player->koDuration;
player->koDuration = debuffDuration; player->koDuration = debuffDuration;
if (debuffDuration <= 0) { if (debuffDuration > 0) {
player->koStatus = 0xD; goto back;
player->disableEffect->data.disableX->unk_3C = player->koDuration; } else if (temp != debuffDuration) {
} else if (koDuration != debuffDuration) {
player->koStatus = 0; player->koStatus = 0;
player->koDuration = 0; player->koDuration = 0;
player->disableEffect->data.disableX->unk_3C = 0; player->disableEffect->data.disableX->unk_3C = 0;
} }
} }
later:
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
Actor* enemy = battleStatus->enemyActors[i]; Actor* enemy = battleStatus->enemyActors[i];
if (enemy != NULL) { if (enemy != NULL) {
enemy->flags |= 0x0C000000; enemy->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000;
if (enemy->chillOutTurns != 0) { if (enemy->chillOutTurns != 0) {
enemy->chillOutTurns--; enemy->chillOutTurns--;
if (enemy->chillOutTurns == 0) { if (enemy->chillOutTurns == 0) {
@ -947,48 +953,45 @@ void btl_state_update_begin_player_turn(void) {
if (gBattleState2 == BATTLE_STATE2_UNK_1) { if (gBattleState2 == BATTLE_STATE2_UNK_1) {
if (!btl_check_enemies_defeated()) { if (!btl_check_enemies_defeated()) {
s32 phi_s0_2 = 1; temp = 1;
s32 phi_s0_3;
battleStatus->unk_8C = 0; battleStatus->unk_8C = 0;
if (battleStatus->hammerLossTurns >= 0) { if (battleStatus->hammerLossTurns >= 0) {
battleStatus->hammerLossTurns--; battleStatus->hammerLossTurns--;
if (battleStatus->hammerLossTurns == -1) { if (battleStatus->hammerLossTurns == -1) {
script = start_script(RegainAbility, EVT_PRIORITY_A, 0); script = start_script(&RegainAbility, EVT_PRIORITY_A, 0);
player->takeTurnScript = script; player->takeTurnScript = script;
player->takeTurnID = script->id; player->takeTurnID = script->id;
script->varTable[0] = 1; script->varTable[0] = 1;
phi_s0_2 = 9; temp = 9;
script->owner1.actorID = ACTOR_PLAYER; script->owner1.actorID = ACTOR_PLAYER;
script->varTable[10] = 1; script->varTable[10] = 1;
battleStatus->unk_8C = 1; battleStatus->unk_8C = 1;
} }
} }
phi_s0_3 = phi_s0_2;
if (battleStatus->jumpLossTurns >= 0) { if (battleStatus->jumpLossTurns >= 0) {
battleStatus->jumpLossTurns--; battleStatus->jumpLossTurns--;
if (battleStatus->jumpLossTurns == -1) { if (battleStatus->jumpLossTurns == -1) {
script = start_script(RegainAbility, EVT_PRIORITY_A, 0); script = start_script(&RegainAbility, EVT_PRIORITY_A, 0);
player->takeTurnScript = script; player->takeTurnScript = script;
player->takeTurnID = script->id; player->takeTurnID = script->id;
script->varTable[0] = phi_s0_2; script->varTable[0] = temp;
script->owner1.actorID = ACTOR_PLAYER; script->owner1.actorID = ACTOR_PLAYER;
script->varTable[10] = 0; script->varTable[10] = 0;
battleStatus->unk_8C = 1; battleStatus->unk_8C = 1;
phi_s0_3 += 8; temp += 8;
} }
} }
if (battleStatus->itemLossTurns >= 0) { if (battleStatus->itemLossTurns >= 0) {
battleStatus->itemLossTurns--; battleStatus->itemLossTurns--;
if (battleStatus->itemLossTurns == -1) { if (battleStatus->itemLossTurns == -1) {
script = start_script(RegainAbility, EVT_PRIORITY_A, 0); script = start_script(&RegainAbility, EVT_PRIORITY_A, 0);
player->takeTurnScript = script; player->takeTurnScript = script;
player->takeTurnID = script->id; player->takeTurnID = script->id;
script->varTable[10] = 2; script->varTable[10] = 2;
script->owner1.actorID = ACTOR_PLAYER; script->owner1.actorID = ACTOR_PLAYER;
script->varTable[0] = phi_s0_3; script->varTable[0] = temp;
battleStatus->unk_8C = 1; battleStatus->unk_8C = 1;
} }
} }
@ -1016,9 +1019,6 @@ void btl_state_update_begin_player_turn(void) {
} }
} }
} }
#else
INCLUDE_ASM(s32, "16F740", btl_state_update_begin_player_turn);
#endif
void btl_state_draw_begin_player_turn(void) { void btl_state_draw_begin_player_turn(void) {
} }
@ -2884,60 +2884,60 @@ void btl_state_update_player_move(void) {
void btl_state_draw_player_move(void) { void btl_state_draw_player_move(void) {
} }
// control flow
#ifdef NON_MATCHING
void btl_state_update_end_player_turn(void) { void btl_state_update_end_player_turn(void) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;
Actor* player = battleStatus->playerActor; Actor* player = battleStatus->playerActor;
Actor* partner = battleStatus->partnerActor; Actor* partner = battleStatus->partnerActor;
s32 prevHPDrainCount;
Evt* script; Evt* script;
if (gBattleState2 == 0) { if (gBattleState2 == BATTLE_STATE2_UNK_0) {
if ((battleStatus->moveCategory == 2) && (battleStatus->itemUsesLeft >= 2)) { if (battleStatus->moveCategory == 2 && battleStatus->itemUsesLeft >= 2) {
gBattleState2 = 5; gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP;
} else if ( } else if (
((gBattleStatus.flags2 & 0x04000000) || !(gBattleStatus.flags2 & BS_FLAGS2_4000000) &&
is_ability_active(0x12) || !is_ability_active(ABILITY_HAPPY_HEART) &&
is_ability_active(0x1F) || !is_ability_active(ABILITY_CRAZY_HEART) &&
is_ability_active(0x34) !is_ability_active(ABILITY_HAPPY_FLOWER))
) &&
player->stoneStatus != 0xC &&
!battleStatus->outtaSightActive)
{ {
gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP;
} else if (player->stoneStatus == STATUS_STONE || battleStatus->outtaSightActive) {
gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP;
} else {
s32 prevHPDrainCount = 0; s32 prevHPDrainCount = 0;
s32 var_s2 = 0; s32 hpRecovery = 0;
s32 var_s4 = 0; s32 fpRecovery = 0;
if (gBattleStatus.flags2 & 0x04000000) { if (gBattleStatus.flags2 & BS_FLAGS2_4000000) {
prevHPDrainCount = battleStatus->hpDrainCount; prevHPDrainCount = battleStatus->hpDrainCount;
battleStatus->hpDrainCount = 0; battleStatus->hpDrainCount = 0;
} }
if (rand_int(100) < 50) { if (rand_int(100) < 50) {
var_s2 = is_ability_active(0x1F) * 3; hpRecovery = is_ability_active(ABILITY_CRAZY_HEART) * 3;
} }
if (rand_int(100) < 50) { if (rand_int(100) < 50) {
var_s2 += is_ability_active(0x12); hpRecovery += is_ability_active(ABILITY_HAPPY_HEART);
} }
if (rand_int(100) < 50) { if (rand_int(100) < 50) {
var_s4 = is_ability_active(0x34); fpRecovery = is_ability_active(ABILITY_HAPPY_FLOWER);
} }
if (prevHPDrainCount + var_s2 + var_s4 == 0) { if (prevHPDrainCount + hpRecovery + fpRecovery == 0) {
gBattleState2 = 5; gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP;
} else { } else {
battleStatus->battlePhase = PHASE_PLAYER_HAPPY; battleStatus->battlePhase = PHASE_PLAYER_HAPPY;
script = start_script(&PlayerScriptDispatcher, 0xA, 0); script = start_script(&PlayerScriptDispatcher, 0xA, 0);
player->takeTurnScript = script; player->takeTurnScript = script;
player->takeTurnID = script->id; player->takeTurnID = script->id;
script->owner1.actorID = ACTOR_PLAYER; script->owner1.actorID = ACTOR_PLAYER;
if (gBattleStatus.flags2 & 0x04000000) { if (gBattleStatus.flags2 & BS_FLAGS2_4000000) {
script->varTable[10] += battleStatus->hpDrainCount; script->varTable[10] += battleStatus->hpDrainCount;
battleStatus->hpDrainCount = 0; battleStatus->hpDrainCount = 0;
} }
script->varTable[10] = prevHPDrainCount; script->varTable[10] = prevHPDrainCount;
script->varTable[11] = var_s2; script->varTable[11] = hpRecovery;
script->varTable[12] = var_s4; script->varTable[12] = fpRecovery;
if (script->varTable[10] > 99) { if (script->varTable[10] > 99) {
script->varTable[10] = 99; script->varTable[10] = 99;
@ -2949,19 +2949,17 @@ void btl_state_update_end_player_turn(void) {
script->varTable[12] = 99; script->varTable[12] = 99;
} }
gBattleStatus.flags2 &= 0xFBFFFFFF; gBattleStatus.flags2 &= ~BS_FLAGS2_4000000;
gBattleState2 = 5; gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP;
} }
} else {
gBattleState2 = 5;
} }
} }
if (gBattleState2 == 5) { if (gBattleState2 == BATTLE_STATE2_BEGIN_LEVEL_UP) {
if ((player->takeTurnScript == NULL) || (does_script_exist(player->takeTurnID) == 0)) { if ((player->takeTurnScript == NULL) || !does_script_exist(player->takeTurnID)) {
player->takeTurnScript = NULL; player->takeTurnScript = NULL;
if (!(gBattleStatus.flags2 & 0x40) || (gBattleStatus.flags1 & 0x100000)) { if (!(gBattleStatus.flags2 & BS_FLAGS2_40) || (gBattleStatus.flags1 & BS_FLAGS1_100000)) {
gBattleState2 = 0xA; gBattleState2 = BATTLE_STATE2_PLAYER_DEFEATED;
} else { } else {
player->state.currentPos.x = player->homePos.x; player->state.currentPos.x = player->homePos.x;
player->state.currentPos.z = player->homePos.z; player->state.currentPos.z = player->homePos.z;
@ -2969,12 +2967,12 @@ void btl_state_update_end_player_turn(void) {
player->state.goalPos.z = partner->homePos.z; player->state.goalPos.z = partner->homePos.z;
player->state.moveTime = 4; player->state.moveTime = 4;
player->state.angle = 0.0f; player->state.angle = 0.0f;
gBattleState2 = 6; gBattleState2 = BATTLE_STATE2_LEVEL_UP_SHOW_HUD;
} }
} }
} }
if (gBattleState2 == 6) { if (gBattleState2 == BATTLE_STATE2_LEVEL_UP_SHOW_HUD) {
if (player->state.moveTime != 0) { if (player->state.moveTime != 0) {
player->currentPos.x += (player->state.goalPos.x - player->currentPos.x) / player->state.moveTime; player->currentPos.x += (player->state.goalPos.x - player->currentPos.x) / player->state.moveTime;
player->currentPos.z += (player->state.goalPos.z - player->currentPos.z) / player->state.moveTime; player->currentPos.z += (player->state.goalPos.z - player->currentPos.z) / player->state.moveTime;
@ -2998,73 +2996,71 @@ void btl_state_update_end_player_turn(void) {
player->homePos.z = player->currentPos.z; player->homePos.z = player->currentPos.z;
partner->homePos.x = partner->currentPos.x; partner->homePos.x = partner->currentPos.x;
partner->homePos.z = partner->currentPos.z; partner->homePos.z = partner->currentPos.z;
gBattleStatus.flags1 |= 0x100000; gBattleStatus.flags1 |= BS_FLAGS1_100000;
gBattleState2 = 0xA; gBattleState2 = BATTLE_STATE2_PLAYER_DEFEATED;
} }
} }
if (gBattleState2 == 0xA && !btl_check_enemies_defeated()) { if (gBattleState2 == BATTLE_STATE2_PLAYER_DEFEATED && !btl_check_enemies_defeated()) {
if (battleStatus->moveCategory == 2 && battleStatus->itemUsesLeft >= 2) { if (battleStatus->moveCategory == 2 && battleStatus->itemUsesLeft >= 2) {
btl_cam_use_preset(2); btl_cam_use_preset(BTL_CAM_PRESET_C);
btl_cam_move(0xA); btl_cam_move(10);
gBattleStatus.flags2 &= ~2; gBattleStatus.flags2 &= ~BS_FLAGS2_2;
} else { } else {
gBattleStatus.flags2 |= 2; gBattleStatus.flags2 |= BS_FLAGS2_2;
} }
if (battleStatus->unk_94 < 0) { if (battleStatus->unk_94 < 0) {
battleStatus->unk_94 = 0; battleStatus->unk_94 = 0;
battleStatus->itemUsesLeft = 0; battleStatus->itemUsesLeft = 0;
btl_set_state(6); btl_set_state(BATTLE_STATE_END_TURN);
return; return;
} }
if (battleStatus->itemUsesLeft != 0) { if (battleStatus->itemUsesLeft != 0) {
battleStatus->itemUsesLeft--; battleStatus->itemUsesLeft--;
if (battleStatus->itemUsesLeft != 0) { if (battleStatus->itemUsesLeft != 0) {
btl_set_state(0xC); btl_set_state(BATTLE_STATE_PREPARE_MENU);
gBattleState2 = 0x46; gBattleState2 = BATTLE_STATE2_UNK_46;
return; return;
} }
if (gBattleStatus.flags1 & 0x04000000) { if (gBattleStatus.flags1 & BS_FLAGS1_HUSTLE_DRINK_ON) {
if (battleStatus->hustleTurns != 0) { if (battleStatus->hustleTurns != 0) {
battleStatus->hustleTurns--; battleStatus->hustleTurns--;
} }
} }
if (battleStatus->hustleTurns != 0 && (gBattleStatus.flags1 & 0x04000000)) { if (battleStatus->hustleTurns != 0 && (gBattleStatus.flags1 & BS_FLAGS1_HUSTLE_DRINK_ON)) {
gBattleStatus.flags2 &= ~2; gBattleStatus.flags2 &= ~BS_FLAGS2_2;
btl_set_state(0xC);
btl_set_state(BATTLE_STATE_PREPARE_MENU);
} else { } else {
gBattleStatus.flags1 &= 0xFBFFFFFF; gBattleStatus.flags1 &= ~BS_FLAGS1_HUSTLE_DRINK_ON;
btl_set_state(8); btl_set_state(BATTLE_STATE_BEGIN_PARTNER_TURN);
} }
return; return;
} }
if (gBattleStatus.flags1 & 0x04000000) { if (gBattleStatus.flags1 & BS_FLAGS1_HUSTLE_DRINK_ON) {
if (battleStatus->hustleTurns != 0) { if (battleStatus->hustleTurns != 0) {
battleStatus->hustleTurns--; battleStatus->hustleTurns--;
} }
} }
if ((battleStatus->hustleTurns != 0) && (gBattleStatus.flags1 & 0x04000000)) { if (battleStatus->hustleTurns != 0 && (gBattleStatus.flags1 & BS_FLAGS1_HUSTLE_DRINK_ON)) {
gBattleStatus.flags2 &= ~2; gBattleStatus.flags2 &= ~BS_FLAGS2_2;
btl_set_state(0xC); btl_set_state(BATTLE_STATE_PREPARE_MENU);
} else { } else {
gBattleStatus.flags1 &= 0xFBFFFFFF; gBattleStatus.flags1 &= ~BS_FLAGS2_4000000;
if (!(gBattleStatus.flags2 & 0x40)) { if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) {
btl_set_state(8); btl_set_state(BATTLE_STATE_BEGIN_PARTNER_TURN);
} else { } else {
btl_set_state(9); btl_set_state(BATTLE_STATE_9);
} }
} }
} }
} }
#else
INCLUDE_ASM(s32, "16F740", btl_state_update_end_player_turn);
#endif
void btl_state_draw_end_player_turn(void) { void btl_state_draw_end_player_turn(void) {
} }
@ -3707,19 +3703,19 @@ void btl_state_update_first_strike(void) {
if (playerData->playerFirstStrikes < 9999) { if (playerData->playerFirstStrikes < 9999) {
playerData->playerFirstStrikes++; playerData->playerFirstStrikes++;
} }
battleStatus->rushFlags = 0; battleStatus->rushFlags = RUSH_FLAG_NONE;
gBattleStatus.flags2 &= ~BS_FLAGS2_8000000; gBattleStatus.flags2 &= ~BS_FLAGS2_8000000;
if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) { if (!(gBattleStatus.flags2 & BS_FLAGS2_40)) {
if (playerData->curHP < 2 && is_ability_active(ABILITY_MEGA_RUSH)) { if (playerData->curHP < 2 && is_ability_active(ABILITY_MEGA_RUSH)) {
gBattleStatus.flags2 |= BS_FLAGS2_8000000; gBattleStatus.flags2 |= BS_FLAGS2_8000000;
battleStatus->rushFlags |= 1; battleStatus->rushFlags |= RUSH_FLAG_MEGA;
} }
if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) && if (playerData->curHP < 6 && is_ability_active(ABILITY_POWER_RUSH) &&
!(battleStatus->rushFlags & RUSH_FLAG_MEGA)) !(battleStatus->rushFlags & RUSH_FLAG_MEGA))
{ {
gBattleStatus.flags2 |= BS_FLAGS2_8000000; gBattleStatus.flags2 |= BS_FLAGS2_8000000;
battleStatus->rushFlags |= 2; battleStatus->rushFlags |= RUSH_FLAG_POWER;
} }
} }

View File

@ -24,11 +24,29 @@
#include "battle/action_cmd/tidal_wave.h" #include "battle/action_cmd/tidal_wave.h"
#include "ld_addrs.h" #include "ld_addrs.h"
s32 D_80294190[] = { 0x2121751D, 0x23A3460C, 0xB46B0078, 0x730D1300, }; s8 D_80294190[5][3] = {
{ 0x21, 0x21, 0x75 },
{ 0x1D, 0x23, 0xA3 },
{ 0x46, 0x0C, 0xB4 },
{ 0x6B, 0x00, 0x78 },
{ 0x73, 0x0D, 0x13 }
};
s32 D_802941A0[] = { 0x00E4862E, 0xB4F27570, 0xFFF304BC, 0xF70D0500, }; s8 D_802941A0[5][3] = {
{ 0x00, 0xE4, 0x86 },
{ 0x2E, 0xB4, 0xF2 },
{ 0x75, 0x70, 0xFF },
{ 0xF3, 0x04, 0xBC },
{ 0xF7, 0x0D, 0x05 }
};
s32 D_802941B0[] = { 0x2D38D254, 0x28D17D2C, 0xB5A11B55, 0xFFFFFF00, }; s8 D_802941B0[5][3] = {
{ 0x2D, 0x38, 0xD2 },
{ 0x54, 0x28, 0xD1 },
{ 0x7D, 0x2C, 0xB5 },
{ 0xA1, 0x1B, 0x55 },
{ 0xFF, 0xFF, 0xFF }
};
s32 D_802941C0[] = { 7, 6, 5, 4, 3, 2, 1, 0 }; s32 D_802941C0[] = { 7, 6, 5, 4, 3, 2, 1, 0 };
@ -491,7 +509,7 @@ void func_80268C9C(void) {
void func_80268E88(void) { void func_80268E88(void) {
ActionCommandStatus* actionCmdStatus = &gActionCommandStatus; ActionCommandStatus* actionCmdStatus = &gActionCommandStatus;
actionCmdStatus->unk_00 = create_generic_entity_frontUI((s32 (*)(void)) func_80268938, func_80268AF8); actionCmdStatus->unk_00 = create_generic_entity_frontUI(func_80268938, func_80268AF8);
actionCmdStatus->actionCommandID = 0; actionCmdStatus->actionCommandID = 0;
} }
@ -519,7 +537,7 @@ s32 check_block_input(s32 buttonMask) {
} }
if (playerData->hitsTaken < 9999) { if (playerData->hitsTaken < 9999) {
playerData->hitsTaken += 1; playerData->hitsTaken++;
actionCommandStatus->hitsTakenIsMax = FALSE; actionCommandStatus->hitsTakenIsMax = FALSE;
} else { } else {
actionCommandStatus->hitsTakenIsMax = TRUE; actionCommandStatus->hitsTakenIsMax = TRUE;
@ -593,7 +611,7 @@ s32 check_block_input(s32 buttonMask) {
} }
} }
if (block && !actionCommandStatus->hitsTakenIsMax) { if (block && !actionCommandStatus->hitsTakenIsMax) {
playerData->hitsBlocked += 1; playerData->hitsBlocked++;
} }
return block; return block;

View File

@ -794,7 +794,7 @@ s32 calc_enemy_damage_target(Actor* attacker) {
return hitResult; return hitResult;
} }
// missing one move // missing one move, not equivalent
#ifdef NON_EQUIVALENT #ifdef NON_EQUIVALENT
s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEvent, s32 stopMotion) { s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEvent, s32 stopMotion) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;

View File

@ -47,103 +47,110 @@ void dispatch_event_partner_continue_turn(s8 lastEventType) {
} }
} }
#ifdef NON_EQUIVALENT
s32 calc_partner_test_enemy(void) { s32 calc_partner_test_enemy(void) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;
Actor* actor; Actor* partner = battleStatus->partnerActor;
Actor* partner; s32 currentTargetID = battleStatus->currentTargetID;
ActorPart* actorPart; s32 currentTargetPart = battleStatus->currentTargetPart;
ActorMovement* state; Actor* target;
s32 temp_s2; ActorState* state;
s32 new_var; ActorPart* part;
partner = battleStatus->partnerActor;
state = &partner->state;
temp_s2 = battleStatus->currentTargetPart;
new_var = battleStatus->currentTargetID;
battleStatus->currentTargetID2 = new_var;
battleStatus->currentTargetID2 = battleStatus->currentTargetID;
battleStatus->currentTargetPart2 = battleStatus->currentTargetPart; battleStatus->currentTargetPart2 = battleStatus->currentTargetPart;
actor = get_actor(battleStatus->currentTargetID); target = get_actor(currentTargetID);
state = &partner->state;
if (target != NULL) {
part = get_actor_part(target, currentTargetPart);
ASSERT(part != NULL);
if (actor != NULL) { if (target->stoneStatus == STATUS_STONE) {
actorPart = get_actor_part(actor, temp_s2); return 8;
ASSERT(actorPart != NULL); }
if (actor->stoneStatus != 0xC) {
if (!(actorPart->eventFlags & 0x20) && actor->transStatus != 0xE) {
if ((battleStatus->currentAttackElement & 0x80) != 0) {
if (actorPart->eventFlags & 0x10 && !(actor->flags2 & 0x800)) {
sfx_play_sound_at_position(SOUND_108, 0, partner->state.currentPos.x,
partner->state.currentPos.y, partner->state.currentPos.z);
return 4;
}
}
if (!(battleStatus->currentAttackElement & (0x10000000 | 0x80)) && if ((part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) || target->transparentStatus == STATUS_TRANSPARENT) {
(actorPart->eventFlags & 0x10000) && !(battleStatus->currentAttackEventSuppression & 4) && return 6;
!(player_team_is_ability_active(state, ABILITY_SPIKE_SHIELD))) { }
sfx_play_sound_at_position(SOUND_108, 0, partner->state.currentPos.x,
partner->state.currentPos.y, partner->state.currentPos.z); // TODO not sure about the flags2
dispatch_damage_event_partner_1(1, 0x2A); if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) &&
dispatch_event_actor(actor, 0x1B); (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) &&
!(target->flags2 & ACTOR_FLAG_HP_OFFSET_BELOW))
{
sfx_play_sound_at_position(SOUND_108, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
return 4;
}
if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) &&
(part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT) &&
!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_4) &&
!player_team_is_ability_active(partner, ABILITY_SPIKE_SHIELD))
{
sfx_play_sound_at_position(SOUND_108, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT);
dispatch_event_actor(target, EVENT_SPIKE_TAUNT);
return -1;
}
if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) &&
(part->eventFlags & ACTOR_EVENT_FLAG_FIREY) &&
!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_10))
{
sfx_play_sound_at_position(SOUND_HIT_FIRE, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT);
dispatch_event_actor(target, EVENT_BURN_TAUNT);
return -1;
}
if (battleStatus->currentAttackElement & DAMAGE_TYPE_AIR_LIFT) {
if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT)) {
if ((part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) &&
!(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) &&
!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_1))
{
sfx_play_sound_at_position(SOUND_108, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT);
dispatch_event_actor(target, EVENT_SPIKE_TAUNT);
return -1; return -1;
} }
if ((battleStatus->currentAttackElement & (0x10000000 | 0x40)) || if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) &&
!(actorPart->eventFlags & 2) || battleStatus->currentAttackEventSuppression & 0x10) { (part->eventFlags & ACTOR_EVENT_FLAG_200000) &&
if (battleStatus->currentAttackElement & 0x8000) { !(target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) &&
if (!(battleStatus->currentAttackElement & 0x10000000)) { !(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_80))
if ((actorPart->eventFlags & 0x10) && (!(actor->flags & 0x800))&& {
!(battleStatus->currentAttackEventSuppression & 1)) { sfx_play_sound_at_position(SOUND_108, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
sfx_play_sound_at_position(SOUND_108, 0, partner->state.currentPos.x, dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT);
partner->state.currentPos.y, partner->state.currentPos.z); dispatch_event_actor(target, EVENT_SPIKE_TAUNT);
dispatch_damage_event_partner_1(1, 0x2A); return -1;
dispatch_event_actor(actor, 0x1B);
return -1;
}
if ((!(battleStatus->currentAttackElement & 0x10000000)) &&
(actorPart->eventFlags & 0x200000) && !(actor->flags & 0x800) &&
!(battleStatus->currentAttackEventSuppression & 0x80)) {
sfx_play_sound_at_position(SOUND_108, 0, partner->state.currentPos.x,
partner->state.currentPos.y, partner->state.currentPos.z);
dispatch_damage_event_partner_1(1, 0x2A);
dispatch_event_actor(actor, 0x1B);
return -1;
}
}
if (actor->staticStatus == 0xB) {
//missing code here (?)
}
if ((actor->staticStatus == 0xB || actorPart->eventFlags & 0x80) &&
!(battleStatus->currentAttackElement & 0x10000000) &&
!(battleStatus->currentAttackEventSuppression & 8)) {
sfx_play_sound_at_position(SOUND_HIT_SHOCK, 0, partner->state.currentPos.x,
partner->state.currentPos.y, partner->state.currentPos.z);
func_80251474(partner);
dispatch_damage_event_partner_1(1, 0x2F);
return -1;
}
}
} }
//missing code here (?) }
sfx_play_sound_at_position(SOUND_HIT_FIRE, 0, partner->state.currentPos.x,
partner->state.currentPos.y, partner->state.currentPos.z); if (partner->staticStatus != STATUS_STATIC &&
dispatch_damage_event_partner_1(1, 0x2C); (target->staticStatus == STATUS_STATIC || (part->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) &&
dispatch_event_actor(actor, 0x1C); !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) &&
!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_8))
{
sfx_play_sound_at_position(SOUND_HIT_SHOCK, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
func_80251474(partner);
dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT);
return -1; return -1;
} }
return 6;
if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) &&
(part->eventFlags & ACTOR_EVENT_FLAG_FIREY) &&
!(battleStatus->currentAttackEventSuppression & ATTACK_EVENT_FLAG_10))
{
sfx_play_sound_at_position(SOUND_HIT_FIRE, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
dispatch_damage_event_partner_1(1, EVENT_BURN_CONTACT);
dispatch_event_actor(target, EVENT_BURN_TAUNT);
return -1;
}
dispatch_event_actor(target, EVENT_BEGIN_AIR_LIFT);
} }
return 8;
} }
return 0; return 0;
} }
#else
INCLUDE_ASM(s32, "1AC760", calc_partner_test_enemy);
#endif
s32 calc_partner_damage_enemy(void) { s32 calc_partner_damage_enemy(void) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;
@ -795,32 +802,28 @@ s32 calc_partner_damage_enemy(void) {
s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) { s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) {
BattleStatus* battleStatus = &gBattleStatus; BattleStatus* battleStatus = &gBattleStatus;
Actor* partner = battleStatus->partnerActor; Actor* partner = battleStatus->partnerActor;
ActorMovement* state = &partner->state; ActorState* state;
s32 hpChange;
s32 flagCheck; s32 flagCheck;
s32 temp_a1;
s16 temp_v1;
battleStatus->currentAttackDamage = damageAmount; battleStatus->currentAttackDamage = damageAmount;
partner->currentHP = 127; partner->currentHP = 127;
temp_v1 = partner->hpChangeCounter + damageAmount;
temp_a1 = temp_v1;
partner->hpChangeCounter += damageAmount; partner->hpChangeCounter += damageAmount;
partner->hpChangeCounter -= temp_a1; hpChange = partner->hpChangeCounter;
partner->damageCounter += temp_a1; partner->hpChangeCounter -= hpChange;
partner->damageCounter += hpChange;
battleStatus->lastAttackDamage = 0; battleStatus->lastAttackDamage = 0;
partner->currentHP -= temp_a1; partner->currentHP -= hpChange;
state = &partner->state;
if (partner->currentHP <= 0) { if (partner->currentHP <= 0) {
event = EVENT_DEATH;
battleStatus->lastAttackDamage += partner->currentHP; battleStatus->lastAttackDamage += partner->currentHP;
partner->currentHP = 0; partner->currentHP = 0;
event = 0x20;
} }
battleStatus->lastAttackDamage += hpChange;
battleStatus->lastAttackDamage += temp_a1;
partner->lastDamageTaken = battleStatus->lastAttackDamage; partner->lastDamageTaken = battleStatus->lastAttackDamage;
battleStatus->unk_19A = 0; battleStatus->unk_19A = 0;
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
if (battleStatus->flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
if (event == 0x9) { if (event == 0x9) {
event = 0xA; event = 0xA;
} }
@ -850,7 +853,7 @@ s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) {
partner->flags |= 0x80000; partner->flags |= 0x80000;
flagCheck = (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40))) != 0; flagCheck = (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) != 0;
dispatch_event_partner(event); dispatch_event_partner(event);
return flagCheck; return flagCheck;
} }

View File

@ -113,16 +113,16 @@ void func_8005E12C(Npc* npc) {
switch (blur->unk_288) { switch (blur->unk_288) {
case 0: case 0:
npcX = npc->pos.x;
npcZ = npc->pos.z;
part = &blur->unk_00[blur->unk_284]; part = &blur->unk_00[blur->unk_284];
partX = part->pos.x; partX = part->pos.x;
partZ = part->pos.z; partZ = part->pos.z;
npcX = npc->pos.x;
npcZ = npc->pos.z;
sp28 = npcX; sp28 = npcX;
sp2C = npc->pos.y; sp2C = npc->pos.y;
sp30 = npcZ; sp30 = npcZ;
npc->moveSpeed = blur->unk_294; npc->moveSpeed = blur->unk_294;
dist = dist2D(npcX, npcZ, x, z); dist = dist2D(npc->pos.x, npc->pos.z, x, z);
if (blur->unk_2A0 <= dist) { if (blur->unk_2A0 <= dist) {
npc->moveSpeed = blur->unk_298; npc->moveSpeed = blur->unk_298;
} }
@ -207,19 +207,17 @@ void func_8005E12C(Npc* npc) {
npc->duration = 0; npc->duration = 0;
npc->jumpScale = 2.0f; npc->jumpScale = 2.0f;
npc->moveSpeed = blur->unk_298; npc->moveSpeed = blur->unk_298;
npc->planarFlyDist = dist2D(npc->pos.x, npc->pos.z, partX, partZ); npc->planarFlyDist = dist2D(npc->pos.x, npc->pos.z, npc->moveToPos.x, npc->moveToPos.z);
npc->yaw = atan2(npc->pos.x, npc->pos.z, npc->moveToPos.x, npc->moveToPos.z); npc->yaw = atan2(npc->pos.x, npc->pos.z, npc->moveToPos.x, npc->moveToPos.z);
dist = npc->planarFlyDist; dist = npc->planarFlyDist;
sp2C = npc->moveToPos.y - npc->pos.y; sp2C = partY - npc->pos.y;
if (dist < sp2C) { if (dist < sp2C) {
dist = sp2C; dist = sp2C;
} }
if (dist < blur->unk_29C) { if (dist < blur->unk_29C) {
npcX = npc->pos.x;
npcZ = npc->pos.z;
npc->jumpVelocity = 0.0f; npc->jumpVelocity = 0.0f;
npc->flags |= NPC_FLAG_GRAVITY; npc->flags |= NPC_FLAG_GRAVITY;
npc->yaw = atan2(npcX, npcZ, x, z); npc->yaw = atan2(npc->pos.x, npc->pos.z, x, z);
blur->unk_288 = 0; blur->unk_288 = 0;
return; return;
} }
@ -246,14 +244,14 @@ void func_8005E12C(Npc* npc) {
sp30 = npc->pos.z; sp30 = npc->pos.z;
dist = fabsf(npc->jumpVelocity) + 8.0; dist = fabsf(npc->jumpVelocity) + 8.0;
sp2C = npc->pos.y + dist; sp2C = npc->pos.y + dist;
if ((npc_raycast_down_sides(npc->collisionChannel, &sp28, &sp2C, &sp30, &dist) != 0) && ((f64) dist <= ((f64) fabsf(npc->jumpVelocity) + 8.0))) { if ((npc_raycast_down_sides(npc->collisionChannel, &sp28, &sp2C, &sp30, &dist) != 0) &&
(dist <= (fabsf(npc->jumpVelocity) + 8.0)))
{
npc->currentAnim = blur->animIDs[3]; npc->currentAnim = blur->animIDs[3];
npcX = sp28;
npcZ = sp30;
npc->jumpVelocity = 0.0f; npc->jumpVelocity = 0.0f;
npc->pos.y = sp2C; npc->pos.y = sp2C;
npc->flags |= NPC_FLAG_GRAVITY; npc->flags |= NPC_FLAG_GRAVITY;
npc->yaw = atan2(npcX, npcZ, x, z); npc->yaw = atan2(sp28, sp30, x, z);
blur->unk_288 = 0; blur->unk_288 = 0;
} }
} }

View File

@ -6,6 +6,7 @@
#include "sparkle_script.h" #include "sparkle_script.h"
#include "item_entity.h" #include "item_entity.h"
#include "message_ids.h" #include "message_ids.h"
#include "nu/nusys.h"
#define MAX_ITEM_ENTITIES 256 #define MAX_ITEM_ENTITIES 256
@ -25,6 +26,9 @@ extern Lights1 D_8014C6C8;
extern HudCacheEntry* gHudElementCacheTableRaster; extern HudCacheEntry* gHudElementCacheTableRaster;
extern HudCacheEntry* gHudElementCacheTablePalette; extern HudCacheEntry* gHudElementCacheTablePalette;
extern u8* gHudElementCacheBuffer;
extern s32* gHudElementCacheSize;
extern s32 ItemEntitiesCreated; extern s32 ItemEntitiesCreated;
extern s32 D_80155D80; extern s32 D_80155D80;
extern s32 ItemEntityAlternatingSpawn; extern s32 ItemEntityAlternatingSpawn;
@ -47,7 +51,6 @@ extern EffectInstance* D_801568F0;
extern MessagePrintState* D_801568F4; extern MessagePrintState* D_801568F4;
extern s32 D_801568F8; extern s32 D_801568F8;
void item_entity_load(ItemEntity*);
void item_entity_update(ItemEntity*); void item_entity_update(ItemEntity*);
void appendGfx_item_entity(void*); void appendGfx_item_entity(void*);
void draw_item_entities(void); void draw_item_entities(void);
@ -766,6 +769,7 @@ void init_item_entity_list(void) {
ItemEntityAlternatingSpawn = 0; ItemEntityAlternatingSpawn = 0;
} }
void item_entity_load(ItemEntity* item);
INCLUDE_ASM(s32, "C50A0", item_entity_load); INCLUDE_ASM(s32, "C50A0", item_entity_load);
s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 facingAngleSign, s32 pickupFlagIndex) { s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 facingAngleSign, s32 pickupFlagIndex) {

View File

@ -6,6 +6,10 @@
#include "ItemRefund.inc.c" #include "ItemRefund.inc.c"
void virtual_entity_set_pos(s32, s32, s32, s32);
void virtual_entity_set_scale(s32, f32, f32, f32);
void virtual_entity_delete_by_index(s32);
#ifdef NON_EQUIVALENT #ifdef NON_EQUIVALENT
extern Vec3f D_802A3F88; extern Vec3f D_802A3F88;
@ -40,10 +44,6 @@ s32 N(D_802A3F28_721578)[] = {
0x802A32E0, 0x802A3260 0x802A32E0, 0x802A3260
}; };
void virtual_entity_set_pos(s32, s32, s32, s32);
void virtual_entity_set_scale(s32, f32, f32, f32);
void virtual_entity_delete_by_index(s32);
ApiStatus func_802A123C_71E88C(Evt* script, s32 isInitialCall) { ApiStatus func_802A123C_71E88C(Evt* script, s32 isInitialCall) {
s32 i; s32 i;
Vec3f vecf; Vec3f vecf;

View File

@ -65,6 +65,7 @@ ApiStatus func_8023803C_70BD4C(Evt* script, s32 isInitialCall) {
ActorPart* part; ActorPart* part;
ActorState* playerState; ActorState* playerState;
ActorState* partnerState; ActorState* partnerState;
f32 speed;
f32 dpadX; f32 dpadX;
s32 dpadY; s32 dpadY;
s32 id; s32 id;
@ -199,8 +200,9 @@ ApiStatus func_8023803C_70BD4C(Evt* script, s32 isInitialCall) {
theta = DEG_TO_RAD(D_8023D2B4); theta = DEG_TO_RAD(D_8023D2B4);
sinTheta = sin_rad(theta); sinTheta = sin_rad(theta);
cosTheta = cos_rad(theta); cosTheta = cos_rad(theta);
partnerState->currentPos.x += partnerState->speed * sinTheta; speed = partnerState->speed;
partnerState->currentPos.y += partnerState->speed * cosTheta; partnerState->currentPos.x += speed * sinTheta;
partnerState->currentPos.y += speed * cosTheta;
} }
if (partnerState->currentPos.x < -30.0f) { if (partnerState->currentPos.x < -30.0f) {
partnerState->currentPos.x = -30.0f; partnerState->currentPos.x = -30.0f;
@ -261,18 +263,20 @@ ApiStatus func_8023803C_70BD4C(Evt* script, s32 isInitialCall) {
&screenX, &screenY, &screenZ); &screenX, &screenY, &screenZ);
hud_element_set_render_pos(D_8023D288, screenX, screenY); hud_element_set_render_pos(D_8023D288, screenX, screenY);
temp_v1_2 = script->functionTemp[0]; switch (script->functionTemp[0]) {
if (temp_v1_2 < 3 && temp_v1_2 > 0) { case 1:
D_8023D2C0 += 20; case 2:
if (D_8023D2C0 > 50) { D_8023D2C0 += 20;
D_8023D2C0 = 50; if (D_8023D2C0 > 50) {
} D_8023D2C0 = 50;
hud_element_set_render_pos(D_8023D2BC, D_8023D2C0, D_8023D2C4); }
hud_element_set_render_pos(D_8023D2BC, D_8023D2C0, D_8023D2C4);
break;
} }
temp_a0_2 = script->functionTemp[0]; switch (script->functionTemp[0]) {
if (temp_a0_2 < 3) { case 1:
if (temp_a0_2 > 0) { case 2:
playerState->currentPos.x = partnerState->currentPos.x; playerState->currentPos.x = partnerState->currentPos.x;
playerState->currentPos.y = partnerState->currentPos.y; playerState->currentPos.y = partnerState->currentPos.y;
playerState->currentPos.z = partnerState->currentPos.z; playerState->currentPos.z = partnerState->currentPos.z;
@ -281,7 +285,7 @@ ApiStatus func_8023803C_70BD4C(Evt* script, s32 isInitialCall) {
id = D_8023D2B8[i]; id = D_8023D2B8[i];
hud_element_set_render_pos(id, screenX, screenY); hud_element_set_render_pos(id, screenX, screenY);
} }
} break;
} }
btl_set_popup_duration(99); btl_set_popup_duration(99);

View File

@ -42,9 +42,9 @@ EffectInstance* motion_blur_flame_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f
data->unk_04 = arg1; data->unk_04 = arg1;
data->unk_08 = arg2; data->unk_08 = arg2;
data->unk_0C = arg3; data->unk_0C = arg3;
data->position.x = 0; data->pos.x = 0;
data->position.y = 0; data->pos.y = 0;
data->position.z = 0; data->pos.z = 0;
data->unk_5C = 255; data->unk_5C = 255;
data->unk_60 = 255; data->unk_60 = 255;
data->unk_64 = 255; data->unk_64 = 255;

View File

@ -58,11 +58,10 @@ void star_outline_init(EffectInstance* effect) {
void star_outline_update(EffectInstance* effect) { void star_outline_update(EffectInstance* effect) {
StarOutlineFXData* data = effect->data.starOutline; StarOutlineFXData* data = effect->data.starOutline;
f32 temp_f20;
s32 lifeTime;
s32 temp_v1_3;
s32 temp_v1_4;
s32 temp_a2 = data->unk_02; s32 temp_a2 = data->unk_02;
s32 lifeTime;
s32 temp;
s32 temp2;
if (effect->flags & 16) { if (effect->flags & 16) {
effect->flags &= ~16; effect->flags &= ~16;
@ -80,21 +79,21 @@ void star_outline_update(EffectInstance* effect) {
} }
lifeTime = data->lifeTime; lifeTime = data->lifeTime;
if (data->timeLeft < 16) { if (data->timeLeft < 16) {
temp_v1_3 = data->timeLeft * 16; temp = data->timeLeft * 16;
if (temp_v1_3 < data->unk_24) { if (data->unk_24 > temp) {
data->unk_24 = temp_v1_3; data->unk_24 = temp;
} }
if (temp_v1_3 < data->unk_34) { if (data->unk_34 > temp) {
data->unk_34 = temp_v1_3; data->unk_34 = temp;
} }
} }
if (lifeTime < 16) { if (lifeTime < 16) {
temp_v1_4 = (lifeTime * 16) + 15; temp2 = (lifeTime * 16) + 15;
if (data->unk_24 < temp_v1_4) { if (data->unk_24 < temp2) {
data->unk_24 = temp_v1_4; data->unk_24 = temp2;
} }
if (data->unk_34 < temp_v1_4) { if (data->unk_34 < temp2) {
data->unk_34 = temp_v1_4; data->unk_34 = temp2;
} }
} }
data->unk_48 = data->unk_3C.x; data->unk_48 = data->unk_3C.x;
@ -102,19 +101,20 @@ void star_outline_update(EffectInstance* effect) {
data->unk_50 = data->unk_3C.z; data->unk_50 = data->unk_3C.z;
data->unk_54 = data->unk_38; data->unk_54 = data->unk_38;
if (temp_a2 == 1) { if (temp_a2 == 1) {
temp_f20 = lifeTime; f32 lifetimeF = lifeTime;
data->unk_3C.x = lifeTime * 4; data->unk_3C.x = lifeTime * 4;
data->unk_24 = 255; data->unk_24 = 255;
data->unk_3C.y = (lifeTime * 4.0f * 0.4953); data->unk_3C.y = (lifeTime * 4.0f * 0.4953);
data->unk_3C.z = (lifeTime * 4.0f * 0.2234); data->unk_3C.z = (lifeTime * 4.0f * 0.2234);
data->unk_34 = ((shim_sin_deg (temp_f20 * 7.12343)) * 127.0f) + 128.0f; data->unk_34 = ((shim_sin_deg (lifetimeF * 7.12343)) * 127.0f) + 128.0f;
data->unk_18 = ((shim_sin_deg (temp_f20 * 1.231)) * 127.0f) + 215.0f; data->unk_18 = ((shim_sin_deg (lifetimeF * 1.231)) * 127.0f) + 215.0f;
data->unk_1C = ((shim_sin_deg (temp_f20 * 0.531)) * 127.0f) + 215.0f; data->unk_1C = ((shim_sin_deg (lifetimeF * 0.531)) * 127.0f) + 215.0f;
data->unk_20 = ((shim_sin_deg (temp_f20 * 3.231)) * 127.0f) + 215.0f; data->unk_20 = ((shim_sin_deg (lifetimeF * 3.231)) * 127.0f) + 215.0f;
data->unk_28 = ((shim_sin_deg (temp_f20 * 0.298)) * 127.0f) + 188.0f; data->unk_28 = ((shim_sin_deg (lifetimeF * 0.298)) * 127.0f) + 188.0f;
data->unk_2C = ((shim_sin_deg (temp_f20 * 0.831)) * 127.0f) + 188.0f; data->unk_2C = ((shim_sin_deg (lifetimeF * 0.831)) * 127.0f) + 188.0f;
data->unk_30 = ((shim_sin_deg (temp_f20 * 2.231)) * 127.0f) + 188.0f; data->unk_30 = ((shim_sin_deg (lifetimeF * 2.231)) * 127.0f) + 188.0f;
data->unk_38 = ((shim_sin_deg (temp_f20 * 2.044)) * 0.3) + 0.7; data->unk_38 = ((shim_sin_deg (lifetimeF * 2.044)) * 0.3) + 0.7;
} }
if (lifeTime == 1) { if (lifeTime == 1) {
data->unk_48 = data->unk_3C.x; data->unk_48 = data->unk_3C.x;

View File

@ -1,4 +1,5 @@
#include "hos_02.h" #include "hos_02.h"
#include "effects.h"
static char* N(exit_str_0) = "hos_01"; static char* N(exit_str_0) = "hos_01";
static char* N(exit_str_1) = "hos_03"; static char* N(exit_str_1) = "hos_03";
@ -113,6 +114,24 @@ void func_80240BFC_A16E1C(void) {
D_802433B4_A195D4 += 0x253; D_802433B4_A195D4 += 0x253;
} }
INCLUDE_ASM(s32, "world/area_hos/hos_02/A16220", func_80240EF4_A17114); ApiStatus func_80240EF4_A17114(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
INCLUDE_ASM(s32, "world/area_hos/hos_02/A16220", func_80240F68_A17188); effect->data.unk_75->unk_78 = 190.0f;
effect->data.unk_75->unk_7C = 220.0f;
effect->data.unk_75->unk_68 = 0.7f;
effect->data.unk_75->unk_38 = 255;
return ApiStatus_DONE2;
}
ApiStatus func_80240F68_A17188(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
effect->data.unk_75->unk_78 = 170.0f;
effect->data.unk_75->unk_7C = 170.0f;
effect->data.unk_75->unk_68 = 2.0f;
effect->data.unk_75->unk_38 = 255;
return ApiStatus_DONE2;
}

View File

@ -1,11 +1,97 @@
#include "hos_04.h" #include "hos_04.h"
const char D_80243330_A2A200[] = "hos_20\0\0kpa_60\0\0hos_00\0\0osr_03\0\0hos_05"; extern u32 D_80243250_A2A120; // mode
extern s32 D_80243254_A2A124; // alpha related
extern s32* D_80243258_A2A128;
extern s32* D_80243284_A2A154[4]; // array of pointers to ints
extern s32 D_80243284_A2A154; const char N(exit_str_0)[] = "hos_20";
const char N(exit_str_1)[] = "kpa_60";
const char N(exit_str_2)[] = "hos_00";
const char N(exit_str_3)[] = "osr_03";
const char N(exit_str_4)[] = "hos_05";
void func_80240BD0_A27AA0(s32*); // BSS
INCLUDE_ASM(s32, "world/area_hos/hos_04/A27AA0", func_80240BD0_A27AA0); extern s32 D_80243380;
void func_80240BD0_A27AA0(s32** arg0) {
u8 type;
f32 zoom1;
f32 zoom2;
s32 messageID;
s32 opacity;
s32 yOffset;
s32 t;
s32 t2;
if (D_80243258_A2A128 == NULL) {
D_80243258_A2A128 = arg0[D_800779B0];
}
switch (D_80243250_A2A120) {
case 0:
if (D_80243258_A2A128[0] == -1) {
D_80243250_A2A120 = 4;
D_80243380 = D_80243258_A2A128[1];
} else {
D_80243254_A2A124 += 10;
if (D_80243254_A2A124 > 255) {
D_80243254_A2A124 = 255;
D_80243250_A2A120 = 1;
D_80243380 = D_80243258_A2A128[1];
}
}
break;
case 1:
if (D_80243380 == 0) {
D_80243250_A2A120 = 2;
} else {
D_80243380--;
}
break;
case 2:
D_80243254_A2A124 -= 10;
if (D_80243254_A2A124 < 0) {
D_80243254_A2A124 = 0;
t = D_80243258_A2A128[2];
D_80243258_A2A128 += 2;
if (t == 0) {
D_80243250_A2A120 = 3;
} else {
D_80243250_A2A120 = 0;
}
}
break;
case 3:
break;
case 4:
if (D_80243380 != 0) {
D_80243380--;
break;
}
t2 = D_80243258_A2A128[2];
D_80243258_A2A128 += 2;
if (t2 == 0) {
D_80243250_A2A120 = 3;
} else {
D_80243250_A2A120 = 0;
}
break;
}
get_screen_overlay_params(1, &type, &zoom1);
get_screen_overlay_params(0, &type, &zoom2);
opacity = ((D_80243254_A2A124 * (255.0f - zoom1) * (255.0f - zoom2)) / 255.0f) / 255.0f;
if (opacity > 0) {
messageID = D_80243258_A2A128[0];
if (messageID != 0) {
yOffset = 0;
if (get_msg_lines(messageID) >= 2) {
yOffset = -7;
}
draw_msg(D_80243258_A2A128[0], 0, yOffset + 196, opacity, -1, 0);
}
}
}
ApiStatus func_80240E40_A27D10(Evt* script) { ApiStatus func_80240E40_A27D10(Evt* script) {
Bytecode* args = script->ptrReadPos; Bytecode* args = script->ptrReadPos;
@ -15,5 +101,5 @@ ApiStatus func_80240E40_A27D10(Evt* script) {
} }
void func_80240E6C_A27D3C(void) { void func_80240E6C_A27D3C(void) {
func_80240BD0_A27AA0(&D_80243284_A2A154); func_80240BD0_A27AA0(D_80243284_A2A154);
} }

View File

@ -99,7 +99,25 @@ INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_80240F88_A2B1C8);
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_80240FE0_A2B220); INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_80240FE0_A2B220);
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_80241044_A2B284); void func_80241044_A2B284(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32* arg4) {
f32 temp_f2 = arg1 - arg2;
if (arg1 - arg0 > 0.0f) {
if (temp_f2 < 0.0f) {
*arg4 = arg1;
} else if (arg3 < temp_f2) {
*arg4 += arg3;
} else {
*arg4 += temp_f2;
}
} else if (temp_f2 > 0.0f) {
*arg4 = arg1;
} else if (temp_f2 < -arg3) {
*arg4 -= arg3;
} else {
*arg4 += temp_f2;
}
}
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_802410E4_A2B324); INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_802410E4_A2B324);

View File

@ -1,6 +1,106 @@
#include "hos_05.h" #include "hos_05.h"
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EC30", func_802449F0_A2EC30); u32 D_8024DA90_A37CD0 = 0; // mode
s32 D_8024DA94_A37CD4 = 0; // alpha related
s32* D_8024DA98_A37CD8 = NULL;
s32 D_8024DA9C_A37CDC[] = {
-1, 30, 1, 50, 2, 50, -1, 50, 3, 50, 4, 50, 5, 50, -1, 50, 6, 50, 7, 50, 8, 50, -1, 50, 9, 50, 10, 50, 11, 50,
-1, 50, 12, 30, 13, 30, 14, 50, 15, 30, 16, 30, 17, 30, 18, 50, 19, 30, -1, 40, 20, 56, -1, 50, 21, 30,
-1, 30, 22, 50, -1, 30, 23, 50, 24, 50, -1, 60, 25, 50, -1, 24, 26, 30, 0, 0
};
s32* D_8024DBCC_A37E0C[4] = { D_8024DA9C_A37CDC, D_8024DA9C_A37CDC, D_8024DA9C_A37CDC, D_8024DA9C_A37CDC };
EvtScript D_8024DBDC_A37E1C = {
EVT_CALL(GetEntryID, LocalVar(0))
EVT_SWITCH(LocalVar(0))
EVT_CASE_EQ(3)
EVT_CALL(func_80244C60_A2EEA0, EVT_PTR(func_80244C8C_A2EECC))
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
// BSS
extern s32 D_8024F570;
void func_802449F0_A2EC30(s32** arg0) {
u8 type;
f32 zoom1;
f32 zoom2;
s32 messageID;
s32 opacity;
s32 yOffset;
s32 t;
s32 t2;
if (D_8024DA98_A37CD8 == NULL) {
D_8024DA98_A37CD8 = arg0[D_800779B0];
}
switch (D_8024DA90_A37CD0) {
case 0:
if (D_8024DA98_A37CD8[0] == -1) {
D_8024DA90_A37CD0 = 4;
D_8024F570 = D_8024DA98_A37CD8[1];
} else {
D_8024DA94_A37CD4 += 10;
if (D_8024DA94_A37CD4 > 255) {
D_8024DA94_A37CD4 = 255;
D_8024DA90_A37CD0 = 1;
D_8024F570 = D_8024DA98_A37CD8[1];
}
}
break;
case 1:
if (D_8024F570 == 0) {
D_8024DA90_A37CD0 = 2;
} else {
D_8024F570--;
}
break;
case 2:
D_8024DA94_A37CD4 -= 10;
if (D_8024DA94_A37CD4 < 0) {
D_8024DA94_A37CD4 = 0;
t = D_8024DA98_A37CD8[2];
D_8024DA98_A37CD8 += 2;
if (t == 0) {
D_8024DA90_A37CD0 = 3;
} else {
D_8024DA90_A37CD0 = 0;
}
}
break;
case 3:
break;
case 4:
if (D_8024F570 != 0) {
D_8024F570--;
break;
}
t2 = D_8024DA98_A37CD8[2];
D_8024DA98_A37CD8 += 2;
if (t2 == 0) {
D_8024DA90_A37CD0 = 3;
} else {
D_8024DA90_A37CD0 = 0;
}
break;
}
get_screen_overlay_params(1, &type, &zoom1);
get_screen_overlay_params(0, &type, &zoom2);
opacity = ((D_8024DA94_A37CD4 * (255.0f - zoom1) * (255.0f - zoom2)) / 255.0f) / 255.0f;
if (opacity > 0) {
messageID = D_8024DA98_A37CD8[0];
if (messageID != 0) {
yOffset = 0;
if (get_msg_lines(messageID) >= 2) {
yOffset = -7;
}
draw_msg(D_8024DA98_A37CD8[0], 0, yOffset + 196, opacity, -1, 0);
}
}
}
ApiStatus func_80244C60_A2EEA0(Evt* script, s32 isInitialCall) { ApiStatus func_80244C60_A2EEA0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos; Bytecode* args = script->ptrReadPos;
@ -10,4 +110,9 @@ ApiStatus func_80244C60_A2EEA0(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EC30", func_80244C8C_A2EECC); void func_80244C8C_A2EECC(void) {
func_80243100_A2D340();
func_802449F0_A2EC30(D_8024DBCC_A37E0C);
}
static const f32 padding[2] = { 0.0f, 0.0f };

View File

@ -1,8 +1,9 @@
#include "hos_05.h" #include "hos_05.h"
#include "model.h" #include "model.h"
extern u8 D_8024DCCF_A37F0F; extern s32 D_8024DCCC_A37F0C;
extern u8 D_8024DCD3_A37F13; extern s32 D_8024DCD0_A37F10;
extern s16 D_802D9D72; // something wrong with this / the next
extern u8 D_802D9D73; extern u8 D_802D9D73;
#define NAMESPACE dup_hos_05 #define NAMESPACE dup_hos_05
@ -12,10 +13,9 @@ extern u8 D_802D9D73;
#define NAMESPACE hos_05 #define NAMESPACE hos_05
// should match when preceding bss is worked out
#ifdef NON_MATCHING
ApiStatus func_802452C4_A2F504(Evt* script, s32 isInitialCall) { ApiStatus func_802452C4_A2F504(Evt* script, s32 isInitialCall) {
Bytecode* args; Bytecode* args;
static char N(bss_padding)[0x2B0]; // TODO remove / relocate this
static u8 oldPrimR, oldPrimG, oldPrimB; static u8 oldPrimR, oldPrimG, oldPrimB;
static u8 oldEnvR, oldEnvG, oldEnvB; static u8 oldEnvR, oldEnvG, oldEnvB;
static s32 newPrimR, newPrimG, newPrimB; static s32 newPrimR, newPrimG, newPrimB;
@ -53,9 +53,6 @@ ApiStatus func_802452C4_A2F504(Evt* script, s32 isInitialCall) {
} }
return ApiStatus_BLOCK; return ApiStatus_BLOCK;
} }
#else
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_802452C4_A2F504);
#endif
void func_8024564C_A2F88C(void) { void func_8024564C_A2F88C(void) {
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0,
@ -63,23 +60,38 @@ void func_8024564C_A2F88C(void) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_802D9D73); gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_802D9D73);
} }
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_8024569C_A2F8DC); ApiStatus func_8024569C_A2F8DC(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_802D9D72 = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
void func_802456C8_A2F908(void) { void func_802456C8_A2F908(void) {
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0,
PRIMITIVE, 0); PRIMITIVE, 0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_8024DCCF_A37F0F); gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_8024DCCC_A37F0C);
} }
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_80245718_A2F958); ApiStatus func_80245718_A2F958(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_8024DCCC_A37F0C = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
void func_80245744_A2F984(void) { void func_80245744_A2F984(void) {
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0,
PRIMITIVE, 0); PRIMITIVE, 0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_8024DCD3_A37F13); gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_8024DCD0_A37F10);
} }
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_80245794_A2F9D4); ApiStatus func_80245794_A2F9D4(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_8024DCD0_A37F10 = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_802457C0_A2FA00(Evt* script, s32 isInitialCall) { ApiStatus func_802457C0_A2FA00(Evt* script, s32 isInitialCall) {
Camera* camera = &gCameras[CAM_DEFAULT]; Camera* camera = &gCameras[CAM_DEFAULT];

View File

@ -7,3 +7,7 @@
#include "map.h" #include "map.h"
#define NAMESPACE hos_05 #define NAMESPACE hos_05
void func_80243100_A2D340(void);
ApiStatus func_80244C60_A2EEA0(Evt* script, s32 isInitialCall);
void func_80244C8C_A2EECC(void);

View File

@ -1,9 +1,13 @@
#include "hos_06.h" #include "hos_06.h"
#include "effects.h"
#include "model.h"
#include "world/common/todo/GetNpcCollisionHeight.inc.c" #include "world/common/todo/GetNpcCollisionHeight.inc.c"
#include "world/common/todo/AddPlayerHandsOffset.inc.c" #include "world/common/todo/AddPlayerHandsOffset.inc.c"
extern u8 D_802447D0_A3DCB0[];
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80240F7C_A3A45C); INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80240F7C_A3A45C);
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80240FD0_A3A4B0); INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80240FD0_A3A4B0);
@ -64,18 +68,180 @@ INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_802414E4_A3A9C4);
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80241668_A3AB48); INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80241668_A3AB48);
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_802417EC_A3ACCC); ApiStatus func_802417EC_A3ACCC(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 idx = evt_get_variable(script, *args++);
s32 outVar = *args++;
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80241860_A3AD40); if (gPlayerData.coins < D_802447D0_A3DCB0[idx]) {
evt_set_variable(script, outVar, TRUE);
} else {
evt_set_variable(script, outVar, FALSE);
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_802418A4_A3AD84); ApiStatus func_80241860_A3AD40(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 idx = evt_get_variable(script, *args++);
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_802418E8_A3ADC8); gPlayerData.coins -= D_802447D0_A3DCB0[idx];
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80241A58_A3AF38); ApiStatus func_802418A4_A3AD84(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 idx = evt_get_variable(script, *args++);
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80241B74_A3B054); gPlayerData.coins += D_802447D0_A3DCB0[idx];
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80241CCC_A3B1AC); ApiStatus func_802418E8_A3ADC8(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, 3);
set_model_env_color_parameters(255, 255, 255, 0, 0, 0);
script->functionTemp[0] = 255;
}
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3A230", func_80241F98_A3B478); script->functionTemp[0] -= 4;
if (script->functionTemp[0] < 64) {
script->functionTemp[0] = 64;
}
set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0);
if (script->functionTemp[0] == 64) {
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus func_80241A58_A3AF38(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
script->functionTemp[0] = 64;
script->functionTemp[2] = 64;
script->functionTemp[1] = 0;
}
if (script->functionTemp[1] == 0) {
script->functionTemp[0] += 4;
script->functionTemp[2] += 4;
if (script->functionTemp[0] > 127) {
script->functionTemp[0] = 127;
}
if (script->functionTemp[2] > 127) {
script->functionTemp[2] = 127;
}
if (script->functionTemp[0] == 127 && (script->functionTemp[2] == script->functionTemp[0])) {
script->functionTemp[1] = 1;
}
} else {
script->functionTemp[0] -= 4;
script->functionTemp[2] -= 4;
if (script->functionTemp[0] < 64) {
script->functionTemp[0] = 64;
}
if (script->functionTemp[2] < 0) {
script->functionTemp[2] = 0;
}
}
set_model_env_color_parameters(
script->functionTemp[0], script->functionTemp[0], script->functionTemp[0],
script->functionTemp[2], script->functionTemp[2], script->functionTemp[2]
);
if (script->functionTemp[0] == 64 && script->functionTemp[2] == 0) {
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus func_80241B74_A3B054(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
script->functionTemp[0] = 64;
}
script->functionTemp[0] += 4;
if (script->functionTemp[0] > 255) {
script->functionTemp[0] = 255;
}
set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0);
if (script->functionTemp[0] == 255) {
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, 0);
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
// TODO may not be motionBlurFlame
ApiStatus func_80241CCC_A3B1AC(Evt* script, s32 isInitialCall) {
EffectInstance* effects[3];
Matrix4f sp28, sp68;
f32 tx;
f32 ty;
f32 temp_f24;
f32 temp_f28;
f32 temp_f30;
s32 i;
if (isInitialCall) {
script->functionTemp[0] = 180;
script->functionTempPtr[1] = (EffectInstance*) evt_get_variable(script, ArrayVar(3));
script->functionTempPtr[2] = (EffectInstance*) evt_get_variable(script, ArrayVar(4));
script->functionTempPtr[3] = (EffectInstance*) evt_get_variable(script, ArrayVar(5));
}
effects[0] = script->functionTempPtr[1];
effects[1] = script->functionTempPtr[2];
effects[2] = script->functionTempPtr[3];
temp_f30 = (sin_deg(script->functionTemp[0]) * 10.0f) + 10.0f;
temp_f28 = (sin_deg(script->functionTemp[0]) * 25.0f) + 10.0f;
temp_f24 = script->functionTemp[0] * 10;
for (i = 0; i < ARRAY_COUNT(effects); i++) {
guRotateF(sp28, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
guRotateF(sp68, i * 120, 0.0f, 0.0f, 1.0f);
guMtxCatF(sp68, sp28, sp28);
tx = temp_f30 * sin_deg(temp_f24);
ty = temp_f28 * cos_deg(temp_f24);
guTranslateF(sp68, tx, ty, 0.0f);
guMtxCatF(sp68, sp28, sp28);
effects[i]->data.motionBlurFlame->pos.x = sp28[3][0];
effects[i]->data.motionBlurFlame->pos.y = sp28[3][1];
effects[i]->data.motionBlurFlame->pos.z = sp28[3][2];
}
script->functionTemp[0]--;
if (script->functionTemp[0] < 16) {
for (i = 0; i < ARRAY_COUNT(effects); i++) {
effects[i]->data.motionBlurFlame->unk_4C = script->functionTemp[0];
}
}
if (script->functionTemp[0] < 0) {
for (i = 0; i < ARRAY_COUNT(effects); i++) {
remove_effect(effects[i]);
}
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
ApiStatus func_80241F98_A3B478(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
// TODO effect may be wrong
effect->data.energyOrbWave->unk_1C++;
return ApiStatus_DONE2;
}

View File

@ -1,4 +1,6 @@
#include "hos_06.h" #include "hos_06.h"
#include "hud_element.h"
#define NAMESPACE dup2_hos_06 #define NAMESPACE dup2_hos_06
#include "world/common/todo/StashVars.inc.c" #include "world/common/todo/StashVars.inc.c"
@ -12,8 +14,111 @@
#include "world/common/todo/IsItemBadge.inc.c" #include "world/common/todo/IsItemBadge.inc.c"
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3B4B0", func_8024228C_A3B76C); extern IconHudScriptPair gItemHudScripts[];
extern s32 D_80245EEC_A3F3CC[5];
INCLUDE_ASM(s32, "world/area_hos/hos_06/A3B4B0", func_802424CC_A3B9AC); ApiStatus func_8024228C_A3B76C(Evt* script, s32 isInitialCall) {
PopupMenu *menu;
s32 numEntries;
s32 index;
s32 temp;
s32 var1;
s32 var2;
s32 i;
if (isInitialCall) {
menu = heap_malloc(sizeof(*menu));
script->functionTempPtr[2] = menu;
temp = script->varTable[0];
script->varTable[10] = script->varTable[0];
if (temp == 0) {
script->varTable[1] = GF_KKJ16_Item_PowerRush;
script->varTable[2] = GF_KKJ_Stored_PowerRush;
menu->popupType = POPUP_MENU_USEKEY;
} else {
script->varTable[1] = GF_KKJ_Stored_PowerRush;
script->varTable[2] = GF_KKJ_Retrieved_PowerRush;
menu->popupType = POPUP_MENU_TAKE_FROM_CHEST;
}
numEntries = 0;
for (i = 0; i < ARRAY_COUNT(D_80245EEC_A3F3CC); i++) {
var1 = evt_get_variable(NULL, script->varTable[1] + i);
var2 = evt_get_variable(NULL, script->varTable[2] + i);
if (var1 != 0 && var2 == 0) {
ItemData* item = &gItemTable[D_80245EEC_A3F3CC[i]];
IconHudScriptPair* itemHudScripts = &gItemHudScripts[item->hudElemID];
menu->ptrIcon[numEntries] = itemHudScripts->enabled;
menu->userIndex[numEntries] = i;
menu->enabled[numEntries] = TRUE;
menu->nameMsg[numEntries] = item->nameMsg;
menu->descMsg[numEntries] = item->shortDescMsg;
numEntries++;
}
}
if (numEntries == 0) {
script->varTable[0] = 0;
return ApiStatus_DONE1;
}
menu->numEntries = numEntries;
menu->initialPos = 0;
create_popup_menu(menu);
script->functionTemp[0] = 0;
}
menu = script->functionTempPtr[2];
if (script->functionTemp[0] == 0) {
script->functionTemp[1] = menu->result;
if (script->functionTemp[1] == 0) {
return ApiStatus_BLOCK;
}
hide_popup_menu();
}
script->functionTemp[0]++;
if (script->functionTemp[0] < 15) {
return ApiStatus_BLOCK;
}
destroy_popup_menu();
temp = script->functionTemp[1];
if (temp == 255) {
script->varTable[0] = -1;
} else {
index = menu->userIndex[temp - 1];
script->varTable[0] = D_80245EEC_A3F3CC[index];
if (script->varTable[10] == 0) {
evt_set_variable(NULL, script->varTable[2] + index, 1);
}
heap_free(script->functionTempPtr[2]);
}
return ApiStatus_DONE2;
}
ApiStatus func_802424CC_A3B9AC(Evt* script, s32 isInitialCall) {
s32* ptr = D_80245EEC_A3F3CC;
s32 found = FALSE;
s32 i;
for (i = 0; i < ARRAY_COUNT(D_80245EEC_A3F3CC); i++) {
s32 var = ptr[i];
if (script->varTable[0] == var) {
found = TRUE;
break;
}
}
if (found) {
evt_set_variable(NULL, GF_KKJ_Retrieved_PowerRush + i, TRUE);
}
return ApiStatus_DONE2;
}
#include "world/common/todo/GetItemEmptyCount.inc.c" #include "world/common/todo/GetItemEmptyCount.inc.c"

View File

@ -1,9 +1,43 @@
#include "hos_10.h" #include "hos_10.h"
#include "effects.h"
#include "world/common/atomic/TexturePan.inc.c" #include "world/common/atomic/TexturePan.inc.c"
INCLUDE_ASM(s32, "world/area_hos/hos_10/A3F760", func_8024032C_A3FA6C); ApiStatus func_8024032C_A3FA6C(Evt* script, s32 isInitialCall) {
if (
gGameStatusPtr->creditsViewportMode == 0 ||
gGameStatusPtr->creditsViewportMode == 1 ||
gGameStatusPtr->creditsViewportMode == 2 ||
gGameStatusPtr->creditsViewportMode == 3 ||
gGameStatusPtr->creditsViewportMode == 4)
{
gGameStatusPtr->creditsViewportMode++;
state_init_intro();
}
return ApiStatus_DONE1;
}
INCLUDE_ASM(s32, "world/area_hos/hos_10/A3F760", func_80240364_A3FAA4); void func_80240364_A3FAA4(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32* arg4) {
f32 temp_f2 = arg1 - arg2;
INCLUDE_ASM(s32, "world/area_hos/hos_10/A3F760", func_80240404_A3FB44); if (arg1 - arg0 > 0.0f) {
if (temp_f2 < 0.0f) {
*arg4 = arg1;
} else if (arg3 < temp_f2) {
*arg4 += arg3;
} else {
*arg4 += temp_f2;
}
} else if (temp_f2 > 0.0f) {
*arg4 = arg1;
} else if (temp_f2 < -arg3) {
*arg4 -= arg3;
} else {
*arg4 += temp_f2;
}
}
ApiStatus func_80240404_A3FB44(Evt* script, s32 isInitialCall) {
fx_star(1, 200.0f, 400.0f, 1200.0f, -300.0f, -100.0f, 0.0f, 30.0f);
return ApiStatus_DONE2;
}

View File

@ -1,12 +1,98 @@
#include "hos_10.h" #include "hos_10.h"
#include "effects.h"
INCLUDE_ASM(s32, "world/area_hos/hos_10/A3FEB0", func_80240770_A3FEB0); ApiStatus func_80240770_A3FEB0(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
Bytecode* args = script->ptrReadPos;
Npc* npc;
INCLUDE_ASM(s32, "world/area_hos/hos_10/A3FEB0", func_80240A84_A401C4); if (isInitialCall) {
script->functionTemp[1] = evt_get_variable(script, *args++);
script->functionTemp[2] = evt_get_variable(script, *args++);
script->varTable[15] = evt_get_variable(script, *args++);
script->functionTemp[0] = 0;
script->functionTemp[3] = 0;
}
INCLUDE_ASM(s32, "world/area_hos/hos_10/A3FEB0", func_80240B44_A40284); npc = get_npc_unsafe(script->functionTemp[1]);
switch (script->functionTemp[0]) {
case 0:
npc->pos.x = playerStatus->position.x;
npc->pos.y = playerStatus->position.y;
npc->pos.z = playerStatus->position.z;
npc->moveToPos.x = script->functionTemp[3] * 3;
npc->moveToPos.y = 3.0f;
add_vec2D_polar(&npc->pos.x, &npc->pos.z, 70.0f, npc->moveToPos.x + (script->functionTemp[2] * 51) + 153.0f);
if (script->functionTemp[3] + script->functionTemp[2] ==
((script->functionTemp[3] + script->functionTemp[2]) / 13) * 13)
{
fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
}
if (script->functionTemp[3] > 350) {
script->functionTemp[0] = 1;
script->functionTemp[3] = 0;
}
break;
case 1:
npc->pos.x = playerStatus->position.x;
npc->pos.y = playerStatus->position.y;
npc->pos.z = playerStatus->position.z;
npc->moveToPos.x = script->functionTemp[3] * 3;
npc->moveToPos.y = 3.0f;
add_vec2D_polar(
&npc->pos.x,
&npc->pos.z,
(((190 - script->functionTemp[3]) / 190.0f) * 67.0f) + 3.0f,
npc->moveToPos.x + (script->functionTemp[2] * 51) + 153.0f
);
if (script->functionTemp[3] + script->functionTemp[2] ==
((script->functionTemp[3] + script->functionTemp[2]) / 13) * 13)
{
fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
}
if (script->functionTemp[3] > 190) {
return ApiStatus_DONE2;
}
break;
}
INCLUDE_ASM(s32, "world/area_hos/hos_10/A3FEB0", func_80240B98_A402D8); script->functionTemp[3]++;
npc->moveToPos.x += npc->moveToPos.y;
return ApiStatus_BLOCK;
}
ApiStatus func_80240A84_A401C4(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
f32 x, y, z;
// TODO could be sparkles, not ending decals - unsure
x = evt_get_variable(script, *args++);
y = evt_get_variable(script, *args++);
z = evt_get_variable(script, *args++);
effect->data.endingDecals->pos.x = x;
effect->data.endingDecals->pos.y = y;
effect->data.endingDecals->pos.z = z;
return ApiStatus_DONE2;
}
ApiStatus func_80240B44_A40284(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
// TODO could be sparkles, not ending decals - unsure
effect->data.endingDecals->unk_10 = evt_get_float_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_80240B98_A402D8(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
// TODO could be sparkles, not ending decals - unsure
effect->data.endingDecals->unk_18 = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_80240BEC_A4032C(Evt* script, s32 isInitialCall) { ApiStatus func_80240BEC_A4032C(Evt* script, s32 isInitialCall) {
gPlayerData.currentPartner = PARTNER_NONE; gPlayerData.currentPartner = PARTNER_NONE;

View File

@ -1,4 +1,5 @@
#include "mac_01.h" #include "mac_01.h"
#include "model.h"
#define CHUCK_QUIZMO_NPC_ID 5 #define CHUCK_QUIZMO_NPC_ID 5
@ -103,7 +104,43 @@ extern s32 N(LetterDelivery_SavedNpcAnim);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_802440FC_80497C); INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_802440FC_80497C);
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_802441EC_804A6C); ApiStatus func_802441EC_804A6C(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
script->functionTemp[0] = 64;
script->functionTemp[2] = 64;
script->functionTemp[1] = 0;
}
if (script->functionTemp[1] == 0) {
script->functionTemp[0] += 4;
script->functionTemp[2] += 4;
if (script->functionTemp[0] > 127) {
script->functionTemp[0] = 127;
}
if (script->functionTemp[2] > 127) {
script->functionTemp[2] = 127;
}
if (script->functionTemp[0] == 127 && (script->functionTemp[2] == script->functionTemp[0])) {
script->functionTemp[1] = 1;
}
} else {
script->functionTemp[0] -= 4;
script->functionTemp[2] -= 4;
if (script->functionTemp[0] < 64) {
script->functionTemp[0] = 64;
}
if (script->functionTemp[2] < 0) {
script->functionTemp[2] = 0;
}
}
set_model_env_color_parameters(
script->functionTemp[0], script->functionTemp[0], script->functionTemp[0],
script->functionTemp[2], script->functionTemp[2], script->functionTemp[2]
);
if (script->functionTemp[0] == 64 && script->functionTemp[2] == 0) {
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80244308_804B88); INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80244308_804B88);

View File

@ -4,7 +4,6 @@
#include "model.h" #include "model.h"
#include "entity.h" #include "entity.h"
void startup_draw_prim_rect_COPY(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a);
void delete_entity(s32); void delete_entity(s32);
void partner_enable_input(void); void partner_enable_input(void);

View File

@ -1,15 +1,6 @@
#include "omo_01.h" #include "omo_01.h"
#include "model.h" #include "model.h"
typedef struct UnkOmo {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 treeIndex;
} UnkOmo; // size = 0x18
extern s32 D_802412A0_D9C190[]; extern s32 D_802412A0_D9C190[];
ApiStatus func_80240000_D9AEF0(Evt* script, s32 isInitialCall) { ApiStatus func_80240000_D9AEF0(Evt* script, s32 isInitialCall) {
@ -45,7 +36,7 @@ ApiStatus func_80240000_D9AEF0(Evt* script, s32 isInitialCall) {
temp_f24 = SQ(temp_f20) / 90.0f; temp_f24 = SQ(temp_f20) / 90.0f;
if (i == 0) { if (i == 0) {
if ((it->unk_08 >= 0.0f && temp_f20 < 0.0f) || (it->unk_08 < 0.0f && temp_f20 >= 0.0f)) { if ((it->unk_08 >= 0.0f && temp_f20 < 0.0f) || (it->unk_08 < 0.0f && temp_f20 >= 0.0f)) {
sfx_play_sound_at_position(0x1D6, 0, -185.0f, 0.0f, 160.0f); sfx_play_sound_at_position(SOUND_CREAKY_ROCKING_CHAIR, 0, -185.0f, 0.0f, 160.0f);
} }
it->unk_08 = temp_f20; it->unk_08 = temp_f20;
} }

View File

@ -1,6 +1,55 @@
#include "omo_02.h" #include "omo_02.h"
#include "model.h"
INCLUDE_ASM(s32, "world/area_omo/omo_02/D9D510", func_80240040_D9D510); extern s32 D_802434F8_DA09C8[];
ApiStatus func_80240040_D9D510(Evt* script, s32 isInitialCall) {
Matrix4f sp18, sp58;
UnkOmo* it;
Model* model;
f32 temp_f20;
f32 temp_f24;
u32 i;
if (isInitialCall) {
it = heap_malloc(sizeof(*it) * 2);
script->functionTempPtr[0] = it;
for (i = 0; i < 2; i++, it++) {
s32 treeIndex = D_802434F8_DA09C8[i];
it->treeIndex = treeIndex;
model = get_model_from_list_index(get_model_list_index_from_tree_index(treeIndex));
it->unk_00 = model->center.x;
it->unk_04 = model->center.z;
it->unk_0C = 3.5f;
it->unk_10 = 0;
it->unk_08 = 0;
}
}
it = script->functionTempPtr[0];
for (i = 0; i < 2; i++, it++) {
it->unk_10 += it->unk_0C;
it->unk_10 = clamp_angle(it->unk_10);
temp_f20 = sin_rad((it->unk_10 * 3.14f) / 180.0f) * 20.0f;
temp_f24 = SQ(temp_f20) / 90.0f;
if (i == 0) {
if ((it->unk_08 >= 0.0f && temp_f20 < 0.0f) || (it->unk_08 < 0.0f && temp_f20 >= 0.0f)) {
sfx_play_sound_at_position(SOUND_CREAKY_ROCKING_CHAIR, 0, -706.0f, 0.0f, 102.0f);
}
it->unk_08 = temp_f20;
}
model = get_model_from_list_index(get_model_list_index_from_tree_index(it->treeIndex));
model->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED;
guTranslateF(sp18, -it->unk_00, 0.0f, -it->unk_04);
guRotateF(sp58, temp_f20, 0.0f, 0.0f, 1.0f);
guMtxCatF(sp18, sp58, model->transformMatrix);
guTranslateF(sp18, it->unk_00, temp_f24, it->unk_04);
guMtxCatF(model->transformMatrix, sp18, model->transformMatrix);
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/area_omo/omo_02/D9D510", func_802402C0_D9D790); INCLUDE_ASM(s32, "world/area_omo/omo_02/D9D510", func_802402C0_D9D790);

View File

@ -3,14 +3,96 @@
static char* N(exit_str_0) = "omo_08"; static char* N(exit_str_0) = "omo_08";
static char* N(exit_str_1) = ""; static char* N(exit_str_1) = "";
ApiStatus func_80240000_DCCCD0(Evt* script, s32 isInitialCall); extern s32 D_80243A80_DD0750[4];
INCLUDE_ASM(s32, "world/area_omo/omo_09/DCCCD0", func_80240000_DCCCD0); extern f32 D_80243A90_DD0760[4][2];
ApiStatus func_80240000_DCCCD0(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
PlayerData* playerData = &gPlayerData;
if (playerStatus->flags & PS_FLAGS_20) {
return TRUE;
}
if (gPartnerActionStatus.partnerActionState != PARTNER_ACTION_NONE &&
(playerData->currentPartner == PARTNER_GOOMBARIO || playerData->currentPartner == PARTNER_SUSHIE))
{
return TRUE;
}
return FALSE;
}
ApiStatus func_80240054_DCCD24(Evt* script, s32 isInitialCall) { ApiStatus func_80240054_DCCD24(Evt* script, s32 isInitialCall) {
if (func_80240000_DCCCD0(script, isInitialCall) == ApiStatus_BLOCK) { if (!func_80240000_DCCCD0()) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
return ApiStatus_BLOCK; return ApiStatus_BLOCK;
} }
INCLUDE_ASM(s32, "world/area_omo/omo_09/DCCCD0", func_80240078_DCCD48); ApiStatus func_80240078_DCCD48(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
Npc* partner = get_npc_unsafe(NPC_PARTNER);
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
f32 x, y, z;
f32 outLength;
f32 hitRx, hitRz;
f32 hitDirX, hitDirZ;
s32 hit;
s32 one;
u32 i;
script->varTable[0] = 0;
if (func_80240000_DCCCD0()) {
return ApiStatus_DONE2;
}
one = 1;
if (partnerActionStatus->actingPartner == PARTNER_BOW &&
partnerActionStatus->partnerActionState != PARTNER_ACTION_NONE &&
playerStatus->alpha1 == 128)
{
x = playerStatus->position.x;
y = playerStatus->position.y;
z = playerStatus->position.z;
outLength = 1000.0f;
hit = player_raycast_below_cam_relative(playerStatus,
&x, &y, &z, &outLength,
&hitRx, &hitRz, &hitDirX, &hitDirZ
);
for (i = 0; i < ARRAY_COUNT(D_80243A80_DD0750); i++) {
if (hit == D_80243A80_DD0750[i]) {
playerStatus->pushVelocity.x = D_80243A90_DD0760[i][0];
playerStatus->pushVelocity.z = D_80243A90_DD0760[i][one]; // TODO needed to match
}
}
script->varTable[0] = 1;
return ApiStatus_DONE2;
}
one = 1;
if (partnerActionStatus->actingPartner != PARTNER_LAKILESTER ||
partnerActionStatus->partnerActionState == PARTNER_ACTION_NONE)
{
for (i = 0; i < ARRAY_COUNT(D_80243A80_DD0750); i++) {
if (gCollisionStatus.currentFloor == D_80243A80_DD0750[i] ||
gCollisionStatus.lastTouchedFloor == D_80243A80_DD0750[i])
{
playerStatus->pushVelocity.x = D_80243A90_DD0760[i][0];
playerStatus->pushVelocity.z = D_80243A90_DD0760[i][one]; // TODO needed to match
}
if (partner->currentFloor == D_80243A80_DD0750[i] &&
((partnerActionStatus->actingPartner != PARTNER_KOOPER) ||
(partnerActionStatus->partnerActionState == PARTNER_ACTION_NONE)))
{
partner->pos.x += D_80243A90_DD0760[i][0];
partner->pos.z += D_80243A90_DD0760[i][one]; // TODO needed to match
partner_clear_player_tracking(partner);
}
}
}
return ApiStatus_DONE2;
}

View File

@ -1,5 +1,99 @@
#include "omo_09.h" #include "omo_09.h"
#include "model.h"
INCLUDE_ASM(s32, "world/area_omo/omo_09/DCCFA0", func_802402D0_DCCFA0); typedef struct UnkOmo9 {
/* 0x00 */ s32 shadowIndexes[4];
} UnkOmo9; // size = 0x10
INCLUDE_ASM(s32, "world/area_omo/omo_09/DCCFA0", func_80240534_DCD204); extern s32 D_802451AC_DD1E7C[];
extern s32 D_8024636C_DD303C[4];
ApiStatus func_802402D0_DCCFA0(Evt* script, s32 isInitialCall) {
s32 sp10[3];
Bytecode* args = script->ptrReadPos;
s32 v1 = evt_get_variable(script, *args++);
s32 v2 = evt_get_variable(script, *args++);
s32 v3 = evt_get_variable(script, *args++);
s32 iNum, jNum;
s32 i, j;
if (v1 != -1) {
sp10[0] = D_802451AC_DD1E7C[(v1 % 360) / 45];
} else {
sp10[0] = 0;
}
if (v2 != -1) {
sp10[1] = D_802451AC_DD1E7C[((v2 % 360) / 45) + 8];
} else {
sp10[1] = 0;
}
if (v3 != -1) {
sp10[2] = D_802451AC_DD1E7C[((v3 % 360) / 45) + 16];
} else {
sp10[2] = 0;
}
for (i = 0; i < ARRAY_COUNT(sp10) - 1; i++) {
for (j = 1; j < ARRAY_COUNT(sp10); j++) {
iNum = sp10[i];
jNum = sp10[j];
if (jNum < iNum) {
sp10[i] = jNum;
sp10[j] = iNum;
}
}
}
if (sp10[1] == sp10[0]) {
if (sp10[1] == sp10[2]) {
script->varTable[10] = 3;
} else {
script->varTable[10] = 2;
}
} else if (sp10[1] == sp10[2]) {
script->varTable[10] = 2;
} else {
script->varTable[10] = 0;
}
script->varTable[11] = sp10[1];
return ApiStatus_DONE2;
}
ApiStatus func_80240534_DCD204(Evt* script, s32 isInitialCall) {
f32 x, y, z;
f32 rotX, rotZ;
f32 scale;
Shadow* shadow;
UnkOmo9* unkStruct;
Model* model;
u32 i;
if (isInitialCall) {
script->functionTempPtr[0] = unkStruct = heap_malloc(sizeof(*unkStruct));
for (i = 0; i < ARRAY_COUNT(D_8024636C_DD303C); i++) {
model = get_model_from_list_index(get_model_list_index_from_tree_index(D_8024636C_DD303C[i]));
unkStruct->shadowIndexes[i] = create_shadow_type(1, model->center.x, model->center.y - 100.0f, model->center.z);
}
}
unkStruct = script->functionTempPtr[0];
for (i = 0; i < ARRAY_COUNT(D_8024636C_DD303C); i++) {
shadow = get_shadow_by_index(unkStruct->shadowIndexes[i]);
model = get_model_from_list_index(get_model_list_index_from_tree_index(D_8024636C_DD303C[i]));
x = model->center.x;
y = model->center.y;
z = model->center.z;
scale = 1000.0f;
entity_raycast_down(&x, &y, &z, &rotX, &rotZ, &scale);
set_standard_shadow_scale(shadow, scale);
shadow->rotation.y = 0.0f;
shadow->position.x = x;
shadow->position.y = y;
shadow->position.z = z;
shadow->rotation.x = rotX;
shadow->rotation.z = rotZ;
shadow->scale.x *= 1.3f;
shadow->scale.z *= 1.3f;
}
return ApiStatus_BLOCK;
}

View File

@ -1,8 +1,55 @@
#include "omo_11.h" #include "omo_11.h"
#include "model.h"
static char* N(exit_str_0) = "omo_12"; static char* N(exit_str_0) = "omo_12";
static char* N(exit_str_1) = "omo_10"; static char* N(exit_str_1) = "omo_10";
INCLUDE_ASM(s32, "world/area_omo/omo_11/DDC830", func_80240000_DDC830); typedef struct UnkOmo9 {
/* 0x00 */ s32 shadowIndexes[8];
} UnkOmo11; // size = 0x20
extern s32 D_80241740_DDDF70[8];
ApiStatus func_80240000_DDC830(Evt* script, s32 isInitialCall) {
f32 x, y, z;
f32 rotX, rotZ;
f32 scale;
Shadow* shadow;
UnkOmo11* unkStruct;
Model* model;
u32 i;
if (isInitialCall) {
script->functionTempPtr[0] = unkStruct = heap_malloc(sizeof(*unkStruct));
for (i = 0; i < ARRAY_COUNT(D_80241740_DDDF70); i++) {
model = get_model_from_list_index(get_model_list_index_from_tree_index(D_80241740_DDDF70[i]));
unkStruct->shadowIndexes[i] =
create_shadow_type(0, model->center.x, model->center.y - 100.0f, model->center.z);
}
}
unkStruct = script->functionTempPtr[0];
for (i = 0; i < ARRAY_COUNT(D_80241740_DDDF70); i++) {
shadow = get_shadow_by_index(unkStruct->shadowIndexes[i]);
model = get_model_from_list_index(get_model_list_index_from_tree_index(D_80241740_DDDF70[i]));
x = model->center.x;
y = model->center.y;
z = model->center.z;
scale = 1000.0f;
entity_raycast_down(&x, &y, &z, &rotX, &rotZ, &scale);
set_standard_shadow_scale(shadow, scale);
shadow->rotation.y = 0.0f;
shadow->position.x = x;
shadow->position.y = y;
shadow->position.z = z;
shadow->rotation.x = rotX;
shadow->rotation.z = rotZ;
shadow->scale.x *= 3.0f;
shadow->scale.z *= 3.0f;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/area_omo/omo_11/DDC830", func_802401A0_DDC9D0); INCLUDE_ASM(s32, "world/area_omo/omo_11/DDC830", func_802401A0_DDC9D0);

View File

@ -1,6 +1,55 @@
#include "omo_13.h" #include "omo_13.h"
#include "model.h"
static char* N(exit_str_0) = "omo_01"; static char* N(exit_str_0) = "omo_01";
static char* N(exit_str_1) = "omo_03"; static char* N(exit_str_1) = "omo_03";
INCLUDE_ASM(s32, "world/area_omo/omo_13/DE2490", func_80240000_DE2490); extern s32 D_80241A78_DE3F08[];
ApiStatus func_80240000_DE2490(Evt* script, s32 isInitialCall) {
Matrix4f sp18, sp58;
UnkOmo* it;
Model* model;
f32 temp_f20;
f32 temp_f24;
u32 i;
if (isInitialCall) {
it = heap_malloc(sizeof(*it));
script->functionTempPtr[0] = it;
for (i = 0; i < 1; i++, it++) {
s32 treeIndex = D_80241A78_DE3F08[i];
it->treeIndex = treeIndex;
model = get_model_from_list_index(get_model_list_index_from_tree_index(treeIndex));
it->unk_00 = model->center.x;
it->unk_04 = model->center.z;
it->unk_0C = 3.5f;
it->unk_10 = 0;
it->unk_08 = 0;
}
}
it = script->functionTempPtr[0];
for (i = 0; i < 1; i++, it++) {
it->unk_10 += it->unk_0C;
it->unk_10 = clamp_angle(it->unk_10);
temp_f20 = sin_rad((it->unk_10 * 3.14f) / 180.0f) * 20.0f;
temp_f24 = SQ(temp_f20) / 90.0f;
if (i == 0) {
if ((it->unk_08 >= 0.0f && temp_f20 < 0.0f) || (it->unk_08 < 0.0f && temp_f20 >= 0.0f)) {
sfx_play_sound_at_position(SOUND_CREAKY_ROCKING_CHAIR, 0, -320.0f, 0.0f, 95.0f);
}
it->unk_08 = temp_f20;
}
model = get_model_from_list_index(get_model_list_index_from_tree_index(it->treeIndex));
model->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED;
guTranslateF(sp18, -it->unk_00, 0.0f, -it->unk_04);
guRotateF(sp58, temp_f20, 0.0f, 0.0f, 1.0f);
guMtxCatF(sp18, sp58, model->transformMatrix);
guTranslateF(sp18, it->unk_00, temp_f24, it->unk_04);
guMtxCatF(model->transformMatrix, sp18, model->transformMatrix);
}
return ApiStatus_BLOCK;
}

View File

@ -302,9 +302,9 @@ API_CALLABLE(N(SuperBlock_AnimateEnergyOrbs)) {
} }
for (i = 0; i < SUPER_BLOCK_NUM_ORBS; i++) { for (i = 0; i < SUPER_BLOCK_NUM_ORBS; i++) {
userData->orbEffects[i]->data.motionBlurFlame->position.x = userData->posX[i]; userData->orbEffects[i]->data.motionBlurFlame->pos.x = userData->posX[i];
userData->orbEffects[i]->data.motionBlurFlame->position.y = userData->posY[i]; userData->orbEffects[i]->data.motionBlurFlame->pos.y = userData->posY[i];
userData->orbEffects[i]->data.motionBlurFlame->position.z = userData->posZ[i]; userData->orbEffects[i]->data.motionBlurFlame->pos.z = userData->posZ[i];
} }
return ApiStatus_BLOCK; return ApiStatus_BLOCK;

View File

@ -178,6 +178,14 @@ class Result:
target_start: int target_start: int
length: int length: int
@property
def query_end(self):
return self.query_start + self.length
@property
def target_end(self):
return self.target_start + self.length
def get_pair_matches(query_hashes: list[str], sym_hashes: list[str]) -> list[Match]: def get_pair_matches(query_hashes: list[str], sym_hashes: list[str]) -> list[Match]:
ret = [] ret = []
@ -195,7 +203,8 @@ def get_hashes(bytes: Bytes, window_size: int) -> list[str]:
return ret return ret
def group_matches(query: str, target: str, matches: list[Match]) -> list[Result]: def group_matches(query: str, target: str, matches: list[Match], window_size: int,
min: Optional[int], max: Optional[int]) -> list[Result]:
ret = [] ret = []
matches.sort(key=lambda m: m.query_offset) matches.sort(key=lambda m: m.query_offset)
@ -212,7 +221,13 @@ def group_matches(query: str, target: str, matches: list[Match]) -> list[Result]
for group in match_groups: for group in match_groups:
query_start = group[0].query_offset query_start = group[0].query_offset
target_start = group[0].target_offset target_start = group[0].target_offset
length = len(group) length = len(group) + window_size
if min is not None and query_start + length < min:
continue
if max is not None and query_start > max:
continue
ret.append(Result(query, target, query_start, target_start, length)) ret.append(Result(query, target, query_start, target_start, length))
return ret return ret
@ -332,7 +347,7 @@ def get_c_range(insn_start: int, insn_end: int, line_numbers: Dict[int, int]) ->
return range return range
def get_matches(query: str, window_size: int): def get_matches(query: str, window_size: int, min: Optional[int], max: Optional[int]):
query_bytes: Optional[Bytes] = get_symbol_bytes(query) query_bytes: Optional[Bytes] = get_symbol_bytes(query)
if query_bytes is None: if query_bytes is None:
@ -355,50 +370,51 @@ def get_matches(query: str, window_size: int):
sym_hashes = get_hashes(sym_bytes, window_size) sym_hashes = get_hashes(sym_bytes, window_size)
matches: list[Match] = get_pair_matches(query_hashes, sym_hashes) matches: list[Match] = get_pair_matches(query_hashes, sym_hashes)
if matches: if not matches:
results = group_matches(query, symbol, matches) continue
obj_file = syms[symbol].current_file
line_numbers = {} results = group_matches(query, symbol, matches, window_size, min, max)
tu_offset = None if not results:
decompiled_str = ":" continue
if syms[symbol].is_decompiled:
line_numbers = get_line_numbers(obj_file)
tu_offset = get_tu_offset(obj_file, symbol)
decompiled_str = fg.green + " (decompiled)" + fg.rs + ":"
print(symbol + decompiled_str) obj_file = syms[symbol].current_file
for result in results: line_numbers = {}
total_len = result.length + window_size tu_offset = None
query_end = result.query_start + total_len decompiled_str = ":"
target_end = result.target_start + total_len if syms[symbol].is_decompiled:
line_numbers = get_line_numbers(obj_file)
tu_offset = get_tu_offset(obj_file, symbol)
decompiled_str = fg.green + " (decompiled)" + fg.rs + ":"
c_range = None print(symbol + decompiled_str)
if tu_offset is not None and len(line_numbers) > 0:
c_range = get_c_range(
tu_offset + (result.target_start * 4),
tu_offset + (target_end * 4),
line_numbers,
)
target_range_str = "" for result in results:
if c_range: c_range = None
target_range_str = ( if tu_offset is not None and len(line_numbers) > 0:
fg.li_cyan + f" (line {c_range} in {obj_file.stem})" + fg.rs c_range = get_c_range(
) tu_offset + (result.target_start * 4),
tu_offset + (result.target_end * 4),
query_str = f"query [{result.query_start}-{query_end}]" line_numbers,
target_str = (
f"{symbol} [insn {result.target_start}-{target_end}] ({total_len} total){target_range_str}"
) )
print(f"\t{query_str} matches {target_str}")
target_range_str = ""
if c_range:
target_range_str = (
fg.li_cyan + f" (line {c_range} in {obj_file.stem})" + fg.rs
)
query_str = f"query [{result.query_start}-{result.query_end}]"
target_str = (
f"{symbol} [insn {result.target_start}-{result.target_end}] ({result.length} total){target_range_str}"
)
print(f"\t{query_str} matches {target_str}")
return OrderedDict(sorted(ret.items(), key=lambda kv: kv[1], reverse=True)) return OrderedDict(sorted(ret.items(), key=lambda kv: kv[1], reverse=True))
def do_query(query, window_size): def do_query(query, window_size, min, max):
get_matches(query, window_size) get_matches(query, window_size, min, max)
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
@ -413,6 +429,8 @@ parser.add_argument(
default=20, default=20,
required=False, required=False,
) )
parser.add_argument("--min", help="lower bound of instruction for matches against query", type=int, required=False)
parser.add_argument("--max", help="upper bound of instruction for matches against query", type=int, required=False)
args = parser.parse_args() args = parser.parse_args()
@ -422,4 +440,4 @@ if __name__ == "__main__":
func_sizes = get_func_sizes() func_sizes = get_func_sizes()
syms = parse_map() syms = parse_map()
do_query(args.query, args.window_size) do_query(args.query, args.window_size, args.min, args.max)

View File

@ -15,4 +15,10 @@ dlabel D_8024325C_A2A12C
.word 0xFFFFFFFF, 0x00000059, 0x0000001B, 0x0000002C, 0x0000001C, 0x0000002C, 0x0000001D, 0x0000002C, 0x00000000, 0x00000000 .word 0xFFFFFFFF, 0x00000059, 0x0000001B, 0x0000002C, 0x0000001C, 0x0000002C, 0x0000001D, 0x0000002C, 0x00000000, 0x00000000
dlabel D_80243284_A2A154 dlabel D_80243284_A2A154
.word D_8024325C_A2A12C, D_8024325C_A2A12C, D_8024325C_A2A12C, D_8024325C_A2A12C, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000002, func_80240E40_A27D10, func_80240E6C_A27D3C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 .word D_8024325C_A2A12C, D_8024325C_A2A12C, D_8024325C_A2A12C, D_8024325C_A2A12C
dlabel D_80243294_A2A164
.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000002, func_80240E40_A27D10, func_80240E6C_A27D3C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802432E4_A2A1B4
.word 0x00000000, 0x00000000, 0x00000000

View File

@ -1,18 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_8024DA90_A37CD0
.word 0x00000000
dlabel D_8024DA94_A37CD4
.float 0.0
dlabel D_8024DA98_A37CD8
.word 0x00000000
dlabel D_8024DA9C_A37CDC
.word 0xFFFFFFFF, 0x0000001E, 0x00000001, 0x00000032, 0x00000002, 0x00000032, 0xFFFFFFFF, 0x00000032, 0x00000003, 0x00000032, 0x00000004, 0x00000032, 0x00000005, 0x00000032, 0xFFFFFFFF, 0x00000032, 0x00000006, 0x00000032, 0x00000007, 0x00000032, 0x00000008, 0x00000032, 0xFFFFFFFF, 0x00000032, 0x00000009, 0x00000032, 0x0000000A, 0x00000032, 0x0000000B, 0x00000032, 0xFFFFFFFF, 0x00000032, 0x0000000C, 0x0000001E, 0x0000000D, 0x0000001E, 0x0000000E, 0x00000032, 0x0000000F, 0x0000001E, 0x00000010, 0x0000001E, 0x00000011, 0x0000001E, 0x00000012, 0x00000032, 0x00000013, 0x0000001E, 0xFFFFFFFF, 0x00000028, 0x00000014, 0x00000038, 0xFFFFFFFF, 0x00000032, 0x00000015, 0x0000001E, 0xFFFFFFFF, 0x0000001E, 0x00000016, 0x00000032, 0xFFFFFFFF, 0x0000001E, 0x00000017, 0x00000032, 0x00000018, 0x00000032, 0xFFFFFFFF, 0x0000003C, 0x00000019, 0x00000032, 0xFFFFFFFF, 0x00000018, 0x0000001A, 0x0000001E, 0x00000000, 0x00000000
dlabel D_8024DBCC_A37E0C
.word D_8024DA9C_A37CDC, D_8024DA9C_A37CDC, D_8024DA9C_A37CDC, D_8024DA9C_A37CDC, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000002, func_80244C60_A2EEA0, func_80244C8C_A2EECC, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -6,16 +6,10 @@ dlabel D_8024DC30_A37E70
.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, dup_hos_05_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, dup_hos_05_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000 .word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, dup_hos_05_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, dup_hos_05_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024DCCC_A37F0C dlabel D_8024DCCC_A37F0C
.byte 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0xFF
dlabel D_8024DCCF_A37F0F
.byte 0xFF
dlabel D_8024DCD0_A37F10 dlabel D_8024DCD0_A37F10
.byte 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0xFF
dlabel D_8024DCD3_A37F13
.byte 0xFF
dlabel D_8024DCD4_A37F14 dlabel D_8024DCD4_A37F14
.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000003C, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000090, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000090, 0xFD050F8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000003C, 0x00000000, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000090, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000090, 0xFD050F8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 .word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000003C, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000090, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000090, 0xFD050F8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000003C, 0x00000000, 0x0000001E, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7AE7, 0x0000002C, 0x00000002, 0xFE363C82, 0xFD050F8B, 0x00000043, 0x00000005, TranslateGroup, 0x00000092, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x00000090, 0x00000000, 0xFE363C82, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000090, 0xFD050F8A, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -1,736 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_state_update_begin_player_turn
/* 170904 80242024 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 170908 80242028 AFB30024 */ sw $s3, 0x24($sp)
/* 17090C 8024202C 3C13800E */ lui $s3, %hi(gBattleStatus)
/* 170910 80242030 2673C070 */ addiu $s3, $s3, %lo(gBattleStatus)
/* 170914 80242034 AFB60030 */ sw $s6, 0x30($sp)
/* 170918 80242038 3C168011 */ lui $s6, %hi(gPlayerData)
/* 17091C 8024203C 26D6F290 */ addiu $s6, $s6, %lo(gPlayerData)
/* 170920 80242040 AFB20020 */ sw $s2, 0x20($sp)
/* 170924 80242044 3C12800E */ lui $s2, %hi(gBattleState2)
/* 170928 80242048 2652C4DC */ addiu $s2, $s2, %lo(gBattleState2)
/* 17092C 8024204C AFBF0034 */ sw $ra, 0x34($sp)
/* 170930 80242050 AFB5002C */ sw $s5, 0x2c($sp)
/* 170934 80242054 AFB40028 */ sw $s4, 0x28($sp)
/* 170938 80242058 AFB1001C */ sw $s1, 0x1c($sp)
/* 17093C 8024205C AFB00018 */ sw $s0, 0x18($sp)
/* 170940 80242060 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 170944 80242064 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 170948 80242068 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 17094C 8024206C 8E7100D8 */ lw $s1, 0xd8($s3)
/* 170950 80242070 8E7000DC */ lw $s0, 0xdc($s3)
/* 170954 80242074 8E420000 */ lw $v0, ($s2)
/* 170958 80242078 14400007 */ bnez $v0, .L80242098
/* 17095C 8024207C 8E3401F4 */ lw $s4, 0x1f4($s1)
/* 170960 80242080 0C093903 */ jal btl_cam_use_preset
/* 170964 80242084 24040002 */ addiu $a0, $zero, 2
/* 170968 80242088 0C093936 */ jal btl_cam_move
/* 17096C 8024208C 24040005 */ addiu $a0, $zero, 5
/* 170970 80242090 24020064 */ addiu $v0, $zero, 0x64
/* 170974 80242094 AE420000 */ sw $v0, ($s2)
.L80242098:
/* 170978 80242098 8E430000 */ lw $v1, ($s2)
/* 17097C 8024209C 24150014 */ addiu $s5, $zero, 0x14
/* 170980 802420A0 10750039 */ beq $v1, $s5, .L80242188
/* 170984 802420A4 24020064 */ addiu $v0, $zero, 0x64
/* 170988 802420A8 14620041 */ bne $v1, $v0, .L802421B0
/* 17098C 802420AC 00000000 */ nop
/* 170990 802420B0 0C093961 */ jal btl_cam_is_moving_done
/* 170994 802420B4 00000000 */ nop
/* 170998 802420B8 1040003D */ beqz $v0, .L802421B0
/* 17099C 802420BC 3C03FFF7 */ lui $v1, 0xfff7
/* 1709A0 802420C0 8E620000 */ lw $v0, ($s3)
/* 1709A4 802420C4 3463FFFF */ ori $v1, $v1, 0xffff
/* 1709A8 802420C8 00431024 */ and $v0, $v0, $v1
/* 1709AC 802420CC 0C098F18 */ jal reset_actor_turn_info
/* 1709B0 802420D0 AE620000 */ sw $v0, ($s3)
/* 1709B4 802420D4 3C04FEFF */ lui $a0, 0xfeff
/* 1709B8 802420D8 2402007F */ addiu $v0, $zero, 0x7f
/* 1709BC 802420DC A2620086 */ sb $v0, 0x86($s3)
/* 1709C0 802420E0 A2620087 */ sb $v0, 0x87($s3)
/* 1709C4 802420E4 8E620000 */ lw $v0, ($s3)
/* 1709C8 802420E8 8E630004 */ lw $v1, 4($s3)
/* 1709CC 802420EC 3484FFFF */ ori $a0, $a0, 0xffff
/* 1709D0 802420F0 A660017C */ sh $zero, 0x17c($s3)
/* 1709D4 802420F4 34420008 */ ori $v0, $v0, 8
/* 1709D8 802420F8 00641824 */ and $v1, $v1, $a0
/* 1709DC 802420FC AE620000 */ sw $v0, ($s3)
/* 1709E0 80242100 AE630004 */ sw $v1, 4($s3)
/* 1709E4 80242104 8E220000 */ lw $v0, ($s1)
/* 1709E8 80242108 3C030C00 */ lui $v1, 0xc00
/* 1709EC 8024210C A220021D */ sb $zero, 0x21d($s1)
/* 1709F0 80242110 00431025 */ or $v0, $v0, $v1
/* 1709F4 80242114 12000004 */ beqz $s0, .L80242128
/* 1709F8 80242118 AE220000 */ sw $v0, ($s1)
/* 1709FC 8024211C 00431025 */ or $v0, $v0, $v1
/* 170A00 80242120 AE220000 */ sw $v0, ($s1)
/* 170A04 80242124 A200021D */ sb $zero, 0x21d($s0)
.L80242128:
/* 170A08 80242128 8262009A */ lb $v0, 0x9a($s3)
/* 170A0C 8024212C A260008C */ sb $zero, 0x8c($s3)
/* 170A10 80242130 3C01802A */ lui $at, %hi(D_8029F254)
/* 170A14 80242134 AC20F254 */ sw $zero, %lo(D_8029F254)($at)
/* 170A18 80242138 3C01802A */ lui $at, %hi(D_8029F258)
/* 170A1C 8024213C AC20F258 */ sw $zero, %lo(D_8029F258)($at)
/* 170A20 80242140 14400004 */ bnez $v0, .L80242154
/* 170A24 80242144 2405000A */ addiu $a1, $zero, 0xa
/* 170A28 80242148 2402000A */ addiu $v0, $zero, 0xa
/* 170A2C 8024214C 0809086C */ j .L802421B0
/* 170A30 80242150 AE420000 */ sw $v0, ($s2)
.L80242154:
/* 170A34 80242154 2402000C */ addiu $v0, $zero, 0xc
/* 170A38 80242158 A26201A7 */ sb $v0, 0x1a7($s3)
/* 170A3C 8024215C 8E0401CC */ lw $a0, 0x1cc($s0)
/* 170A40 80242160 0C0B0CF8 */ jal start_script
/* 170A44 80242164 0000302D */ daddu $a2, $zero, $zero
/* 170A48 80242168 0040182D */ daddu $v1, $v0, $zero
/* 170A4C 8024216C AE0301DC */ sw $v1, 0x1dc($s0)
/* 170A50 80242170 8C620144 */ lw $v0, 0x144($v1)
/* 170A54 80242174 AE550000 */ sw $s5, ($s2)
/* 170A58 80242178 AE0201EC */ sw $v0, 0x1ec($s0)
/* 170A5C 8024217C 24020100 */ addiu $v0, $zero, 0x100
/* 170A60 80242180 0809086C */ j .L802421B0
/* 170A64 80242184 AC620148 */ sw $v0, 0x148($v1)
.L80242188:
/* 170A68 80242188 8E0401EC */ lw $a0, 0x1ec($s0)
/* 170A6C 8024218C 0C0B1059 */ jal does_script_exist
/* 170A70 80242190 00000000 */ nop
/* 170A74 80242194 14400006 */ bnez $v0, .L802421B0
/* 170A78 80242198 2403000A */ addiu $v1, $zero, 0xa
/* 170A7C 8024219C 8E620004 */ lw $v0, 4($s3)
/* 170A80 802421A0 A260009A */ sb $zero, 0x9a($s3)
/* 170A84 802421A4 AE430000 */ sw $v1, ($s2)
/* 170A88 802421A8 34420004 */ ori $v0, $v0, 4
/* 170A8C 802421AC AE620004 */ sw $v0, 4($s3)
.L802421B0:
/* 170A90 802421B0 3C12800E */ lui $s2, %hi(gBattleState2)
/* 170A94 802421B4 2652C4DC */ addiu $s2, $s2, %lo(gBattleState2)
/* 170A98 802421B8 8E440000 */ lw $a0, ($s2)
/* 170A9C 802421BC 24150002 */ addiu $s5, $zero, 2
/* 170AA0 802421C0 10950066 */ beq $a0, $s5, .L8024235C
/* 170AA4 802421C4 2402000A */ addiu $v0, $zero, 0xa
/* 170AA8 802421C8 1482006A */ bne $a0, $v0, .L80242374
/* 170AAC 802421CC 00000000 */ nop
/* 170AB0 802421D0 8262008C */ lb $v0, 0x8c($s3)
/* 170AB4 802421D4 14400067 */ bnez $v0, .L80242374
/* 170AB8 802421D8 00000000 */ nop
/* 170ABC 802421DC 8262009D */ lb $v0, 0x9d($s3)
/* 170AC0 802421E0 9263009D */ lbu $v1, 0x9d($s3)
/* 170AC4 802421E4 10400061 */ beqz $v0, .L8024236C
/* 170AC8 802421E8 2462FFFF */ addiu $v0, $v1, -1
/* 170ACC 802421EC 8E63043C */ lw $v1, 0x43c($s3)
/* 170AD0 802421F0 A262009D */ sb $v0, 0x9d($s3)
/* 170AD4 802421F4 00021600 */ sll $v0, $v0, 0x18
/* 170AD8 802421F8 8C63000C */ lw $v1, 0xc($v1)
/* 170ADC 802421FC 00021603 */ sra $v0, $v0, 0x18
/* 170AE0 80242200 A4620010 */ sh $v0, 0x10($v1)
/* 170AE4 80242204 8262009D */ lb $v0, 0x9d($s3)
/* 170AE8 80242208 1C400059 */ bgtz $v0, .L80242370
/* 170AEC 8024220C 2402000B */ addiu $v0, $zero, 0xb
/* 170AF0 80242210 8E6300A0 */ lw $v1, 0xa0($s3)
/* 170AF4 80242214 3C014190 */ lui $at, 0x4190
/* 170AF8 80242218 44811000 */ mtc1 $at, $f2
/* 170AFC 8024221C 3C0140A0 */ lui $at, 0x40a0
/* 170B00 80242220 4481B000 */ mtc1 $at, $f22
/* 170B04 80242224 8C620000 */ lw $v0, ($v1)
/* 170B08 80242228 3C013FC0 */ lui $at, 0x3fc0
/* 170B0C 8024222C 44810000 */ mtc1 $at, $f0
/* 170B10 80242230 34420010 */ ori $v0, $v0, 0x10
/* 170B14 80242234 AC620000 */ sw $v0, ($v1)
/* 170B18 80242238 C6240148 */ lwc1 $f4, 0x148($s1)
/* 170B1C 8024223C C626014C */ lwc1 $f6, 0x14c($s1)
/* 170B20 80242240 46022100 */ add.s $f4, $f4, $f2
/* 170B24 80242244 E7A00010 */ swc1 $f0, 0x10($sp)
/* 170B28 80242248 AFA40014 */ sw $a0, 0x14($sp)
/* 170B2C 8024224C 46163180 */ add.s $f6, $f6, $f22
/* 170B30 80242250 8E250144 */ lw $a1, 0x144($s1)
/* 170B34 80242254 44062000 */ mfc1 $a2, $f4
/* 170B38 80242258 44073000 */ mfc1 $a3, $f6
/* 170B3C 8024225C 0C01C694 */ jal fx_water_block
/* 170B40 80242260 24040001 */ addiu $a0, $zero, 1
/* 170B44 80242264 C6220144 */ lwc1 $f2, 0x144($s1)
/* 170B48 80242268 3C014120 */ lui $at, 0x4120
/* 170B4C 8024226C 44810000 */ mtc1 $at, $f0
/* 170B50 80242270 00000000 */ nop
/* 170B54 80242274 46001081 */ sub.s $f2, $f2, $f0
/* 170B58 80242278 C6200148 */ lwc1 $f0, 0x148($s1)
/* 170B5C 8024227C 46160000 */ add.s $f0, $f0, $f22
/* 170B60 80242280 44060000 */ mfc1 $a2, $f0
/* 170B64 80242284 C620014C */ lwc1 $f0, 0x14c($s1)
/* 170B68 80242288 0000202D */ daddu $a0, $zero, $zero
/* 170B6C 8024228C 46160000 */ add.s $f0, $f0, $f22
/* 170B70 80242290 3C013F80 */ lui $at, 0x3f80
/* 170B74 80242294 4481A000 */ mtc1 $at, $f20
/* 170B78 80242298 44051000 */ mfc1 $a1, $f2
/* 170B7C 8024229C 44070000 */ mfc1 $a3, $f0
/* 170B80 802422A0 24100018 */ addiu $s0, $zero, 0x18
/* 170B84 802422A4 E7B40010 */ swc1 $f20, 0x10($sp)
/* 170B88 802422A8 0C01C70C */ jal fx_water_splash
/* 170B8C 802422AC AFB00014 */ sw $s0, 0x14($sp)
/* 170B90 802422B0 C6200144 */ lwc1 $f0, 0x144($s1)
/* 170B94 802422B4 3C014170 */ lui $at, 0x4170
/* 170B98 802422B8 4481C000 */ mtc1 $at, $f24
/* 170B9C 802422BC 00000000 */ nop
/* 170BA0 802422C0 46180001 */ sub.s $f0, $f0, $f24
/* 170BA4 802422C4 C6220148 */ lwc1 $f2, 0x148($s1)
/* 170BA8 802422C8 44050000 */ mfc1 $a1, $f0
/* 170BAC 802422CC 3C014200 */ lui $at, 0x4200
/* 170BB0 802422D0 44810000 */ mtc1 $at, $f0
/* 170BB4 802422D4 00000000 */ nop
/* 170BB8 802422D8 46001080 */ add.s $f2, $f2, $f0
/* 170BBC 802422DC C620014C */ lwc1 $f0, 0x14c($s1)
/* 170BC0 802422E0 46160000 */ add.s $f0, $f0, $f22
/* 170BC4 802422E4 44061000 */ mfc1 $a2, $f2
/* 170BC8 802422E8 44070000 */ mfc1 $a3, $f0
/* 170BCC 802422EC 0000202D */ daddu $a0, $zero, $zero
/* 170BD0 802422F0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 170BD4 802422F4 0C01C70C */ jal fx_water_splash
/* 170BD8 802422F8 AFB00014 */ sw $s0, 0x14($sp)
/* 170BDC 802422FC C6200144 */ lwc1 $f0, 0x144($s1)
/* 170BE0 80242300 46180000 */ add.s $f0, $f0, $f24
/* 170BE4 80242304 C6220148 */ lwc1 $f2, 0x148($s1)
/* 170BE8 80242308 44050000 */ mfc1 $a1, $f0
/* 170BEC 8024230C 3C0141B0 */ lui $at, 0x41b0
/* 170BF0 80242310 44810000 */ mtc1 $at, $f0
/* 170BF4 80242314 00000000 */ nop
/* 170BF8 80242318 46001080 */ add.s $f2, $f2, $f0
/* 170BFC 8024231C C620014C */ lwc1 $f0, 0x14c($s1)
/* 170C00 80242320 46160000 */ add.s $f0, $f0, $f22
/* 170C04 80242324 44061000 */ mfc1 $a2, $f2
/* 170C08 80242328 44070000 */ mfc1 $a3, $f0
/* 170C0C 8024232C 24040001 */ addiu $a0, $zero, 1
/* 170C10 80242330 E7B40010 */ swc1 $f20, 0x10($sp)
/* 170C14 80242334 0C01C70C */ jal fx_water_splash
/* 170C18 80242338 AFB00014 */ sw $s0, 0x14($sp)
/* 170C1C 8024233C 24040299 */ addiu $a0, $zero, 0x299
/* 170C20 80242340 0C05272D */ jal sfx_play_sound
/* 170C24 80242344 AE6000A0 */ sw $zero, 0xa0($s3)
/* 170C28 80242348 24040027 */ addiu $a0, $zero, 0x27
/* 170C2C 8024234C 0C093E58 */ jal btl_show_battle_message
/* 170C30 80242350 2405003C */ addiu $a1, $zero, 0x3c
/* 170C34 80242354 080908DD */ j .L80242374
/* 170C38 80242358 AE550000 */ sw $s5, ($s2)
.L8024235C:
/* 170C3C 8024235C 0C093EAD */ jal btl_is_popup_displayed
/* 170C40 80242360 00000000 */ nop
/* 170C44 80242364 14400003 */ bnez $v0, .L80242374
/* 170C48 80242368 00000000 */ nop
.L8024236C:
/* 170C4C 8024236C 2402000B */ addiu $v0, $zero, 0xb
.L80242370:
/* 170C50 80242370 AE420000 */ sw $v0, ($s2)
.L80242374:
/* 170C54 80242374 3C10800E */ lui $s0, %hi(gBattleState2)
/* 170C58 80242378 2610C4DC */ addiu $s0, $s0, %lo(gBattleState2)
/* 170C5C 8024237C 8E030000 */ lw $v1, ($s0)
/* 170C60 80242380 2402000B */ addiu $v0, $zero, 0xb
/* 170C64 80242384 10620005 */ beq $v1, $v0, .L8024239C
/* 170C68 80242388 2402000C */ addiu $v0, $zero, 0xc
/* 170C6C 8024238C 10620019 */ beq $v1, $v0, .L802423F4
/* 170C70 80242390 2402000F */ addiu $v0, $zero, 0xf
/* 170C74 80242394 08090907 */ j .L8024241C
/* 170C78 80242398 00000000 */ nop
.L8024239C:
/* 170C7C 8024239C 826200A4 */ lb $v0, 0xa4($s3)
/* 170C80 802423A0 926300A4 */ lbu $v1, 0xa4($s3)
/* 170C84 802423A4 10400017 */ beqz $v0, .L80242404
/* 170C88 802423A8 2462FFFF */ addiu $v0, $v1, -1
/* 170C8C 802423AC 8E63043C */ lw $v1, 0x43c($s3)
/* 170C90 802423B0 A26200A4 */ sb $v0, 0xa4($s3)
/* 170C94 802423B4 00021600 */ sll $v0, $v0, 0x18
/* 170C98 802423B8 8C63000C */ lw $v1, 0xc($v1)
/* 170C9C 802423BC 00021603 */ sra $v0, $v0, 0x18
/* 170CA0 802423C0 A462001A */ sh $v0, 0x1a($v1)
/* 170CA4 802423C4 826200A4 */ lb $v0, 0xa4($s3)
/* 170CA8 802423C8 1C40000F */ bgtz $v0, .L80242408
/* 170CAC 802423CC 2402000F */ addiu $v0, $zero, 0xf
/* 170CB0 802423D0 8E6400A8 */ lw $a0, 0xa8($s3)
/* 170CB4 802423D4 0C016914 */ jal remove_effect
/* 170CB8 802423D8 00000000 */ nop
/* 170CBC 802423DC 24040029 */ addiu $a0, $zero, 0x29
/* 170CC0 802423E0 2405003C */ addiu $a1, $zero, 0x3c
/* 170CC4 802423E4 0C093E58 */ jal btl_show_battle_message
/* 170CC8 802423E8 AE6000A8 */ sw $zero, 0xa8($s3)
/* 170CCC 802423EC 08090902 */ j .L80242408
/* 170CD0 802423F0 2402000C */ addiu $v0, $zero, 0xc
.L802423F4:
/* 170CD4 802423F4 0C093EAD */ jal btl_is_popup_displayed
/* 170CD8 802423F8 00000000 */ nop
/* 170CDC 802423FC 14400003 */ bnez $v0, .L8024240C
/* 170CE0 80242400 00000000 */ nop
.L80242404:
/* 170CE4 80242404 2402000F */ addiu $v0, $zero, 0xf
.L80242408:
/* 170CE8 80242408 AE020000 */ sw $v0, ($s0)
.L8024240C:
/* 170CEC 8024240C 3C10800E */ lui $s0, %hi(gBattleState2)
/* 170CF0 80242410 2610C4DC */ addiu $s0, $s0, %lo(gBattleState2)
/* 170CF4 80242414 8E030000 */ lw $v1, ($s0)
/* 170CF8 80242418 2402000F */ addiu $v0, $zero, 0xf
.L8024241C:
/* 170CFC 8024241C 10620005 */ beq $v1, $v0, .L80242434
/* 170D00 80242420 24020010 */ addiu $v0, $zero, 0x10
/* 170D04 80242424 10620025 */ beq $v1, $v0, .L802424BC
/* 170D08 80242428 00000000 */ nop
/* 170D0C 8024242C 08090935 */ j .L802424D4
/* 170D10 80242430 00000000 */ nop
.L80242434:
/* 170D14 80242434 8262009B */ lb $v0, 0x9b($s3)
/* 170D18 80242438 9264009B */ lbu $a0, 0x9b($s3)
/* 170D1C 8024243C 10400024 */ beqz $v0, .L802424D0
/* 170D20 80242440 24020015 */ addiu $v0, $zero, 0x15
/* 170D24 80242444 3C05800E */ lui $a1, %hi(gBattleStatus)
/* 170D28 80242448 24A5C070 */ addiu $a1, $a1, %lo(gBattleStatus)
/* 170D2C 8024244C 8CA30004 */ lw $v1, 4($a1)
/* 170D30 80242450 30620100 */ andi $v0, $v1, 0x100
/* 170D34 80242454 10400004 */ beqz $v0, .L80242468
/* 170D38 80242458 2402FEFF */ addiu $v0, $zero, -0x101
/* 170D3C 8024245C 00621024 */ and $v0, $v1, $v0
/* 170D40 80242460 08090933 */ j .L802424CC
/* 170D44 80242464 ACA20004 */ sw $v0, 4($a1)
.L80242468:
/* 170D48 80242468 8E63043C */ lw $v1, 0x43c($s3)
/* 170D4C 8024246C 2482FFFF */ addiu $v0, $a0, -1
/* 170D50 80242470 A262009B */ sb $v0, 0x9b($s3)
/* 170D54 80242474 00021600 */ sll $v0, $v0, 0x18
/* 170D58 80242478 8C63000C */ lw $v1, 0xc($v1)
/* 170D5C 8024247C 00021603 */ sra $v0, $v0, 0x18
/* 170D60 80242480 A4620024 */ sh $v0, 0x24($v1)
/* 170D64 80242484 8262009B */ lb $v0, 0x9b($s3)
/* 170D68 80242488 1C400011 */ bgtz $v0, .L802424D0
/* 170D6C 8024248C 24020015 */ addiu $v0, $zero, 0x15
/* 170D70 80242490 2404002B */ addiu $a0, $zero, 0x2b
/* 170D74 80242494 0C093E58 */ jal btl_show_battle_message
/* 170D78 80242498 2405003C */ addiu $a1, $zero, 0x3c
/* 170D7C 8024249C 08090934 */ j .L802424D0
/* 170D80 802424A0 24020010 */ addiu $v0, $zero, 0x10
.L802424A4:
/* 170D84 802424A4 8E230440 */ lw $v1, 0x440($s1)
/* 170D88 802424A8 A2220216 */ sb $v0, 0x216($s1)
/* 170D8C 802424AC 82220217 */ lb $v0, 0x217($s1)
/* 170D90 802424B0 8C63000C */ lw $v1, 0xc($v1)
/* 170D94 802424B4 08090A05 */ j .L80242814
/* 170D98 802424B8 AC62003C */ sw $v0, 0x3c($v1)
.L802424BC:
/* 170D9C 802424BC 0C093EAD */ jal btl_is_popup_displayed
/* 170DA0 802424C0 00000000 */ nop
/* 170DA4 802424C4 14400003 */ bnez $v0, .L802424D4
/* 170DA8 802424C8 00000000 */ nop
.L802424CC:
/* 170DAC 802424CC 24020015 */ addiu $v0, $zero, 0x15
.L802424D0:
/* 170DB0 802424D0 AE020000 */ sw $v0, ($s0)
.L802424D4:
/* 170DB4 802424D4 3C03800E */ lui $v1, %hi(gBattleState2)
/* 170DB8 802424D8 8C63C4DC */ lw $v1, %lo(gBattleState2)($v1)
/* 170DBC 802424DC 24020015 */ addiu $v0, $zero, 0x15
/* 170DC0 802424E0 14620042 */ bne $v1, $v0, .L802425EC
/* 170DC4 802424E4 24020016 */ addiu $v0, $zero, 0x16
/* 170DC8 802424E8 82230210 */ lb $v1, 0x210($s1)
/* 170DCC 802424EC 24020009 */ addiu $v0, $zero, 9
/* 170DD0 802424F0 1462000C */ bne $v1, $v0, .L80242524
/* 170DD4 802424F4 3C03F7FF */ lui $v1, 0xf7ff
/* 170DD8 802424F8 82220214 */ lb $v0, 0x214($s1)
/* 170DDC 802424FC 14400009 */ bnez $v0, .L80242524
/* 170DE0 80242500 24040001 */ addiu $a0, $zero, 1
/* 170DE4 80242504 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 170DE8 80242508 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 170DEC 8024250C 8C620000 */ lw $v0, ($v1)
/* 170DF0 80242510 2405000A */ addiu $a1, $zero, 0xa
/* 170DF4 80242514 34420020 */ ori $v0, $v0, 0x20
/* 170DF8 80242518 0C09CCDF */ jal dispatch_damage_event_player_0
/* 170DFC 8024251C AC620000 */ sw $v0, ($v1)
/* 170E00 80242520 3C03F7FF */ lui $v1, 0xf7ff
.L80242524:
/* 170E04 80242524 3C10800E */ lui $s0, %hi(gBattleStatus)
/* 170E08 80242528 2610C070 */ addiu $s0, $s0, %lo(gBattleStatus)
/* 170E0C 8024252C 8E020004 */ lw $v0, 4($s0)
/* 170E10 80242530 3463FFFF */ ori $v1, $v1, 0xffff
/* 170E14 80242534 A2600099 */ sb $zero, 0x99($s3)
/* 170E18 80242538 00431824 */ and $v1, $v0, $v1
/* 170E1C 8024253C 30420040 */ andi $v0, $v0, 0x40
/* 170E20 80242540 14400024 */ bnez $v0, .L802425D4
/* 170E24 80242544 AE030004 */ sw $v1, 4($s0)
/* 170E28 80242548 82C20002 */ lb $v0, 2($s6)
/* 170E2C 8024254C 28420002 */ slti $v0, $v0, 2
/* 170E30 80242550 1040000B */ beqz $v0, .L80242580
/* 170E34 80242554 00000000 */ nop
/* 170E38 80242558 0C03A752 */ jal is_ability_active
/* 170E3C 8024255C 24040014 */ addiu $a0, $zero, 0x14
/* 170E40 80242560 10400007 */ beqz $v0, .L80242580
/* 170E44 80242564 3C020800 */ lui $v0, 0x800
/* 170E48 80242568 8E030004 */ lw $v1, 4($s0)
/* 170E4C 8024256C 92640099 */ lbu $a0, 0x99($s3)
/* 170E50 80242570 00621825 */ or $v1, $v1, $v0
/* 170E54 80242574 34840001 */ ori $a0, $a0, 1
/* 170E58 80242578 AE030004 */ sw $v1, 4($s0)
/* 170E5C 8024257C A2640099 */ sb $a0, 0x99($s3)
.L80242580:
/* 170E60 80242580 82C20002 */ lb $v0, 2($s6)
/* 170E64 80242584 28420006 */ slti $v0, $v0, 6
/* 170E68 80242588 10400013 */ beqz $v0, .L802425D8
/* 170E6C 8024258C 24020016 */ addiu $v0, $zero, 0x16
/* 170E70 80242590 0C03A752 */ jal is_ability_active
/* 170E74 80242594 2404001E */ addiu $a0, $zero, 0x1e
/* 170E78 80242598 1040000F */ beqz $v0, .L802425D8
/* 170E7C 8024259C 24020016 */ addiu $v0, $zero, 0x16
/* 170E80 802425A0 92620099 */ lbu $v0, 0x99($s3)
/* 170E84 802425A4 30420001 */ andi $v0, $v0, 1
/* 170E88 802425A8 1440000B */ bnez $v0, .L802425D8
/* 170E8C 802425AC 24020016 */ addiu $v0, $zero, 0x16
/* 170E90 802425B0 3C05800E */ lui $a1, %hi(gBattleStatus)
/* 170E94 802425B4 24A5C070 */ addiu $a1, $a1, %lo(gBattleStatus)
/* 170E98 802425B8 3C040800 */ lui $a0, 0x800
/* 170E9C 802425BC 8CA20004 */ lw $v0, 4($a1)
/* 170EA0 802425C0 92630099 */ lbu $v1, 0x99($s3)
/* 170EA4 802425C4 00441025 */ or $v0, $v0, $a0
/* 170EA8 802425C8 34630002 */ ori $v1, $v1, 2
/* 170EAC 802425CC ACA20004 */ sw $v0, 4($a1)
/* 170EB0 802425D0 A2630099 */ sb $v1, 0x99($s3)
.L802425D4:
/* 170EB4 802425D4 24020016 */ addiu $v0, $zero, 0x16
.L802425D8:
/* 170EB8 802425D8 3C01800E */ lui $at, %hi(gBattleState2)
/* 170EBC 802425DC AC22C4DC */ sw $v0, %lo(gBattleState2)($at)
/* 170EC0 802425E0 3C03800E */ lui $v1, %hi(gBattleState2)
/* 170EC4 802425E4 8C63C4DC */ lw $v1, %lo(gBattleState2)($v1)
/* 170EC8 802425E8 24020016 */ addiu $v0, $zero, 0x16
.L802425EC:
/* 170ECC 802425EC 146200A8 */ bne $v1, $v0, .L80242890
/* 170ED0 802425F0 00000000 */ nop
/* 170ED4 802425F4 8E2201D8 */ lw $v0, 0x1d8($s1)
/* 170ED8 802425F8 10400005 */ beqz $v0, .L80242610
/* 170EDC 802425FC 00000000 */ nop
/* 170EE0 80242600 0C0B1059 */ jal does_script_exist
/* 170EE4 80242604 8E2401E8 */ lw $a0, 0x1e8($s1)
/* 170EE8 80242608 144000A1 */ bnez $v0, .L80242890
/* 170EEC 8024260C 00000000 */ nop
.L80242610:
/* 170EF0 80242610 0C098D19 */ jal btl_check_player_defeated
/* 170EF4 80242614 AE2001D8 */ sw $zero, 0x1d8($s1)
/* 170EF8 80242618 1440011C */ bnez $v0, .L80242A8C
/* 170EFC 8024261C 3C030C00 */ lui $v1, 0xc00
/* 170F00 80242620 2404000E */ addiu $a0, $zero, 0xe
/* 170F04 80242624 8E220000 */ lw $v0, ($s1)
/* 170F08 80242628 3C01802A */ lui $at, %hi(D_8029F254)
/* 170F0C 8024262C AC20F254 */ sw $zero, %lo(D_8029F254)($at)
/* 170F10 80242630 A220021D */ sb $zero, 0x21d($s1)
/* 170F14 80242634 00431025 */ or $v0, $v0, $v1
/* 170F18 80242638 0C03A752 */ jal is_ability_active
/* 170F1C 8024263C AE220000 */ sw $v0, ($s1)
/* 170F20 80242640 10400015 */ beqz $v0, .L80242698
/* 170F24 80242644 00000000 */ nop
/* 170F28 80242648 82220210 */ lb $v0, 0x210($s1)
/* 170F2C 8024264C 10400002 */ beqz $v0, .L80242658
/* 170F30 80242650 24020001 */ addiu $v0, $zero, 1
/* 170F34 80242654 A2220211 */ sb $v0, 0x211($s1)
.L80242658:
/* 170F38 80242658 82220212 */ lb $v0, 0x212($s1)
/* 170F3C 8024265C 10400002 */ beqz $v0, .L80242668
/* 170F40 80242660 24020001 */ addiu $v0, $zero, 1
/* 170F44 80242664 A2220213 */ sb $v0, 0x213($s1)
.L80242668:
/* 170F48 80242668 82220214 */ lb $v0, 0x214($s1)
/* 170F4C 8024266C 10400002 */ beqz $v0, .L80242678
/* 170F50 80242670 24020001 */ addiu $v0, $zero, 1
/* 170F54 80242674 A2220215 */ sb $v0, 0x215($s1)
.L80242678:
/* 170F58 80242678 82220216 */ lb $v0, 0x216($s1)
/* 170F5C 8024267C 10400002 */ beqz $v0, .L80242688
/* 170F60 80242680 24020001 */ addiu $v0, $zero, 1
/* 170F64 80242684 A2220217 */ sb $v0, 0x217($s1)
.L80242688:
/* 170F68 80242688 82220218 */ lb $v0, 0x218($s1)
/* 170F6C 8024268C 10400002 */ beqz $v0, .L80242698
/* 170F70 80242690 24020001 */ addiu $v0, $zero, 1
/* 170F74 80242694 A2220219 */ sb $v0, 0x219($s1)
.L80242698:
/* 170F78 80242698 82220214 */ lb $v0, 0x214($s1)
/* 170F7C 8024269C 1040000C */ beqz $v0, .L802426D0
/* 170F80 802426A0 00000000 */ nop
/* 170F84 802426A4 92220215 */ lbu $v0, 0x215($s1)
/* 170F88 802426A8 2442FFFF */ addiu $v0, $v0, -1
/* 170F8C 802426AC A2220215 */ sb $v0, 0x215($s1)
/* 170F90 802426B0 00021600 */ sll $v0, $v0, 0x18
/* 170F94 802426B4 1C400058 */ bgtz $v0, .L80242818
/* 170F98 802426B8 0000902D */ daddu $s2, $zero, $zero
/* 170F9C 802426BC A2200214 */ sb $zero, 0x214($s1)
/* 170FA0 802426C0 0C09C596 */ jal dispatch_event_player
/* 170FA4 802426C4 24040031 */ addiu $a0, $zero, 0x31
/* 170FA8 802426C8 08090A06 */ j .L80242818
/* 170FAC 802426CC 0000902D */ daddu $s2, $zero, $zero
.L802426D0:
/* 170FB0 802426D0 0C03A752 */ jal is_ability_active
/* 170FB4 802426D4 24040013 */ addiu $a0, $zero, 0x13
/* 170FB8 802426D8 1440000D */ bnez $v0, .L80242710
/* 170FBC 802426DC 00000000 */ nop
/* 170FC0 802426E0 82220212 */ lb $v0, 0x212($s1)
/* 170FC4 802426E4 1040000A */ beqz $v0, .L80242710
/* 170FC8 802426E8 00000000 */ nop
/* 170FCC 802426EC 92220213 */ lbu $v0, 0x213($s1)
/* 170FD0 802426F0 2442FFFF */ addiu $v0, $v0, -1
/* 170FD4 802426F4 A2220213 */ sb $v0, 0x213($s1)
/* 170FD8 802426F8 00021600 */ sll $v0, $v0, 0x18
/* 170FDC 802426FC 1C400004 */ bgtz $v0, .L80242710
/* 170FE0 80242700 00000000 */ nop
/* 170FE4 80242704 86240436 */ lh $a0, 0x436($s1)
/* 170FE8 80242708 0C011E68 */ jal remove_status_static
/* 170FEC 8024270C A2200212 */ sb $zero, 0x212($s1)
.L80242710:
/* 170FF0 80242710 82220218 */ lb $v0, 0x218($s1)
/* 170FF4 80242714 10400010 */ beqz $v0, .L80242758
/* 170FF8 80242718 00000000 */ nop
/* 170FFC 8024271C 92220219 */ lbu $v0, 0x219($s1)
/* 171000 80242720 2442FFFF */ addiu $v0, $v0, -1
/* 171004 80242724 A2220219 */ sb $v0, 0x219($s1)
/* 171008 80242728 8E820000 */ lw $v0, ($s4)
/* 17100C 8024272C 34420100 */ ori $v0, $v0, 0x100
/* 171010 80242730 AE820000 */ sw $v0, ($s4)
/* 171014 80242734 82220219 */ lb $v0, 0x219($s1)
/* 171018 80242738 1C400007 */ bgtz $v0, .L80242758
/* 17101C 8024273C 2403FEFF */ addiu $v1, $zero, -0x101
/* 171020 80242740 A2200218 */ sb $zero, 0x218($s1)
/* 171024 80242744 8E820000 */ lw $v0, ($s4)
/* 171028 80242748 00431024 */ and $v0, $v0, $v1
/* 17102C 8024274C AE820000 */ sw $v0, ($s4)
/* 171030 80242750 0C011EAA */ jal remove_status_transparent
/* 171034 80242754 86240436 */ lh $a0, 0x436($s1)
.L80242758:
/* 171038 80242758 82220210 */ lb $v0, 0x210($s1)
/* 17103C 8024275C 1040001F */ beqz $v0, .L802427DC
/* 171040 80242760 28420009 */ slti $v0, $v0, 9
/* 171044 80242764 10400003 */ beqz $v0, .L80242774
/* 171048 80242768 24020001 */ addiu $v0, $zero, 1
/* 17104C 8024276C 3C01802A */ lui $at, %hi(D_8029F254)
/* 171050 80242770 AC22F254 */ sw $v0, %lo(D_8029F254)($at)
.L80242774:
/* 171054 80242774 24020014 */ addiu $v0, $zero, 0x14
/* 171058 80242778 3C01802A */ lui $at, %hi(D_8029F258)
/* 17105C 8024277C AC22F258 */ sw $v0, %lo(D_8029F258)($at)
/* 171060 80242780 92220211 */ lbu $v0, 0x211($s1)
/* 171064 80242784 2442FFFF */ addiu $v0, $v0, -1
/* 171068 80242788 A2220211 */ sb $v0, 0x211($s1)
/* 17106C 8024278C 00021600 */ sll $v0, $v0, 0x18
/* 171070 80242790 1C400012 */ bgtz $v0, .L802427DC
/* 171074 80242794 24020007 */ addiu $v0, $zero, 7
/* 171078 80242798 82230210 */ lb $v1, 0x210($s1)
/* 17107C 8024279C 14620009 */ bne $v1, $v0, .L802427C4
/* 171080 802427A0 24040031 */ addiu $a0, $zero, 0x31
/* 171084 802427A4 0C05272D */ jal sfx_play_sound
/* 171088 802427A8 240400E7 */ addiu $a0, $zero, 0xe7
/* 17108C 802427AC 8E230228 */ lw $v1, 0x228($s1)
/* 171090 802427B0 8C620000 */ lw $v0, ($v1)
/* 171094 802427B4 24040032 */ addiu $a0, $zero, 0x32
/* 171098 802427B8 34420010 */ ori $v0, $v0, 0x10
/* 17109C 802427BC AC620000 */ sw $v0, ($v1)
/* 1710A0 802427C0 AE200228 */ sw $zero, 0x228($s1)
.L802427C4:
/* 1710A4 802427C4 0C09C596 */ jal dispatch_event_player
/* 1710A8 802427C8 00000000 */ nop
/* 1710AC 802427CC 86240436 */ lh $a0, 0x436($s1)
/* 1710B0 802427D0 A2200210 */ sb $zero, 0x210($s1)
/* 1710B4 802427D4 0C011E26 */ jal remove_status_debuff
/* 1710B8 802427D8 A2200211 */ sb $zero, 0x211($s1)
.L802427DC:
/* 1710BC 802427DC 92220211 */ lbu $v0, 0x211($s1)
/* 1710C0 802427E0 82300217 */ lb $s0, 0x217($s1)
/* 1710C4 802427E4 A2220217 */ sb $v0, 0x217($s1)
/* 1710C8 802427E8 00021600 */ sll $v0, $v0, 0x18
/* 1710CC 802427EC 00021603 */ sra $v0, $v0, 0x18
/* 1710D0 802427F0 5C40FF2C */ bgtzl $v0, .L802424A4
/* 1710D4 802427F4 2402000D */ addiu $v0, $zero, 0xd
/* 1710D8 802427F8 12020007 */ beq $s0, $v0, .L80242818
/* 1710DC 802427FC 0000902D */ daddu $s2, $zero, $zero
/* 1710E0 80242800 8E220440 */ lw $v0, 0x440($s1)
/* 1710E4 80242804 A2200216 */ sb $zero, 0x216($s1)
/* 1710E8 80242808 A2200217 */ sb $zero, 0x217($s1)
/* 1710EC 8024280C 8C42000C */ lw $v0, 0xc($v0)
/* 1710F0 80242810 AC40003C */ sw $zero, 0x3c($v0)
.L80242814:
/* 1710F4 80242814 0000902D */ daddu $s2, $zero, $zero
.L80242818:
/* 1710F8 80242818 3C150C00 */ lui $s5, 0xc00
/* 1710FC 8024281C 24140014 */ addiu $s4, $zero, 0x14
/* 171100 80242820 0260802D */ daddu $s0, $s3, $zero
.L80242824:
/* 171104 80242824 8E0300E0 */ lw $v1, 0xe0($s0)
/* 171108 80242828 50600013 */ beql $v1, $zero, .L80242878
/* 17110C 8024282C 26520001 */ addiu $s2, $s2, 1
/* 171110 80242830 8C620000 */ lw $v0, ($v1)
/* 171114 80242834 00551025 */ or $v0, $v0, $s5
/* 171118 80242838 AC620000 */ sw $v0, ($v1)
/* 17111C 8024283C 80620224 */ lb $v0, 0x224($v1)
/* 171120 80242840 90640224 */ lbu $a0, 0x224($v1)
/* 171124 80242844 5040000C */ beql $v0, $zero, .L80242878
/* 171128 80242848 26520001 */ addiu $s2, $s2, 1
/* 17112C 8024284C 2482FFFF */ addiu $v0, $a0, -1
/* 171130 80242850 A0620224 */ sb $v0, 0x224($v1)
/* 171134 80242854 00021600 */ sll $v0, $v0, 0x18
/* 171138 80242858 54400007 */ bnel $v0, $zero, .L80242878
/* 17113C 8024285C 26520001 */ addiu $s2, $s2, 1
/* 171140 80242860 84640436 */ lh $a0, 0x436($v1)
/* 171144 80242864 0C011EE1 */ jal remove_status_chill_out
/* 171148 80242868 A0600223 */ sb $zero, 0x223($v1)
/* 17114C 8024286C 3C01802A */ lui $at, %hi(D_8029F258)
/* 171150 80242870 AC34F258 */ sw $s4, %lo(D_8029F258)($at)
/* 171154 80242874 26520001 */ addiu $s2, $s2, 1
.L80242878:
/* 171158 80242878 2A420018 */ slti $v0, $s2, 0x18
/* 17115C 8024287C 1440FFE9 */ bnez $v0, .L80242824
/* 171160 80242880 26100004 */ addiu $s0, $s0, 4
/* 171164 80242884 24020001 */ addiu $v0, $zero, 1
/* 171168 80242888 3C01800E */ lui $at, %hi(gBattleState2)
/* 17116C 8024288C AC22C4DC */ sw $v0, %lo(gBattleState2)($at)
.L80242890:
/* 171170 80242890 3C12800E */ lui $s2, %hi(gBattleState2)
/* 171174 80242894 8E52C4DC */ lw $s2, %lo(gBattleState2)($s2)
/* 171178 80242898 24020001 */ addiu $v0, $zero, 1
/* 17117C 8024289C 16420051 */ bne $s2, $v0, .L802429E4
/* 171180 802428A0 00000000 */ nop
/* 171184 802428A4 0C098D0D */ jal btl_check_enemies_defeated
/* 171188 802428A8 00000000 */ nop
/* 17118C 802428AC 14400077 */ bnez $v0, .L80242A8C
/* 171190 802428B0 24100001 */ addiu $s0, $zero, 1
/* 171194 802428B4 826200AE */ lb $v0, 0xae($s3)
/* 171198 802428B8 926300AE */ lbu $v1, 0xae($s3)
/* 17119C 802428BC 04400015 */ bltz $v0, .L80242914
/* 1711A0 802428C0 A260008C */ sb $zero, 0x8c($s3)
/* 1711A4 802428C4 2462FFFF */ addiu $v0, $v1, -1
/* 1711A8 802428C8 A26200AE */ sb $v0, 0xae($s3)
/* 1711AC 802428CC 00021600 */ sll $v0, $v0, 0x18
/* 1711B0 802428D0 00021603 */ sra $v0, $v0, 0x18
/* 1711B4 802428D4 2403FFFF */ addiu $v1, $zero, -1
/* 1711B8 802428D8 1443000E */ bne $v0, $v1, .L80242914
/* 1711BC 802428DC 2405000A */ addiu $a1, $zero, 0xa
/* 1711C0 802428E0 3C048029 */ lui $a0, %hi(RegainAbility)
/* 1711C4 802428E4 24849110 */ addiu $a0, $a0, %lo(RegainAbility)
/* 1711C8 802428E8 0C0B0CF8 */ jal start_script
/* 1711CC 802428EC 0000302D */ daddu $a2, $zero, $zero
/* 1711D0 802428F0 0040182D */ daddu $v1, $v0, $zero
/* 1711D4 802428F4 AE2301D4 */ sw $v1, 0x1d4($s1)
/* 1711D8 802428F8 8C620144 */ lw $v0, 0x144($v1)
/* 1711DC 802428FC AE2201E4 */ sw $v0, 0x1e4($s1)
/* 1711E0 80242900 AC700084 */ sw $s0, 0x84($v1)
/* 1711E4 80242904 24100009 */ addiu $s0, $zero, 9
/* 1711E8 80242908 AC600148 */ sw $zero, 0x148($v1)
/* 1711EC 8024290C AC7200AC */ sw $s2, 0xac($v1)
/* 1711F0 80242910 A272008C */ sb $s2, 0x8c($s3)
.L80242914:
/* 1711F4 80242914 826200AF */ lb $v0, 0xaf($s3)
/* 1711F8 80242918 926300AF */ lbu $v1, 0xaf($s3)
/* 1711FC 8024291C 04400015 */ bltz $v0, .L80242974
/* 171200 80242920 2462FFFF */ addiu $v0, $v1, -1
/* 171204 80242924 A26200AF */ sb $v0, 0xaf($s3)
/* 171208 80242928 00021600 */ sll $v0, $v0, 0x18
/* 17120C 8024292C 00021603 */ sra $v0, $v0, 0x18
/* 171210 80242930 2403FFFF */ addiu $v1, $zero, -1
/* 171214 80242934 1443000F */ bne $v0, $v1, .L80242974
/* 171218 80242938 2405000A */ addiu $a1, $zero, 0xa
/* 17121C 8024293C 3C048029 */ lui $a0, %hi(RegainAbility)
/* 171220 80242940 24849110 */ addiu $a0, $a0, %lo(RegainAbility)
/* 171224 80242944 0C0B0CF8 */ jal start_script
/* 171228 80242948 0000302D */ daddu $a2, $zero, $zero
/* 17122C 8024294C 0040182D */ daddu $v1, $v0, $zero
/* 171230 80242950 AE2301D4 */ sw $v1, 0x1d4($s1)
/* 171234 80242954 8C620144 */ lw $v0, 0x144($v1)
/* 171238 80242958 AE2201E4 */ sw $v0, 0x1e4($s1)
/* 17123C 8024295C AC700084 */ sw $s0, 0x84($v1)
/* 171240 80242960 26100008 */ addiu $s0, $s0, 8
/* 171244 80242964 24020001 */ addiu $v0, $zero, 1
/* 171248 80242968 AC600148 */ sw $zero, 0x148($v1)
/* 17124C 8024296C AC6000AC */ sw $zero, 0xac($v1)
/* 171250 80242970 A262008C */ sb $v0, 0x8c($s3)
.L80242974:
/* 171254 80242974 826200B0 */ lb $v0, 0xb0($s3)
/* 171258 80242978 926300B0 */ lbu $v1, 0xb0($s3)
/* 17125C 8024297C 04400016 */ bltz $v0, .L802429D8
/* 171260 80242980 2462FFFF */ addiu $v0, $v1, -1
/* 171264 80242984 A26200B0 */ sb $v0, 0xb0($s3)
/* 171268 80242988 00021600 */ sll $v0, $v0, 0x18
/* 17126C 8024298C 00021603 */ sra $v0, $v0, 0x18
/* 171270 80242990 2403FFFF */ addiu $v1, $zero, -1
/* 171274 80242994 14430011 */ bne $v0, $v1, .L802429DC
/* 171278 80242998 2402001E */ addiu $v0, $zero, 0x1e
/* 17127C 8024299C 3C048029 */ lui $a0, %hi(RegainAbility)
/* 171280 802429A0 24849110 */ addiu $a0, $a0, %lo(RegainAbility)
/* 171284 802429A4 2405000A */ addiu $a1, $zero, 0xa
/* 171288 802429A8 0C0B0CF8 */ jal start_script
/* 17128C 802429AC 0000302D */ daddu $a2, $zero, $zero
/* 171290 802429B0 0040182D */ daddu $v1, $v0, $zero
/* 171294 802429B4 AE2301D4 */ sw $v1, 0x1d4($s1)
/* 171298 802429B8 8C620144 */ lw $v0, 0x144($v1)
/* 17129C 802429BC AE2201E4 */ sw $v0, 0x1e4($s1)
/* 1712A0 802429C0 24020002 */ addiu $v0, $zero, 2
/* 1712A4 802429C4 AC6200AC */ sw $v0, 0xac($v1)
/* 1712A8 802429C8 24020001 */ addiu $v0, $zero, 1
/* 1712AC 802429CC AC600148 */ sw $zero, 0x148($v1)
/* 1712B0 802429D0 AC700084 */ sw $s0, 0x84($v1)
/* 1712B4 802429D4 A262008C */ sb $v0, 0x8c($s3)
.L802429D8:
/* 1712B8 802429D8 2402001E */ addiu $v0, $zero, 0x1e
.L802429DC:
/* 1712BC 802429DC 3C01800E */ lui $at, %hi(gBattleState2)
/* 1712C0 802429E0 AC22C4DC */ sw $v0, %lo(gBattleState2)($at)
.L802429E4:
/* 1712C4 802429E4 3C03800E */ lui $v1, %hi(gBattleState2)
/* 1712C8 802429E8 8C63C4DC */ lw $v1, %lo(gBattleState2)($v1)
/* 1712CC 802429EC 2402001E */ addiu $v0, $zero, 0x1e
/* 1712D0 802429F0 14620026 */ bne $v1, $v0, .L80242A8C
/* 1712D4 802429F4 00000000 */ nop
/* 1712D8 802429F8 8E2201D8 */ lw $v0, 0x1d8($s1)
/* 1712DC 802429FC 10400005 */ beqz $v0, .L80242A14
/* 1712E0 80242A00 00000000 */ nop
/* 1712E4 80242A04 0C0B1059 */ jal does_script_exist
/* 1712E8 80242A08 8E2401E8 */ lw $a0, 0x1e8($s1)
/* 1712EC 80242A0C 1440001F */ bnez $v0, .L80242A8C
/* 1712F0 80242A10 00000000 */ nop
.L80242A14:
/* 1712F4 80242A14 0C098D19 */ jal btl_check_player_defeated
/* 1712F8 80242A18 AE2001D8 */ sw $zero, 0x1d8($s1)
/* 1712FC 80242A1C 1440001B */ bnez $v0, .L80242A8C
/* 171300 80242A20 00000000 */ nop
/* 171304 80242A24 0C098D0D */ jal btl_check_enemies_defeated
/* 171308 80242A28 00000000 */ nop
/* 17130C 80242A2C 14400017 */ bnez $v0, .L80242A8C
/* 171310 80242A30 00000000 */ nop
/* 171314 80242A34 3C03802A */ lui $v1, %hi(D_8029F258)
/* 171318 80242A38 2463F258 */ addiu $v1, $v1, %lo(D_8029F258)
/* 17131C 80242A3C 8C620000 */ lw $v0, ($v1)
/* 171320 80242A40 10400003 */ beqz $v0, .L80242A50
/* 171324 80242A44 2442FFFF */ addiu $v0, $v0, -1
/* 171328 80242A48 08090AA3 */ j .L80242A8C
/* 17132C 80242A4C AC620000 */ sw $v0, ($v1)
.L80242A50:
/* 171330 80242A50 3C02802A */ lui $v0, %hi(D_8029F254)
/* 171334 80242A54 8C42F254 */ lw $v0, %lo(D_8029F254)($v0)
/* 171338 80242A58 14400005 */ bnez $v0, .L80242A70
/* 17133C 80242A5C 00000000 */ nop
/* 171340 80242A60 0C090464 */ jal btl_set_state
/* 171344 80242A64 2404000A */ addiu $a0, $zero, 0xa
/* 171348 80242A68 08090AA3 */ j .L80242A8C
/* 17134C 80242A6C 00000000 */ nop
.L80242A70:
/* 171350 80242A70 0C090464 */ jal btl_set_state
/* 171354 80242A74 24040008 */ addiu $a0, $zero, 8
/* 171358 80242A78 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 17135C 80242A7C 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 171360 80242A80 8C620004 */ lw $v0, 4($v1)
/* 171364 80242A84 34420002 */ ori $v0, $v0, 2
/* 171368 80242A88 AC620004 */ sw $v0, 4($v1)
.L80242A8C:
/* 17136C 80242A8C 8FBF0034 */ lw $ra, 0x34($sp)
/* 171370 80242A90 8FB60030 */ lw $s6, 0x30($sp)
/* 171374 80242A94 8FB5002C */ lw $s5, 0x2c($sp)
/* 171378 80242A98 8FB40028 */ lw $s4, 0x28($sp)
/* 17137C 80242A9C 8FB30024 */ lw $s3, 0x24($sp)
/* 171380 80242AA0 8FB20020 */ lw $s2, 0x20($sp)
/* 171384 80242AA4 8FB1001C */ lw $s1, 0x1c($sp)
/* 171388 80242AA8 8FB00018 */ lw $s0, 0x18($sp)
/* 17138C 80242AAC D7B80048 */ ldc1 $f24, 0x48($sp)
/* 171390 80242AB0 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 171394 80242AB4 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 171398 80242AB8 03E00008 */ jr $ra
/* 17139C 80242ABC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,479 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_state_update_end_player_turn
/* 174D30 80246450 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 174D34 80246454 AFB3001C */ sw $s3, 0x1c($sp)
/* 174D38 80246458 3C13800E */ lui $s3, %hi(gBattleStatus)
/* 174D3C 8024645C 2673C070 */ addiu $s3, $s3, %lo(gBattleStatus)
/* 174D40 80246460 3C04800E */ lui $a0, %hi(gBattleState2)
/* 174D44 80246464 2484C4DC */ addiu $a0, $a0, %lo(gBattleState2)
/* 174D48 80246468 AFBF0030 */ sw $ra, 0x30($sp)
/* 174D4C 8024646C AFB7002C */ sw $s7, 0x2c($sp)
/* 174D50 80246470 AFB60028 */ sw $s6, 0x28($sp)
/* 174D54 80246474 AFB50024 */ sw $s5, 0x24($sp)
/* 174D58 80246478 AFB40020 */ sw $s4, 0x20($sp)
/* 174D5C 8024647C AFB20018 */ sw $s2, 0x18($sp)
/* 174D60 80246480 AFB10014 */ sw $s1, 0x14($sp)
/* 174D64 80246484 AFB00010 */ sw $s0, 0x10($sp)
/* 174D68 80246488 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 174D6C 8024648C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 174D70 80246490 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 174D74 80246494 8E7000D8 */ lw $s0, 0xd8($s3)
/* 174D78 80246498 8C820000 */ lw $v0, ($a0)
/* 174D7C 8024649C 8E7100DC */ lw $s1, 0xdc($s3)
/* 174D80 802464A0 1440007F */ bnez $v0, .L802466A0
/* 174D84 802464A4 24020002 */ addiu $v0, $zero, 2
/* 174D88 802464A8 82630178 */ lb $v1, 0x178($s3)
/* 174D8C 802464AC 14620007 */ bne $v1, $v0, .L802464CC
/* 174D90 802464B0 00000000 */ nop
/* 174D94 802464B4 82620088 */ lb $v0, 0x88($s3)
/* 174D98 802464B8 28420002 */ slti $v0, $v0, 2
/* 174D9C 802464BC 14400003 */ bnez $v0, .L802464CC
/* 174DA0 802464C0 24020005 */ addiu $v0, $zero, 5
/* 174DA4 802464C4 080919A8 */ j .L802466A0
/* 174DA8 802464C8 AC820000 */ sw $v0, ($a0)
.L802464CC:
/* 174DAC 802464CC 3C02800E */ lui $v0, %hi(gBattleStatus+0x4)
/* 174DB0 802464D0 8C42C074 */ lw $v0, %lo(gBattleStatus+0x4)($v0)
/* 174DB4 802464D4 3C030400 */ lui $v1, 0x400
/* 174DB8 802464D8 00431024 */ and $v0, $v0, $v1
/* 174DBC 802464DC 1440000D */ bnez $v0, .L80246514
/* 174DC0 802464E0 00000000 */ nop
/* 174DC4 802464E4 0C03A752 */ jal is_ability_active
/* 174DC8 802464E8 24040012 */ addiu $a0, $zero, 0x12
/* 174DCC 802464EC 14400009 */ bnez $v0, .L80246514
/* 174DD0 802464F0 00000000 */ nop
/* 174DD4 802464F4 0C03A752 */ jal is_ability_active
/* 174DD8 802464F8 2404001F */ addiu $a0, $zero, 0x1f
/* 174DDC 802464FC 14400005 */ bnez $v0, .L80246514
/* 174DE0 80246500 00000000 */ nop
/* 174DE4 80246504 0C03A752 */ jal is_ability_active
/* 174DE8 80246508 24040034 */ addiu $a0, $zero, 0x34
/* 174DEC 8024650C 10400031 */ beqz $v0, .L802465D4
/* 174DF0 80246510 24020005 */ addiu $v0, $zero, 5
.L80246514:
/* 174DF4 80246514 82030214 */ lb $v1, 0x214($s0)
/* 174DF8 80246518 2402000C */ addiu $v0, $zero, 0xc
/* 174DFC 8024651C 1062002D */ beq $v1, $v0, .L802465D4
/* 174E00 80246520 24020005 */ addiu $v0, $zero, 5
/* 174E04 80246524 8262009A */ lb $v0, 0x9a($s3)
/* 174E08 80246528 1440002A */ bnez $v0, .L802465D4
/* 174E0C 8024652C 24020005 */ addiu $v0, $zero, 5
/* 174E10 80246530 0000A82D */ daddu $s5, $zero, $zero
/* 174E14 80246534 02A0902D */ daddu $s2, $s5, $zero
/* 174E18 80246538 3C16800E */ lui $s6, %hi(gBattleStatus)
/* 174E1C 8024653C 26D6C070 */ addiu $s6, $s6, %lo(gBattleStatus)
/* 174E20 80246540 8EC20004 */ lw $v0, 4($s6)
/* 174E24 80246544 3C170400 */ lui $s7, 0x400
/* 174E28 80246548 00571024 */ and $v0, $v0, $s7
/* 174E2C 8024654C 10400003 */ beqz $v0, .L8024655C
/* 174E30 80246550 02A0A02D */ daddu $s4, $s5, $zero
/* 174E34 80246554 82750089 */ lb $s5, 0x89($s3)
/* 174E38 80246558 A2600089 */ sb $zero, 0x89($s3)
.L8024655C:
/* 174E3C 8024655C 0C00A67F */ jal rand_int
/* 174E40 80246560 24040064 */ addiu $a0, $zero, 0x64
/* 174E44 80246564 28420032 */ slti $v0, $v0, 0x32
/* 174E48 80246568 10400005 */ beqz $v0, .L80246580
/* 174E4C 8024656C 00000000 */ nop
/* 174E50 80246570 0C03A752 */ jal is_ability_active
/* 174E54 80246574 2404001F */ addiu $a0, $zero, 0x1f
/* 174E58 80246578 00021840 */ sll $v1, $v0, 1
/* 174E5C 8024657C 00629021 */ addu $s2, $v1, $v0
.L80246580:
/* 174E60 80246580 0C00A67F */ jal rand_int
/* 174E64 80246584 24040064 */ addiu $a0, $zero, 0x64
/* 174E68 80246588 28420032 */ slti $v0, $v0, 0x32
/* 174E6C 8024658C 10400004 */ beqz $v0, .L802465A0
/* 174E70 80246590 00000000 */ nop
/* 174E74 80246594 0C03A752 */ jal is_ability_active
/* 174E78 80246598 24040012 */ addiu $a0, $zero, 0x12
/* 174E7C 8024659C 02429021 */ addu $s2, $s2, $v0
.L802465A0:
/* 174E80 802465A0 0C00A67F */ jal rand_int
/* 174E84 802465A4 24040064 */ addiu $a0, $zero, 0x64
/* 174E88 802465A8 28420032 */ slti $v0, $v0, 0x32
/* 174E8C 802465AC 10400005 */ beqz $v0, .L802465C4
/* 174E90 802465B0 02B21021 */ addu $v0, $s5, $s2
/* 174E94 802465B4 0C03A752 */ jal is_ability_active
/* 174E98 802465B8 24040034 */ addiu $a0, $zero, 0x34
/* 174E9C 802465BC 0040A02D */ daddu $s4, $v0, $zero
/* 174EA0 802465C0 02B21021 */ addu $v0, $s5, $s2
.L802465C4:
/* 174EA4 802465C4 00541021 */ addu $v0, $v0, $s4
/* 174EA8 802465C8 14400006 */ bnez $v0, .L802465E4
/* 174EAC 802465CC 2402001E */ addiu $v0, $zero, 0x1e
/* 174EB0 802465D0 24020005 */ addiu $v0, $zero, 5
.L802465D4:
/* 174EB4 802465D4 3C01800E */ lui $at, %hi(gBattleState2)
/* 174EB8 802465D8 AC22C4DC */ sw $v0, %lo(gBattleState2)($at)
/* 174EBC 802465DC 080919A8 */ j .L802466A0
/* 174EC0 802465E0 00000000 */ nop
.L802465E4:
/* 174EC4 802465E4 3C048028 */ lui $a0, %hi(PlayerScriptDispatcher)
/* 174EC8 802465E8 24844EBC */ addiu $a0, $a0, %lo(PlayerScriptDispatcher)
/* 174ECC 802465EC 2405000A */ addiu $a1, $zero, 0xa
/* 174ED0 802465F0 0000302D */ daddu $a2, $zero, $zero
/* 174ED4 802465F4 0C0B0CF8 */ jal start_script
/* 174ED8 802465F8 A26201A7 */ sb $v0, 0x1a7($s3)
/* 174EDC 802465FC 0040202D */ daddu $a0, $v0, $zero
/* 174EE0 80246600 AE0401D4 */ sw $a0, 0x1d4($s0)
/* 174EE4 80246604 8C820144 */ lw $v0, 0x144($a0)
/* 174EE8 80246608 AE0201E4 */ sw $v0, 0x1e4($s0)
/* 174EEC 8024660C AC800148 */ sw $zero, 0x148($a0)
/* 174EF0 80246610 8EC20004 */ lw $v0, 4($s6)
/* 174EF4 80246614 00571024 */ and $v0, $v0, $s7
/* 174EF8 80246618 50400007 */ beql $v0, $zero, .L80246638
/* 174EFC 8024661C AC9500AC */ sw $s5, 0xac($a0)
/* 174F00 80246620 82630089 */ lb $v1, 0x89($s3)
/* 174F04 80246624 8C8200AC */ lw $v0, 0xac($a0)
/* 174F08 80246628 00431021 */ addu $v0, $v0, $v1
/* 174F0C 8024662C AC8200AC */ sw $v0, 0xac($a0)
/* 174F10 80246630 A2600089 */ sb $zero, 0x89($s3)
/* 174F14 80246634 AC9500AC */ sw $s5, 0xac($a0)
.L80246638:
/* 174F18 80246638 02A0102D */ daddu $v0, $s5, $zero
/* 174F1C 8024663C 28420064 */ slti $v0, $v0, 0x64
/* 174F20 80246640 AC9200B0 */ sw $s2, 0xb0($a0)
/* 174F24 80246644 14400003 */ bnez $v0, .L80246654
/* 174F28 80246648 AC9400B4 */ sw $s4, 0xb4($a0)
/* 174F2C 8024664C 24020063 */ addiu $v0, $zero, 0x63
/* 174F30 80246650 AC8200AC */ sw $v0, 0xac($a0)
.L80246654:
/* 174F34 80246654 8C8200B0 */ lw $v0, 0xb0($a0)
/* 174F38 80246658 28420064 */ slti $v0, $v0, 0x64
/* 174F3C 8024665C 14400002 */ bnez $v0, .L80246668
/* 174F40 80246660 24020063 */ addiu $v0, $zero, 0x63
/* 174F44 80246664 AC8200B0 */ sw $v0, 0xb0($a0)
.L80246668:
/* 174F48 80246668 8C8200B4 */ lw $v0, 0xb4($a0)
/* 174F4C 8024666C 28420064 */ slti $v0, $v0, 0x64
/* 174F50 80246670 14400004 */ bnez $v0, .L80246684
/* 174F54 80246674 3C02FBFF */ lui $v0, 0xfbff
/* 174F58 80246678 24020063 */ addiu $v0, $zero, 0x63
/* 174F5C 8024667C AC8200B4 */ sw $v0, 0xb4($a0)
/* 174F60 80246680 3C02FBFF */ lui $v0, 0xfbff
.L80246684:
/* 174F64 80246684 3442FFFF */ ori $v0, $v0, 0xffff
/* 174F68 80246688 8EC30004 */ lw $v1, 4($s6)
/* 174F6C 8024668C 24040005 */ addiu $a0, $zero, 5
/* 174F70 80246690 3C01800E */ lui $at, %hi(gBattleState2)
/* 174F74 80246694 AC24C4DC */ sw $a0, %lo(gBattleState2)($at)
/* 174F78 80246698 00621824 */ and $v1, $v1, $v0
/* 174F7C 8024669C AEC30004 */ sw $v1, 4($s6)
.L802466A0:
/* 174F80 802466A0 3C12800E */ lui $s2, %hi(gBattleState2)
/* 174F84 802466A4 2652C4DC */ addiu $s2, $s2, %lo(gBattleState2)
/* 174F88 802466A8 8E430000 */ lw $v1, ($s2)
/* 174F8C 802466AC 24020005 */ addiu $v0, $zero, 5
/* 174F90 802466B0 14620027 */ bne $v1, $v0, .L80246750
/* 174F94 802466B4 24020006 */ addiu $v0, $zero, 6
/* 174F98 802466B8 8E0201D4 */ lw $v0, 0x1d4($s0)
/* 174F9C 802466BC 10400005 */ beqz $v0, .L802466D4
/* 174FA0 802466C0 00000000 */ nop
/* 174FA4 802466C4 0C0B1059 */ jal does_script_exist
/* 174FA8 802466C8 8E0401E4 */ lw $a0, 0x1e4($s0)
/* 174FAC 802466CC 1440001E */ bnez $v0, .L80246748
/* 174FB0 802466D0 00000000 */ nop
.L802466D4:
/* 174FB4 802466D4 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 174FB8 802466D8 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 174FBC 802466DC AE0001D4 */ sw $zero, 0x1d4($s0)
/* 174FC0 802466E0 8C620004 */ lw $v0, 4($v1)
/* 174FC4 802466E4 30420040 */ andi $v0, $v0, 0x40
/* 174FC8 802466E8 10400006 */ beqz $v0, .L80246704
/* 174FCC 802466EC 2402000A */ addiu $v0, $zero, 0xa
/* 174FD0 802466F0 8C620000 */ lw $v0, ($v1)
/* 174FD4 802466F4 3C030010 */ lui $v1, 0x10
/* 174FD8 802466F8 00431024 */ and $v0, $v0, $v1
/* 174FDC 802466FC 10400003 */ beqz $v0, .L8024670C
/* 174FE0 80246700 2402000A */ addiu $v0, $zero, 0xa
.L80246704:
/* 174FE4 80246704 080919D0 */ j .L80246740
/* 174FE8 80246708 AE420000 */ sw $v0, ($s2)
.L8024670C:
/* 174FEC 8024670C C6000138 */ lwc1 $f0, 0x138($s0)
/* 174FF0 80246710 C6020140 */ lwc1 $f2, 0x140($s0)
/* 174FF4 80246714 E600000C */ swc1 $f0, 0xc($s0)
/* 174FF8 80246718 E6020014 */ swc1 $f2, 0x14($s0)
/* 174FFC 8024671C C6200138 */ lwc1 $f0, 0x138($s1)
/* 175000 80246720 24020006 */ addiu $v0, $zero, 6
/* 175004 80246724 AE420000 */ sw $v0, ($s2)
/* 175008 80246728 E6000018 */ swc1 $f0, 0x18($s0)
/* 17500C 8024672C C6200140 */ lwc1 $f0, 0x140($s1)
/* 175010 80246730 24020004 */ addiu $v0, $zero, 4
/* 175014 80246734 A6020070 */ sh $v0, 0x70($s0)
/* 175018 80246738 AE000054 */ sw $zero, 0x54($s0)
/* 17501C 8024673C E6000020 */ swc1 $f0, 0x20($s0)
.L80246740:
/* 175020 80246740 3C12800E */ lui $s2, %hi(gBattleState2)
/* 175024 80246744 2652C4DC */ addiu $s2, $s2, %lo(gBattleState2)
.L80246748:
/* 175028 80246748 8E430000 */ lw $v1, ($s2)
/* 17502C 8024674C 24020006 */ addiu $v0, $zero, 6
.L80246750:
/* 175030 80246750 1462006C */ bne $v1, $v0, .L80246904
/* 175034 80246754 00000000 */ nop
/* 175038 80246758 86020070 */ lh $v0, 0x70($s0)
/* 17503C 8024675C 10400022 */ beqz $v0, .L802467E8
/* 175040 80246760 00000000 */ nop
/* 175044 80246764 C6000018 */ lwc1 $f0, 0x18($s0)
/* 175048 80246768 C6080144 */ lwc1 $f8, 0x144($s0)
/* 17504C 8024676C C6020020 */ lwc1 $f2, 0x20($s0)
/* 175050 80246770 46080001 */ sub.s $f0, $f0, $f8
/* 175054 80246774 C604014C */ lwc1 $f4, 0x14c($s0)
/* 175058 80246778 46041081 */ sub.s $f2, $f2, $f4
/* 17505C 8024677C 44823000 */ mtc1 $v0, $f6
/* 175060 80246780 00000000 */ nop
/* 175064 80246784 468031A0 */ cvt.s.w $f6, $f6
/* 175068 80246788 46060003 */ div.s $f0, $f0, $f6
/* 17506C 8024678C 46004200 */ add.s $f8, $f8, $f0
/* 175070 80246790 46003006 */ mov.s $f0, $f6
/* 175074 80246794 46061083 */ div.s $f2, $f2, $f6
/* 175078 80246798 C600000C */ lwc1 $f0, 0xc($s0)
/* 17507C 8024679C 46022100 */ add.s $f4, $f4, $f2
/* 175080 802467A0 E6080144 */ swc1 $f8, 0x144($s0)
/* 175084 802467A4 E604014C */ swc1 $f4, 0x14c($s0)
/* 175088 802467A8 C6240144 */ lwc1 $f4, 0x144($s1)
/* 17508C 802467AC 46040001 */ sub.s $f0, $f0, $f4
/* 175090 802467B0 46003086 */ mov.s $f2, $f6
/* 175094 802467B4 46060003 */ div.s $f0, $f0, $f6
/* 175098 802467B8 46002100 */ add.s $f4, $f4, $f0
/* 17509C 802467BC E6240144 */ swc1 $f4, 0x144($s1)
/* 1750A0 802467C0 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1750A4 802467C4 C624014C */ lwc1 $f4, 0x14c($s1)
/* 1750A8 802467C8 86020070 */ lh $v0, 0x70($s0)
/* 1750AC 802467CC 46040001 */ sub.s $f0, $f0, $f4
/* 1750B0 802467D0 44821000 */ mtc1 $v0, $f2
/* 1750B4 802467D4 00000000 */ nop
/* 1750B8 802467D8 468010A0 */ cvt.s.w $f2, $f2
/* 1750BC 802467DC 46020003 */ div.s $f0, $f0, $f2
/* 1750C0 802467E0 46002100 */ add.s $f4, $f4, $f0
/* 1750C4 802467E4 E624014C */ swc1 $f4, 0x14c($s1)
.L802467E8:
/* 1750C8 802467E8 C60C0054 */ lwc1 $f12, 0x54($s0)
/* 1750CC 802467EC 3C0140C9 */ lui $at, 0x40c9
/* 1750D0 802467F0 34210FD0 */ ori $at, $at, 0xfd0
/* 1750D4 802467F4 4481B000 */ mtc1 $at, $f22
/* 1750D8 802467F8 00000000 */ nop
/* 1750DC 802467FC 46166302 */ mul.s $f12, $f12, $f22
/* 1750E0 80246800 00000000 */ nop
/* 1750E4 80246804 3C0143B4 */ lui $at, 0x43b4
/* 1750E8 80246808 4481C000 */ mtc1 $at, $f24
/* 1750EC 8024680C 3C014180 */ lui $at, 0x4180
/* 1750F0 80246810 4481A000 */ mtc1 $at, $f20
/* 1750F4 80246814 0C00A85B */ jal sin_rad
/* 1750F8 80246818 46186303 */ div.s $f12, $f12, $f24
/* 1750FC 8024681C 46140002 */ mul.s $f0, $f0, $f20
/* 175100 80246820 00000000 */ nop
/* 175104 80246824 C602014C */ lwc1 $f2, 0x14c($s0)
/* 175108 80246828 46001080 */ add.s $f2, $f2, $f0
/* 17510C 8024682C C60C0054 */ lwc1 $f12, 0x54($s0)
/* 175110 80246830 46006307 */ neg.s $f12, $f12
/* 175114 80246834 0C00A6C9 */ jal clamp_angle
/* 175118 80246838 E602014C */ swc1 $f2, 0x14c($s0)
/* 17511C 8024683C C60C0054 */ lwc1 $f12, 0x54($s0)
/* 175120 80246840 46166302 */ mul.s $f12, $f12, $f22
/* 175124 80246844 00000000 */ nop
/* 175128 80246848 E600018C */ swc1 $f0, 0x18c($s0)
/* 17512C 8024684C 0C00A85B */ jal sin_rad
/* 175130 80246850 46186303 */ div.s $f12, $f12, $f24
/* 175134 80246854 46140002 */ mul.s $f0, $f0, $f20
/* 175138 80246858 00000000 */ nop
/* 17513C 8024685C C622014C */ lwc1 $f2, 0x14c($s1)
/* 175140 80246860 46001081 */ sub.s $f2, $f2, $f0
/* 175144 80246864 E622014C */ swc1 $f2, 0x14c($s1)
/* 175148 80246868 C60C0054 */ lwc1 $f12, 0x54($s0)
/* 17514C 8024686C 0C00A6C9 */ jal clamp_angle
/* 175150 80246870 46006307 */ neg.s $f12, $f12
/* 175154 80246874 E620018C */ swc1 $f0, 0x18c($s1)
/* 175158 80246878 C6000054 */ lwc1 $f0, 0x54($s0)
/* 17515C 8024687C 3C0142B4 */ lui $at, 0x42b4
/* 175160 80246880 44811000 */ mtc1 $at, $f2
/* 175164 80246884 86020070 */ lh $v0, 0x70($s0)
/* 175168 80246888 46020000 */ add.s $f0, $f0, $f2
/* 17516C 8024688C 96030070 */ lhu $v1, 0x70($s0)
/* 175170 80246890 10400004 */ beqz $v0, .L802468A4
/* 175174 80246894 E6000054 */ swc1 $f0, 0x54($s0)
/* 175178 80246898 2462FFFF */ addiu $v0, $v1, -1
/* 17517C 8024689C 08091A41 */ j .L80246904
/* 175180 802468A0 A6020070 */ sh $v0, 0x70($s0)
.L802468A4:
/* 175184 802468A4 C6000018 */ lwc1 $f0, 0x18($s0)
/* 175188 802468A8 C6020020 */ lwc1 $f2, 0x20($s0)
/* 17518C 802468AC C604000C */ lwc1 $f4, 0xc($s0)
/* 175190 802468B0 E6000144 */ swc1 $f0, 0x144($s0)
/* 175194 802468B4 E602014C */ swc1 $f2, 0x14c($s0)
/* 175198 802468B8 E6240144 */ swc1 $f4, 0x144($s1)
/* 17519C 802468BC C6000014 */ lwc1 $f0, 0x14($s0)
/* 1751A0 802468C0 E620014C */ swc1 $f0, 0x14c($s1)
/* 1751A4 802468C4 C6000144 */ lwc1 $f0, 0x144($s0)
/* 1751A8 802468C8 C602014C */ lwc1 $f2, 0x14c($s0)
/* 1751AC 802468CC 2402000A */ addiu $v0, $zero, 0xa
/* 1751B0 802468D0 E6000138 */ swc1 $f0, 0x138($s0)
/* 1751B4 802468D4 E6020140 */ swc1 $f2, 0x140($s0)
/* 1751B8 802468D8 C6200144 */ lwc1 $f0, 0x144($s1)
/* 1751BC 802468DC C622014C */ lwc1 $f2, 0x14c($s1)
/* 1751C0 802468E0 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 1751C4 802468E4 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 1751C8 802468E8 AE420000 */ sw $v0, ($s2)
/* 1751CC 802468EC E6200138 */ swc1 $f0, 0x138($s1)
/* 1751D0 802468F0 E6220140 */ swc1 $f2, 0x140($s1)
/* 1751D4 802468F4 8C820000 */ lw $v0, ($a0)
/* 1751D8 802468F8 3C030010 */ lui $v1, 0x10
/* 1751DC 802468FC 00431025 */ or $v0, $v0, $v1
/* 1751E0 80246900 AC820000 */ sw $v0, ($a0)
.L80246904:
/* 1751E4 80246904 3C03800E */ lui $v1, %hi(gBattleState2)
/* 1751E8 80246908 8C63C4DC */ lw $v1, %lo(gBattleState2)($v1)
/* 1751EC 8024690C 2402000A */ addiu $v0, $zero, 0xa
/* 1751F0 80246910 14620078 */ bne $v1, $v0, .L80246AF4
/* 1751F4 80246914 00000000 */ nop
/* 1751F8 80246918 0C098D0D */ jal btl_check_enemies_defeated
/* 1751FC 8024691C 00000000 */ nop
/* 175200 80246920 14400074 */ bnez $v0, .L80246AF4
/* 175204 80246924 24020002 */ addiu $v0, $zero, 2
/* 175208 80246928 82630178 */ lb $v1, 0x178($s3)
/* 17520C 8024692C 14620010 */ bne $v1, $v0, .L80246970
/* 175210 80246930 00000000 */ nop
/* 175214 80246934 82620088 */ lb $v0, 0x88($s3)
/* 175218 80246938 28420002 */ slti $v0, $v0, 2
/* 17521C 8024693C 1440000C */ bnez $v0, .L80246970
/* 175220 80246940 00000000 */ nop
/* 175224 80246944 0C093903 */ jal btl_cam_use_preset
/* 175228 80246948 24040002 */ addiu $a0, $zero, 2
/* 17522C 8024694C 0C093936 */ jal btl_cam_move
/* 175230 80246950 2404000A */ addiu $a0, $zero, 0xa
/* 175234 80246954 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 175238 80246958 2442C070 */ addiu $v0, $v0, %lo(gBattleStatus)
/* 17523C 8024695C 8C430004 */ lw $v1, 4($v0)
/* 175240 80246960 2404FFFD */ addiu $a0, $zero, -3
/* 175244 80246964 00641824 */ and $v1, $v1, $a0
/* 175248 80246968 08091A61 */ j .L80246984
/* 17524C 8024696C AC430004 */ sw $v1, 4($v0)
.L80246970:
/* 175250 80246970 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 175254 80246974 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 175258 80246978 8C620004 */ lw $v0, 4($v1)
/* 17525C 8024697C 34420002 */ ori $v0, $v0, 2
/* 175260 80246980 AC620004 */ sw $v0, 4($v1)
.L80246984:
/* 175264 80246984 82620094 */ lb $v0, 0x94($s3)
/* 175268 80246988 04410004 */ bgez $v0, .L8024699C
/* 17526C 8024698C 24040006 */ addiu $a0, $zero, 6
/* 175270 80246990 A2600094 */ sb $zero, 0x94($s3)
/* 175274 80246994 08091ABB */ j .L80246AEC
/* 175278 80246998 A2600088 */ sb $zero, 0x88($s3)
.L8024699C:
/* 17527C 8024699C 82620088 */ lb $v0, 0x88($s3)
/* 175280 802469A0 92630088 */ lbu $v1, 0x88($s3)
/* 175284 802469A4 1040002C */ beqz $v0, .L80246A58
/* 175288 802469A8 2462FFFF */ addiu $v0, $v1, -1
/* 17528C 802469AC A2620088 */ sb $v0, 0x88($s3)
/* 175290 802469B0 00021600 */ sll $v0, $v0, 0x18
/* 175294 802469B4 10400008 */ beqz $v0, .L802469D8
/* 175298 802469B8 3C040400 */ lui $a0, 0x400
/* 17529C 802469BC 0C090464 */ jal btl_set_state
/* 1752A0 802469C0 2404000C */ addiu $a0, $zero, 0xc
/* 1752A4 802469C4 24020046 */ addiu $v0, $zero, 0x46
/* 1752A8 802469C8 3C01800E */ lui $at, %hi(gBattleState2)
/* 1752AC 802469CC AC22C4DC */ sw $v0, %lo(gBattleState2)($at)
/* 1752B0 802469D0 08091ABD */ j .L80246AF4
/* 1752B4 802469D4 00000000 */ nop
.L802469D8:
/* 1752B8 802469D8 3C05800E */ lui $a1, %hi(gBattleStatus)
/* 1752BC 802469DC 24A5C070 */ addiu $a1, $a1, %lo(gBattleStatus)
/* 1752C0 802469E0 8CA20000 */ lw $v0, ($a1)
/* 1752C4 802469E4 00441024 */ and $v0, $v0, $a0
/* 1752C8 802469E8 10400006 */ beqz $v0, .L80246A04
/* 1752CC 802469EC 00000000 */ nop
/* 1752D0 802469F0 8262008B */ lb $v0, 0x8b($s3)
/* 1752D4 802469F4 9263008B */ lbu $v1, 0x8b($s3)
/* 1752D8 802469F8 1040000E */ beqz $v0, .L80246A34
/* 1752DC 802469FC 2462FFFF */ addiu $v0, $v1, -1
/* 1752E0 80246A00 A262008B */ sb $v0, 0x8b($s3)
.L80246A04:
/* 1752E4 80246A04 8262008B */ lb $v0, 0x8b($s3)
/* 1752E8 80246A08 5040000B */ beql $v0, $zero, .L80246A38
/* 1752EC 80246A0C 3C05FBFF */ lui $a1, 0xfbff
/* 1752F0 80246A10 8CA20000 */ lw $v0, ($a1)
/* 1752F4 80246A14 00441024 */ and $v0, $v0, $a0
/* 1752F8 80246A18 10400006 */ beqz $v0, .L80246A34
/* 1752FC 80246A1C 2404000C */ addiu $a0, $zero, 0xc
/* 175300 80246A20 8CA20004 */ lw $v0, 4($a1)
/* 175304 80246A24 2403FFFD */ addiu $v1, $zero, -3
/* 175308 80246A28 00431024 */ and $v0, $v0, $v1
/* 17530C 80246A2C 08091ABB */ j .L80246AEC
/* 175310 80246A30 ACA20004 */ sw $v0, 4($a1)
.L80246A34:
/* 175314 80246A34 3C05FBFF */ lui $a1, 0xfbff
.L80246A38:
/* 175318 80246A38 34A5FFFF */ ori $a1, $a1, 0xffff
/* 17531C 80246A3C 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 175320 80246A40 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 175324 80246A44 8C620000 */ lw $v0, ($v1)
/* 175328 80246A48 24040008 */ addiu $a0, $zero, 8
/* 17532C 80246A4C 00451024 */ and $v0, $v0, $a1
/* 175330 80246A50 08091ABB */ j .L80246AEC
/* 175334 80246A54 AC620000 */ sw $v0, ($v1)
.L80246A58:
/* 175338 80246A58 3C05800E */ lui $a1, %hi(gBattleStatus)
/* 17533C 80246A5C 24A5C070 */ addiu $a1, $a1, %lo(gBattleStatus)
/* 175340 80246A60 8CA20000 */ lw $v0, ($a1)
/* 175344 80246A64 3C040400 */ lui $a0, 0x400
/* 175348 80246A68 00441024 */ and $v0, $v0, $a0
/* 17534C 80246A6C 10400006 */ beqz $v0, .L80246A88
/* 175350 80246A70 00000000 */ nop
/* 175354 80246A74 8262008B */ lb $v0, 0x8b($s3)
/* 175358 80246A78 9263008B */ lbu $v1, 0x8b($s3)
/* 17535C 80246A7C 1040000E */ beqz $v0, .L80246AB8
/* 175360 80246A80 2462FFFF */ addiu $v0, $v1, -1
/* 175364 80246A84 A262008B */ sb $v0, 0x8b($s3)
.L80246A88:
/* 175368 80246A88 8262008B */ lb $v0, 0x8b($s3)
/* 17536C 80246A8C 5040000B */ beql $v0, $zero, .L80246ABC
/* 175370 80246A90 3C05FBFF */ lui $a1, 0xfbff
/* 175374 80246A94 8CA20000 */ lw $v0, ($a1)
/* 175378 80246A98 00441024 */ and $v0, $v0, $a0
/* 17537C 80246A9C 10400006 */ beqz $v0, .L80246AB8
/* 175380 80246AA0 2404000C */ addiu $a0, $zero, 0xc
/* 175384 80246AA4 8CA20004 */ lw $v0, 4($a1)
/* 175388 80246AA8 2403FFFD */ addiu $v1, $zero, -3
/* 17538C 80246AAC 00431024 */ and $v0, $v0, $v1
/* 175390 80246AB0 08091ABB */ j .L80246AEC
/* 175394 80246AB4 ACA20004 */ sw $v0, 4($a1)
.L80246AB8:
/* 175398 80246AB8 3C05FBFF */ lui $a1, 0xfbff
.L80246ABC:
/* 17539C 80246ABC 34A5FFFF */ ori $a1, $a1, 0xffff
/* 1753A0 80246AC0 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 1753A4 80246AC4 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 1753A8 80246AC8 8C620000 */ lw $v0, ($v1)
/* 1753AC 80246ACC 8C640004 */ lw $a0, 4($v1)
/* 1753B0 80246AD0 00451024 */ and $v0, $v0, $a1
/* 1753B4 80246AD4 30840040 */ andi $a0, $a0, 0x40
/* 1753B8 80246AD8 14800003 */ bnez $a0, .L80246AE8
/* 1753BC 80246ADC AC620000 */ sw $v0, ($v1)
/* 1753C0 80246AE0 08091ABB */ j .L80246AEC
/* 1753C4 80246AE4 24040008 */ addiu $a0, $zero, 8
.L80246AE8:
/* 1753C8 80246AE8 24040009 */ addiu $a0, $zero, 9
.L80246AEC:
/* 1753CC 80246AEC 0C090464 */ jal btl_set_state
/* 1753D0 80246AF0 00000000 */ nop
.L80246AF4:
/* 1753D4 80246AF4 8FBF0030 */ lw $ra, 0x30($sp)
/* 1753D8 80246AF8 8FB7002C */ lw $s7, 0x2c($sp)
/* 1753DC 80246AFC 8FB60028 */ lw $s6, 0x28($sp)
/* 1753E0 80246B00 8FB50024 */ lw $s5, 0x24($sp)
/* 1753E4 80246B04 8FB40020 */ lw $s4, 0x20($sp)
/* 1753E8 80246B08 8FB3001C */ lw $s3, 0x1c($sp)
/* 1753EC 80246B0C 8FB20018 */ lw $s2, 0x18($sp)
/* 1753F0 80246B10 8FB10014 */ lw $s1, 0x14($sp)
/* 1753F4 80246B14 8FB00010 */ lw $s0, 0x10($sp)
/* 1753F8 80246B18 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 1753FC 80246B1C D7B60040 */ ldc1 $f22, 0x40($sp)
/* 175400 80246B20 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 175404 80246B24 03E00008 */ jr $ra
/* 175408 80246B28 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,254 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel calc_partner_test_enemy
/* 1AC85C 8027DF7C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 1AC860 8027DF80 AFB1001C */ sw $s1, 0x1c($sp)
/* 1AC864 8027DF84 3C11800E */ lui $s1, %hi(gBattleStatus)
/* 1AC868 8027DF88 2631C070 */ addiu $s1, $s1, %lo(gBattleStatus)
/* 1AC86C 8027DF8C AFBF002C */ sw $ra, 0x2c($sp)
/* 1AC870 8027DF90 AFB40028 */ sw $s4, 0x28($sp)
/* 1AC874 8027DF94 AFB30024 */ sw $s3, 0x24($sp)
/* 1AC878 8027DF98 AFB20020 */ sw $s2, 0x20($sp)
/* 1AC87C 8027DF9C AFB00018 */ sw $s0, 0x18($sp)
/* 1AC880 8027DFA0 962201A0 */ lhu $v0, 0x1a0($s1)
/* 1AC884 8027DFA4 862401A0 */ lh $a0, 0x1a0($s1)
/* 1AC888 8027DFA8 922301A2 */ lbu $v1, 0x1a2($s1)
/* 1AC88C 8027DFAC 8E3400DC */ lw $s4, 0xdc($s1)
/* 1AC890 8027DFB0 823201A2 */ lb $s2, 0x1a2($s1)
/* 1AC894 8027DFB4 A62201A4 */ sh $v0, 0x1a4($s1)
/* 1AC898 8027DFB8 0C09A75B */ jal get_actor
/* 1AC89C 8027DFBC A22301A6 */ sb $v1, 0x1a6($s1)
/* 1AC8A0 8027DFC0 0040982D */ daddu $s3, $v0, $zero
/* 1AC8A4 8027DFC4 126000CF */ beqz $s3, .L8027E304
/* 1AC8A8 8027DFC8 2690000C */ addiu $s0, $s4, 0xc
/* 1AC8AC 8027DFCC 0260202D */ daddu $a0, $s3, $zero
/* 1AC8B0 8027DFD0 0C099117 */ jal get_actor_part
/* 1AC8B4 8027DFD4 0240282D */ daddu $a1, $s2, $zero
/* 1AC8B8 8027DFD8 0040902D */ daddu $s2, $v0, $zero
/* 1AC8BC 8027DFDC 16400003 */ bnez $s2, .L8027DFEC
/* 1AC8C0 8027DFE0 2402000C */ addiu $v0, $zero, 0xc
.L8027DFE4:
/* 1AC8C4 8027DFE4 0809F7F9 */ j .L8027DFE4
/* 1AC8C8 8027DFE8 00000000 */ nop
.L8027DFEC:
/* 1AC8CC 8027DFEC 82630214 */ lb $v1, 0x214($s3)
/* 1AC8D0 8027DFF0 106200C5 */ beq $v1, $v0, .L8027E308
/* 1AC8D4 8027DFF4 24020008 */ addiu $v0, $zero, 8
/* 1AC8D8 8027DFF8 8E44007C */ lw $a0, 0x7c($s2)
/* 1AC8DC 8027DFFC 30820020 */ andi $v0, $a0, 0x20
/* 1AC8E0 8027E000 144000C1 */ bnez $v0, .L8027E308
/* 1AC8E4 8027E004 24020006 */ addiu $v0, $zero, 6
/* 1AC8E8 8027E008 82630218 */ lb $v1, 0x218($s3)
/* 1AC8EC 8027E00C 2402000E */ addiu $v0, $zero, 0xe
/* 1AC8F0 8027E010 106200BD */ beq $v1, $v0, .L8027E308
/* 1AC8F4 8027E014 24020006 */ addiu $v0, $zero, 6
/* 1AC8F8 8027E018 8E220188 */ lw $v0, 0x188($s1)
/* 1AC8FC 8027E01C 30420080 */ andi $v0, $v0, 0x80
/* 1AC900 8027E020 1040000F */ beqz $v0, .L8027E060
/* 1AC904 8027E024 30820010 */ andi $v0, $a0, 0x10
/* 1AC908 8027E028 1040000E */ beqz $v0, .L8027E064
/* 1AC90C 8027E02C 3C031000 */ lui $v1, 0x1000
/* 1AC910 8027E030 8E620004 */ lw $v0, 4($s3)
/* 1AC914 8027E034 30420800 */ andi $v0, $v0, 0x800
/* 1AC918 8027E038 1440000A */ bnez $v0, .L8027E064
/* 1AC91C 8027E03C 24040108 */ addiu $a0, $zero, 0x108
/* 1AC920 8027E040 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1AC924 8027E044 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1AC928 8027E048 8E06000C */ lw $a2, 0xc($s0)
/* 1AC92C 8027E04C 8E070010 */ lw $a3, 0x10($s0)
/* 1AC930 8027E050 0C052757 */ jal sfx_play_sound_at_position
/* 1AC934 8027E054 0000282D */ daddu $a1, $zero, $zero
/* 1AC938 8027E058 0809F8C2 */ j .L8027E308
/* 1AC93C 8027E05C 24020004 */ addiu $v0, $zero, 4
.L8027E060:
/* 1AC940 8027E060 3C031000 */ lui $v1, 0x1000
.L8027E064:
/* 1AC944 8027E064 8E220188 */ lw $v0, 0x188($s1)
/* 1AC948 8027E068 34630080 */ ori $v1, $v1, 0x80
/* 1AC94C 8027E06C 00431024 */ and $v0, $v0, $v1
/* 1AC950 8027E070 1440001B */ bnez $v0, .L8027E0E0
/* 1AC954 8027E074 3C031000 */ lui $v1, 0x1000
/* 1AC958 8027E078 8E42007C */ lw $v0, 0x7c($s2)
/* 1AC95C 8027E07C 3C030001 */ lui $v1, 1
/* 1AC960 8027E080 00431024 */ and $v0, $v0, $v1
/* 1AC964 8027E084 10400016 */ beqz $v0, .L8027E0E0
/* 1AC968 8027E088 3C031000 */ lui $v1, 0x1000
/* 1AC96C 8027E08C 8E22018C */ lw $v0, 0x18c($s1)
/* 1AC970 8027E090 30420004 */ andi $v0, $v0, 4
/* 1AC974 8027E094 14400012 */ bnez $v0, .L8027E0E0
/* 1AC978 8027E098 0280202D */ daddu $a0, $s4, $zero
/* 1AC97C 8027E09C 0C099CAB */ jal player_team_is_ability_active
/* 1AC980 8027E0A0 24050002 */ addiu $a1, $zero, 2
/* 1AC984 8027E0A4 1440000E */ bnez $v0, .L8027E0E0
/* 1AC988 8027E0A8 3C031000 */ lui $v1, 0x1000
/* 1AC98C 8027E0AC C6000014 */ lwc1 $f0, 0x14($s0)
/* 1AC990 8027E0B0 24040108 */ addiu $a0, $zero, 0x108
/* 1AC994 8027E0B4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1AC998 8027E0B8 8E06000C */ lw $a2, 0xc($s0)
/* 1AC99C 8027E0BC 8E070010 */ lw $a3, 0x10($s0)
/* 1AC9A0 8027E0C0 0C052757 */ jal sfx_play_sound_at_position
/* 1AC9A4 8027E0C4 0000282D */ daddu $a1, $zero, $zero
/* 1AC9A8 8027E0C8 24040001 */ addiu $a0, $zero, 1
/* 1AC9AC 8027E0CC 0C09FEE7 */ jal dispatch_damage_event_partner_1
/* 1AC9B0 8027E0D0 2405002A */ addiu $a1, $zero, 0x2a
/* 1AC9B4 8027E0D4 0260202D */ daddu $a0, $s3, $zero
/* 1AC9B8 8027E0D8 0809F8BB */ j .L8027E2EC
/* 1AC9BC 8027E0DC 2405001B */ addiu $a1, $zero, 0x1b
.L8027E0E0:
/* 1AC9C0 8027E0E0 8E220188 */ lw $v0, 0x188($s1)
/* 1AC9C4 8027E0E4 34630040 */ ori $v1, $v1, 0x40
/* 1AC9C8 8027E0E8 00431024 */ and $v0, $v0, $v1
/* 1AC9CC 8027E0EC 14400009 */ bnez $v0, .L8027E114
/* 1AC9D0 8027E0F0 00000000 */ nop
/* 1AC9D4 8027E0F4 8E42007C */ lw $v0, 0x7c($s2)
/* 1AC9D8 8027E0F8 30420002 */ andi $v0, $v0, 2
/* 1AC9DC 8027E0FC 10400005 */ beqz $v0, .L8027E114
/* 1AC9E0 8027E100 00000000 */ nop
/* 1AC9E4 8027E104 8E22018C */ lw $v0, 0x18c($s1)
/* 1AC9E8 8027E108 30420010 */ andi $v0, $v0, 0x10
/* 1AC9EC 8027E10C 1040006B */ beqz $v0, .L8027E2BC
/* 1AC9F0 8027E110 00000000 */ nop
.L8027E114:
/* 1AC9F4 8027E114 8E230188 */ lw $v1, 0x188($s1)
/* 1AC9F8 8027E118 30628000 */ andi $v0, $v1, 0x8000
/* 1AC9FC 8027E11C 10400079 */ beqz $v0, .L8027E304
/* 1ACA00 8027E120 3C021000 */ lui $v0, 0x1000
/* 1ACA04 8027E124 00621024 */ and $v0, $v1, $v0
/* 1ACA08 8027E128 14400036 */ bnez $v0, .L8027E204
/* 1ACA0C 8027E12C 00000000 */ nop
/* 1ACA10 8027E130 8E42007C */ lw $v0, 0x7c($s2)
/* 1ACA14 8027E134 30420010 */ andi $v0, $v0, 0x10
/* 1ACA18 8027E138 10400015 */ beqz $v0, .L8027E190
/* 1ACA1C 8027E13C 00000000 */ nop
/* 1ACA20 8027E140 8E620000 */ lw $v0, ($s3)
/* 1ACA24 8027E144 30420800 */ andi $v0, $v0, 0x800
/* 1ACA28 8027E148 14400011 */ bnez $v0, .L8027E190
/* 1ACA2C 8027E14C 00000000 */ nop
/* 1ACA30 8027E150 8E22018C */ lw $v0, 0x18c($s1)
/* 1ACA34 8027E154 30420001 */ andi $v0, $v0, 1
/* 1ACA38 8027E158 1440000D */ bnez $v0, .L8027E190
/* 1ACA3C 8027E15C 24040108 */ addiu $a0, $zero, 0x108
/* 1ACA40 8027E160 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1ACA44 8027E164 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1ACA48 8027E168 8E06000C */ lw $a2, 0xc($s0)
/* 1ACA4C 8027E16C 8E070010 */ lw $a3, 0x10($s0)
/* 1ACA50 8027E170 0C052757 */ jal sfx_play_sound_at_position
/* 1ACA54 8027E174 0000282D */ daddu $a1, $zero, $zero
/* 1ACA58 8027E178 24040001 */ addiu $a0, $zero, 1
/* 1ACA5C 8027E17C 0C09FEE7 */ jal dispatch_damage_event_partner_1
/* 1ACA60 8027E180 2405002A */ addiu $a1, $zero, 0x2a
/* 1ACA64 8027E184 0260202D */ daddu $a0, $s3, $zero
/* 1ACA68 8027E188 0809F8BB */ j .L8027E2EC
/* 1ACA6C 8027E18C 2405001B */ addiu $a1, $zero, 0x1b
.L8027E190:
/* 1ACA70 8027E190 8E220188 */ lw $v0, 0x188($s1)
/* 1ACA74 8027E194 3C031000 */ lui $v1, 0x1000
/* 1ACA78 8027E198 00431024 */ and $v0, $v0, $v1
/* 1ACA7C 8027E19C 14400019 */ bnez $v0, .L8027E204
/* 1ACA80 8027E1A0 3C030020 */ lui $v1, 0x20
/* 1ACA84 8027E1A4 8E42007C */ lw $v0, 0x7c($s2)
/* 1ACA88 8027E1A8 00431024 */ and $v0, $v0, $v1
/* 1ACA8C 8027E1AC 10400015 */ beqz $v0, .L8027E204
/* 1ACA90 8027E1B0 00000000 */ nop
/* 1ACA94 8027E1B4 8E620000 */ lw $v0, ($s3)
/* 1ACA98 8027E1B8 30420800 */ andi $v0, $v0, 0x800
/* 1ACA9C 8027E1BC 14400011 */ bnez $v0, .L8027E204
/* 1ACAA0 8027E1C0 00000000 */ nop
/* 1ACAA4 8027E1C4 8E22018C */ lw $v0, 0x18c($s1)
/* 1ACAA8 8027E1C8 30420080 */ andi $v0, $v0, 0x80
/* 1ACAAC 8027E1CC 1440000D */ bnez $v0, .L8027E204
/* 1ACAB0 8027E1D0 24040108 */ addiu $a0, $zero, 0x108
/* 1ACAB4 8027E1D4 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1ACAB8 8027E1D8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1ACABC 8027E1DC 8E06000C */ lw $a2, 0xc($s0)
/* 1ACAC0 8027E1E0 8E070010 */ lw $a3, 0x10($s0)
/* 1ACAC4 8027E1E4 0C052757 */ jal sfx_play_sound_at_position
/* 1ACAC8 8027E1E8 0000282D */ daddu $a1, $zero, $zero
/* 1ACACC 8027E1EC 24040001 */ addiu $a0, $zero, 1
/* 1ACAD0 8027E1F0 0C09FEE7 */ jal dispatch_damage_event_partner_1
/* 1ACAD4 8027E1F4 2405002A */ addiu $a1, $zero, 0x2a
/* 1ACAD8 8027E1F8 0260202D */ daddu $a0, $s3, $zero
/* 1ACADC 8027E1FC 0809F8BB */ j .L8027E2EC
/* 1ACAE0 8027E200 2405001B */ addiu $a1, $zero, 0x1b
.L8027E204:
/* 1ACAE4 8027E204 82820212 */ lb $v0, 0x212($s4)
/* 1ACAE8 8027E208 2403000B */ addiu $v1, $zero, 0xb
/* 1ACAEC 8027E20C 5043001E */ beql $v0, $v1, .L8027E288
/* 1ACAF0 8027E210 3C031000 */ lui $v1, 0x1000
/* 1ACAF4 8027E214 82620212 */ lb $v0, 0x212($s3)
/* 1ACAF8 8027E218 10430005 */ beq $v0, $v1, .L8027E230
/* 1ACAFC 8027E21C 00000000 */ nop
/* 1ACB00 8027E220 8E42007C */ lw $v0, 0x7c($s2)
/* 1ACB04 8027E224 30420080 */ andi $v0, $v0, 0x80
/* 1ACB08 8027E228 10400017 */ beqz $v0, .L8027E288
/* 1ACB0C 8027E22C 3C031000 */ lui $v1, 0x1000
.L8027E230:
/* 1ACB10 8027E230 8E220188 */ lw $v0, 0x188($s1)
/* 1ACB14 8027E234 3C031000 */ lui $v1, 0x1000
/* 1ACB18 8027E238 00431024 */ and $v0, $v0, $v1
/* 1ACB1C 8027E23C 14400012 */ bnez $v0, .L8027E288
/* 1ACB20 8027E240 00000000 */ nop
/* 1ACB24 8027E244 8E22018C */ lw $v0, 0x18c($s1)
/* 1ACB28 8027E248 30420008 */ andi $v0, $v0, 8
/* 1ACB2C 8027E24C 1440000E */ bnez $v0, .L8027E288
/* 1ACB30 8027E250 2404037B */ addiu $a0, $zero, 0x37b
/* 1ACB34 8027E254 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1ACB38 8027E258 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1ACB3C 8027E25C 8E06000C */ lw $a2, 0xc($s0)
/* 1ACB40 8027E260 8E070010 */ lw $a3, 0x10($s0)
/* 1ACB44 8027E264 0C052757 */ jal sfx_play_sound_at_position
/* 1ACB48 8027E268 0000282D */ daddu $a1, $zero, $zero
/* 1ACB4C 8027E26C 0C09451D */ jal func_80251474
/* 1ACB50 8027E270 0280202D */ daddu $a0, $s4, $zero
/* 1ACB54 8027E274 24040001 */ addiu $a0, $zero, 1
/* 1ACB58 8027E278 0C09FEE7 */ jal dispatch_damage_event_partner_1
/* 1ACB5C 8027E27C 2405002F */ addiu $a1, $zero, 0x2f
/* 1ACB60 8027E280 0809F8C2 */ j .L8027E308
/* 1ACB64 8027E284 2402FFFF */ addiu $v0, $zero, -1
.L8027E288:
/* 1ACB68 8027E288 8E220188 */ lw $v0, 0x188($s1)
/* 1ACB6C 8027E28C 34630040 */ ori $v1, $v1, 0x40
/* 1ACB70 8027E290 00431024 */ and $v0, $v0, $v1
/* 1ACB74 8027E294 14400019 */ bnez $v0, .L8027E2FC
/* 1ACB78 8027E298 0260202D */ daddu $a0, $s3, $zero
/* 1ACB7C 8027E29C 8E42007C */ lw $v0, 0x7c($s2)
/* 1ACB80 8027E2A0 30420002 */ andi $v0, $v0, 2
/* 1ACB84 8027E2A4 10400015 */ beqz $v0, .L8027E2FC
/* 1ACB88 8027E2A8 00000000 */ nop
/* 1ACB8C 8027E2AC 8E22018C */ lw $v0, 0x18c($s1)
/* 1ACB90 8027E2B0 30420010 */ andi $v0, $v0, 0x10
/* 1ACB94 8027E2B4 14400011 */ bnez $v0, .L8027E2FC
/* 1ACB98 8027E2B8 00000000 */ nop
.L8027E2BC:
/* 1ACB9C 8027E2BC C6000014 */ lwc1 $f0, 0x14($s0)
/* 1ACBA0 8027E2C0 240400EA */ addiu $a0, $zero, 0xea
/* 1ACBA4 8027E2C4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1ACBA8 8027E2C8 8E06000C */ lw $a2, 0xc($s0)
/* 1ACBAC 8027E2CC 8E070010 */ lw $a3, 0x10($s0)
/* 1ACBB0 8027E2D0 0C052757 */ jal sfx_play_sound_at_position
/* 1ACBB4 8027E2D4 0000282D */ daddu $a1, $zero, $zero
/* 1ACBB8 8027E2D8 24040001 */ addiu $a0, $zero, 1
/* 1ACBBC 8027E2DC 0C09FEE7 */ jal dispatch_damage_event_partner_1
/* 1ACBC0 8027E2E0 2405002C */ addiu $a1, $zero, 0x2c
/* 1ACBC4 8027E2E4 0260202D */ daddu $a0, $s3, $zero
/* 1ACBC8 8027E2E8 2405001C */ addiu $a1, $zero, 0x1c
.L8027E2EC:
/* 1ACBCC 8027E2EC 0C09DC58 */ jal dispatch_event_actor
/* 1ACBD0 8027E2F0 00000000 */ nop
/* 1ACBD4 8027E2F4 0809F8C2 */ j .L8027E308
/* 1ACBD8 8027E2F8 2402FFFF */ addiu $v0, $zero, -1
.L8027E2FC:
/* 1ACBDC 8027E2FC 0C09DC58 */ jal dispatch_event_actor
/* 1ACBE0 8027E300 2405003A */ addiu $a1, $zero, 0x3a
.L8027E304:
/* 1ACBE4 8027E304 0000102D */ daddu $v0, $zero, $zero
.L8027E308:
/* 1ACBE8 8027E308 8FBF002C */ lw $ra, 0x2c($sp)
/* 1ACBEC 8027E30C 8FB40028 */ lw $s4, 0x28($sp)
/* 1ACBF0 8027E310 8FB30024 */ lw $s3, 0x24($sp)
/* 1ACBF4 8027E314 8FB20020 */ lw $s2, 0x20($sp)
/* 1ACBF8 8027E318 8FB1001C */ lw $s1, 0x1c($sp)
/* 1ACBFC 8027E31C 8FB00018 */ lw $s0, 0x18($sp)
/* 1ACC00 8027E320 03E00008 */ jr $ra
/* 1ACC04 8027E324 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,33 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240EF4_A17114
/* A17114 80240EF4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A17118 80240EF8 AFBF0010 */ sw $ra, 0x10($sp)
/* A1711C 80240EFC 8C82000C */ lw $v0, 0xc($a0)
/* A17120 80240F00 0C0B1EAF */ jal evt_get_variable
/* A17124 80240F04 8C450000 */ lw $a1, ($v0)
/* A17128 80240F08 0040182D */ daddu $v1, $v0, $zero
/* A1712C 80240F0C 8C62000C */ lw $v0, 0xc($v1)
/* A17130 80240F10 3C01433E */ lui $at, 0x433e
/* A17134 80240F14 44810000 */ mtc1 $at, $f0
/* A17138 80240F18 00000000 */ nop
/* A1713C 80240F1C E4400078 */ swc1 $f0, 0x78($v0)
/* A17140 80240F20 8C62000C */ lw $v0, 0xc($v1)
/* A17144 80240F24 3C01435C */ lui $at, 0x435c
/* A17148 80240F28 44810000 */ mtc1 $at, $f0
/* A1714C 80240F2C 00000000 */ nop
/* A17150 80240F30 E440007C */ swc1 $f0, 0x7c($v0)
/* A17154 80240F34 8C64000C */ lw $a0, 0xc($v1)
/* A17158 80240F38 3C013F33 */ lui $at, 0x3f33
/* A1715C 80240F3C 34213333 */ ori $at, $at, 0x3333
/* A17160 80240F40 44810000 */ mtc1 $at, $f0
/* A17164 80240F44 00000000 */ nop
/* A17168 80240F48 E4800068 */ swc1 $f0, 0x68($a0)
/* A1716C 80240F4C 8C64000C */ lw $a0, 0xc($v1)
/* A17170 80240F50 240300FF */ addiu $v1, $zero, 0xff
/* A17174 80240F54 AC830038 */ sw $v1, 0x38($a0)
/* A17178 80240F58 8FBF0010 */ lw $ra, 0x10($sp)
/* A1717C 80240F5C 24020002 */ addiu $v0, $zero, 2
/* A17180 80240F60 03E00008 */ jr $ra
/* A17184 80240F64 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240F68_A17188
/* A17188 80240F68 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A1718C 80240F6C AFBF0010 */ sw $ra, 0x10($sp)
/* A17190 80240F70 8C82000C */ lw $v0, 0xc($a0)
/* A17194 80240F74 0C0B1EAF */ jal evt_get_variable
/* A17198 80240F78 8C450000 */ lw $a1, ($v0)
/* A1719C 80240F7C 0040182D */ daddu $v1, $v0, $zero
/* A171A0 80240F80 8C62000C */ lw $v0, 0xc($v1)
/* A171A4 80240F84 3C01432A */ lui $at, 0x432a
/* A171A8 80240F88 44810000 */ mtc1 $at, $f0
/* A171AC 80240F8C 00000000 */ nop
/* A171B0 80240F90 E4400078 */ swc1 $f0, 0x78($v0)
/* A171B4 80240F94 8C62000C */ lw $v0, 0xc($v1)
/* A171B8 80240F98 E440007C */ swc1 $f0, 0x7c($v0)
/* A171BC 80240F9C 8C64000C */ lw $a0, 0xc($v1)
/* A171C0 80240FA0 3C014000 */ lui $at, 0x4000
/* A171C4 80240FA4 44810000 */ mtc1 $at, $f0
/* A171C8 80240FA8 00000000 */ nop
/* A171CC 80240FAC E4800068 */ swc1 $f0, 0x68($a0)
/* A171D0 80240FB0 8C64000C */ lw $a0, 0xc($v1)
/* A171D4 80240FB4 240300FF */ addiu $v1, $zero, 0xff
/* A171D8 80240FB8 AC830038 */ sw $v1, 0x38($a0)
/* A171DC 80240FBC 8FBF0010 */ lw $ra, 0x10($sp)
/* A171E0 80240FC0 24020002 */ addiu $v0, $zero, 2
/* A171E4 80240FC4 03E00008 */ jr $ra
/* A171E8 80240FC8 27BD0018 */ addiu $sp, $sp, 0x18
/* A171EC 80240FCC 00000000 */ nop

View File

@ -1,182 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_80243358_A2A228
.word .L80240C38_A27B08, .L80240CA4_A27B74, .L80240CCC_A27B9C, .L80240D60_A27C30, .L80240D0C_A27BDC, 0
.section .text
glabel func_80240BD0_A27AA0
/* A27AA0 80240BD0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* A27AA4 80240BD4 3C038024 */ lui $v1, %hi(D_80243258_A2A128)
/* A27AA8 80240BD8 24633258 */ addiu $v1, $v1, %lo(D_80243258_A2A128)
/* A27AAC 80240BDC AFBF0034 */ sw $ra, 0x34($sp)
/* A27AB0 80240BE0 AFB20030 */ sw $s2, 0x30($sp)
/* A27AB4 80240BE4 AFB1002C */ sw $s1, 0x2c($sp)
/* A27AB8 80240BE8 AFB00028 */ sw $s0, 0x28($sp)
/* A27ABC 80240BEC 8C620000 */ lw $v0, ($v1)
/* A27AC0 80240BF0 14400007 */ bnez $v0, .L80240C10
/* A27AC4 80240BF4 00000000 */ nop
/* A27AC8 80240BF8 3C028007 */ lui $v0, %hi(D_800779B0)
/* A27ACC 80240BFC 904279B0 */ lbu $v0, %lo(D_800779B0)($v0)
/* A27AD0 80240C00 00021080 */ sll $v0, $v0, 2
/* A27AD4 80240C04 00441021 */ addu $v0, $v0, $a0
/* A27AD8 80240C08 8C420000 */ lw $v0, ($v0)
/* A27ADC 80240C0C AC620000 */ sw $v0, ($v1)
.L80240C10:
/* A27AE0 80240C10 3C038024 */ lui $v1, %hi(D_80243250_A2A120)
/* A27AE4 80240C14 8C633250 */ lw $v1, %lo(D_80243250_A2A120)($v1)
/* A27AE8 80240C18 2C620005 */ sltiu $v0, $v1, 5
/* A27AEC 80240C1C 10400050 */ beqz $v0, .L80240D60_A27C30
/* A27AF0 80240C20 00031080 */ sll $v0, $v1, 2
/* A27AF4 80240C24 3C018024 */ lui $at, %hi(jtbl_80243358_A2A228)
/* A27AF8 80240C28 00220821 */ addu $at, $at, $v0
/* A27AFC 80240C2C 8C223358 */ lw $v0, %lo(jtbl_80243358_A2A228)($at)
/* A27B00 80240C30 00400008 */ jr $v0
/* A27B04 80240C34 00000000 */ nop
.L80240C38_A27B08:
/* A27B08 80240C38 3C048024 */ lui $a0, %hi(D_80243258_A2A128)
/* A27B0C 80240C3C 8C843258 */ lw $a0, %lo(D_80243258_A2A128)($a0)
/* A27B10 80240C40 8C830000 */ lw $v1, ($a0)
/* A27B14 80240C44 2402FFFF */ addiu $v0, $zero, -1
/* A27B18 80240C48 14620004 */ bne $v1, $v0, .L80240C5C
/* A27B1C 80240C4C 24020004 */ addiu $v0, $zero, 4
/* A27B20 80240C50 8C830004 */ lw $v1, 4($a0)
/* A27B24 80240C54 08090323 */ j .L80240C8C
/* A27B28 80240C58 00000000 */ nop
.L80240C5C:
/* A27B2C 80240C5C 3C038024 */ lui $v1, %hi(D_80243254_A2A124)
/* A27B30 80240C60 24633254 */ addiu $v1, $v1, %lo(D_80243254_A2A124)
/* A27B34 80240C64 8C620000 */ lw $v0, ($v1)
/* A27B38 80240C68 2442000A */ addiu $v0, $v0, 0xa
/* A27B3C 80240C6C AC620000 */ sw $v0, ($v1)
/* A27B40 80240C70 28420100 */ slti $v0, $v0, 0x100
/* A27B44 80240C74 5440003B */ bnel $v0, $zero, .L80240D64
/* A27B48 80240C78 24040001 */ addiu $a0, $zero, 1
/* A27B4C 80240C7C 240200FF */ addiu $v0, $zero, 0xff
/* A27B50 80240C80 AC620000 */ sw $v0, ($v1)
/* A27B54 80240C84 8C830004 */ lw $v1, 4($a0)
/* A27B58 80240C88 24020001 */ addiu $v0, $zero, 1
.L80240C8C:
/* A27B5C 80240C8C 3C018024 */ lui $at, %hi(D_80243250_A2A120)
/* A27B60 80240C90 AC223250 */ sw $v0, %lo(D_80243250_A2A120)($at)
/* A27B64 80240C94 3C018024 */ lui $at, %hi(filemenu_update_show_name_input)
/* A27B68 80240C98 AC233380 */ sw $v1, %lo(filemenu_update_show_name_input)($at)
/* A27B6C 80240C9C 08090359 */ j .L80240D64
/* A27B70 80240CA0 24040001 */ addiu $a0, $zero, 1
.L80240CA4_A27B74:
/* A27B74 80240CA4 3C038024 */ lui $v1, %hi(filemenu_update_show_name_input)
/* A27B78 80240CA8 24633380 */ addiu $v1, $v1, %lo(filemenu_update_show_name_input)
/* A27B7C 80240CAC 8C620000 */ lw $v0, ($v1)
/* A27B80 80240CB0 1440001B */ bnez $v0, .L80240D20
/* A27B84 80240CB4 2442FFFF */ addiu $v0, $v0, -1
/* A27B88 80240CB8 24020002 */ addiu $v0, $zero, 2
/* A27B8C 80240CBC 3C018024 */ lui $at, %hi(D_80243250_A2A120)
/* A27B90 80240CC0 AC223250 */ sw $v0, %lo(D_80243250_A2A120)($at)
/* A27B94 80240CC4 08090359 */ j .L80240D64
/* A27B98 80240CC8 24040001 */ addiu $a0, $zero, 1
.L80240CCC_A27B9C:
/* A27B9C 80240CCC 3C048024 */ lui $a0, %hi(D_80243254_A2A124)
/* A27BA0 80240CD0 24843254 */ addiu $a0, $a0, %lo(D_80243254_A2A124)
/* A27BA4 80240CD4 8C820000 */ lw $v0, ($a0)
/* A27BA8 80240CD8 2442FFF6 */ addiu $v0, $v0, -0xa
/* A27BAC 80240CDC 04410020 */ bgez $v0, .L80240D60_A27C30
/* A27BB0 80240CE0 AC820000 */ sw $v0, ($a0)
/* A27BB4 80240CE4 3C028024 */ lui $v0, %hi(D_80243258_A2A128)
/* A27BB8 80240CE8 24423258 */ addiu $v0, $v0, %lo(D_80243258_A2A128)
/* A27BBC 80240CEC 8C430000 */ lw $v1, ($v0)
/* A27BC0 80240CF0 AC800000 */ sw $zero, ($a0)
/* A27BC4 80240CF4 8C640008 */ lw $a0, 8($v1)
/* A27BC8 80240CF8 24630008 */ addiu $v1, $v1, 8
/* A27BCC 80240CFC 10800011 */ beqz $a0, .L80240D44
/* A27BD0 80240D00 AC430000 */ sw $v1, ($v0)
/* A27BD4 80240D04 08090356 */ j .L80240D58
/* A27BD8 80240D08 00000000 */ nop
.L80240D0C_A27BDC:
/* A27BDC 80240D0C 3C038024 */ lui $v1, %hi(filemenu_update_show_name_input)
/* A27BE0 80240D10 24633380 */ addiu $v1, $v1, %lo(filemenu_update_show_name_input)
/* A27BE4 80240D14 8C620000 */ lw $v0, ($v1)
/* A27BE8 80240D18 10400003 */ beqz $v0, .L80240D28
/* A27BEC 80240D1C 2442FFFF */ addiu $v0, $v0, -1
.L80240D20:
/* A27BF0 80240D20 08090358 */ j .L80240D60_A27C30
/* A27BF4 80240D24 AC620000 */ sw $v0, ($v1)
.L80240D28:
/* A27BF8 80240D28 3C028024 */ lui $v0, %hi(D_80243258_A2A128)
/* A27BFC 80240D2C 24423258 */ addiu $v0, $v0, %lo(D_80243258_A2A128)
/* A27C00 80240D30 8C430000 */ lw $v1, ($v0)
/* A27C04 80240D34 8C640008 */ lw $a0, 8($v1)
/* A27C08 80240D38 24630008 */ addiu $v1, $v1, 8
/* A27C0C 80240D3C 14800006 */ bnez $a0, .L80240D58
/* A27C10 80240D40 AC430000 */ sw $v1, ($v0)
.L80240D44:
/* A27C14 80240D44 24020003 */ addiu $v0, $zero, 3
/* A27C18 80240D48 3C018024 */ lui $at, %hi(D_80243250_A2A120)
/* A27C1C 80240D4C AC223250 */ sw $v0, %lo(D_80243250_A2A120)($at)
/* A27C20 80240D50 08090359 */ j .L80240D64
/* A27C24 80240D54 24040001 */ addiu $a0, $zero, 1
.L80240D58:
/* A27C28 80240D58 3C018024 */ lui $at, %hi(D_80243250_A2A120)
/* A27C2C 80240D5C AC203250 */ sw $zero, %lo(D_80243250_A2A120)($at)
.L80240D60_A27C30:
/* A27C30 80240D60 24040001 */ addiu $a0, $zero, 1
.L80240D64:
/* A27C34 80240D64 27B00018 */ addiu $s0, $sp, 0x18
/* A27C38 80240D68 0200282D */ daddu $a1, $s0, $zero
/* A27C3C 80240D6C 0C04DF70 */ jal get_screen_overlay_params
/* A27C40 80240D70 27A6001C */ addiu $a2, $sp, 0x1c
/* A27C44 80240D74 0000202D */ daddu $a0, $zero, $zero
/* A27C48 80240D78 0200282D */ daddu $a1, $s0, $zero
/* A27C4C 80240D7C 0C04DF70 */ jal get_screen_overlay_params
/* A27C50 80240D80 27A60020 */ addiu $a2, $sp, 0x20
/* A27C54 80240D84 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* A27C58 80240D88 3C01437F */ lui $at, 0x437f
/* A27C5C 80240D8C 44812000 */ mtc1 $at, $f4
/* A27C60 80240D90 00000000 */ nop
/* A27C64 80240D94 46022081 */ sub.s $f2, $f4, $f2
/* A27C68 80240D98 3C018024 */ lui $at, %hi(D_80243254_A2A124)
/* A27C6C 80240D9C C4203254 */ lwc1 $f0, %lo(D_80243254_A2A124)($at)
/* A27C70 80240DA0 46800020 */ cvt.s.w $f0, $f0
/* A27C74 80240DA4 46020002 */ mul.s $f0, $f0, $f2
/* A27C78 80240DA8 00000000 */ nop
/* A27C7C 80240DAC C7A20020 */ lwc1 $f2, 0x20($sp)
/* A27C80 80240DB0 46022081 */ sub.s $f2, $f4, $f2
/* A27C84 80240DB4 46020002 */ mul.s $f0, $f0, $f2
/* A27C88 80240DB8 00000000 */ nop
/* A27C8C 80240DBC 46040003 */ div.s $f0, $f0, $f4
/* A27C90 80240DC0 46040003 */ div.s $f0, $f0, $f4
/* A27C94 80240DC4 4600018D */ trunc.w.s $f6, $f0
/* A27C98 80240DC8 44113000 */ mfc1 $s1, $f6
/* A27C9C 80240DCC 00000000 */ nop
/* A27CA0 80240DD0 1A200015 */ blez $s1, .L80240E28
/* A27CA4 80240DD4 00000000 */ nop
/* A27CA8 80240DD8 3C128024 */ lui $s2, %hi(D_80243258_A2A128)
/* A27CAC 80240DDC 26523258 */ addiu $s2, $s2, %lo(D_80243258_A2A128)
/* A27CB0 80240DE0 8E420000 */ lw $v0, ($s2)
/* A27CB4 80240DE4 8C440000 */ lw $a0, ($v0)
/* A27CB8 80240DE8 1080000F */ beqz $a0, .L80240E28
/* A27CBC 80240DEC 00000000 */ nop
/* A27CC0 80240DF0 0C04992C */ jal get_msg_lines
/* A27CC4 80240DF4 0000802D */ daddu $s0, $zero, $zero
/* A27CC8 80240DF8 28420002 */ slti $v0, $v0, 2
/* A27CCC 80240DFC 50400001 */ beql $v0, $zero, .L80240E04
/* A27CD0 80240E00 2410FFF9 */ addiu $s0, $zero, -7
.L80240E04:
/* A27CD4 80240E04 0000282D */ daddu $a1, $zero, $zero
/* A27CD8 80240E08 260600C4 */ addiu $a2, $s0, 0xc4
/* A27CDC 80240E0C 8E430000 */ lw $v1, ($s2)
/* A27CE0 80240E10 2402FFFF */ addiu $v0, $zero, -1
/* A27CE4 80240E14 AFA20010 */ sw $v0, 0x10($sp)
/* A27CE8 80240E18 AFA00014 */ sw $zero, 0x14($sp)
/* A27CEC 80240E1C 8C640000 */ lw $a0, ($v1)
/* A27CF0 80240E20 0C04993B */ jal draw_msg
/* A27CF4 80240E24 0220382D */ daddu $a3, $s1, $zero
.L80240E28:
/* A27CF8 80240E28 8FBF0034 */ lw $ra, 0x34($sp)
/* A27CFC 80240E2C 8FB20030 */ lw $s2, 0x30($sp)
/* A27D00 80240E30 8FB1002C */ lw $s1, 0x2c($sp)
/* A27D04 80240E34 8FB00028 */ lw $s0, 0x28($sp)
/* A27D08 80240E38 03E00008 */ jr $ra
/* A27D0C 80240E3C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,48 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241044_A2B284
/* A2B284 80241044 460C7301 */ sub.s $f12, $f14, $f12
/* A2B288 80241048 44863000 */ mtc1 $a2, $f6
/* A2B28C 8024104C 44800000 */ mtc1 $zero, $f0
/* A2B290 80241050 44872000 */ mtc1 $a3, $f4
/* A2B294 80241054 8FA20010 */ lw $v0, 0x10($sp)
/* A2B298 80241058 460C003C */ c.lt.s $f0, $f12
/* A2B29C 8024105C 00000000 */ nop
/* A2B2A0 80241060 4500000F */ bc1f .L802410A0
/* A2B2A4 80241064 46067081 */ sub.s $f2, $f14, $f6
/* A2B2A8 80241068 4600103C */ c.lt.s $f2, $f0
/* A2B2AC 8024106C 00000000 */ nop
/* A2B2B0 80241070 45000003 */ bc1f .L80241080
/* A2B2B4 80241074 00000000 */ nop
.L80241078:
/* A2B2B8 80241078 03E00008 */ jr $ra
/* A2B2BC 8024107C E44E0000 */ swc1 $f14, ($v0)
.L80241080:
/* A2B2C0 80241080 4602203C */ c.lt.s $f4, $f2
/* A2B2C4 80241084 00000000 */ nop
/* A2B2C8 80241088 45000012 */ bc1f .L802410D4
/* A2B2CC 8024108C 00000000 */ nop
/* A2B2D0 80241090 C4400000 */ lwc1 $f0, ($v0)
/* A2B2D4 80241094 46040000 */ add.s $f0, $f0, $f4
/* A2B2D8 80241098 03E00008 */ jr $ra
/* A2B2DC 8024109C E4400000 */ swc1 $f0, ($v0)
.L802410A0:
/* A2B2E0 802410A0 4602003C */ c.lt.s $f0, $f2
/* A2B2E4 802410A4 00000000 */ nop
/* A2B2E8 802410A8 4501FFF3 */ bc1t .L80241078
/* A2B2EC 802410AC 00000000 */ nop
/* A2B2F0 802410B0 46002007 */ neg.s $f0, $f4
/* A2B2F4 802410B4 4600103C */ c.lt.s $f2, $f0
/* A2B2F8 802410B8 00000000 */ nop
/* A2B2FC 802410BC 45000005 */ bc1f .L802410D4
/* A2B300 802410C0 00000000 */ nop
/* A2B304 802410C4 C4400000 */ lwc1 $f0, ($v0)
/* A2B308 802410C8 46040001 */ sub.s $f0, $f0, $f4
/* A2B30C 802410CC 03E00008 */ jr $ra
/* A2B310 802410D0 E4400000 */ swc1 $f0, ($v0)
.L802410D4:
/* A2B314 802410D4 C4400000 */ lwc1 $f0, ($v0)
/* A2B318 802410D8 46020000 */ add.s $f0, $f0, $f2
/* A2B31C 802410DC 03E00008 */ jr $ra
/* A2B320 802410E0 E4400000 */ swc1 $f0, ($v0)

View File

@ -1,182 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8024F260_A394A0
.word .L80244A58_A2EC98, .L80244AC4_A2ED04, .L80244AEC_A2ED2C, .L80244B80_A2EDC0, .L80244B2C_A2ED6C, 0, 0, 0
.section .text
glabel func_802449F0_A2EC30
/* A2EC30 802449F0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* A2EC34 802449F4 3C038025 */ lui $v1, %hi(D_8024DA98_A37CD8)
/* A2EC38 802449F8 2463DA98 */ addiu $v1, $v1, %lo(D_8024DA98_A37CD8)
/* A2EC3C 802449FC AFBF0034 */ sw $ra, 0x34($sp)
/* A2EC40 80244A00 AFB20030 */ sw $s2, 0x30($sp)
/* A2EC44 80244A04 AFB1002C */ sw $s1, 0x2c($sp)
/* A2EC48 80244A08 AFB00028 */ sw $s0, 0x28($sp)
/* A2EC4C 80244A0C 8C620000 */ lw $v0, ($v1)
/* A2EC50 80244A10 14400007 */ bnez $v0, .L80244A30
/* A2EC54 80244A14 00000000 */ nop
/* A2EC58 80244A18 3C028007 */ lui $v0, %hi(D_800779B0)
/* A2EC5C 80244A1C 904279B0 */ lbu $v0, %lo(D_800779B0)($v0)
/* A2EC60 80244A20 00021080 */ sll $v0, $v0, 2
/* A2EC64 80244A24 00441021 */ addu $v0, $v0, $a0
/* A2EC68 80244A28 8C420000 */ lw $v0, ($v0)
/* A2EC6C 80244A2C AC620000 */ sw $v0, ($v1)
.L80244A30:
/* A2EC70 80244A30 3C038025 */ lui $v1, %hi(D_8024DA90_A37CD0)
/* A2EC74 80244A34 8C63DA90 */ lw $v1, %lo(D_8024DA90_A37CD0)($v1)
/* A2EC78 80244A38 2C620005 */ sltiu $v0, $v1, 5
/* A2EC7C 80244A3C 10400050 */ beqz $v0, .L80244B80_A2EDC0
/* A2EC80 80244A40 00031080 */ sll $v0, $v1, 2
/* A2EC84 80244A44 3C018025 */ lui $at, %hi(jtbl_8024F260_A394A0)
/* A2EC88 80244A48 00220821 */ addu $at, $at, $v0
/* A2EC8C 80244A4C 8C22F260 */ lw $v0, %lo(jtbl_8024F260_A394A0)($at)
/* A2EC90 80244A50 00400008 */ jr $v0
/* A2EC94 80244A54 00000000 */ nop
.L80244A58_A2EC98:
/* A2EC98 80244A58 3C048025 */ lui $a0, %hi(D_8024DA98_A37CD8)
/* A2EC9C 80244A5C 8C84DA98 */ lw $a0, %lo(D_8024DA98_A37CD8)($a0)
/* A2ECA0 80244A60 8C830000 */ lw $v1, ($a0)
/* A2ECA4 80244A64 2402FFFF */ addiu $v0, $zero, -1
/* A2ECA8 80244A68 14620004 */ bne $v1, $v0, .L80244A7C
/* A2ECAC 80244A6C 24020004 */ addiu $v0, $zero, 4
/* A2ECB0 80244A70 8C830004 */ lw $v1, 4($a0)
/* A2ECB4 80244A74 080912AB */ j .L80244AAC
/* A2ECB8 80244A78 00000000 */ nop
.L80244A7C:
/* A2ECBC 80244A7C 3C038025 */ lui $v1, %hi(D_8024DA94_A37CD4)
/* A2ECC0 80244A80 2463DA94 */ addiu $v1, $v1, %lo(D_8024DA94_A37CD4)
/* A2ECC4 80244A84 8C620000 */ lw $v0, ($v1)
/* A2ECC8 80244A88 2442000A */ addiu $v0, $v0, 0xa
/* A2ECCC 80244A8C AC620000 */ sw $v0, ($v1)
/* A2ECD0 80244A90 28420100 */ slti $v0, $v0, 0x100
/* A2ECD4 80244A94 5440003B */ bnel $v0, $zero, .L80244B84
/* A2ECD8 80244A98 24040001 */ addiu $a0, $zero, 1
/* A2ECDC 80244A9C 240200FF */ addiu $v0, $zero, 0xff
/* A2ECE0 80244AA0 AC620000 */ sw $v0, ($v1)
/* A2ECE4 80244AA4 8C830004 */ lw $v1, 4($a0)
/* A2ECE8 80244AA8 24020001 */ addiu $v0, $zero, 1
.L80244AAC:
/* A2ECEC 80244AAC 3C018025 */ lui $at, %hi(D_8024DA90_A37CD0)
/* A2ECF0 80244AB0 AC22DA90 */ sw $v0, %lo(D_8024DA90_A37CD0)($at)
/* A2ECF4 80244AB4 3C018025 */ lui $at, %hi(D_8024F570)
/* A2ECF8 80244AB8 AC23F570 */ sw $v1, %lo(D_8024F570)($at)
/* A2ECFC 80244ABC 080912E1 */ j .L80244B84
/* A2ED00 80244AC0 24040001 */ addiu $a0, $zero, 1
.L80244AC4_A2ED04:
/* A2ED04 80244AC4 3C038025 */ lui $v1, %hi(D_8024F570)
/* A2ED08 80244AC8 2463F570 */ addiu $v1, $v1, %lo(D_8024F570)
/* A2ED0C 80244ACC 8C620000 */ lw $v0, ($v1)
/* A2ED10 80244AD0 1440001B */ bnez $v0, .L80244B40
/* A2ED14 80244AD4 2442FFFF */ addiu $v0, $v0, -1
/* A2ED18 80244AD8 24020002 */ addiu $v0, $zero, 2
/* A2ED1C 80244ADC 3C018025 */ lui $at, %hi(D_8024DA90_A37CD0)
/* A2ED20 80244AE0 AC22DA90 */ sw $v0, %lo(D_8024DA90_A37CD0)($at)
/* A2ED24 80244AE4 080912E1 */ j .L80244B84
/* A2ED28 80244AE8 24040001 */ addiu $a0, $zero, 1
.L80244AEC_A2ED2C:
/* A2ED2C 80244AEC 3C048025 */ lui $a0, %hi(D_8024DA94_A37CD4)
/* A2ED30 80244AF0 2484DA94 */ addiu $a0, $a0, %lo(D_8024DA94_A37CD4)
/* A2ED34 80244AF4 8C820000 */ lw $v0, ($a0)
/* A2ED38 80244AF8 2442FFF6 */ addiu $v0, $v0, -0xa
/* A2ED3C 80244AFC 04410020 */ bgez $v0, .L80244B80_A2EDC0
/* A2ED40 80244B00 AC820000 */ sw $v0, ($a0)
/* A2ED44 80244B04 3C028025 */ lui $v0, %hi(D_8024DA98_A37CD8)
/* A2ED48 80244B08 2442DA98 */ addiu $v0, $v0, %lo(D_8024DA98_A37CD8)
/* A2ED4C 80244B0C 8C430000 */ lw $v1, ($v0)
/* A2ED50 80244B10 AC800000 */ sw $zero, ($a0)
/* A2ED54 80244B14 8C640008 */ lw $a0, 8($v1)
/* A2ED58 80244B18 24630008 */ addiu $v1, $v1, 8
/* A2ED5C 80244B1C 10800011 */ beqz $a0, .L80244B64
/* A2ED60 80244B20 AC430000 */ sw $v1, ($v0)
/* A2ED64 80244B24 080912DE */ j .L80244B78
/* A2ED68 80244B28 00000000 */ nop
.L80244B2C_A2ED6C:
/* A2ED6C 80244B2C 3C038025 */ lui $v1, %hi(D_8024F570)
/* A2ED70 80244B30 2463F570 */ addiu $v1, $v1, %lo(D_8024F570)
/* A2ED74 80244B34 8C620000 */ lw $v0, ($v1)
/* A2ED78 80244B38 10400003 */ beqz $v0, .L80244B48
/* A2ED7C 80244B3C 2442FFFF */ addiu $v0, $v0, -1
.L80244B40:
/* A2ED80 80244B40 080912E0 */ j .L80244B80_A2EDC0
/* A2ED84 80244B44 AC620000 */ sw $v0, ($v1)
.L80244B48:
/* A2ED88 80244B48 3C028025 */ lui $v0, %hi(D_8024DA98_A37CD8)
/* A2ED8C 80244B4C 2442DA98 */ addiu $v0, $v0, %lo(D_8024DA98_A37CD8)
/* A2ED90 80244B50 8C430000 */ lw $v1, ($v0)
/* A2ED94 80244B54 8C640008 */ lw $a0, 8($v1)
/* A2ED98 80244B58 24630008 */ addiu $v1, $v1, 8
/* A2ED9C 80244B5C 14800006 */ bnez $a0, .L80244B78
/* A2EDA0 80244B60 AC430000 */ sw $v1, ($v0)
.L80244B64:
/* A2EDA4 80244B64 24020003 */ addiu $v0, $zero, 3
/* A2EDA8 80244B68 3C018025 */ lui $at, %hi(D_8024DA90_A37CD0)
/* A2EDAC 80244B6C AC22DA90 */ sw $v0, %lo(D_8024DA90_A37CD0)($at)
/* A2EDB0 80244B70 080912E1 */ j .L80244B84
/* A2EDB4 80244B74 24040001 */ addiu $a0, $zero, 1
.L80244B78:
/* A2EDB8 80244B78 3C018025 */ lui $at, %hi(D_8024DA90_A37CD0)
/* A2EDBC 80244B7C AC20DA90 */ sw $zero, %lo(D_8024DA90_A37CD0)($at)
.L80244B80_A2EDC0:
/* A2EDC0 80244B80 24040001 */ addiu $a0, $zero, 1
.L80244B84:
/* A2EDC4 80244B84 27B00018 */ addiu $s0, $sp, 0x18
/* A2EDC8 80244B88 0200282D */ daddu $a1, $s0, $zero
/* A2EDCC 80244B8C 0C04DF70 */ jal get_screen_overlay_params
/* A2EDD0 80244B90 27A6001C */ addiu $a2, $sp, 0x1c
/* A2EDD4 80244B94 0000202D */ daddu $a0, $zero, $zero
/* A2EDD8 80244B98 0200282D */ daddu $a1, $s0, $zero
/* A2EDDC 80244B9C 0C04DF70 */ jal get_screen_overlay_params
/* A2EDE0 80244BA0 27A60020 */ addiu $a2, $sp, 0x20
/* A2EDE4 80244BA4 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* A2EDE8 80244BA8 3C01437F */ lui $at, 0x437f
/* A2EDEC 80244BAC 44812000 */ mtc1 $at, $f4
/* A2EDF0 80244BB0 00000000 */ nop
/* A2EDF4 80244BB4 46022081 */ sub.s $f2, $f4, $f2
/* A2EDF8 80244BB8 3C018025 */ lui $at, %hi(D_8024DA94_A37CD4)
/* A2EDFC 80244BBC C420DA94 */ lwc1 $f0, %lo(D_8024DA94_A37CD4)($at)
/* A2EE00 80244BC0 46800020 */ cvt.s.w $f0, $f0
/* A2EE04 80244BC4 46020002 */ mul.s $f0, $f0, $f2
/* A2EE08 80244BC8 00000000 */ nop
/* A2EE0C 80244BCC C7A20020 */ lwc1 $f2, 0x20($sp)
/* A2EE10 80244BD0 46022081 */ sub.s $f2, $f4, $f2
/* A2EE14 80244BD4 46020002 */ mul.s $f0, $f0, $f2
/* A2EE18 80244BD8 00000000 */ nop
/* A2EE1C 80244BDC 46040003 */ div.s $f0, $f0, $f4
/* A2EE20 80244BE0 46040003 */ div.s $f0, $f0, $f4
/* A2EE24 80244BE4 4600018D */ trunc.w.s $f6, $f0
/* A2EE28 80244BE8 44113000 */ mfc1 $s1, $f6
/* A2EE2C 80244BEC 00000000 */ nop
/* A2EE30 80244BF0 1A200015 */ blez $s1, .L80244C48
/* A2EE34 80244BF4 00000000 */ nop
/* A2EE38 80244BF8 3C128025 */ lui $s2, %hi(D_8024DA98_A37CD8)
/* A2EE3C 80244BFC 2652DA98 */ addiu $s2, $s2, %lo(D_8024DA98_A37CD8)
/* A2EE40 80244C00 8E420000 */ lw $v0, ($s2)
/* A2EE44 80244C04 8C440000 */ lw $a0, ($v0)
/* A2EE48 80244C08 1080000F */ beqz $a0, .L80244C48
/* A2EE4C 80244C0C 00000000 */ nop
/* A2EE50 80244C10 0C04992C */ jal get_msg_lines
/* A2EE54 80244C14 0000802D */ daddu $s0, $zero, $zero
/* A2EE58 80244C18 28420002 */ slti $v0, $v0, 2
/* A2EE5C 80244C1C 50400001 */ beql $v0, $zero, .L80244C24
/* A2EE60 80244C20 2410FFF9 */ addiu $s0, $zero, -7
.L80244C24:
/* A2EE64 80244C24 0000282D */ daddu $a1, $zero, $zero
/* A2EE68 80244C28 260600C4 */ addiu $a2, $s0, 0xc4
/* A2EE6C 80244C2C 8E430000 */ lw $v1, ($s2)
/* A2EE70 80244C30 2402FFFF */ addiu $v0, $zero, -1
/* A2EE74 80244C34 AFA20010 */ sw $v0, 0x10($sp)
/* A2EE78 80244C38 AFA00014 */ sw $zero, 0x14($sp)
/* A2EE7C 80244C3C 8C640000 */ lw $a0, ($v1)
/* A2EE80 80244C40 0C04993B */ jal draw_msg
/* A2EE84 80244C44 0220382D */ daddu $a3, $s1, $zero
.L80244C48:
/* A2EE88 80244C48 8FBF0034 */ lw $ra, 0x34($sp)
/* A2EE8C 80244C4C 8FB20030 */ lw $s2, 0x30($sp)
/* A2EE90 80244C50 8FB1002C */ lw $s1, 0x2c($sp)
/* A2EE94 80244C54 8FB00028 */ lw $s0, 0x28($sp)
/* A2EE98 80244C58 03E00008 */ jr $ra
/* A2EE9C 80244C5C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80244C8C_A2EECC
/* A2EECC 80244C8C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A2EED0 80244C90 AFBF0010 */ sw $ra, 0x10($sp)
/* A2EED4 80244C94 0C090C40 */ jal func_80243100_A2D340
/* A2EED8 80244C98 00000000 */ nop
/* A2EEDC 80244C9C 3C048025 */ lui $a0, %hi(D_8024DBCC_A37E0C)
/* A2EEE0 80244CA0 0C09127C */ jal func_802449F0_A2EC30
/* A2EEE4 80244CA4 2484DBCC */ addiu $a0, $a0, %lo(D_8024DBCC_A37E0C)
/* A2EEE8 80244CA8 8FBF0010 */ lw $ra, 0x10($sp)
/* A2EEEC 80244CAC 03E00008 */ jr $ra
/* A2EEF0 80244CB0 27BD0018 */ addiu $sp, $sp, 0x18
/* A2EEF4 80244CB4 00000000 */ nop
/* A2EEF8 80244CB8 00000000 */ nop
/* A2EEFC 80244CBC 00000000 */ nop

View File

@ -1,245 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802452C4_A2F504
/* A2F504 802452C4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* A2F508 802452C8 AFB1001C */ sw $s1, 0x1c($sp)
/* A2F50C 802452CC 0080882D */ daddu $s1, $a0, $zero
/* A2F510 802452D0 AFBF0020 */ sw $ra, 0x20($sp)
/* A2F514 802452D4 AFB00018 */ sw $s0, 0x18($sp)
/* A2F518 802452D8 10A0003B */ beqz $a1, .L802453C8
/* A2F51C 802452DC 8E30000C */ lw $s0, 0xc($s1)
/* A2F520 802452E0 3C048025 */ lui $a0, %hi(D_8024F580_hos_05)
/* A2F524 802452E4 2484F580 */ addiu $a0, $a0, %lo(D_8024F580_hos_05)
/* A2F528 802452E8 3C058025 */ lui $a1, %hi(D_8024F581)
/* A2F52C 802452EC 24A5F581 */ addiu $a1, $a1, %lo(D_8024F581)
/* A2F530 802452F0 3C068025 */ lui $a2, %hi(D_8024F582)
/* A2F534 802452F4 24C6F582 */ addiu $a2, $a2, %lo(D_8024F582)
/* A2F538 802452F8 3C078025 */ lui $a3, %hi(D_8024F583)
/* A2F53C 802452FC 24E7F583 */ addiu $a3, $a3, %lo(D_8024F583)
/* A2F540 80245300 3C028025 */ lui $v0, %hi(D_8024F584)
/* A2F544 80245304 2442F584 */ addiu $v0, $v0, %lo(D_8024F584)
/* A2F548 80245308 AFA20010 */ sw $v0, 0x10($sp)
/* A2F54C 8024530C 3C028025 */ lui $v0, %hi(D_8024F585)
/* A2F550 80245310 2442F585 */ addiu $v0, $v0, %lo(D_8024F585)
/* A2F554 80245314 0C046FF5 */ jal get_model_env_color_parameters
/* A2F558 80245318 AFA20014 */ sw $v0, 0x14($sp)
/* A2F55C 8024531C 8E050000 */ lw $a1, ($s0)
/* A2F560 80245320 26100004 */ addiu $s0, $s0, 4
/* A2F564 80245324 0C0B1EAF */ jal evt_get_variable
/* A2F568 80245328 0220202D */ daddu $a0, $s1, $zero
/* A2F56C 8024532C 3C018025 */ lui $at, %hi(D_8024F588)
/* A2F570 80245330 AC22F588 */ sw $v0, %lo(D_8024F588)($at)
/* A2F574 80245334 8E050000 */ lw $a1, ($s0)
/* A2F578 80245338 26100004 */ addiu $s0, $s0, 4
/* A2F57C 8024533C 0C0B1EAF */ jal evt_get_variable
/* A2F580 80245340 0220202D */ daddu $a0, $s1, $zero
/* A2F584 80245344 3C018025 */ lui $at, %hi(D_8024F58C)
/* A2F588 80245348 AC22F58C */ sw $v0, %lo(D_8024F58C)($at)
/* A2F58C 8024534C 8E050000 */ lw $a1, ($s0)
/* A2F590 80245350 26100004 */ addiu $s0, $s0, 4
/* A2F594 80245354 0C0B1EAF */ jal evt_get_variable
/* A2F598 80245358 0220202D */ daddu $a0, $s1, $zero
/* A2F59C 8024535C 3C018025 */ lui $at, %hi(D_8024F590)
/* A2F5A0 80245360 AC22F590 */ sw $v0, %lo(D_8024F590)($at)
/* A2F5A4 80245364 8E050000 */ lw $a1, ($s0)
/* A2F5A8 80245368 26100004 */ addiu $s0, $s0, 4
/* A2F5AC 8024536C 0C0B1EAF */ jal evt_get_variable
/* A2F5B0 80245370 0220202D */ daddu $a0, $s1, $zero
/* A2F5B4 80245374 3C018025 */ lui $at, %hi(D_8024F594)
/* A2F5B8 80245378 AC22F594 */ sw $v0, %lo(D_8024F594)($at)
/* A2F5BC 8024537C 8E050000 */ lw $a1, ($s0)
/* A2F5C0 80245380 26100004 */ addiu $s0, $s0, 4
/* A2F5C4 80245384 0C0B1EAF */ jal evt_get_variable
/* A2F5C8 80245388 0220202D */ daddu $a0, $s1, $zero
/* A2F5CC 8024538C 3C018025 */ lui $at, %hi(D_8024F598)
/* A2F5D0 80245390 AC22F598 */ sw $v0, %lo(D_8024F598)($at)
/* A2F5D4 80245394 8E050000 */ lw $a1, ($s0)
/* A2F5D8 80245398 26100004 */ addiu $s0, $s0, 4
/* A2F5DC 8024539C 0C0B1EAF */ jal evt_get_variable
/* A2F5E0 802453A0 0220202D */ daddu $a0, $s1, $zero
/* A2F5E4 802453A4 3C018025 */ lui $at, %hi(D_8024F59C)
/* A2F5E8 802453A8 AC22F59C */ sw $v0, %lo(D_8024F59C)($at)
/* A2F5EC 802453AC 8E050000 */ lw $a1, ($s0)
/* A2F5F0 802453B0 0C0B1EAF */ jal evt_get_variable
/* A2F5F4 802453B4 0220202D */ daddu $a0, $s1, $zero
/* A2F5F8 802453B8 3C018025 */ lui $at, %hi(mac_04_Quizmo_Worker)
/* A2F5FC 802453BC AC22F5A0 */ sw $v0, %lo(mac_04_Quizmo_Worker)($at)
/* A2F600 802453C0 3C018025 */ lui $at, %hi(D_8024F5A4)
/* A2F604 802453C4 AC20F5A4 */ sw $zero, %lo(D_8024F5A4)($at)
.L802453C8:
/* A2F608 802453C8 3C118025 */ lui $s1, %hi(mac_04_Quizmo_Worker)
/* A2F60C 802453CC 2631F5A0 */ addiu $s1, $s1, %lo(mac_04_Quizmo_Worker)
/* A2F610 802453D0 8E2F0000 */ lw $t7, ($s1)
/* A2F614 802453D4 19E00088 */ blez $t7, .L802455F8
/* A2F618 802453D8 00000000 */ nop
/* A2F61C 802453DC 3C108025 */ lui $s0, %hi(D_8024F5A4)
/* A2F620 802453E0 2610F5A4 */ addiu $s0, $s0, %lo(D_8024F5A4)
/* A2F624 802453E4 8E030000 */ lw $v1, ($s0)
/* A2F628 802453E8 3C048025 */ lui $a0, %hi(D_8024F580_hos_05)
/* A2F62C 802453EC 9084F580 */ lbu $a0, %lo(D_8024F580_hos_05)($a0)
/* A2F630 802453F0 3C028025 */ lui $v0, %hi(D_8024F588)
/* A2F634 802453F4 8C42F588 */ lw $v0, %lo(D_8024F588)($v0)
/* A2F638 802453F8 24630001 */ addiu $v1, $v1, 1
/* A2F63C 802453FC 00441023 */ subu $v0, $v0, $a0
/* A2F640 80245400 00430018 */ mult $v0, $v1
/* A2F644 80245404 00004012 */ mflo $t0
/* A2F648 80245408 00000000 */ nop
/* A2F64C 8024540C 15E00002 */ bnez $t7, .L80245418
/* A2F650 80245410 010F001A */ div $zero, $t0, $t7
/* A2F654 80245414 0007000D */ break 7
.L80245418:
/* A2F658 80245418 2401FFFF */ addiu $at, $zero, -1
/* A2F65C 8024541C 15E10004 */ bne $t7, $at, .L80245430
/* A2F660 80245420 3C018000 */ lui $at, 0x8000
/* A2F664 80245424 15010002 */ bne $t0, $at, .L80245430
/* A2F668 80245428 00000000 */ nop
/* A2F66C 8024542C 0006000D */ break 6
.L80245430:
/* A2F670 80245430 00007012 */ mflo $t6
/* A2F674 80245434 3C058025 */ lui $a1, %hi(D_8024F581)
/* A2F678 80245438 90A5F581 */ lbu $a1, %lo(D_8024F581)($a1)
/* A2F67C 8024543C 3C028025 */ lui $v0, %hi(D_8024F58C)
/* A2F680 80245440 8C42F58C */ lw $v0, %lo(D_8024F58C)($v0)
/* A2F684 80245444 00451023 */ subu $v0, $v0, $a1
/* A2F688 80245448 00430018 */ mult $v0, $v1
/* A2F68C 8024544C 00004012 */ mflo $t0
/* A2F690 80245450 00000000 */ nop
/* A2F694 80245454 15E00002 */ bnez $t7, .L80245460
/* A2F698 80245458 010F001A */ div $zero, $t0, $t7
/* A2F69C 8024545C 0007000D */ break 7
.L80245460:
/* A2F6A0 80245460 2401FFFF */ addiu $at, $zero, -1
/* A2F6A4 80245464 15E10004 */ bne $t7, $at, .L80245478
/* A2F6A8 80245468 3C018000 */ lui $at, 0x8000
/* A2F6AC 8024546C 15010002 */ bne $t0, $at, .L80245478
/* A2F6B0 80245470 00000000 */ nop
/* A2F6B4 80245474 0006000D */ break 6
.L80245478:
/* A2F6B8 80245478 00006812 */ mflo $t5
/* A2F6BC 8024547C 3C068025 */ lui $a2, %hi(D_8024F582)
/* A2F6C0 80245480 90C6F582 */ lbu $a2, %lo(D_8024F582)($a2)
/* A2F6C4 80245484 3C028025 */ lui $v0, %hi(D_8024F590)
/* A2F6C8 80245488 8C42F590 */ lw $v0, %lo(D_8024F590)($v0)
/* A2F6CC 8024548C 00461023 */ subu $v0, $v0, $a2
/* A2F6D0 80245490 00430018 */ mult $v0, $v1
/* A2F6D4 80245494 00004012 */ mflo $t0
/* A2F6D8 80245498 00000000 */ nop
/* A2F6DC 8024549C 15E00002 */ bnez $t7, .L802454A8
/* A2F6E0 802454A0 010F001A */ div $zero, $t0, $t7
/* A2F6E4 802454A4 0007000D */ break 7
.L802454A8:
/* A2F6E8 802454A8 2401FFFF */ addiu $at, $zero, -1
/* A2F6EC 802454AC 15E10004 */ bne $t7, $at, .L802454C0
/* A2F6F0 802454B0 3C018000 */ lui $at, 0x8000
/* A2F6F4 802454B4 15010002 */ bne $t0, $at, .L802454C0
/* A2F6F8 802454B8 00000000 */ nop
/* A2F6FC 802454BC 0006000D */ break 6
.L802454C0:
/* A2F700 802454C0 00006012 */ mflo $t4
/* A2F704 802454C4 3C078025 */ lui $a3, %hi(D_8024F583)
/* A2F708 802454C8 90E7F583 */ lbu $a3, %lo(D_8024F583)($a3)
/* A2F70C 802454CC 3C028025 */ lui $v0, %hi(D_8024F594)
/* A2F710 802454D0 8C42F594 */ lw $v0, %lo(D_8024F594)($v0)
/* A2F714 802454D4 00471023 */ subu $v0, $v0, $a3
/* A2F718 802454D8 00430018 */ mult $v0, $v1
/* A2F71C 802454DC 00004012 */ mflo $t0
/* A2F720 802454E0 00000000 */ nop
/* A2F724 802454E4 15E00002 */ bnez $t7, .L802454F0
/* A2F728 802454E8 010F001A */ div $zero, $t0, $t7
/* A2F72C 802454EC 0007000D */ break 7
.L802454F0:
/* A2F730 802454F0 2401FFFF */ addiu $at, $zero, -1
/* A2F734 802454F4 15E10004 */ bne $t7, $at, .L80245508
/* A2F738 802454F8 3C018000 */ lui $at, 0x8000
/* A2F73C 802454FC 15010002 */ bne $t0, $at, .L80245508
/* A2F740 80245500 00000000 */ nop
/* A2F744 80245504 0006000D */ break 6
.L80245508:
/* A2F748 80245508 00005812 */ mflo $t3
/* A2F74C 8024550C 3C098025 */ lui $t1, %hi(D_8024F584)
/* A2F750 80245510 9129F584 */ lbu $t1, %lo(D_8024F584)($t1)
/* A2F754 80245514 3C028025 */ lui $v0, %hi(D_8024F598)
/* A2F758 80245518 8C42F598 */ lw $v0, %lo(D_8024F598)($v0)
/* A2F75C 8024551C 00491023 */ subu $v0, $v0, $t1
/* A2F760 80245520 00430018 */ mult $v0, $v1
/* A2F764 80245524 00004012 */ mflo $t0
/* A2F768 80245528 00000000 */ nop
/* A2F76C 8024552C 15E00002 */ bnez $t7, .L80245538
/* A2F770 80245530 010F001A */ div $zero, $t0, $t7
/* A2F774 80245534 0007000D */ break 7
.L80245538:
/* A2F778 80245538 2401FFFF */ addiu $at, $zero, -1
/* A2F77C 8024553C 15E10004 */ bne $t7, $at, .L80245550
/* A2F780 80245540 3C018000 */ lui $at, 0x8000
/* A2F784 80245544 15010002 */ bne $t0, $at, .L80245550
/* A2F788 80245548 00000000 */ nop
/* A2F78C 8024554C 0006000D */ break 6
.L80245550:
/* A2F790 80245550 00005012 */ mflo $t2
/* A2F794 80245554 3C088025 */ lui $t0, %hi(D_8024F585)
/* A2F798 80245558 9108F585 */ lbu $t0, %lo(D_8024F585)($t0)
/* A2F79C 8024555C 3C028025 */ lui $v0, %hi(D_8024F59C)
/* A2F7A0 80245560 8C42F59C */ lw $v0, %lo(D_8024F59C)($v0)
/* A2F7A4 80245564 00481023 */ subu $v0, $v0, $t0
/* A2F7A8 80245568 00430018 */ mult $v0, $v1
/* A2F7AC 8024556C 0000C812 */ mflo $t9
/* A2F7B0 80245570 00000000 */ nop
/* A2F7B4 80245574 15E00002 */ bnez $t7, .L80245580
/* A2F7B8 80245578 032F001A */ div $zero, $t9, $t7
/* A2F7BC 8024557C 0007000D */ break 7
.L80245580:
/* A2F7C0 80245580 2401FFFF */ addiu $at, $zero, -1
/* A2F7C4 80245584 15E10004 */ bne $t7, $at, .L80245598
/* A2F7C8 80245588 3C018000 */ lui $at, 0x8000
/* A2F7CC 8024558C 17210002 */ bne $t9, $at, .L80245598
/* A2F7D0 80245590 00000000 */ nop
/* A2F7D4 80245594 0006000D */ break 6
.L80245598:
/* A2F7D8 80245598 00001012 */ mflo $v0
/* A2F7DC 8024559C AE030000 */ sw $v1, ($s0)
/* A2F7E0 802455A0 008E2021 */ addu $a0, $a0, $t6
/* A2F7E4 802455A4 308400FF */ andi $a0, $a0, 0xff
/* A2F7E8 802455A8 00AD2821 */ addu $a1, $a1, $t5
/* A2F7EC 802455AC 30A500FF */ andi $a1, $a1, 0xff
/* A2F7F0 802455B0 00CC3021 */ addu $a2, $a2, $t4
/* A2F7F4 802455B4 30C600FF */ andi $a2, $a2, 0xff
/* A2F7F8 802455B8 00EB3821 */ addu $a3, $a3, $t3
/* A2F7FC 802455BC 30E700FF */ andi $a3, $a3, 0xff
/* A2F800 802455C0 012A4821 */ addu $t1, $t1, $t2
/* A2F804 802455C4 312900FF */ andi $t1, $t1, 0xff
/* A2F808 802455C8 AFA90010 */ sw $t1, 0x10($sp)
/* A2F80C 802455CC 01024021 */ addu $t0, $t0, $v0
/* A2F810 802455D0 310800FF */ andi $t0, $t0, 0xff
/* A2F814 802455D4 0C046FE6 */ jal set_model_env_color_parameters
/* A2F818 802455D8 AFA80014 */ sw $t0, 0x14($sp)
/* A2F81C 802455DC 8E020000 */ lw $v0, ($s0)
/* A2F820 802455E0 8E230000 */ lw $v1, ($s1)
/* A2F824 802455E4 0043102A */ slt $v0, $v0, $v1
/* A2F828 802455E8 14400013 */ bnez $v0, .L80245638
/* A2F82C 802455EC 0000102D */ daddu $v0, $zero, $zero
/* A2F830 802455F0 0809158E */ j .L80245638
/* A2F834 802455F4 24020002 */ addiu $v0, $zero, 2
.L802455F8:
/* A2F838 802455F8 3C028025 */ lui $v0, %hi(D_8024F59B)
/* A2F83C 802455FC 9042F59B */ lbu $v0, %lo(D_8024F59B)($v0)
/* A2F840 80245600 3C048025 */ lui $a0, %hi(D_8024F58B)
/* A2F844 80245604 9084F58B */ lbu $a0, %lo(D_8024F58B)($a0)
/* A2F848 80245608 3C058025 */ lui $a1, %hi(D_8024F58F)
/* A2F84C 8024560C 90A5F58F */ lbu $a1, %lo(D_8024F58F)($a1)
/* A2F850 80245610 3C068025 */ lui $a2, %hi(D_8024F593)
/* A2F854 80245614 90C6F593 */ lbu $a2, %lo(D_8024F593)($a2)
/* A2F858 80245618 3C078025 */ lui $a3, %hi(D_8024F597)
/* A2F85C 8024561C 90E7F597 */ lbu $a3, %lo(D_8024F597)($a3)
/* A2F860 80245620 3C038025 */ lui $v1, %hi(D_8024F59F)
/* A2F864 80245624 9063F59F */ lbu $v1, %lo(D_8024F59F)($v1)
/* A2F868 80245628 AFA20010 */ sw $v0, 0x10($sp)
/* A2F86C 8024562C 0C046FE6 */ jal set_model_env_color_parameters
/* A2F870 80245630 AFA30014 */ sw $v1, 0x14($sp)
/* A2F874 80245634 24020002 */ addiu $v0, $zero, 2
.L80245638:
/* A2F878 80245638 8FBF0020 */ lw $ra, 0x20($sp)
/* A2F87C 8024563C 8FB1001C */ lw $s1, 0x1c($sp)
/* A2F880 80245640 8FB00018 */ lw $s0, 0x18($sp)
/* A2F884 80245644 03E00008 */ jr $ra
/* A2F888 80245648 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024569C_A2F8DC
/* A2F8DC 8024569C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A2F8E0 802456A0 AFBF0010 */ sw $ra, 0x10($sp)
/* A2F8E4 802456A4 8C82000C */ lw $v0, 0xc($a0)
/* A2F8E8 802456A8 0C0B1EAF */ jal evt_get_variable
/* A2F8EC 802456AC 8C450000 */ lw $a1, ($v0)
/* A2F8F0 802456B0 8FBF0010 */ lw $ra, 0x10($sp)
/* A2F8F4 802456B4 3C01802E */ lui $at, %hi(D_802D9D72)
/* A2F8F8 802456B8 A4229D72 */ sh $v0, %lo(D_802D9D72)($at)
/* A2F8FC 802456BC 24020002 */ addiu $v0, $zero, 2
/* A2F900 802456C0 03E00008 */ jr $ra
/* A2F904 802456C4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80245718_A2F958
/* A2F958 80245718 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A2F95C 8024571C AFBF0010 */ sw $ra, 0x10($sp)
/* A2F960 80245720 8C82000C */ lw $v0, 0xc($a0)
/* A2F964 80245724 0C0B1EAF */ jal evt_get_variable
/* A2F968 80245728 8C450000 */ lw $a1, ($v0)
/* A2F96C 8024572C 8FBF0010 */ lw $ra, 0x10($sp)
/* A2F970 80245730 3C018025 */ lui $at, %hi(D_8024DCCC_A37F0C)
/* A2F974 80245734 AC22DCCC */ sw $v0, %lo(D_8024DCCC_A37F0C)($at)
/* A2F978 80245738 24020002 */ addiu $v0, $zero, 2
/* A2F97C 8024573C 03E00008 */ jr $ra
/* A2F980 80245740 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80245794_A2F9D4
/* A2F9D4 80245794 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A2F9D8 80245798 AFBF0010 */ sw $ra, 0x10($sp)
/* A2F9DC 8024579C 8C82000C */ lw $v0, 0xc($a0)
/* A2F9E0 802457A0 0C0B1EAF */ jal evt_get_variable
/* A2F9E4 802457A4 8C450000 */ lw $a1, ($v0)
/* A2F9E8 802457A8 8FBF0010 */ lw $ra, 0x10($sp)
/* A2F9EC 802457AC 3C018025 */ lui $at, %hi(D_8024DCD0_A37F10)
/* A2F9F0 802457B0 AC22DCD0 */ sw $v0, %lo(D_8024DCD0_A37F10)($at)
/* A2F9F4 802457B4 24020002 */ addiu $v0, $zero, 2
/* A2F9F8 802457B8 03E00008 */ jr $ra
/* A2F9FC 802457BC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802417EC_A3ACCC
/* A3ACCC 802417EC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A3ACD0 802417F0 AFB10014 */ sw $s1, 0x14($sp)
/* A3ACD4 802417F4 0080882D */ daddu $s1, $a0, $zero
/* A3ACD8 802417F8 AFBF0018 */ sw $ra, 0x18($sp)
/* A3ACDC 802417FC AFB00010 */ sw $s0, 0x10($sp)
/* A3ACE0 80241800 8E30000C */ lw $s0, 0xc($s1)
/* A3ACE4 80241804 8E050000 */ lw $a1, ($s0)
/* A3ACE8 80241808 0C0B1EAF */ jal evt_get_variable
/* A3ACEC 8024180C 26100004 */ addiu $s0, $s0, 4
/* A3ACF0 80241810 3C038011 */ lui $v1, %hi(gPlayerData+0xC)
/* A3ACF4 80241814 8463F29C */ lh $v1, %lo(gPlayerData+0xC)($v1)
/* A3ACF8 80241818 3C018024 */ lui $at, %hi(D_802447D0_A3DCB0)
/* A3ACFC 8024181C 00220821 */ addu $at, $at, $v0
/* A3AD00 80241820 902247D0 */ lbu $v0, %lo(D_802447D0_A3DCB0)($at)
/* A3AD04 80241824 8E050000 */ lw $a1, ($s0)
/* A3AD08 80241828 0062182A */ slt $v1, $v1, $v0
/* A3AD0C 8024182C 10600003 */ beqz $v1, .L8024183C
/* A3AD10 80241830 0220202D */ daddu $a0, $s1, $zero
/* A3AD14 80241834 08090610 */ j .L80241840
/* A3AD18 80241838 24060001 */ addiu $a2, $zero, 1
.L8024183C:
/* A3AD1C 8024183C 0000302D */ daddu $a2, $zero, $zero
.L80241840:
/* A3AD20 80241840 0C0B2026 */ jal evt_set_variable
/* A3AD24 80241844 00000000 */ nop
/* A3AD28 80241848 8FBF0018 */ lw $ra, 0x18($sp)
/* A3AD2C 8024184C 8FB10014 */ lw $s1, 0x14($sp)
/* A3AD30 80241850 8FB00010 */ lw $s0, 0x10($sp)
/* A3AD34 80241854 24020002 */ addiu $v0, $zero, 2
/* A3AD38 80241858 03E00008 */ jr $ra
/* A3AD3C 8024185C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241860_A3AD40
/* A3AD40 80241860 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A3AD44 80241864 AFBF0010 */ sw $ra, 0x10($sp)
/* A3AD48 80241868 8C82000C */ lw $v0, 0xc($a0)
/* A3AD4C 8024186C 0C0B1EAF */ jal evt_get_variable
/* A3AD50 80241870 8C450000 */ lw $a1, ($v0)
/* A3AD54 80241874 3C058011 */ lui $a1, %hi(gPlayerData)
/* A3AD58 80241878 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData)
/* A3AD5C 8024187C 3C048024 */ lui $a0, %hi(D_802447D0_A3DCB0)
/* A3AD60 80241880 00822021 */ addu $a0, $a0, $v0
/* A3AD64 80241884 908447D0 */ lbu $a0, %lo(D_802447D0_A3DCB0)($a0)
/* A3AD68 80241888 94A3000C */ lhu $v1, 0xc($a1)
/* A3AD6C 8024188C 00641823 */ subu $v1, $v1, $a0
/* A3AD70 80241890 A4A3000C */ sh $v1, 0xc($a1)
/* A3AD74 80241894 8FBF0010 */ lw $ra, 0x10($sp)
/* A3AD78 80241898 24020002 */ addiu $v0, $zero, 2
/* A3AD7C 8024189C 03E00008 */ jr $ra
/* A3AD80 802418A0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802418A4_A3AD84
/* A3AD84 802418A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A3AD88 802418A8 AFBF0010 */ sw $ra, 0x10($sp)
/* A3AD8C 802418AC 8C82000C */ lw $v0, 0xc($a0)
/* A3AD90 802418B0 0C0B1EAF */ jal evt_get_variable
/* A3AD94 802418B4 8C450000 */ lw $a1, ($v0)
/* A3AD98 802418B8 3C058011 */ lui $a1, %hi(gPlayerData)
/* A3AD9C 802418BC 24A5F290 */ addiu $a1, $a1, %lo(gPlayerData)
/* A3ADA0 802418C0 3C048024 */ lui $a0, %hi(D_802447D0_A3DCB0)
/* A3ADA4 802418C4 00822021 */ addu $a0, $a0, $v0
/* A3ADA8 802418C8 908447D0 */ lbu $a0, %lo(D_802447D0_A3DCB0)($a0)
/* A3ADAC 802418CC 94A3000C */ lhu $v1, 0xc($a1)
/* A3ADB0 802418D0 00641821 */ addu $v1, $v1, $a0
/* A3ADB4 802418D4 A4A3000C */ sh $v1, 0xc($a1)
/* A3ADB8 802418D8 8FBF0010 */ lw $ra, 0x10($sp)
/* A3ADBC 802418DC 24020002 */ addiu $v0, $zero, 2
/* A3ADC0 802418E0 03E00008 */ jr $ra
/* A3ADC4 802418E4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,98 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802418E8_A3ADC8
/* A3ADC8 802418E8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A3ADCC 802418EC AFB00018 */ sw $s0, 0x18($sp)
/* A3ADD0 802418F0 0080802D */ daddu $s0, $a0, $zero
/* A3ADD4 802418F4 10A00042 */ beqz $a1, .L80241A00
/* A3ADD8 802418F8 AFBF001C */ sw $ra, 0x1c($sp)
/* A3ADDC 802418FC 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3ADE0 80241900 24040079 */ addiu $a0, $zero, 0x79
/* A3ADE4 80241904 0C046B4C */ jal get_model_from_list_index
/* A3ADE8 80241908 0040202D */ daddu $a0, $v0, $zero
/* A3ADEC 8024190C 0040202D */ daddu $a0, $v0, $zero
/* A3ADF0 80241910 2405FFFF */ addiu $a1, $zero, -1
/* A3ADF4 80241914 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3ADF8 80241918 24060003 */ addiu $a2, $zero, 3
/* A3ADFC 8024191C 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3AE00 80241920 2404007A */ addiu $a0, $zero, 0x7a
/* A3AE04 80241924 0C046B4C */ jal get_model_from_list_index
/* A3AE08 80241928 0040202D */ daddu $a0, $v0, $zero
/* A3AE0C 8024192C 0040202D */ daddu $a0, $v0, $zero
/* A3AE10 80241930 2405FFFF */ addiu $a1, $zero, -1
/* A3AE14 80241934 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3AE18 80241938 24060003 */ addiu $a2, $zero, 3
/* A3AE1C 8024193C 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3AE20 80241940 2404007B */ addiu $a0, $zero, 0x7b
/* A3AE24 80241944 0C046B4C */ jal get_model_from_list_index
/* A3AE28 80241948 0040202D */ daddu $a0, $v0, $zero
/* A3AE2C 8024194C 0040202D */ daddu $a0, $v0, $zero
/* A3AE30 80241950 2405FFFF */ addiu $a1, $zero, -1
/* A3AE34 80241954 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3AE38 80241958 24060003 */ addiu $a2, $zero, 3
/* A3AE3C 8024195C 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3AE40 80241960 2404007C */ addiu $a0, $zero, 0x7c
/* A3AE44 80241964 0C046B4C */ jal get_model_from_list_index
/* A3AE48 80241968 0040202D */ daddu $a0, $v0, $zero
/* A3AE4C 8024196C 0040202D */ daddu $a0, $v0, $zero
/* A3AE50 80241970 2405FFFF */ addiu $a1, $zero, -1
/* A3AE54 80241974 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3AE58 80241978 24060003 */ addiu $a2, $zero, 3
/* A3AE5C 8024197C 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3AE60 80241980 2404007D */ addiu $a0, $zero, 0x7d
/* A3AE64 80241984 0C046B4C */ jal get_model_from_list_index
/* A3AE68 80241988 0040202D */ daddu $a0, $v0, $zero
/* A3AE6C 8024198C 0040202D */ daddu $a0, $v0, $zero
/* A3AE70 80241990 2405FFFF */ addiu $a1, $zero, -1
/* A3AE74 80241994 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3AE78 80241998 24060003 */ addiu $a2, $zero, 3
/* A3AE7C 8024199C 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3AE80 802419A0 2404007F */ addiu $a0, $zero, 0x7f
/* A3AE84 802419A4 0C046B4C */ jal get_model_from_list_index
/* A3AE88 802419A8 0040202D */ daddu $a0, $v0, $zero
/* A3AE8C 802419AC 0040202D */ daddu $a0, $v0, $zero
/* A3AE90 802419B0 2405FFFF */ addiu $a1, $zero, -1
/* A3AE94 802419B4 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3AE98 802419B8 24060003 */ addiu $a2, $zero, 3
/* A3AE9C 802419BC 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3AEA0 802419C0 240400D0 */ addiu $a0, $zero, 0xd0
/* A3AEA4 802419C4 0C046B4C */ jal get_model_from_list_index
/* A3AEA8 802419C8 0040202D */ daddu $a0, $v0, $zero
/* A3AEAC 802419CC 0040202D */ daddu $a0, $v0, $zero
/* A3AEB0 802419D0 2405FFFF */ addiu $a1, $zero, -1
/* A3AEB4 802419D4 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3AEB8 802419D8 24060003 */ addiu $a2, $zero, 3
/* A3AEBC 802419DC 240400FF */ addiu $a0, $zero, 0xff
/* A3AEC0 802419E0 0080282D */ daddu $a1, $a0, $zero
/* A3AEC4 802419E4 0080302D */ daddu $a2, $a0, $zero
/* A3AEC8 802419E8 0000382D */ daddu $a3, $zero, $zero
/* A3AECC 802419EC AFA00010 */ sw $zero, 0x10($sp)
/* A3AED0 802419F0 0C046FE6 */ jal set_model_env_color_parameters
/* A3AED4 802419F4 AFA00014 */ sw $zero, 0x14($sp)
/* A3AED8 802419F8 240200FF */ addiu $v0, $zero, 0xff
/* A3AEDC 802419FC AE020070 */ sw $v0, 0x70($s0)
.L80241A00:
/* A3AEE0 80241A00 8E020070 */ lw $v0, 0x70($s0)
/* A3AEE4 80241A04 2442FFFC */ addiu $v0, $v0, -4
/* A3AEE8 80241A08 AE020070 */ sw $v0, 0x70($s0)
/* A3AEEC 80241A0C 28420040 */ slti $v0, $v0, 0x40
/* A3AEF0 80241A10 10400002 */ beqz $v0, .L80241A1C
/* A3AEF4 80241A14 24020040 */ addiu $v0, $zero, 0x40
/* A3AEF8 80241A18 AE020070 */ sw $v0, 0x70($s0)
.L80241A1C:
/* A3AEFC 80241A1C 92040073 */ lbu $a0, 0x73($s0)
/* A3AF00 80241A20 0000382D */ daddu $a3, $zero, $zero
/* A3AF04 80241A24 AFA00010 */ sw $zero, 0x10($sp)
/* A3AF08 80241A28 AFA00014 */ sw $zero, 0x14($sp)
/* A3AF0C 80241A2C 0080282D */ daddu $a1, $a0, $zero
/* A3AF10 80241A30 0C046FE6 */ jal set_model_env_color_parameters
/* A3AF14 80241A34 0080302D */ daddu $a2, $a0, $zero
/* A3AF18 80241A38 8E020070 */ lw $v0, 0x70($s0)
/* A3AF1C 80241A3C 8FBF001C */ lw $ra, 0x1c($sp)
/* A3AF20 80241A40 8FB00018 */ lw $s0, 0x18($sp)
/* A3AF24 80241A44 38420040 */ xori $v0, $v0, 0x40
/* A3AF28 80241A48 2C420001 */ sltiu $v0, $v0, 1
/* A3AF2C 80241A4C 00021040 */ sll $v0, $v0, 1
/* A3AF30 80241A50 03E00008 */ jr $ra
/* A3AF34 80241A54 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,82 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241A58_A3AF38
/* A3AF38 80241A58 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A3AF3C 80241A5C AFB00018 */ sw $s0, 0x18($sp)
/* A3AF40 80241A60 0080802D */ daddu $s0, $a0, $zero
/* A3AF44 80241A64 10A00005 */ beqz $a1, .L80241A7C
/* A3AF48 80241A68 AFBF001C */ sw $ra, 0x1c($sp)
/* A3AF4C 80241A6C 24020040 */ addiu $v0, $zero, 0x40
/* A3AF50 80241A70 AE020070 */ sw $v0, 0x70($s0)
/* A3AF54 80241A74 AE020078 */ sw $v0, 0x78($s0)
/* A3AF58 80241A78 AE000074 */ sw $zero, 0x74($s0)
.L80241A7C:
/* A3AF5C 80241A7C 8E020074 */ lw $v0, 0x74($s0)
/* A3AF60 80241A80 1440001A */ bnez $v0, .L80241AEC
/* A3AF64 80241A84 00000000 */ nop
/* A3AF68 80241A88 8E020070 */ lw $v0, 0x70($s0)
/* A3AF6C 80241A8C 24420004 */ addiu $v0, $v0, 4
/* A3AF70 80241A90 AE020070 */ sw $v0, 0x70($s0)
/* A3AF74 80241A94 8E020078 */ lw $v0, 0x78($s0)
/* A3AF78 80241A98 8E030070 */ lw $v1, 0x70($s0)
/* A3AF7C 80241A9C 24420004 */ addiu $v0, $v0, 4
/* A3AF80 80241AA0 28630080 */ slti $v1, $v1, 0x80
/* A3AF84 80241AA4 14600003 */ bnez $v1, .L80241AB4
/* A3AF88 80241AA8 AE020078 */ sw $v0, 0x78($s0)
/* A3AF8C 80241AAC 2402007F */ addiu $v0, $zero, 0x7f
/* A3AF90 80241AB0 AE020070 */ sw $v0, 0x70($s0)
.L80241AB4:
/* A3AF94 80241AB4 8E020078 */ lw $v0, 0x78($s0)
/* A3AF98 80241AB8 28420080 */ slti $v0, $v0, 0x80
/* A3AF9C 80241ABC 14400002 */ bnez $v0, .L80241AC8
/* A3AFA0 80241AC0 2402007F */ addiu $v0, $zero, 0x7f
/* A3AFA4 80241AC4 AE020078 */ sw $v0, 0x78($s0)
.L80241AC8:
/* A3AFA8 80241AC8 8E030070 */ lw $v1, 0x70($s0)
/* A3AFAC 80241ACC 2402007F */ addiu $v0, $zero, 0x7f
/* A3AFB0 80241AD0 14620014 */ bne $v1, $v0, .L80241B24
/* A3AFB4 80241AD4 00000000 */ nop
/* A3AFB8 80241AD8 8E020078 */ lw $v0, 0x78($s0)
/* A3AFBC 80241ADC 14430011 */ bne $v0, $v1, .L80241B24
/* A3AFC0 80241AE0 24020001 */ addiu $v0, $zero, 1
/* A3AFC4 80241AE4 080906C9 */ j .L80241B24
/* A3AFC8 80241AE8 AE020074 */ sw $v0, 0x74($s0)
.L80241AEC:
/* A3AFCC 80241AEC 8E020070 */ lw $v0, 0x70($s0)
/* A3AFD0 80241AF0 2442FFFC */ addiu $v0, $v0, -4
/* A3AFD4 80241AF4 AE020070 */ sw $v0, 0x70($s0)
/* A3AFD8 80241AF8 8E020078 */ lw $v0, 0x78($s0)
/* A3AFDC 80241AFC 8E030070 */ lw $v1, 0x70($s0)
/* A3AFE0 80241B00 2442FFFC */ addiu $v0, $v0, -4
/* A3AFE4 80241B04 28630040 */ slti $v1, $v1, 0x40
/* A3AFE8 80241B08 10600003 */ beqz $v1, .L80241B18
/* A3AFEC 80241B0C AE020078 */ sw $v0, 0x78($s0)
/* A3AFF0 80241B10 24020040 */ addiu $v0, $zero, 0x40
/* A3AFF4 80241B14 AE020070 */ sw $v0, 0x70($s0)
.L80241B18:
/* A3AFF8 80241B18 8E020078 */ lw $v0, 0x78($s0)
/* A3AFFC 80241B1C 04420001 */ bltzl $v0, .L80241B24
/* A3B000 80241B20 AE000078 */ sw $zero, 0x78($s0)
.L80241B24:
/* A3B004 80241B24 92040073 */ lbu $a0, 0x73($s0)
/* A3B008 80241B28 9207007B */ lbu $a3, 0x7b($s0)
/* A3B00C 80241B2C 0080282D */ daddu $a1, $a0, $zero
/* A3B010 80241B30 AFA70010 */ sw $a3, 0x10($sp)
/* A3B014 80241B34 9202007B */ lbu $v0, 0x7b($s0)
/* A3B018 80241B38 0080302D */ daddu $a2, $a0, $zero
/* A3B01C 80241B3C 0C046FE6 */ jal set_model_env_color_parameters
/* A3B020 80241B40 AFA20014 */ sw $v0, 0x14($sp)
/* A3B024 80241B44 8E030070 */ lw $v1, 0x70($s0)
/* A3B028 80241B48 24020040 */ addiu $v0, $zero, 0x40
/* A3B02C 80241B4C 14620005 */ bne $v1, $v0, .L80241B64
/* A3B030 80241B50 0000102D */ daddu $v0, $zero, $zero
/* A3B034 80241B54 8E030078 */ lw $v1, 0x78($s0)
/* A3B038 80241B58 10600002 */ beqz $v1, .L80241B64
/* A3B03C 80241B5C 24020002 */ addiu $v0, $zero, 2
/* A3B040 80241B60 0000102D */ daddu $v0, $zero, $zero
.L80241B64:
/* A3B044 80241B64 8FBF001C */ lw $ra, 0x1c($sp)
/* A3B048 80241B68 8FB00018 */ lw $s0, 0x18($sp)
/* A3B04C 80241B6C 03E00008 */ jr $ra
/* A3B050 80241B70 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,93 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241B74_A3B054
/* A3B054 80241B74 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A3B058 80241B78 AFB00018 */ sw $s0, 0x18($sp)
/* A3B05C 80241B7C 0080802D */ daddu $s0, $a0, $zero
/* A3B060 80241B80 10A00003 */ beqz $a1, .L80241B90
/* A3B064 80241B84 AFBF001C */ sw $ra, 0x1c($sp)
/* A3B068 80241B88 24020040 */ addiu $v0, $zero, 0x40
/* A3B06C 80241B8C AE020070 */ sw $v0, 0x70($s0)
.L80241B90:
/* A3B070 80241B90 8E020070 */ lw $v0, 0x70($s0)
/* A3B074 80241B94 24420004 */ addiu $v0, $v0, 4
/* A3B078 80241B98 AE020070 */ sw $v0, 0x70($s0)
/* A3B07C 80241B9C 28420100 */ slti $v0, $v0, 0x100
/* A3B080 80241BA0 14400002 */ bnez $v0, .L80241BAC
/* A3B084 80241BA4 240200FF */ addiu $v0, $zero, 0xff
/* A3B088 80241BA8 AE020070 */ sw $v0, 0x70($s0)
.L80241BAC:
/* A3B08C 80241BAC 92040073 */ lbu $a0, 0x73($s0)
/* A3B090 80241BB0 0000382D */ daddu $a3, $zero, $zero
/* A3B094 80241BB4 AFA00010 */ sw $zero, 0x10($sp)
/* A3B098 80241BB8 AFA00014 */ sw $zero, 0x14($sp)
/* A3B09C 80241BBC 0080282D */ daddu $a1, $a0, $zero
/* A3B0A0 80241BC0 0C046FE6 */ jal set_model_env_color_parameters
/* A3B0A4 80241BC4 0080302D */ daddu $a2, $a0, $zero
/* A3B0A8 80241BC8 8E030070 */ lw $v1, 0x70($s0)
/* A3B0AC 80241BCC 240200FF */ addiu $v0, $zero, 0xff
/* A3B0B0 80241BD0 1462003A */ bne $v1, $v0, .L80241CBC
/* A3B0B4 80241BD4 0000102D */ daddu $v0, $zero, $zero
/* A3B0B8 80241BD8 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3B0BC 80241BDC 24040079 */ addiu $a0, $zero, 0x79
/* A3B0C0 80241BE0 0C046B4C */ jal get_model_from_list_index
/* A3B0C4 80241BE4 0040202D */ daddu $a0, $v0, $zero
/* A3B0C8 80241BE8 0040202D */ daddu $a0, $v0, $zero
/* A3B0CC 80241BEC 2405FFFF */ addiu $a1, $zero, -1
/* A3B0D0 80241BF0 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3B0D4 80241BF4 0000302D */ daddu $a2, $zero, $zero
/* A3B0D8 80241BF8 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3B0DC 80241BFC 2404007A */ addiu $a0, $zero, 0x7a
/* A3B0E0 80241C00 0C046B4C */ jal get_model_from_list_index
/* A3B0E4 80241C04 0040202D */ daddu $a0, $v0, $zero
/* A3B0E8 80241C08 0040202D */ daddu $a0, $v0, $zero
/* A3B0EC 80241C0C 2405FFFF */ addiu $a1, $zero, -1
/* A3B0F0 80241C10 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3B0F4 80241C14 0000302D */ daddu $a2, $zero, $zero
/* A3B0F8 80241C18 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3B0FC 80241C1C 2404007B */ addiu $a0, $zero, 0x7b
/* A3B100 80241C20 0C046B4C */ jal get_model_from_list_index
/* A3B104 80241C24 0040202D */ daddu $a0, $v0, $zero
/* A3B108 80241C28 0040202D */ daddu $a0, $v0, $zero
/* A3B10C 80241C2C 2405FFFF */ addiu $a1, $zero, -1
/* A3B110 80241C30 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3B114 80241C34 0000302D */ daddu $a2, $zero, $zero
/* A3B118 80241C38 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3B11C 80241C3C 2404007C */ addiu $a0, $zero, 0x7c
/* A3B120 80241C40 0C046B4C */ jal get_model_from_list_index
/* A3B124 80241C44 0040202D */ daddu $a0, $v0, $zero
/* A3B128 80241C48 0040202D */ daddu $a0, $v0, $zero
/* A3B12C 80241C4C 2405FFFF */ addiu $a1, $zero, -1
/* A3B130 80241C50 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3B134 80241C54 0000302D */ daddu $a2, $zero, $zero
/* A3B138 80241C58 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3B13C 80241C5C 2404007D */ addiu $a0, $zero, 0x7d
/* A3B140 80241C60 0C046B4C */ jal get_model_from_list_index
/* A3B144 80241C64 0040202D */ daddu $a0, $v0, $zero
/* A3B148 80241C68 0040202D */ daddu $a0, $v0, $zero
/* A3B14C 80241C6C 2405FFFF */ addiu $a1, $zero, -1
/* A3B150 80241C70 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3B154 80241C74 0000302D */ daddu $a2, $zero, $zero
/* A3B158 80241C78 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3B15C 80241C7C 2404007F */ addiu $a0, $zero, 0x7f
/* A3B160 80241C80 0C046B4C */ jal get_model_from_list_index
/* A3B164 80241C84 0040202D */ daddu $a0, $v0, $zero
/* A3B168 80241C88 0040202D */ daddu $a0, $v0, $zero
/* A3B16C 80241C8C 2405FFFF */ addiu $a1, $zero, -1
/* A3B170 80241C90 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3B174 80241C94 0000302D */ daddu $a2, $zero, $zero
/* A3B178 80241C98 0C046C04 */ jal get_model_list_index_from_tree_index
/* A3B17C 80241C9C 240400D0 */ addiu $a0, $zero, 0xd0
/* A3B180 80241CA0 0C046B4C */ jal get_model_from_list_index
/* A3B184 80241CA4 0040202D */ daddu $a0, $v0, $zero
/* A3B188 80241CA8 0040202D */ daddu $a0, $v0, $zero
/* A3B18C 80241CAC 2405FFFF */ addiu $a1, $zero, -1
/* A3B190 80241CB0 0C046F1F */ jal set_mdl_custom_gfx_set
/* A3B194 80241CB4 0000302D */ daddu $a2, $zero, $zero
/* A3B198 80241CB8 24020002 */ addiu $v0, $zero, 2
.L80241CBC:
/* A3B19C 80241CBC 8FBF001C */ lw $ra, 0x1c($sp)
/* A3B1A0 80241CC0 8FB00018 */ lw $s0, 0x18($sp)
/* A3B1A4 80241CC4 03E00008 */ jr $ra
/* A3B1A8 80241CC8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,189 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241CCC_A3B1AC
/* A3B1AC 80241CCC 27BDFF08 */ addiu $sp, $sp, -0xf8
/* A3B1B0 80241CD0 AFB300B4 */ sw $s3, 0xb4($sp)
/* A3B1B4 80241CD4 AFBF00C0 */ sw $ra, 0xc0($sp)
/* A3B1B8 80241CD8 AFB500BC */ sw $s5, 0xbc($sp)
/* A3B1BC 80241CDC AFB400B8 */ sw $s4, 0xb8($sp)
/* A3B1C0 80241CE0 AFB200B0 */ sw $s2, 0xb0($sp)
/* A3B1C4 80241CE4 AFB100AC */ sw $s1, 0xac($sp)
/* A3B1C8 80241CE8 AFB000A8 */ sw $s0, 0xa8($sp)
/* A3B1CC 80241CEC F7BE00F0 */ sdc1 $f30, 0xf0($sp)
/* A3B1D0 80241CF0 F7BC00E8 */ sdc1 $f28, 0xe8($sp)
/* A3B1D4 80241CF4 F7BA00E0 */ sdc1 $f26, 0xe0($sp)
/* A3B1D8 80241CF8 F7B800D8 */ sdc1 $f24, 0xd8($sp)
/* A3B1DC 80241CFC F7B600D0 */ sdc1 $f22, 0xd0($sp)
/* A3B1E0 80241D00 F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* A3B1E4 80241D04 10A00011 */ beqz $a1, .L80241D4C
/* A3B1E8 80241D08 0080982D */ daddu $s3, $a0, $zero
/* A3B1EC 80241D0C 3C05F4AC */ lui $a1, 0xf4ac
/* A3B1F0 80241D10 34A5D483 */ ori $a1, $a1, 0xd483
/* A3B1F4 80241D14 240200B4 */ addiu $v0, $zero, 0xb4
/* A3B1F8 80241D18 0C0B1EAF */ jal evt_get_variable
/* A3B1FC 80241D1C AE620070 */ sw $v0, 0x70($s3)
/* A3B200 80241D20 0260202D */ daddu $a0, $s3, $zero
/* A3B204 80241D24 3C05F4AC */ lui $a1, 0xf4ac
/* A3B208 80241D28 34A5D484 */ ori $a1, $a1, 0xd484
/* A3B20C 80241D2C 0C0B1EAF */ jal evt_get_variable
/* A3B210 80241D30 AE620074 */ sw $v0, 0x74($s3)
/* A3B214 80241D34 0260202D */ daddu $a0, $s3, $zero
/* A3B218 80241D38 3C05F4AC */ lui $a1, 0xf4ac
/* A3B21C 80241D3C 34A5D485 */ ori $a1, $a1, 0xd485
/* A3B220 80241D40 0C0B1EAF */ jal evt_get_variable
/* A3B224 80241D44 AE620078 */ sw $v0, 0x78($s3)
/* A3B228 80241D48 AE62007C */ sw $v0, 0x7c($s3)
.L80241D4C:
/* A3B22C 80241D4C 0000882D */ daddu $s1, $zero, $zero
/* A3B230 80241D50 8E620074 */ lw $v0, 0x74($s3)
/* A3B234 80241D54 3C014120 */ lui $at, 0x4120
/* A3B238 80241D58 4481A000 */ mtc1 $at, $f20
/* A3B23C 80241D5C 27B00028 */ addiu $s0, $sp, 0x28
/* A3B240 80241D60 AFA20018 */ sw $v0, 0x18($sp)
/* A3B244 80241D64 8E620078 */ lw $v0, 0x78($s3)
/* A3B248 80241D68 3C15800B */ lui $s5, %hi(gCameras)
/* A3B24C 80241D6C 26B51D80 */ addiu $s5, $s5, %lo(gCameras)
/* A3B250 80241D70 AFA2001C */ sw $v0, 0x1c($sp)
/* A3B254 80241D74 8E62007C */ lw $v0, 0x7c($s3)
/* A3B258 80241D78 AFA20020 */ sw $v0, 0x20($sp)
/* A3B25C 80241D7C C66C0070 */ lwc1 $f12, 0x70($s3)
/* A3B260 80241D80 46806320 */ cvt.s.w $f12, $f12
/* A3B264 80241D84 0C00A8BB */ jal sin_deg
/* A3B268 80241D88 27B20068 */ addiu $s2, $sp, 0x68
/* A3B26C 80241D8C 46140002 */ mul.s $f0, $f0, $f20
/* A3B270 80241D90 00000000 */ nop
/* A3B274 80241D94 0220A02D */ daddu $s4, $s1, $zero
/* A3B278 80241D98 C66C0070 */ lwc1 $f12, 0x70($s3)
/* A3B27C 80241D9C 46806320 */ cvt.s.w $f12, $f12
/* A3B280 80241DA0 4480B000 */ mtc1 $zero, $f22
/* A3B284 80241DA4 3C013F80 */ lui $at, 0x3f80
/* A3B288 80241DA8 4481D000 */ mtc1 $at, $f26
/* A3B28C 80241DAC 0C00A8BB */ jal sin_deg
/* A3B290 80241DB0 46140780 */ add.s $f30, $f0, $f20
/* A3B294 80241DB4 3C0141C8 */ lui $at, 0x41c8
/* A3B298 80241DB8 44811000 */ mtc1 $at, $f2
/* A3B29C 80241DBC 8E630070 */ lw $v1, 0x70($s3)
/* A3B2A0 80241DC0 46020002 */ mul.s $f0, $f0, $f2
/* A3B2A4 80241DC4 00000000 */ nop
/* A3B2A8 80241DC8 00031080 */ sll $v0, $v1, 2
/* A3B2AC 80241DCC 00431021 */ addu $v0, $v0, $v1
/* A3B2B0 80241DD0 00021040 */ sll $v0, $v0, 1
/* A3B2B4 80241DD4 4482C000 */ mtc1 $v0, $f24
/* A3B2B8 80241DD8 00000000 */ nop
/* A3B2BC 80241DDC 4680C620 */ cvt.s.w $f24, $f24
/* A3B2C0 80241DE0 46140700 */ add.s $f28, $f0, $f20
.L80241DE4:
/* A3B2C4 80241DE4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* A3B2C8 80241DE8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* A3B2CC 80241DEC 4406B000 */ mfc1 $a2, $f22
/* A3B2D0 80241DF0 00031080 */ sll $v0, $v1, 2
/* A3B2D4 80241DF4 00431021 */ addu $v0, $v0, $v1
/* A3B2D8 80241DF8 00021080 */ sll $v0, $v0, 2
/* A3B2DC 80241DFC 00431023 */ subu $v0, $v0, $v1
/* A3B2E0 80241E00 000218C0 */ sll $v1, $v0, 3
/* A3B2E4 80241E04 00431021 */ addu $v0, $v0, $v1
/* A3B2E8 80241E08 000210C0 */ sll $v0, $v0, 3
/* A3B2EC 80241E0C 00551021 */ addu $v0, $v0, $s5
/* A3B2F0 80241E10 C440006C */ lwc1 $f0, 0x6c($v0)
/* A3B2F4 80241E14 4407D000 */ mfc1 $a3, $f26
/* A3B2F8 80241E18 46000007 */ neg.s $f0, $f0
/* A3B2FC 80241E1C 44050000 */ mfc1 $a1, $f0
/* A3B300 80241E20 0200202D */ daddu $a0, $s0, $zero
/* A3B304 80241E24 0C019EC8 */ jal guRotateF
/* A3B308 80241E28 E7B60010 */ swc1 $f22, 0x10($sp)
/* A3B30C 80241E2C 44942000 */ mtc1 $s4, $f4
/* A3B310 80241E30 00000000 */ nop
/* A3B314 80241E34 46802120 */ cvt.s.w $f4, $f4
/* A3B318 80241E38 4406B000 */ mfc1 $a2, $f22
/* A3B31C 80241E3C 4407B000 */ mfc1 $a3, $f22
/* A3B320 80241E40 44052000 */ mfc1 $a1, $f4
/* A3B324 80241E44 0240202D */ daddu $a0, $s2, $zero
/* A3B328 80241E48 0C019EC8 */ jal guRotateF
/* A3B32C 80241E4C E7BA0010 */ swc1 $f26, 0x10($sp)
/* A3B330 80241E50 0240202D */ daddu $a0, $s2, $zero
/* A3B334 80241E54 0200282D */ daddu $a1, $s0, $zero
/* A3B338 80241E58 0C019D80 */ jal guMtxCatF
/* A3B33C 80241E5C 0200302D */ daddu $a2, $s0, $zero
/* A3B340 80241E60 0C00A8BB */ jal sin_deg
/* A3B344 80241E64 4600C306 */ mov.s $f12, $f24
/* A3B348 80241E68 4600F502 */ mul.s $f20, $f30, $f0
/* A3B34C 80241E6C 00000000 */ nop
/* A3B350 80241E70 0C00A8D4 */ jal cos_deg
/* A3B354 80241E74 4600C306 */ mov.s $f12, $f24
/* A3B358 80241E78 4600E002 */ mul.s $f0, $f28, $f0
/* A3B35C 80241E7C 00000000 */ nop
/* A3B360 80241E80 4407B000 */ mfc1 $a3, $f22
/* A3B364 80241E84 44060000 */ mfc1 $a2, $f0
/* A3B368 80241E88 4405A000 */ mfc1 $a1, $f20
/* A3B36C 80241E8C 0C019E40 */ jal guTranslateF
/* A3B370 80241E90 0240202D */ daddu $a0, $s2, $zero
/* A3B374 80241E94 0240202D */ daddu $a0, $s2, $zero
/* A3B378 80241E98 0200282D */ daddu $a1, $s0, $zero
/* A3B37C 80241E9C 0C019D80 */ jal guMtxCatF
/* A3B380 80241EA0 0200302D */ daddu $a2, $s0, $zero
/* A3B384 80241EA4 00111880 */ sll $v1, $s1, 2
/* A3B388 80241EA8 27A40018 */ addiu $a0, $sp, 0x18
/* A3B38C 80241EAC 00831821 */ addu $v1, $a0, $v1
/* A3B390 80241EB0 8C620000 */ lw $v0, ($v1)
/* A3B394 80241EB4 C7A00058 */ lwc1 $f0, 0x58($sp)
/* A3B398 80241EB8 8C42000C */ lw $v0, 0xc($v0)
/* A3B39C 80241EBC E4400010 */ swc1 $f0, 0x10($v0)
/* A3B3A0 80241EC0 8C620000 */ lw $v0, ($v1)
/* A3B3A4 80241EC4 C7A0005C */ lwc1 $f0, 0x5c($sp)
/* A3B3A8 80241EC8 8C42000C */ lw $v0, 0xc($v0)
/* A3B3AC 80241ECC E4400014 */ swc1 $f0, 0x14($v0)
/* A3B3B0 80241ED0 8C620000 */ lw $v0, ($v1)
/* A3B3B4 80241ED4 C7A00060 */ lwc1 $f0, 0x60($sp)
/* A3B3B8 80241ED8 8C42000C */ lw $v0, 0xc($v0)
/* A3B3BC 80241EDC 26310001 */ addiu $s1, $s1, 1
/* A3B3C0 80241EE0 E4400018 */ swc1 $f0, 0x18($v0)
/* A3B3C4 80241EE4 2A220003 */ slti $v0, $s1, 3
/* A3B3C8 80241EE8 1440FFBE */ bnez $v0, .L80241DE4
/* A3B3CC 80241EEC 26940078 */ addiu $s4, $s4, 0x78
/* A3B3D0 80241EF0 8E620070 */ lw $v0, 0x70($s3)
/* A3B3D4 80241EF4 2442FFFF */ addiu $v0, $v0, -1
/* A3B3D8 80241EF8 AE620070 */ sw $v0, 0x70($s3)
/* A3B3DC 80241EFC 28420010 */ slti $v0, $v0, 0x10
/* A3B3E0 80241F00 1040000A */ beqz $v0, .L80241F2C
/* A3B3E4 80241F04 00000000 */ nop
/* A3B3E8 80241F08 0000882D */ daddu $s1, $zero, $zero
.L80241F0C:
/* A3B3EC 80241F0C 8C820000 */ lw $v0, ($a0)
/* A3B3F0 80241F10 8C43000C */ lw $v1, 0xc($v0)
/* A3B3F4 80241F14 8E620070 */ lw $v0, 0x70($s3)
/* A3B3F8 80241F18 26310001 */ addiu $s1, $s1, 1
/* A3B3FC 80241F1C AC62004C */ sw $v0, 0x4c($v1)
/* A3B400 80241F20 2A220003 */ slti $v0, $s1, 3
/* A3B404 80241F24 1440FFF9 */ bnez $v0, .L80241F0C
/* A3B408 80241F28 24840004 */ addiu $a0, $a0, 4
.L80241F2C:
/* A3B40C 80241F2C 8E620070 */ lw $v0, 0x70($s3)
/* A3B410 80241F30 0441000A */ bgez $v0, .L80241F5C
/* A3B414 80241F34 0000102D */ daddu $v0, $zero, $zero
/* A3B418 80241F38 0000882D */ daddu $s1, $zero, $zero
/* A3B41C 80241F3C 27B00018 */ addiu $s0, $sp, 0x18
.L80241F40:
/* A3B420 80241F40 8E040000 */ lw $a0, ($s0)
/* A3B424 80241F44 26100004 */ addiu $s0, $s0, 4
/* A3B428 80241F48 0C016914 */ jal remove_effect
/* A3B42C 80241F4C 26310001 */ addiu $s1, $s1, 1
/* A3B430 80241F50 2A220003 */ slti $v0, $s1, 3
/* A3B434 80241F54 1440FFFA */ bnez $v0, .L80241F40
/* A3B438 80241F58 24020002 */ addiu $v0, $zero, 2
.L80241F5C:
/* A3B43C 80241F5C 8FBF00C0 */ lw $ra, 0xc0($sp)
/* A3B440 80241F60 8FB500BC */ lw $s5, 0xbc($sp)
/* A3B444 80241F64 8FB400B8 */ lw $s4, 0xb8($sp)
/* A3B448 80241F68 8FB300B4 */ lw $s3, 0xb4($sp)
/* A3B44C 80241F6C 8FB200B0 */ lw $s2, 0xb0($sp)
/* A3B450 80241F70 8FB100AC */ lw $s1, 0xac($sp)
/* A3B454 80241F74 8FB000A8 */ lw $s0, 0xa8($sp)
/* A3B458 80241F78 D7BE00F0 */ ldc1 $f30, 0xf0($sp)
/* A3B45C 80241F7C D7BC00E8 */ ldc1 $f28, 0xe8($sp)
/* A3B460 80241F80 D7BA00E0 */ ldc1 $f26, 0xe0($sp)
/* A3B464 80241F84 D7B800D8 */ ldc1 $f24, 0xd8($sp)
/* A3B468 80241F88 D7B600D0 */ ldc1 $f22, 0xd0($sp)
/* A3B46C 80241F8C D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* A3B470 80241F90 03E00008 */ jr $ra
/* A3B474 80241F94 27BD00F8 */ addiu $sp, $sp, 0xf8

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241F98_A3B478
/* A3B478 80241F98 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A3B47C 80241F9C AFBF0010 */ sw $ra, 0x10($sp)
/* A3B480 80241FA0 8C82000C */ lw $v0, 0xc($a0)
/* A3B484 80241FA4 0C0B1EAF */ jal evt_get_variable
/* A3B488 80241FA8 8C450000 */ lw $a1, ($v0)
/* A3B48C 80241FAC 8C44000C */ lw $a0, 0xc($v0)
/* A3B490 80241FB0 8C83001C */ lw $v1, 0x1c($a0)
/* A3B494 80241FB4 24630001 */ addiu $v1, $v1, 1
/* A3B498 80241FB8 AC83001C */ sw $v1, 0x1c($a0)
/* A3B49C 80241FBC 8FBF0010 */ lw $ra, 0x10($sp)
/* A3B4A0 80241FC0 24020002 */ addiu $v0, $zero, 2
/* A3B4A4 80241FC4 03E00008 */ jr $ra
/* A3B4A8 80241FC8 27BD0018 */ addiu $sp, $sp, 0x18
/* A3B4AC 80241FCC 00000000 */ nop

View File

@ -1,161 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024228C_A3B76C
/* A3B76C 8024228C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* A3B770 80242290 AFB3001C */ sw $s3, 0x1c($sp)
/* A3B774 80242294 0080982D */ daddu $s3, $a0, $zero
/* A3B778 80242298 AFBF0034 */ sw $ra, 0x34($sp)
/* A3B77C 8024229C AFBE0030 */ sw $fp, 0x30($sp)
/* A3B780 802422A0 AFB7002C */ sw $s7, 0x2c($sp)
/* A3B784 802422A4 AFB60028 */ sw $s6, 0x28($sp)
/* A3B788 802422A8 AFB50024 */ sw $s5, 0x24($sp)
/* A3B78C 802422AC AFB40020 */ sw $s4, 0x20($sp)
/* A3B790 802422B0 AFB20018 */ sw $s2, 0x18($sp)
/* A3B794 802422B4 AFB10014 */ sw $s1, 0x14($sp)
/* A3B798 802422B8 10A0004B */ beqz $a1, .L802423E8
/* A3B79C 802422BC AFB00010 */ sw $s0, 0x10($sp)
/* A3B7A0 802422C0 0C00AB39 */ jal heap_malloc
/* A3B7A4 802422C4 24040330 */ addiu $a0, $zero, 0x330
/* A3B7A8 802422C8 8E630084 */ lw $v1, 0x84($s3)
/* A3B7AC 802422CC 0040A82D */ daddu $s5, $v0, $zero
/* A3B7B0 802422D0 AE750078 */ sw $s5, 0x78($s3)
/* A3B7B4 802422D4 14600008 */ bnez $v1, .L802422F8
/* A3B7B8 802422D8 AE6300AC */ sw $v1, 0xac($s3)
/* A3B7BC 802422DC 3C03F840 */ lui $v1, 0xf840
/* A3B7C0 802422E0 34635D64 */ ori $v1, $v1, 0x5d64
/* A3B7C4 802422E4 3C02F840 */ lui $v0, 0xf840
/* A3B7C8 802422E8 34425D69 */ ori $v0, $v0, 0x5d69
/* A3B7CC 802422EC AE62008C */ sw $v0, 0x8c($s3)
/* A3B7D0 802422F0 080908C4 */ j .L80242310
/* A3B7D4 802422F4 2402000C */ addiu $v0, $zero, 0xc
.L802422F8:
/* A3B7D8 802422F8 3C03F840 */ lui $v1, 0xf840
/* A3B7DC 802422FC 34635D69 */ ori $v1, $v1, 0x5d69
/* A3B7E0 80242300 3C02F840 */ lui $v0, 0xf840
/* A3B7E4 80242304 34425D6E */ ori $v0, $v0, 0x5d6e
/* A3B7E8 80242308 AE62008C */ sw $v0, 0x8c($s3)
/* A3B7EC 8024230C 24020009 */ addiu $v0, $zero, 9
.L80242310:
/* A3B7F0 80242310 AE630088 */ sw $v1, 0x88($s3)
/* A3B7F4 80242314 AEA20318 */ sw $v0, 0x318($s5)
/* A3B7F8 80242318 0000B02D */ daddu $s6, $zero, $zero
/* A3B7FC 8024231C 02C0902D */ daddu $s2, $s6, $zero
/* A3B800 80242320 3C1E8009 */ lui $fp, %hi(gItemHudScripts)
/* A3B804 80242324 27DEA680 */ addiu $fp, $fp, %lo(gItemHudScripts)
/* A3B808 80242328 24170001 */ addiu $s7, $zero, 1
/* A3B80C 8024232C 3C148024 */ lui $s4, %hi(D_80245EEC_A3F3CC)
/* A3B810 80242330 26945EEC */ addiu $s4, $s4, %lo(D_80245EEC_A3F3CC)
/* A3B814 80242334 02A0882D */ daddu $s1, $s5, $zero
.L80242338:
/* A3B818 80242338 8E650088 */ lw $a1, 0x88($s3)
/* A3B81C 8024233C 0000202D */ daddu $a0, $zero, $zero
/* A3B820 80242340 0C0B1EAF */ jal evt_get_variable
/* A3B824 80242344 00B22821 */ addu $a1, $a1, $s2
/* A3B828 80242348 0000202D */ daddu $a0, $zero, $zero
/* A3B82C 8024234C 8E65008C */ lw $a1, 0x8c($s3)
/* A3B830 80242350 0040802D */ daddu $s0, $v0, $zero
/* A3B834 80242354 0C0B1EAF */ jal evt_get_variable
/* A3B838 80242358 00B22821 */ addu $a1, $a1, $s2
/* A3B83C 8024235C 52000016 */ beql $s0, $zero, .L802423B8
/* A3B840 80242360 26520001 */ addiu $s2, $s2, 1
/* A3B844 80242364 54400014 */ bnel $v0, $zero, .L802423B8
/* A3B848 80242368 26520001 */ addiu $s2, $s2, 1
/* A3B84C 8024236C 8E830000 */ lw $v1, ($s4)
/* A3B850 80242370 3C078008 */ lui $a3, %hi(gItemTable)
/* A3B854 80242374 24E778E0 */ addiu $a3, $a3, %lo(gItemTable)
/* A3B858 80242378 00031940 */ sll $v1, $v1, 5
/* A3B85C 8024237C 00671821 */ addu $v1, $v1, $a3
/* A3B860 80242380 84620004 */ lh $v0, 4($v1)
/* A3B864 80242384 000210C0 */ sll $v0, $v0, 3
/* A3B868 80242388 005E1021 */ addu $v0, $v0, $fp
/* A3B86C 8024238C 8C420000 */ lw $v0, ($v0)
/* A3B870 80242390 AE320108 */ sw $s2, 0x108($s1)
/* A3B874 80242394 AE37018C */ sw $s7, 0x18c($s1)
/* A3B878 80242398 AE220000 */ sw $v0, ($s1)
/* A3B87C 8024239C 8C620000 */ lw $v0, ($v1)
/* A3B880 802423A0 AE220084 */ sw $v0, 0x84($s1)
/* A3B884 802423A4 8C620014 */ lw $v0, 0x14($v1)
/* A3B888 802423A8 26D60001 */ addiu $s6, $s6, 1
/* A3B88C 802423AC AE220294 */ sw $v0, 0x294($s1)
/* A3B890 802423B0 26310004 */ addiu $s1, $s1, 4
/* A3B894 802423B4 26520001 */ addiu $s2, $s2, 1
.L802423B8:
/* A3B898 802423B8 2A420005 */ slti $v0, $s2, 5
/* A3B89C 802423BC 1440FFDE */ bnez $v0, .L80242338
/* A3B8A0 802423C0 26940004 */ addiu $s4, $s4, 4
/* A3B8A4 802423C4 16C00004 */ bnez $s6, .L802423D8
/* A3B8A8 802423C8 02A0202D */ daddu $a0, $s5, $zero
/* A3B8AC 802423CC AE600084 */ sw $zero, 0x84($s3)
/* A3B8B0 802423D0 08090927 */ j .L8024249C
/* A3B8B4 802423D4 24020001 */ addiu $v0, $zero, 1
.L802423D8:
/* A3B8B8 802423D8 AC960324 */ sw $s6, 0x324($a0)
/* A3B8BC 802423DC 0C03D390 */ jal create_popup_menu
/* A3B8C0 802423E0 AC800328 */ sw $zero, 0x328($a0)
/* A3B8C4 802423E4 AE600070 */ sw $zero, 0x70($s3)
.L802423E8:
/* A3B8C8 802423E8 8E620070 */ lw $v0, 0x70($s3)
/* A3B8CC 802423EC 8E750078 */ lw $s5, 0x78($s3)
/* A3B8D0 802423F0 14400008 */ bnez $v0, .L80242414
/* A3B8D4 802423F4 24420001 */ addiu $v0, $v0, 1
/* A3B8D8 802423F8 86A2032C */ lh $v0, 0x32c($s5)
/* A3B8DC 802423FC 10400009 */ beqz $v0, .L80242424
/* A3B8E0 80242400 AE620074 */ sw $v0, 0x74($s3)
/* A3B8E4 80242404 0C03C4EC */ jal hide_popup_menu
/* A3B8E8 80242408 00000000 */ nop
/* A3B8EC 8024240C 8E620070 */ lw $v0, 0x70($s3)
/* A3B8F0 80242410 24420001 */ addiu $v0, $v0, 1
.L80242414:
/* A3B8F4 80242414 AE620070 */ sw $v0, 0x70($s3)
/* A3B8F8 80242418 2842000F */ slti $v0, $v0, 0xf
/* A3B8FC 8024241C 10400003 */ beqz $v0, .L8024242C
/* A3B900 80242420 00000000 */ nop
.L80242424:
/* A3B904 80242424 08090927 */ j .L8024249C
/* A3B908 80242428 0000102D */ daddu $v0, $zero, $zero
.L8024242C:
/* A3B90C 8024242C 0C03C54E */ jal destroy_popup_menu
/* A3B910 80242430 00000000 */ nop
/* A3B914 80242434 8E630074 */ lw $v1, 0x74($s3)
/* A3B918 80242438 240200FF */ addiu $v0, $zero, 0xff
/* A3B91C 8024243C 14620004 */ bne $v1, $v0, .L80242450
/* A3B920 80242440 2462FFFF */ addiu $v0, $v1, -1
/* A3B924 80242444 2402FFFF */ addiu $v0, $zero, -1
/* A3B928 80242448 08090926 */ j .L80242498
/* A3B92C 8024244C AE620084 */ sw $v0, 0x84($s3)
.L80242450:
/* A3B930 80242450 00021080 */ sll $v0, $v0, 2
/* A3B934 80242454 02A21021 */ addu $v0, $s5, $v0
/* A3B938 80242458 8C460108 */ lw $a2, 0x108($v0)
/* A3B93C 8024245C 8E6300AC */ lw $v1, 0xac($s3)
/* A3B940 80242460 00061080 */ sll $v0, $a2, 2
/* A3B944 80242464 3C018024 */ lui $at, %hi(D_80245EEC_A3F3CC)
/* A3B948 80242468 00220821 */ addu $at, $at, $v0
/* A3B94C 8024246C 8C225EEC */ lw $v0, %lo(D_80245EEC_A3F3CC)($at)
/* A3B950 80242470 14600006 */ bnez $v1, .L8024248C
/* A3B954 80242474 AE620084 */ sw $v0, 0x84($s3)
/* A3B958 80242478 8E65008C */ lw $a1, 0x8c($s3)
/* A3B95C 8024247C 0000202D */ daddu $a0, $zero, $zero
/* A3B960 80242480 00A62821 */ addu $a1, $a1, $a2
/* A3B964 80242484 0C0B2026 */ jal evt_set_variable
/* A3B968 80242488 24060001 */ addiu $a2, $zero, 1
.L8024248C:
/* A3B96C 8024248C 8E640078 */ lw $a0, 0x78($s3)
/* A3B970 80242490 0C00AB4B */ jal heap_free
/* A3B974 80242494 00000000 */ nop
.L80242498:
/* A3B978 80242498 24020002 */ addiu $v0, $zero, 2
.L8024249C:
/* A3B97C 8024249C 8FBF0034 */ lw $ra, 0x34($sp)
/* A3B980 802424A0 8FBE0030 */ lw $fp, 0x30($sp)
/* A3B984 802424A4 8FB7002C */ lw $s7, 0x2c($sp)
/* A3B988 802424A8 8FB60028 */ lw $s6, 0x28($sp)
/* A3B98C 802424AC 8FB50024 */ lw $s5, 0x24($sp)
/* A3B990 802424B0 8FB40020 */ lw $s4, 0x20($sp)
/* A3B994 802424B4 8FB3001C */ lw $s3, 0x1c($sp)
/* A3B998 802424B8 8FB20018 */ lw $s2, 0x18($sp)
/* A3B99C 802424BC 8FB10014 */ lw $s1, 0x14($sp)
/* A3B9A0 802424C0 8FB00010 */ lw $s0, 0x10($sp)
/* A3B9A4 802424C4 03E00008 */ jr $ra
/* A3B9A8 802424C8 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802424CC_A3B9AC
/* A3B9AC 802424CC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A3B9B0 802424D0 0000282D */ daddu $a1, $zero, $zero
/* A3B9B4 802424D4 00A0302D */ daddu $a2, $a1, $zero
/* A3B9B8 802424D8 3C038024 */ lui $v1, %hi(D_80245EEC_A3F3CC)
/* A3B9BC 802424DC 24635EEC */ addiu $v1, $v1, %lo(D_80245EEC_A3F3CC)
/* A3B9C0 802424E0 AFBF0010 */ sw $ra, 0x10($sp)
/* A3B9C4 802424E4 8C840084 */ lw $a0, 0x84($a0)
.L802424E8:
/* A3B9C8 802424E8 8C620000 */ lw $v0, ($v1)
/* A3B9CC 802424EC 54820003 */ bnel $a0, $v0, .L802424FC
/* A3B9D0 802424F0 24C60001 */ addiu $a2, $a2, 1
/* A3B9D4 802424F4 08090942 */ j .L80242508
/* A3B9D8 802424F8 24050001 */ addiu $a1, $zero, 1
.L802424FC:
/* A3B9DC 802424FC 28C20005 */ slti $v0, $a2, 5
/* A3B9E0 80242500 1440FFF9 */ bnez $v0, .L802424E8
/* A3B9E4 80242504 24630004 */ addiu $v1, $v1, 4
.L80242508:
/* A3B9E8 80242508 10A00006 */ beqz $a1, .L80242524
/* A3B9EC 8024250C 3C05F840 */ lui $a1, 0xf840
/* A3B9F0 80242510 34A55D6E */ ori $a1, $a1, 0x5d6e
/* A3B9F4 80242514 0000202D */ daddu $a0, $zero, $zero
/* A3B9F8 80242518 00C52821 */ addu $a1, $a2, $a1
/* A3B9FC 8024251C 0C0B2026 */ jal evt_set_variable
/* A3BA00 80242520 24060001 */ addiu $a2, $zero, 1
.L80242524:
/* A3BA04 80242524 8FBF0010 */ lw $ra, 0x10($sp)
/* A3BA08 80242528 24020002 */ addiu $v0, $zero, 2
/* A3BA0C 8024252C 03E00008 */ jr $ra
/* A3BA10 80242530 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024032C_A3FA6C
/* A3FA6C 8024032C 3C048007 */ lui $a0, %hi(gGameStatusPtr)
/* A3FA70 80240330 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0)
/* A3FA74 80240334 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A3FA78 80240338 AFBF0010 */ sw $ra, 0x10($sp)
/* A3FA7C 8024033C 908300A8 */ lbu $v1, 0xa8($a0)
/* A3FA80 80240340 2C620005 */ sltiu $v0, $v1, 5
/* A3FA84 80240344 10400003 */ beqz $v0, .L80240354
/* A3FA88 80240348 24620001 */ addiu $v0, $v1, 1
/* A3FA8C 8024034C 0C00D994 */ jal state_init_intro
/* A3FA90 80240350 A08200A8 */ sb $v0, 0xa8($a0)
.L80240354:
/* A3FA94 80240354 8FBF0010 */ lw $ra, 0x10($sp)
/* A3FA98 80240358 24020001 */ addiu $v0, $zero, 1
/* A3FA9C 8024035C 03E00008 */ jr $ra
/* A3FAA0 80240360 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,48 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240364_A3FAA4
/* A3FAA4 80240364 460C7301 */ sub.s $f12, $f14, $f12
/* A3FAA8 80240368 44863000 */ mtc1 $a2, $f6
/* A3FAAC 8024036C 44800000 */ mtc1 $zero, $f0
/* A3FAB0 80240370 44872000 */ mtc1 $a3, $f4
/* A3FAB4 80240374 8FA20010 */ lw $v0, 0x10($sp)
/* A3FAB8 80240378 460C003C */ c.lt.s $f0, $f12
/* A3FABC 8024037C 00000000 */ nop
/* A3FAC0 80240380 4500000F */ bc1f .L802403C0
/* A3FAC4 80240384 46067081 */ sub.s $f2, $f14, $f6
/* A3FAC8 80240388 4600103C */ c.lt.s $f2, $f0
/* A3FACC 8024038C 00000000 */ nop
/* A3FAD0 80240390 45000003 */ bc1f .L802403A0
/* A3FAD4 80240394 00000000 */ nop
.L80240398:
/* A3FAD8 80240398 03E00008 */ jr $ra
/* A3FADC 8024039C E44E0000 */ swc1 $f14, ($v0)
.L802403A0:
/* A3FAE0 802403A0 4602203C */ c.lt.s $f4, $f2
/* A3FAE4 802403A4 00000000 */ nop
/* A3FAE8 802403A8 45000012 */ bc1f .L802403F4
/* A3FAEC 802403AC 00000000 */ nop
/* A3FAF0 802403B0 C4400000 */ lwc1 $f0, ($v0)
/* A3FAF4 802403B4 46040000 */ add.s $f0, $f0, $f4
/* A3FAF8 802403B8 03E00008 */ jr $ra
/* A3FAFC 802403BC E4400000 */ swc1 $f0, ($v0)
.L802403C0:
/* A3FB00 802403C0 4602003C */ c.lt.s $f0, $f2
/* A3FB04 802403C4 00000000 */ nop
/* A3FB08 802403C8 4501FFF3 */ bc1t .L80240398
/* A3FB0C 802403CC 00000000 */ nop
/* A3FB10 802403D0 46002007 */ neg.s $f0, $f4
/* A3FB14 802403D4 4600103C */ c.lt.s $f2, $f0
/* A3FB18 802403D8 00000000 */ nop
/* A3FB1C 802403DC 45000005 */ bc1f .L802403F4
/* A3FB20 802403E0 00000000 */ nop
/* A3FB24 802403E4 C4400000 */ lwc1 $f0, ($v0)
/* A3FB28 802403E8 46040001 */ sub.s $f0, $f0, $f4
/* A3FB2C 802403EC 03E00008 */ jr $ra
/* A3FB30 802403F0 E4400000 */ swc1 $f0, ($v0)
.L802403F4:
/* A3FB34 802403F4 C4400000 */ lwc1 $f0, ($v0)
/* A3FB38 802403F8 46020000 */ add.s $f0, $f0, $f2
/* A3FB3C 802403FC 03E00008 */ jr $ra
/* A3FB40 80240400 E4400000 */ swc1 $f0, ($v0)

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240404_A3FB44
/* A3FB44 80240404 27BDFFD8 */ addiu $sp, $sp, -0x28
/* A3FB48 80240408 3C01C396 */ lui $at, 0xc396
/* A3FB4C 8024040C 44810000 */ mtc1 $at, $f0
/* A3FB50 80240410 3C01C2C8 */ lui $at, 0xc2c8
/* A3FB54 80240414 44811000 */ mtc1 $at, $f2
/* A3FB58 80240418 3C0141F0 */ lui $at, 0x41f0
/* A3FB5C 8024041C 44812000 */ mtc1 $at, $f4
/* A3FB60 80240420 3C054348 */ lui $a1, 0x4348
/* A3FB64 80240424 3C0643C8 */ lui $a2, 0x43c8
/* A3FB68 80240428 3C074496 */ lui $a3, 0x4496
/* A3FB6C 8024042C 24040001 */ addiu $a0, $zero, 1
/* A3FB70 80240430 AFBF0020 */ sw $ra, 0x20($sp)
/* A3FB74 80240434 AFA00018 */ sw $zero, 0x18($sp)
/* A3FB78 80240438 E7A00010 */ swc1 $f0, 0x10($sp)
/* A3FB7C 8024043C E7A20014 */ swc1 $f2, 0x14($sp)
/* A3FB80 80240440 0C01BF8C */ jal fx_star
/* A3FB84 80240444 E7A4001C */ swc1 $f4, 0x1c($sp)
/* A3FB88 80240448 8FBF0020 */ lw $ra, 0x20($sp)
/* A3FB8C 8024044C 24020002 */ addiu $v0, $zero, 2
/* A3FB90 80240450 03E00008 */ jr $ra
/* A3FB94 80240454 27BD0028 */ addiu $sp, $sp, 0x28
/* A3FB98 80240458 00000000 */ nop
/* A3FB9C 8024045C 00000000 */ nop

View File

@ -1,208 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240770_A3FEB0
/* A3FEB0 80240770 27BDFFD8 */ addiu $sp, $sp, -0x28
/* A3FEB4 80240774 AFB1001C */ sw $s1, 0x1c($sp)
/* A3FEB8 80240778 0080882D */ daddu $s1, $a0, $zero
/* A3FEBC 8024077C AFB20020 */ sw $s2, 0x20($sp)
/* A3FEC0 80240780 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* A3FEC4 80240784 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* A3FEC8 80240788 AFBF0024 */ sw $ra, 0x24($sp)
/* A3FECC 8024078C AFB00018 */ sw $s0, 0x18($sp)
/* A3FED0 80240790 10A00010 */ beqz $a1, .L802407D4
/* A3FED4 80240794 8E30000C */ lw $s0, 0xc($s1)
/* A3FED8 80240798 8E050000 */ lw $a1, ($s0)
/* A3FEDC 8024079C 0C0B1EAF */ jal evt_get_variable
/* A3FEE0 802407A0 26100004 */ addiu $s0, $s0, 4
/* A3FEE4 802407A4 AE220074 */ sw $v0, 0x74($s1)
/* A3FEE8 802407A8 8E050000 */ lw $a1, ($s0)
/* A3FEEC 802407AC 26100004 */ addiu $s0, $s0, 4
/* A3FEF0 802407B0 0C0B1EAF */ jal evt_get_variable
/* A3FEF4 802407B4 0220202D */ daddu $a0, $s1, $zero
/* A3FEF8 802407B8 AE220078 */ sw $v0, 0x78($s1)
/* A3FEFC 802407BC 8E050000 */ lw $a1, ($s0)
/* A3FF00 802407C0 0C0B1EAF */ jal evt_get_variable
/* A3FF04 802407C4 0220202D */ daddu $a0, $s1, $zero
/* A3FF08 802407C8 AE2200C0 */ sw $v0, 0xc0($s1)
/* A3FF0C 802407CC AE200070 */ sw $zero, 0x70($s1)
/* A3FF10 802407D0 AE20007C */ sw $zero, 0x7c($s1)
.L802407D4:
/* A3FF14 802407D4 0C00EABB */ jal get_npc_unsafe
/* A3FF18 802407D8 8E240074 */ lw $a0, 0x74($s1)
/* A3FF1C 802407DC 8E230070 */ lw $v1, 0x70($s1)
/* A3FF20 802407E0 10600006 */ beqz $v1, .L802407FC
/* A3FF24 802407E4 0040802D */ daddu $s0, $v0, $zero
/* A3FF28 802407E8 24020001 */ addiu $v0, $zero, 1
/* A3FF2C 802407EC 10620048 */ beq $v1, $v0, .L80240910
/* A3FF30 802407F0 26040038 */ addiu $a0, $s0, 0x38
/* A3FF34 802407F4 08090293 */ j .L80240A4C
/* A3FF38 802407F8 00000000 */ nop
.L802407FC:
/* A3FF3C 802407FC C6400028 */ lwc1 $f0, 0x28($s2)
/* A3FF40 80240800 E6000038 */ swc1 $f0, 0x38($s0)
/* A3FF44 80240804 C640002C */ lwc1 $f0, 0x2c($s2)
/* A3FF48 80240808 E600003C */ swc1 $f0, 0x3c($s0)
/* A3FF4C 8024080C C6400030 */ lwc1 $f0, 0x30($s2)
/* A3FF50 80240810 E6000040 */ swc1 $f0, 0x40($s0)
/* A3FF54 80240814 8E23007C */ lw $v1, 0x7c($s1)
/* A3FF58 80240818 3C014040 */ lui $at, 0x4040
/* A3FF5C 8024081C 44810000 */ mtc1 $at, $f0
/* A3FF60 80240820 00031040 */ sll $v0, $v1, 1
/* A3FF64 80240824 00431021 */ addu $v0, $v0, $v1
/* A3FF68 80240828 E6000064 */ swc1 $f0, 0x64($s0)
/* A3FF6C 8024082C 44820000 */ mtc1 $v0, $f0
/* A3FF70 80240830 00000000 */ nop
/* A3FF74 80240834 46800020 */ cvt.s.w $f0, $f0
/* A3FF78 80240838 E6000060 */ swc1 $f0, 0x60($s0)
/* A3FF7C 8024083C 8E230078 */ lw $v1, 0x78($s1)
/* A3FF80 80240840 46000086 */ mov.s $f2, $f0
/* A3FF84 80240844 00031040 */ sll $v0, $v1, 1
/* A3FF88 80240848 00431021 */ addu $v0, $v0, $v1
/* A3FF8C 8024084C 00021900 */ sll $v1, $v0, 4
/* A3FF90 80240850 00431021 */ addu $v0, $v0, $v1
/* A3FF94 80240854 44820000 */ mtc1 $v0, $f0
/* A3FF98 80240858 00000000 */ nop
/* A3FF9C 8024085C 46800020 */ cvt.s.w $f0, $f0
/* A3FFA0 80240860 46001080 */ add.s $f2, $f2, $f0
/* A3FFA4 80240864 3C014319 */ lui $at, 0x4319
/* A3FFA8 80240868 44810000 */ mtc1 $at, $f0
/* A3FFAC 8024086C 00000000 */ nop
/* A3FFB0 80240870 46001080 */ add.s $f2, $f2, $f0
/* A3FFB4 80240874 26040038 */ addiu $a0, $s0, 0x38
/* A3FFB8 80240878 3C06428C */ lui $a2, 0x428c
/* A3FFBC 8024087C 44071000 */ mfc1 $a3, $f2
/* A3FFC0 80240880 0C00A7E7 */ jal add_vec2D_polar
/* A3FFC4 80240884 26050040 */ addiu $a1, $s0, 0x40
/* A3FFC8 80240888 3C034EC4 */ lui $v1, 0x4ec4
/* A3FFCC 8024088C 8E24007C */ lw $a0, 0x7c($s1)
/* A3FFD0 80240890 8E220078 */ lw $v0, 0x78($s1)
/* A3FFD4 80240894 3463EC4F */ ori $v1, $v1, 0xec4f
/* A3FFD8 80240898 00822021 */ addu $a0, $a0, $v0
/* A3FFDC 8024089C 00830018 */ mult $a0, $v1
/* A3FFE0 802408A0 000417C3 */ sra $v0, $a0, 0x1f
/* A3FFE4 802408A4 00004010 */ mfhi $t0
/* A3FFE8 802408A8 00081883 */ sra $v1, $t0, 2
/* A3FFEC 802408AC 00621823 */ subu $v1, $v1, $v0
/* A3FFF0 802408B0 00031040 */ sll $v0, $v1, 1
/* A3FFF4 802408B4 00431021 */ addu $v0, $v0, $v1
/* A3FFF8 802408B8 00021080 */ sll $v0, $v0, 2
/* A3FFFC 802408BC 00431021 */ addu $v0, $v0, $v1
/* A40000 802408C0 1482000C */ bne $a0, $v0, .L802408F4
/* A40004 802408C4 00000000 */ nop
/* A40008 802408C8 C602003C */ lwc1 $f2, 0x3c($s0)
/* A4000C 802408CC 3C014120 */ lui $at, 0x4120
/* A40010 802408D0 44810000 */ mtc1 $at, $f0
/* A40014 802408D4 00000000 */ nop
/* A40018 802408D8 46001080 */ add.s $f2, $f2, $f0
/* A4001C 802408DC E7A00010 */ swc1 $f0, 0x10($sp)
/* A40020 802408E0 8E050038 */ lw $a1, 0x38($s0)
/* A40024 802408E4 8E070040 */ lw $a3, 0x40($s0)
/* A40028 802408E8 44061000 */ mfc1 $a2, $f2
/* A4002C 802408EC 0C01BFBC */ jal fx_sparkles
/* A40030 802408F0 24040003 */ addiu $a0, $zero, 3
.L802408F4:
/* A40034 802408F4 8E22007C */ lw $v0, 0x7c($s1)
/* A40038 802408F8 2842015F */ slti $v0, $v0, 0x15f
/* A4003C 802408FC 14400053 */ bnez $v0, .L80240A4C
/* A40040 80240900 24020001 */ addiu $v0, $zero, 1
/* A40044 80240904 AE220070 */ sw $v0, 0x70($s1)
/* A40048 80240908 08090293 */ j .L80240A4C
/* A4004C 8024090C AE20007C */ sw $zero, 0x7c($s1)
.L80240910:
/* A40050 80240910 C6400028 */ lwc1 $f0, 0x28($s2)
/* A40054 80240914 3C014040 */ lui $at, 0x4040
/* A40058 80240918 44813000 */ mtc1 $at, $f6
/* A4005C 8024091C E6000038 */ swc1 $f0, 0x38($s0)
/* A40060 80240920 C640002C */ lwc1 $f0, 0x2c($s2)
/* A40064 80240924 E600003C */ swc1 $f0, 0x3c($s0)
/* A40068 80240928 C6400030 */ lwc1 $f0, 0x30($s2)
/* A4006C 8024092C E6000040 */ swc1 $f0, 0x40($s0)
/* A40070 80240930 8E23007C */ lw $v1, 0x7c($s1)
/* A40074 80240934 E6060064 */ swc1 $f6, 0x64($s0)
/* A40078 80240938 00031040 */ sll $v0, $v1, 1
/* A4007C 8024093C 00431021 */ addu $v0, $v0, $v1
/* A40080 80240940 44820000 */ mtc1 $v0, $f0
/* A40084 80240944 00000000 */ nop
/* A40088 80240948 46800020 */ cvt.s.w $f0, $f0
/* A4008C 8024094C 240200BE */ addiu $v0, $zero, 0xbe
/* A40090 80240950 E6000060 */ swc1 $f0, 0x60($s0)
/* A40094 80240954 8E23007C */ lw $v1, 0x7c($s1)
/* A40098 80240958 3C01433E */ lui $at, 0x433e
/* A4009C 8024095C 44810000 */ mtc1 $at, $f0
/* A400A0 80240960 00431023 */ subu $v0, $v0, $v1
/* A400A4 80240964 44822000 */ mtc1 $v0, $f4
/* A400A8 80240968 00000000 */ nop
/* A400AC 8024096C 46802120 */ cvt.s.w $f4, $f4
/* A400B0 80240970 46002103 */ div.s $f4, $f4, $f0
/* A400B4 80240974 8E230078 */ lw $v1, 0x78($s1)
/* A400B8 80240978 3C014286 */ lui $at, 0x4286
/* A400BC 8024097C 44810000 */ mtc1 $at, $f0
/* A400C0 80240980 00031040 */ sll $v0, $v1, 1
/* A400C4 80240984 00431021 */ addu $v0, $v0, $v1
/* A400C8 80240988 46002102 */ mul.s $f4, $f4, $f0
/* A400CC 8024098C 00000000 */ nop
/* A400D0 80240990 00021900 */ sll $v1, $v0, 4
/* A400D4 80240994 00431021 */ addu $v0, $v0, $v1
/* A400D8 80240998 C6000060 */ lwc1 $f0, 0x60($s0)
/* A400DC 8024099C 44821000 */ mtc1 $v0, $f2
/* A400E0 802409A0 00000000 */ nop
/* A400E4 802409A4 468010A0 */ cvt.s.w $f2, $f2
/* A400E8 802409A8 46020000 */ add.s $f0, $f0, $f2
/* A400EC 802409AC 3C014319 */ lui $at, 0x4319
/* A400F0 802409B0 44811000 */ mtc1 $at, $f2
/* A400F4 802409B4 00000000 */ nop
/* A400F8 802409B8 46020000 */ add.s $f0, $f0, $f2
/* A400FC 802409BC 46062100 */ add.s $f4, $f4, $f6
/* A40100 802409C0 44070000 */ mfc1 $a3, $f0
/* A40104 802409C4 44062000 */ mfc1 $a2, $f4
/* A40108 802409C8 0C00A7E7 */ jal add_vec2D_polar
/* A4010C 802409CC 26050040 */ addiu $a1, $s0, 0x40
/* A40110 802409D0 3C034EC4 */ lui $v1, 0x4ec4
/* A40114 802409D4 8E24007C */ lw $a0, 0x7c($s1)
/* A40118 802409D8 8E220078 */ lw $v0, 0x78($s1)
/* A4011C 802409DC 3463EC4F */ ori $v1, $v1, 0xec4f
/* A40120 802409E0 00822021 */ addu $a0, $a0, $v0
/* A40124 802409E4 00830018 */ mult $a0, $v1
/* A40128 802409E8 000417C3 */ sra $v0, $a0, 0x1f
/* A4012C 802409EC 00004010 */ mfhi $t0
/* A40130 802409F0 00081883 */ sra $v1, $t0, 2
/* A40134 802409F4 00621823 */ subu $v1, $v1, $v0
/* A40138 802409F8 00031040 */ sll $v0, $v1, 1
/* A4013C 802409FC 00431021 */ addu $v0, $v0, $v1
/* A40140 80240A00 00021080 */ sll $v0, $v0, 2
/* A40144 80240A04 00431021 */ addu $v0, $v0, $v1
/* A40148 80240A08 1482000C */ bne $a0, $v0, .L80240A3C
/* A4014C 80240A0C 00000000 */ nop
/* A40150 80240A10 C602003C */ lwc1 $f2, 0x3c($s0)
/* A40154 80240A14 3C014120 */ lui $at, 0x4120
/* A40158 80240A18 44810000 */ mtc1 $at, $f0
/* A4015C 80240A1C 00000000 */ nop
/* A40160 80240A20 46001080 */ add.s $f2, $f2, $f0
/* A40164 80240A24 E7A00010 */ swc1 $f0, 0x10($sp)
/* A40168 80240A28 8E050038 */ lw $a1, 0x38($s0)
/* A4016C 80240A2C 8E070040 */ lw $a3, 0x40($s0)
/* A40170 80240A30 44061000 */ mfc1 $a2, $f2
/* A40174 80240A34 0C01BFBC */ jal fx_sparkles
/* A40178 80240A38 24040003 */ addiu $a0, $zero, 3
.L80240A3C:
/* A4017C 80240A3C 8E22007C */ lw $v0, 0x7c($s1)
/* A40180 80240A40 284200BF */ slti $v0, $v0, 0xbf
/* A40184 80240A44 10400009 */ beqz $v0, .L80240A6C
/* A40188 80240A48 24020002 */ addiu $v0, $zero, 2
.L80240A4C:
/* A4018C 80240A4C 8E22007C */ lw $v0, 0x7c($s1)
/* A40190 80240A50 24420001 */ addiu $v0, $v0, 1
/* A40194 80240A54 AE22007C */ sw $v0, 0x7c($s1)
/* A40198 80240A58 C6000060 */ lwc1 $f0, 0x60($s0)
/* A4019C 80240A5C C6020064 */ lwc1 $f2, 0x64($s0)
/* A401A0 80240A60 46020000 */ add.s $f0, $f0, $f2
/* A401A4 80240A64 0000102D */ daddu $v0, $zero, $zero
/* A401A8 80240A68 E6000060 */ swc1 $f0, 0x60($s0)
.L80240A6C:
/* A401AC 80240A6C 8FBF0024 */ lw $ra, 0x24($sp)
/* A401B0 80240A70 8FB20020 */ lw $s2, 0x20($sp)
/* A401B4 80240A74 8FB1001C */ lw $s1, 0x1c($sp)
/* A401B8 80240A78 8FB00018 */ lw $s0, 0x18($sp)
/* A401BC 80240A7C 03E00008 */ jr $ra
/* A401C0 80240A80 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,52 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A84_A401C4
/* A401C4 80240A84 27BDFFD0 */ addiu $sp, $sp, -0x30
/* A401C8 80240A88 AFB10014 */ sw $s1, 0x14($sp)
/* A401CC 80240A8C 0080882D */ daddu $s1, $a0, $zero
/* A401D0 80240A90 AFBF001C */ sw $ra, 0x1c($sp)
/* A401D4 80240A94 AFB20018 */ sw $s2, 0x18($sp)
/* A401D8 80240A98 AFB00010 */ sw $s0, 0x10($sp)
/* A401DC 80240A9C F7B60028 */ sdc1 $f22, 0x28($sp)
/* A401E0 80240AA0 F7B40020 */ sdc1 $f20, 0x20($sp)
/* A401E4 80240AA4 8E30000C */ lw $s0, 0xc($s1)
/* A401E8 80240AA8 8E050000 */ lw $a1, ($s0)
/* A401EC 80240AAC 0C0B1EAF */ jal evt_get_variable
/* A401F0 80240AB0 26100004 */ addiu $s0, $s0, 4
/* A401F4 80240AB4 8E050000 */ lw $a1, ($s0)
/* A401F8 80240AB8 26100004 */ addiu $s0, $s0, 4
/* A401FC 80240ABC 0220202D */ daddu $a0, $s1, $zero
/* A40200 80240AC0 0C0B1EAF */ jal evt_get_variable
/* A40204 80240AC4 0040902D */ daddu $s2, $v0, $zero
/* A40208 80240AC8 8E050000 */ lw $a1, ($s0)
/* A4020C 80240ACC 26100004 */ addiu $s0, $s0, 4
/* A40210 80240AD0 4482B000 */ mtc1 $v0, $f22
/* A40214 80240AD4 00000000 */ nop
/* A40218 80240AD8 4680B5A0 */ cvt.s.w $f22, $f22
/* A4021C 80240ADC 0C0B1EAF */ jal evt_get_variable
/* A40220 80240AE0 0220202D */ daddu $a0, $s1, $zero
/* A40224 80240AE4 8E050000 */ lw $a1, ($s0)
/* A40228 80240AE8 4482A000 */ mtc1 $v0, $f20
/* A4022C 80240AEC 00000000 */ nop
/* A40230 80240AF0 4680A520 */ cvt.s.w $f20, $f20
/* A40234 80240AF4 0C0B1EAF */ jal evt_get_variable
/* A40238 80240AF8 0220202D */ daddu $a0, $s1, $zero
/* A4023C 80240AFC 8E43000C */ lw $v1, 0xc($s2)
/* A40240 80240B00 E4760004 */ swc1 $f22, 4($v1)
/* A40244 80240B04 8E43000C */ lw $v1, 0xc($s2)
/* A40248 80240B08 E4740008 */ swc1 $f20, 8($v1)
/* A4024C 80240B0C 8E43000C */ lw $v1, 0xc($s2)
/* A40250 80240B10 44820000 */ mtc1 $v0, $f0
/* A40254 80240B14 00000000 */ nop
/* A40258 80240B18 46800020 */ cvt.s.w $f0, $f0
/* A4025C 80240B1C E460000C */ swc1 $f0, 0xc($v1)
/* A40260 80240B20 8FBF001C */ lw $ra, 0x1c($sp)
/* A40264 80240B24 8FB20018 */ lw $s2, 0x18($sp)
/* A40268 80240B28 8FB10014 */ lw $s1, 0x14($sp)
/* A4026C 80240B2C 8FB00010 */ lw $s0, 0x10($sp)
/* A40270 80240B30 D7B60028 */ ldc1 $f22, 0x28($sp)
/* A40274 80240B34 D7B40020 */ ldc1 $f20, 0x20($sp)
/* A40278 80240B38 24020002 */ addiu $v0, $zero, 2
/* A4027C 80240B3C 03E00008 */ jr $ra
/* A40280 80240B40 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240B44_A40284
/* A40284 80240B44 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A40288 80240B48 AFB10014 */ sw $s1, 0x14($sp)
/* A4028C 80240B4C 0080882D */ daddu $s1, $a0, $zero
/* A40290 80240B50 AFBF0018 */ sw $ra, 0x18($sp)
/* A40294 80240B54 AFB00010 */ sw $s0, 0x10($sp)
/* A40298 80240B58 8E30000C */ lw $s0, 0xc($s1)
/* A4029C 80240B5C 8E050000 */ lw $a1, ($s0)
/* A402A0 80240B60 0C0B1EAF */ jal evt_get_variable
/* A402A4 80240B64 26100004 */ addiu $s0, $s0, 4
/* A402A8 80240B68 0220202D */ daddu $a0, $s1, $zero
/* A402AC 80240B6C 8E050000 */ lw $a1, ($s0)
/* A402B0 80240B70 0C0B210B */ jal evt_get_float_variable
/* A402B4 80240B74 0040802D */ daddu $s0, $v0, $zero
/* A402B8 80240B78 8E03000C */ lw $v1, 0xc($s0)
/* A402BC 80240B7C E4600010 */ swc1 $f0, 0x10($v1)
/* A402C0 80240B80 8FBF0018 */ lw $ra, 0x18($sp)
/* A402C4 80240B84 8FB10014 */ lw $s1, 0x14($sp)
/* A402C8 80240B88 8FB00010 */ lw $s0, 0x10($sp)
/* A402CC 80240B8C 24020002 */ addiu $v0, $zero, 2
/* A402D0 80240B90 03E00008 */ jr $ra
/* A402D4 80240B94 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240B98_A402D8
/* A402D8 80240B98 27BDFFE0 */ addiu $sp, $sp, -0x20
/* A402DC 80240B9C AFB10014 */ sw $s1, 0x14($sp)
/* A402E0 80240BA0 0080882D */ daddu $s1, $a0, $zero
/* A402E4 80240BA4 AFBF0018 */ sw $ra, 0x18($sp)
/* A402E8 80240BA8 AFB00010 */ sw $s0, 0x10($sp)
/* A402EC 80240BAC 8E30000C */ lw $s0, 0xc($s1)
/* A402F0 80240BB0 8E050000 */ lw $a1, ($s0)
/* A402F4 80240BB4 0C0B1EAF */ jal evt_get_variable
/* A402F8 80240BB8 26100004 */ addiu $s0, $s0, 4
/* A402FC 80240BBC 0220202D */ daddu $a0, $s1, $zero
/* A40300 80240BC0 8E050000 */ lw $a1, ($s0)
/* A40304 80240BC4 0C0B1EAF */ jal evt_get_variable
/* A40308 80240BC8 0040802D */ daddu $s0, $v0, $zero
/* A4030C 80240BCC 8E03000C */ lw $v1, 0xc($s0)
/* A40310 80240BD0 AC620018 */ sw $v0, 0x18($v1)
/* A40314 80240BD4 8FBF0018 */ lw $ra, 0x18($sp)
/* A40318 80240BD8 8FB10014 */ lw $s1, 0x14($sp)
/* A4031C 80240BDC 8FB00010 */ lw $s0, 0x10($sp)
/* A40320 80240BE0 24020002 */ addiu $v0, $zero, 2
/* A40324 80240BE4 03E00008 */ jr $ra
/* A40328 80240BE8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,82 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802441EC_804A6C
/* 804A6C 802441EC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 804A70 802441F0 AFB00018 */ sw $s0, 0x18($sp)
/* 804A74 802441F4 0080802D */ daddu $s0, $a0, $zero
/* 804A78 802441F8 10A00005 */ beqz $a1, .L80244210
/* 804A7C 802441FC AFBF001C */ sw $ra, 0x1c($sp)
/* 804A80 80244200 24020040 */ addiu $v0, $zero, 0x40
/* 804A84 80244204 AE020070 */ sw $v0, 0x70($s0)
/* 804A88 80244208 AE020078 */ sw $v0, 0x78($s0)
/* 804A8C 8024420C AE000074 */ sw $zero, 0x74($s0)
.L80244210:
/* 804A90 80244210 8E020074 */ lw $v0, 0x74($s0)
/* 804A94 80244214 1440001A */ bnez $v0, .L80244280
/* 804A98 80244218 00000000 */ nop
/* 804A9C 8024421C 8E020070 */ lw $v0, 0x70($s0)
/* 804AA0 80244220 24420004 */ addiu $v0, $v0, 4
/* 804AA4 80244224 AE020070 */ sw $v0, 0x70($s0)
/* 804AA8 80244228 8E020078 */ lw $v0, 0x78($s0)
/* 804AAC 8024422C 8E030070 */ lw $v1, 0x70($s0)
/* 804AB0 80244230 24420004 */ addiu $v0, $v0, 4
/* 804AB4 80244234 28630080 */ slti $v1, $v1, 0x80
/* 804AB8 80244238 14600003 */ bnez $v1, .L80244248
/* 804ABC 8024423C AE020078 */ sw $v0, 0x78($s0)
/* 804AC0 80244240 2402007F */ addiu $v0, $zero, 0x7f
/* 804AC4 80244244 AE020070 */ sw $v0, 0x70($s0)
.L80244248:
/* 804AC8 80244248 8E020078 */ lw $v0, 0x78($s0)
/* 804ACC 8024424C 28420080 */ slti $v0, $v0, 0x80
/* 804AD0 80244250 14400002 */ bnez $v0, .L8024425C
/* 804AD4 80244254 2402007F */ addiu $v0, $zero, 0x7f
/* 804AD8 80244258 AE020078 */ sw $v0, 0x78($s0)
.L8024425C:
/* 804ADC 8024425C 8E030070 */ lw $v1, 0x70($s0)
/* 804AE0 80244260 2402007F */ addiu $v0, $zero, 0x7f
/* 804AE4 80244264 14620014 */ bne $v1, $v0, .L802442B8
/* 804AE8 80244268 00000000 */ nop
/* 804AEC 8024426C 8E020078 */ lw $v0, 0x78($s0)
/* 804AF0 80244270 14430011 */ bne $v0, $v1, .L802442B8
/* 804AF4 80244274 24020001 */ addiu $v0, $zero, 1
/* 804AF8 80244278 080910AE */ j .L802442B8
/* 804AFC 8024427C AE020074 */ sw $v0, 0x74($s0)
.L80244280:
/* 804B00 80244280 8E020070 */ lw $v0, 0x70($s0)
/* 804B04 80244284 2442FFFC */ addiu $v0, $v0, -4
/* 804B08 80244288 AE020070 */ sw $v0, 0x70($s0)
/* 804B0C 8024428C 8E020078 */ lw $v0, 0x78($s0)
/* 804B10 80244290 8E030070 */ lw $v1, 0x70($s0)
/* 804B14 80244294 2442FFFC */ addiu $v0, $v0, -4
/* 804B18 80244298 28630040 */ slti $v1, $v1, 0x40
/* 804B1C 8024429C 10600003 */ beqz $v1, .L802442AC
/* 804B20 802442A0 AE020078 */ sw $v0, 0x78($s0)
/* 804B24 802442A4 24020040 */ addiu $v0, $zero, 0x40
/* 804B28 802442A8 AE020070 */ sw $v0, 0x70($s0)
.L802442AC:
/* 804B2C 802442AC 8E020078 */ lw $v0, 0x78($s0)
/* 804B30 802442B0 04420001 */ bltzl $v0, .L802442B8
/* 804B34 802442B4 AE000078 */ sw $zero, 0x78($s0)
.L802442B8:
/* 804B38 802442B8 92040073 */ lbu $a0, 0x73($s0)
/* 804B3C 802442BC 9207007B */ lbu $a3, 0x7b($s0)
/* 804B40 802442C0 0080282D */ daddu $a1, $a0, $zero
/* 804B44 802442C4 AFA70010 */ sw $a3, 0x10($sp)
/* 804B48 802442C8 9202007B */ lbu $v0, 0x7b($s0)
/* 804B4C 802442CC 0080302D */ daddu $a2, $a0, $zero
/* 804B50 802442D0 0C046FE6 */ jal set_model_env_color_parameters
/* 804B54 802442D4 AFA20014 */ sw $v0, 0x14($sp)
/* 804B58 802442D8 8E030070 */ lw $v1, 0x70($s0)
/* 804B5C 802442DC 24020040 */ addiu $v0, $zero, 0x40
/* 804B60 802442E0 14620005 */ bne $v1, $v0, .L802442F8
/* 804B64 802442E4 0000102D */ daddu $v0, $zero, $zero
/* 804B68 802442E8 8E030078 */ lw $v1, 0x78($s0)
/* 804B6C 802442EC 10600002 */ beqz $v1, .L802442F8
/* 804B70 802442F0 24020002 */ addiu $v0, $zero, 2
/* 804B74 802442F4 0000102D */ daddu $v0, $zero, $zero
.L802442F8:
/* 804B78 802442F8 8FBF001C */ lw $ra, 0x1c($sp)
/* 804B7C 802442FC 8FB00018 */ lw $s0, 0x18($sp)
/* 804B80 80244300 03E00008 */ jr $ra
/* 804B84 80244304 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,170 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240040_D9D510
/* D9D510 80240040 27BDFF30 */ addiu $sp, $sp, -0xd0
/* D9D514 80240044 AFB600B0 */ sw $s6, 0xb0($sp)
/* D9D518 80240048 AFBF00B4 */ sw $ra, 0xb4($sp)
/* D9D51C 8024004C AFB500AC */ sw $s5, 0xac($sp)
/* D9D520 80240050 AFB400A8 */ sw $s4, 0xa8($sp)
/* D9D524 80240054 AFB300A4 */ sw $s3, 0xa4($sp)
/* D9D528 80240058 AFB200A0 */ sw $s2, 0xa0($sp)
/* D9D52C 8024005C AFB1009C */ sw $s1, 0x9c($sp)
/* D9D530 80240060 AFB00098 */ sw $s0, 0x98($sp)
/* D9D534 80240064 F7B800C8 */ sdc1 $f24, 0xc8($sp)
/* D9D538 80240068 F7B600C0 */ sdc1 $f22, 0xc0($sp)
/* D9D53C 8024006C F7B400B8 */ sdc1 $f20, 0xb8($sp)
/* D9D540 80240070 10A0001E */ beqz $a1, .L802400EC
/* D9D544 80240074 0080B02D */ daddu $s6, $a0, $zero
/* D9D548 80240078 0C00AB39 */ jal heap_malloc
/* D9D54C 8024007C 24040030 */ addiu $a0, $zero, 0x30
/* D9D550 80240080 0040982D */ daddu $s3, $v0, $zero
/* D9D554 80240084 0000A02D */ daddu $s4, $zero, $zero
/* D9D558 80240088 26700008 */ addiu $s0, $s3, 8
/* D9D55C 8024008C 3C014060 */ lui $at, 0x4060
/* D9D560 80240090 4481A000 */ mtc1 $at, $f20
/* D9D564 80240094 3C128024 */ lui $s2, %hi(D_802434F8_DA09C8)
/* D9D568 80240098 265234F8 */ addiu $s2, $s2, %lo(D_802434F8_DA09C8)
/* D9D56C 8024009C AED30070 */ sw $s3, 0x70($s6)
.L802400A0:
/* D9D570 802400A0 8E440000 */ lw $a0, ($s2)
/* D9D574 802400A4 26520004 */ addiu $s2, $s2, 4
/* D9D578 802400A8 0C046C04 */ jal get_model_list_index_from_tree_index
/* D9D57C 802400AC AE04000C */ sw $a0, 0xc($s0)
/* D9D580 802400B0 0C046B4C */ jal get_model_from_list_index
/* D9D584 802400B4 0040202D */ daddu $a0, $v0, $zero
/* D9D588 802400B8 0040882D */ daddu $s1, $v0, $zero
/* D9D58C 802400BC 26940001 */ addiu $s4, $s4, 1
/* D9D590 802400C0 C6200098 */ lwc1 $f0, 0x98($s1)
/* D9D594 802400C4 2E820002 */ sltiu $v0, $s4, 2
/* D9D598 802400C8 E6600000 */ swc1 $f0, ($s3)
/* D9D59C 802400CC C62000A0 */ lwc1 $f0, 0xa0($s1)
/* D9D5A0 802400D0 26730018 */ addiu $s3, $s3, 0x18
/* D9D5A4 802400D4 E6140004 */ swc1 $f20, 4($s0)
/* D9D5A8 802400D8 AE000008 */ sw $zero, 8($s0)
/* D9D5AC 802400DC AE000000 */ sw $zero, ($s0)
/* D9D5B0 802400E0 E600FFFC */ swc1 $f0, -4($s0)
/* D9D5B4 802400E4 1440FFEE */ bnez $v0, .L802400A0
/* D9D5B8 802400E8 26100018 */ addiu $s0, $s0, 0x18
.L802400EC:
/* D9D5BC 802400EC 0000A02D */ daddu $s4, $zero, $zero
/* D9D5C0 802400F0 27B50058 */ addiu $s5, $sp, 0x58
/* D9D5C4 802400F4 8ED30070 */ lw $s3, 0x70($s6)
/* D9D5C8 802400F8 4480B000 */ mtc1 $zero, $f22
/* D9D5CC 802400FC 26720004 */ addiu $s2, $s3, 4
.L80240100:
/* D9D5D0 80240100 C64C000C */ lwc1 $f12, 0xc($s2)
/* D9D5D4 80240104 C6400008 */ lwc1 $f0, 8($s2)
/* D9D5D8 80240108 46006300 */ add.s $f12, $f12, $f0
/* D9D5DC 8024010C 0C00A6C9 */ jal clamp_angle
/* D9D5E0 80240110 E64C000C */ swc1 $f12, 0xc($s2)
/* D9D5E4 80240114 3C014048 */ lui $at, 0x4048
/* D9D5E8 80240118 3421F5C3 */ ori $at, $at, 0xf5c3
/* D9D5EC 8024011C 44816000 */ mtc1 $at, $f12
/* D9D5F0 80240120 00000000 */ nop
/* D9D5F4 80240124 460C0302 */ mul.s $f12, $f0, $f12
/* D9D5F8 80240128 00000000 */ nop
/* D9D5FC 8024012C 3C014334 */ lui $at, 0x4334
/* D9D600 80240130 44811000 */ mtc1 $at, $f2
/* D9D604 80240134 E640000C */ swc1 $f0, 0xc($s2)
/* D9D608 80240138 0C00A85B */ jal sin_rad
/* D9D60C 8024013C 46026303 */ div.s $f12, $f12, $f2
/* D9D610 80240140 3C0141A0 */ lui $at, 0x41a0
/* D9D614 80240144 44811000 */ mtc1 $at, $f2
/* D9D618 80240148 00000000 */ nop
/* D9D61C 8024014C 46020502 */ mul.s $f20, $f0, $f2
/* D9D620 80240150 00000000 */ nop
/* D9D624 80240154 4614A082 */ mul.s $f2, $f20, $f20
/* D9D628 80240158 00000000 */ nop
/* D9D62C 8024015C 3C0142B4 */ lui $at, 0x42b4
/* D9D630 80240160 44810000 */ mtc1 $at, $f0
/* D9D634 80240164 1680001C */ bnez $s4, .L802401D8
/* D9D638 80240168 46001603 */ div.s $f24, $f2, $f0
/* D9D63C 8024016C C6400004 */ lwc1 $f0, 4($s2)
/* D9D640 80240170 4600B03E */ c.le.s $f22, $f0
/* D9D644 80240174 00000000 */ nop
/* D9D648 80240178 45000005 */ bc1f .L80240190
/* D9D64C 8024017C 00000000 */ nop
/* D9D650 80240180 4616A03C */ c.lt.s $f20, $f22
/* D9D654 80240184 00000000 */ nop
/* D9D658 80240188 4501000A */ bc1t .L802401B4
/* D9D65C 8024018C 240401D6 */ addiu $a0, $zero, 0x1d6
.L80240190:
/* D9D660 80240190 4616003C */ c.lt.s $f0, $f22
/* D9D664 80240194 00000000 */ nop
/* D9D668 80240198 4502000F */ bc1fl .L802401D8
/* D9D66C 8024019C E6540004 */ swc1 $f20, 4($s2)
/* D9D670 802401A0 4614B03E */ c.le.s $f22, $f20
/* D9D674 802401A4 00000000 */ nop
/* D9D678 802401A8 4502000B */ bc1fl .L802401D8
/* D9D67C 802401AC E6540004 */ swc1 $f20, 4($s2)
/* D9D680 802401B0 240401D6 */ addiu $a0, $zero, 0x1d6
.L802401B4:
/* D9D684 802401B4 0000282D */ daddu $a1, $zero, $zero
/* D9D688 802401B8 3C06C430 */ lui $a2, 0xc430
/* D9D68C 802401BC 34C68000 */ ori $a2, $a2, 0x8000
/* D9D690 802401C0 3C0142CC */ lui $at, 0x42cc
/* D9D694 802401C4 44810000 */ mtc1 $at, $f0
/* D9D698 802401C8 0000382D */ daddu $a3, $zero, $zero
/* D9D69C 802401CC 0C052757 */ jal sfx_play_sound_at_position
/* D9D6A0 802401D0 E7A00010 */ swc1 $f0, 0x10($sp)
/* D9D6A4 802401D4 E6540004 */ swc1 $f20, 4($s2)
.L802401D8:
/* D9D6A8 802401D8 8E440010 */ lw $a0, 0x10($s2)
/* D9D6AC 802401DC 0C046C04 */ jal get_model_list_index_from_tree_index
/* D9D6B0 802401E0 26940001 */ addiu $s4, $s4, 1
/* D9D6B4 802401E4 0C046B4C */ jal get_model_from_list_index
/* D9D6B8 802401E8 0040202D */ daddu $a0, $v0, $zero
/* D9D6BC 802401EC 0040882D */ daddu $s1, $v0, $zero
/* D9D6C0 802401F0 96220000 */ lhu $v0, ($s1)
/* D9D6C4 802401F4 4406B000 */ mfc1 $a2, $f22
/* D9D6C8 802401F8 34421400 */ ori $v0, $v0, 0x1400
/* D9D6CC 802401FC A6220000 */ sh $v0, ($s1)
/* D9D6D0 80240200 C6600000 */ lwc1 $f0, ($s3)
/* D9D6D4 80240204 C6420000 */ lwc1 $f2, ($s2)
/* D9D6D8 80240208 46000007 */ neg.s $f0, $f0
/* D9D6DC 8024020C 46001087 */ neg.s $f2, $f2
/* D9D6E0 80240210 44050000 */ mfc1 $a1, $f0
/* D9D6E4 80240214 44071000 */ mfc1 $a3, $f2
/* D9D6E8 80240218 0C019E40 */ jal guTranslateF
/* D9D6EC 8024021C 27A40018 */ addiu $a0, $sp, 0x18
/* D9D6F0 80240220 4405A000 */ mfc1 $a1, $f20
/* D9D6F4 80240224 4406B000 */ mfc1 $a2, $f22
/* D9D6F8 80240228 4407B000 */ mfc1 $a3, $f22
/* D9D6FC 8024022C 3C013F80 */ lui $at, 0x3f80
/* D9D700 80240230 44810000 */ mtc1 $at, $f0
/* D9D704 80240234 02A0202D */ daddu $a0, $s5, $zero
/* D9D708 80240238 0C019EC8 */ jal guRotateF
/* D9D70C 8024023C E7A00010 */ swc1 $f0, 0x10($sp)
/* D9D710 80240240 27A40018 */ addiu $a0, $sp, 0x18
/* D9D714 80240244 02A0282D */ daddu $a1, $s5, $zero
/* D9D718 80240248 26300058 */ addiu $s0, $s1, 0x58
/* D9D71C 8024024C 0C019D80 */ jal guMtxCatF
/* D9D720 80240250 0200302D */ daddu $a2, $s0, $zero
/* D9D724 80240254 27A40018 */ addiu $a0, $sp, 0x18
/* D9D728 80240258 8E470000 */ lw $a3, ($s2)
/* D9D72C 8024025C 26520018 */ addiu $s2, $s2, 0x18
/* D9D730 80240260 8E650000 */ lw $a1, ($s3)
/* D9D734 80240264 4406C000 */ mfc1 $a2, $f24
/* D9D738 80240268 0C019E40 */ jal guTranslateF
/* D9D73C 8024026C 26730018 */ addiu $s3, $s3, 0x18
/* D9D740 80240270 0200202D */ daddu $a0, $s0, $zero
/* D9D744 80240274 27A50018 */ addiu $a1, $sp, 0x18
/* D9D748 80240278 0C019D80 */ jal guMtxCatF
/* D9D74C 8024027C 0080302D */ daddu $a2, $a0, $zero
/* D9D750 80240280 2E820002 */ sltiu $v0, $s4, 2
/* D9D754 80240284 1440FF9E */ bnez $v0, .L80240100
/* D9D758 80240288 0000102D */ daddu $v0, $zero, $zero
/* D9D75C 8024028C 8FBF00B4 */ lw $ra, 0xb4($sp)
/* D9D760 80240290 8FB600B0 */ lw $s6, 0xb0($sp)
/* D9D764 80240294 8FB500AC */ lw $s5, 0xac($sp)
/* D9D768 80240298 8FB400A8 */ lw $s4, 0xa8($sp)
/* D9D76C 8024029C 8FB300A4 */ lw $s3, 0xa4($sp)
/* D9D770 802402A0 8FB200A0 */ lw $s2, 0xa0($sp)
/* D9D774 802402A4 8FB1009C */ lw $s1, 0x9c($sp)
/* D9D778 802402A8 8FB00098 */ lw $s0, 0x98($sp)
/* D9D77C 802402AC D7B800C8 */ ldc1 $f24, 0xc8($sp)
/* D9D780 802402B0 D7B600C0 */ ldc1 $f22, 0xc0($sp)
/* D9D784 802402B4 D7B400B8 */ ldc1 $f20, 0xb8($sp)
/* D9D788 802402B8 03E00008 */ jr $ra
/* D9D78C 802402BC 27BD00D0 */ addiu $sp, $sp, 0xd0

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_DCCCD0
/* DCCCD0 80240000 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* DCCCD4 80240004 8C42EFC8 */ lw $v0, %lo(gPlayerStatus)($v0)
/* DCCCD8 80240008 30420020 */ andi $v0, $v0, 0x20
/* DCCCDC 8024000C 10400003 */ beqz $v0, .L8024001C
/* DCCCE0 80240010 00000000 */ nop
.L80240014:
/* DCCCE4 80240014 03E00008 */ jr $ra
/* DCCCE8 80240018 24020001 */ addiu $v0, $zero, 1
.L8024001C:
/* DCCCEC 8024001C 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* DCCCF0 80240020 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* DCCCF4 80240024 10400009 */ beqz $v0, .L8024004C
/* DCCCF8 80240028 00000000 */ nop
/* DCCCFC 8024002C 3C028011 */ lui $v0, %hi(gPlayerData)
/* DCCD00 80240030 2442F290 */ addiu $v0, $v0, %lo(gPlayerData)
/* DCCD04 80240034 80430012 */ lb $v1, 0x12($v0)
/* DCCD08 80240038 24020001 */ addiu $v0, $zero, 1
/* DCCD0C 8024003C 1062FFF5 */ beq $v1, $v0, .L80240014
/* DCCD10 80240040 24020007 */ addiu $v0, $zero, 7
/* DCCD14 80240044 1062FFF3 */ beq $v1, $v0, .L80240014
/* DCCD18 80240048 00000000 */ nop
.L8024004C:
/* DCCD1C 8024004C 03E00008 */ jr $ra
/* DCCD20 80240050 0000102D */ daddu $v0, $zero, $zero

View File

@ -1,167 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240078_DCCD48
/* DCCD48 80240078 27BDFF90 */ addiu $sp, $sp, -0x70
/* DCCD4C 8024007C AFB00048 */ sw $s0, 0x48($sp)
/* DCCD50 80240080 0080802D */ daddu $s0, $a0, $zero
/* DCCD54 80240084 2404FFFC */ addiu $a0, $zero, -4
/* DCCD58 80240088 AFBF006C */ sw $ra, 0x6c($sp)
/* DCCD5C 8024008C AFBE0068 */ sw $fp, 0x68($sp)
/* DCCD60 80240090 AFB70064 */ sw $s7, 0x64($sp)
/* DCCD64 80240094 AFB60060 */ sw $s6, 0x60($sp)
/* DCCD68 80240098 AFB5005C */ sw $s5, 0x5c($sp)
/* DCCD6C 8024009C AFB40058 */ sw $s4, 0x58($sp)
/* DCCD70 802400A0 AFB30054 */ sw $s3, 0x54($sp)
/* DCCD74 802400A4 AFB20050 */ sw $s2, 0x50($sp)
/* DCCD78 802400A8 0C00EABB */ jal get_npc_unsafe
/* DCCD7C 802400AC AFB1004C */ sw $s1, 0x4c($sp)
/* DCCD80 802400B0 3C158011 */ lui $s5, %hi(gPlayerStatus)
/* DCCD84 802400B4 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus)
/* DCCD88 802400B8 0040982D */ daddu $s3, $v0, $zero
/* DCCD8C 802400BC 3C148011 */ lui $s4, %hi(gPartnerActionStatus)
/* DCCD90 802400C0 2694EBB0 */ addiu $s4, $s4, %lo(gPartnerActionStatus)
/* DCCD94 802400C4 0C090000 */ jal func_80240000_DCCCD0
/* DCCD98 802400C8 AE000084 */ sw $zero, 0x84($s0)
/* DCCD9C 802400CC 14400073 */ bnez $v0, .L8024029C
/* DCCDA0 802400D0 24020002 */ addiu $v0, $zero, 2
/* DCCDA4 802400D4 82830003 */ lb $v1, 3($s4)
/* DCCDA8 802400D8 24020009 */ addiu $v0, $zero, 9
/* DCCDAC 802400DC 14620039 */ bne $v1, $v0, .L802401C4
/* DCCDB0 802400E0 24020008 */ addiu $v0, $zero, 8
/* DCCDB4 802400E4 82820000 */ lb $v0, ($s4)
/* DCCDB8 802400E8 10400035 */ beqz $v0, .L802401C0
/* DCCDBC 802400EC 24020080 */ addiu $v0, $zero, 0x80
/* DCCDC0 802400F0 92A3000E */ lbu $v1, 0xe($s5)
/* DCCDC4 802400F4 14620031 */ bne $v1, $v0, .L802401BC
/* DCCDC8 802400F8 02A0202D */ daddu $a0, $s5, $zero
/* DCCDCC 802400FC 27A20034 */ addiu $v0, $sp, 0x34
/* DCCDD0 80240100 27A50028 */ addiu $a1, $sp, 0x28
/* DCCDD4 80240104 27A6002C */ addiu $a2, $sp, 0x2c
/* DCCDD8 80240108 C6A00028 */ lwc1 $f0, 0x28($s5)
/* DCCDDC 8024010C C6A2002C */ lwc1 $f2, 0x2c($s5)
/* DCCDE0 80240110 C6A40030 */ lwc1 $f4, 0x30($s5)
/* DCCDE4 80240114 3C01447A */ lui $at, 0x447a
/* DCCDE8 80240118 44813000 */ mtc1 $at, $f6
/* DCCDEC 8024011C 27A70030 */ addiu $a3, $sp, 0x30
/* DCCDF0 80240120 E7A00028 */ swc1 $f0, 0x28($sp)
/* DCCDF4 80240124 E7A2002C */ swc1 $f2, 0x2c($sp)
/* DCCDF8 80240128 E7A40030 */ swc1 $f4, 0x30($sp)
/* DCCDFC 8024012C E7A60034 */ swc1 $f6, 0x34($sp)
/* DCCE00 80240130 AFA20010 */ sw $v0, 0x10($sp)
/* DCCE04 80240134 27A20038 */ addiu $v0, $sp, 0x38
/* DCCE08 80240138 AFA20014 */ sw $v0, 0x14($sp)
/* DCCE0C 8024013C 27A2003C */ addiu $v0, $sp, 0x3c
/* DCCE10 80240140 AFA20018 */ sw $v0, 0x18($sp)
/* DCCE14 80240144 27A20040 */ addiu $v0, $sp, 0x40
/* DCCE18 80240148 AFA2001C */ sw $v0, 0x1c($sp)
/* DCCE1C 8024014C 27A20044 */ addiu $v0, $sp, 0x44
/* DCCE20 80240150 0C03791B */ jal player_raycast_below_cam_relative
/* DCCE24 80240154 AFA20020 */ sw $v0, 0x20($sp)
/* DCCE28 80240158 0040402D */ daddu $t0, $v0, $zero
/* DCCE2C 8024015C 0000302D */ daddu $a2, $zero, $zero
/* DCCE30 80240160 24050004 */ addiu $a1, $zero, 4
/* DCCE34 80240164 3C078024 */ lui $a3, %hi(D_80243A90_DD0760)
/* DCCE38 80240168 24E73A90 */ addiu $a3, $a3, %lo(D_80243A90_DD0760)
/* DCCE3C 8024016C 00E0202D */ daddu $a0, $a3, $zero
/* DCCE40 80240170 3C038024 */ lui $v1, %hi(D_80243A80_DD0750)
/* DCCE44 80240174 24633A80 */ addiu $v1, $v1, %lo(D_80243A80_DD0750)
.L80240178:
/* DCCE48 80240178 8C620000 */ lw $v0, ($v1)
/* DCCE4C 8024017C 55020007 */ bnel $t0, $v0, .L8024019C
/* DCCE50 80240180 24A50008 */ addiu $a1, $a1, 8
/* DCCE54 80240184 C4800000 */ lwc1 $f0, ($a0)
/* DCCE58 80240188 00A71021 */ addu $v0, $a1, $a3
/* DCCE5C 8024018C E6A0001C */ swc1 $f0, 0x1c($s5)
/* DCCE60 80240190 C4400000 */ lwc1 $f0, ($v0)
/* DCCE64 80240194 E6A00024 */ swc1 $f0, 0x24($s5)
/* DCCE68 80240198 24A50008 */ addiu $a1, $a1, 8
.L8024019C:
/* DCCE6C 8024019C 24840008 */ addiu $a0, $a0, 8
/* DCCE70 802401A0 24C60001 */ addiu $a2, $a2, 1
/* DCCE74 802401A4 2CC20004 */ sltiu $v0, $a2, 4
/* DCCE78 802401A8 1440FFF3 */ bnez $v0, .L80240178
/* DCCE7C 802401AC 24630004 */ addiu $v1, $v1, 4
/* DCCE80 802401B0 24020001 */ addiu $v0, $zero, 1
/* DCCE84 802401B4 080900A6 */ j .L80240298
/* DCCE88 802401B8 AE020084 */ sw $v0, 0x84($s0)
.L802401BC:
/* DCCE8C 802401BC 82830003 */ lb $v1, 3($s4)
.L802401C0:
/* DCCE90 802401C0 24020008 */ addiu $v0, $zero, 8
.L802401C4:
/* DCCE94 802401C4 14620004 */ bne $v1, $v0, .L802401D8
/* DCCE98 802401C8 00000000 */ nop
/* DCCE9C 802401CC 82820000 */ lb $v0, ($s4)
/* DCCEA0 802401D0 14400032 */ bnez $v0, .L8024029C
/* DCCEA4 802401D4 24020002 */ addiu $v0, $zero, 2
.L802401D8:
/* DCCEA8 802401D8 3C178016 */ lui $s7, %hi(gCollisionStatus)
/* DCCEAC 802401DC 26F7A550 */ addiu $s7, $s7, %lo(gCollisionStatus)
/* DCCEB0 802401E0 24120004 */ addiu $s2, $zero, 4
/* DCCEB4 802401E4 3C168024 */ lui $s6, %hi(D_80243A90_DD0760)
/* DCCEB8 802401E8 26D63A90 */ addiu $s6, $s6, %lo(D_80243A90_DD0760)
/* DCCEBC 802401EC 02C0802D */ daddu $s0, $s6, $zero
/* DCCEC0 802401F0 3C118024 */ lui $s1, %hi(D_80243A80_DD0750)
/* DCCEC4 802401F4 26313A80 */ addiu $s1, $s1, %lo(D_80243A80_DD0750)
/* DCCEC8 802401F8 261E0020 */ addiu $fp, $s0, 0x20
.L802401FC:
/* DCCECC 802401FC 86E20002 */ lh $v0, 2($s7)
/* DCCED0 80240200 8E230000 */ lw $v1, ($s1)
/* DCCED4 80240204 10430004 */ beq $v0, $v1, .L80240218
/* DCCED8 80240208 00000000 */ nop
/* DCCEDC 8024020C 86E20004 */ lh $v0, 4($s7)
/* DCCEE0 80240210 14430006 */ bne $v0, $v1, .L8024022C
/* DCCEE4 80240214 00000000 */ nop
.L80240218:
/* DCCEE8 80240218 C6000000 */ lwc1 $f0, ($s0)
/* DCCEEC 8024021C 02561021 */ addu $v0, $s2, $s6
/* DCCEF0 80240220 E6A0001C */ swc1 $f0, 0x1c($s5)
/* DCCEF4 80240224 C4400000 */ lwc1 $f0, ($v0)
/* DCCEF8 80240228 E6A00024 */ swc1 $f0, 0x24($s5)
.L8024022C:
/* DCCEFC 8024022C 86630084 */ lh $v1, 0x84($s3)
/* DCCF00 80240230 8E220000 */ lw $v0, ($s1)
/* DCCF04 80240234 54620014 */ bnel $v1, $v0, .L80240288
/* DCCF08 80240238 26520008 */ addiu $s2, $s2, 8
/* DCCF0C 8024023C 82830003 */ lb $v1, 3($s4)
/* DCCF10 80240240 24020002 */ addiu $v0, $zero, 2
/* DCCF14 80240244 14620004 */ bne $v1, $v0, .L80240258
/* DCCF18 80240248 00000000 */ nop
/* DCCF1C 8024024C 82820000 */ lb $v0, ($s4)
/* DCCF20 80240250 5440000D */ bnel $v0, $zero, .L80240288
/* DCCF24 80240254 26520008 */ addiu $s2, $s2, 8
.L80240258:
/* DCCF28 80240258 C6600038 */ lwc1 $f0, 0x38($s3)
/* DCCF2C 8024025C C6020000 */ lwc1 $f2, ($s0)
/* DCCF30 80240260 46020000 */ add.s $f0, $f0, $f2
/* DCCF34 80240264 C6620040 */ lwc1 $f2, 0x40($s3)
/* DCCF38 80240268 02561021 */ addu $v0, $s2, $s6
/* DCCF3C 8024026C E6600038 */ swc1 $f0, 0x38($s3)
/* DCCF40 80240270 C4400000 */ lwc1 $f0, ($v0)
/* DCCF44 80240274 46001080 */ add.s $f2, $f2, $f0
/* DCCF48 80240278 0260202D */ daddu $a0, $s3, $zero
/* DCCF4C 8024027C 0C03BD17 */ jal partner_clear_player_tracking
/* DCCF50 80240280 E6620040 */ swc1 $f2, 0x40($s3)
/* DCCF54 80240284 26520008 */ addiu $s2, $s2, 8
.L80240288:
/* DCCF58 80240288 26100008 */ addiu $s0, $s0, 8
/* DCCF5C 8024028C 021E102B */ sltu $v0, $s0, $fp
/* DCCF60 80240290 1440FFDA */ bnez $v0, .L802401FC
/* DCCF64 80240294 26310004 */ addiu $s1, $s1, 4
.L80240298:
/* DCCF68 80240298 24020002 */ addiu $v0, $zero, 2
.L8024029C:
/* DCCF6C 8024029C 8FBF006C */ lw $ra, 0x6c($sp)
/* DCCF70 802402A0 8FBE0068 */ lw $fp, 0x68($sp)
/* DCCF74 802402A4 8FB70064 */ lw $s7, 0x64($sp)
/* DCCF78 802402A8 8FB60060 */ lw $s6, 0x60($sp)
/* DCCF7C 802402AC 8FB5005C */ lw $s5, 0x5c($sp)
/* DCCF80 802402B0 8FB40058 */ lw $s4, 0x58($sp)
/* DCCF84 802402B4 8FB30054 */ lw $s3, 0x54($sp)
/* DCCF88 802402B8 8FB20050 */ lw $s2, 0x50($sp)
/* DCCF8C 802402BC 8FB1004C */ lw $s1, 0x4c($sp)
/* DCCF90 802402C0 8FB00048 */ lw $s0, 0x48($sp)
/* DCCF94 802402C4 03E00008 */ jr $ra
/* DCCF98 802402C8 27BD0070 */ addiu $sp, $sp, 0x70
/* DCCF9C 802402CC 00000000 */ nop

View File

@ -1,169 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802402D0_DCCFA0
/* DCCFA0 802402D0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* DCCFA4 802402D4 AFB20028 */ sw $s2, 0x28($sp)
/* DCCFA8 802402D8 0080902D */ daddu $s2, $a0, $zero
/* DCCFAC 802402DC AFBF002C */ sw $ra, 0x2c($sp)
/* DCCFB0 802402E0 AFB10024 */ sw $s1, 0x24($sp)
/* DCCFB4 802402E4 AFB00020 */ sw $s0, 0x20($sp)
/* DCCFB8 802402E8 8E50000C */ lw $s0, 0xc($s2)
/* DCCFBC 802402EC 8E050000 */ lw $a1, ($s0)
/* DCCFC0 802402F0 0C0B1EAF */ jal evt_get_variable
/* DCCFC4 802402F4 26100004 */ addiu $s0, $s0, 4
/* DCCFC8 802402F8 8E050000 */ lw $a1, ($s0)
/* DCCFCC 802402FC 26100004 */ addiu $s0, $s0, 4
/* DCCFD0 80240300 0240202D */ daddu $a0, $s2, $zero
/* DCCFD4 80240304 0C0B1EAF */ jal evt_get_variable
/* DCCFD8 80240308 0040882D */ daddu $s1, $v0, $zero
/* DCCFDC 8024030C 0240202D */ daddu $a0, $s2, $zero
/* DCCFE0 80240310 8E050000 */ lw $a1, ($s0)
/* DCCFE4 80240314 0C0B1EAF */ jal evt_get_variable
/* DCCFE8 80240318 0040802D */ daddu $s0, $v0, $zero
/* DCCFEC 8024031C 0040282D */ daddu $a1, $v0, $zero
/* DCCFF0 80240320 2402FFFF */ addiu $v0, $zero, -1
/* DCCFF4 80240324 1222001A */ beq $s1, $v0, .L80240390
/* DCCFF8 80240328 3C04B60B */ lui $a0, 0xb60b
/* DCCFFC 8024032C 348460B7 */ ori $a0, $a0, 0x60b7
/* DCD000 80240330 02240018 */ mult $s1, $a0
/* DCD004 80240334 001117C3 */ sra $v0, $s1, 0x1f
/* DCD008 80240338 00005810 */ mfhi $t3
/* DCD00C 8024033C 01711821 */ addu $v1, $t3, $s1
/* DCD010 80240340 00031A03 */ sra $v1, $v1, 8
/* DCD014 80240344 00621823 */ subu $v1, $v1, $v0
/* DCD018 80240348 00031040 */ sll $v0, $v1, 1
/* DCD01C 8024034C 00431021 */ addu $v0, $v0, $v1
/* DCD020 80240350 00021900 */ sll $v1, $v0, 4
/* DCD024 80240354 00621823 */ subu $v1, $v1, $v0
/* DCD028 80240358 000318C0 */ sll $v1, $v1, 3
/* DCD02C 8024035C 02231823 */ subu $v1, $s1, $v1
/* DCD030 80240360 00640018 */ mult $v1, $a0
/* DCD034 80240364 00005810 */ mfhi $t3
/* DCD038 80240368 01631021 */ addu $v0, $t3, $v1
/* DCD03C 8024036C 00021143 */ sra $v0, $v0, 5
/* DCD040 80240370 00031FC3 */ sra $v1, $v1, 0x1f
/* DCD044 80240374 00431023 */ subu $v0, $v0, $v1
/* DCD048 80240378 00021080 */ sll $v0, $v0, 2
/* DCD04C 8024037C 3C018024 */ lui $at, %hi(D_802451AC_DD1E7C)
/* DCD050 80240380 00220821 */ addu $at, $at, $v0
/* DCD054 80240384 8C2251AC */ lw $v0, %lo(D_802451AC_DD1E7C)($at)
/* DCD058 80240388 080900E5 */ j .L80240394
/* DCD05C 8024038C AFA20010 */ sw $v0, 0x10($sp)
.L80240390:
/* DCD060 80240390 AFA00010 */ sw $zero, 0x10($sp)
.L80240394:
/* DCD064 80240394 2402FFFF */ addiu $v0, $zero, -1
/* DCD068 80240398 1202001B */ beq $s0, $v0, .L80240408
/* DCD06C 8024039C 3C04B60B */ lui $a0, 0xb60b
/* DCD070 802403A0 348460B7 */ ori $a0, $a0, 0x60b7
/* DCD074 802403A4 02040018 */ mult $s0, $a0
/* DCD078 802403A8 001017C3 */ sra $v0, $s0, 0x1f
/* DCD07C 802403AC 00005810 */ mfhi $t3
/* DCD080 802403B0 01701821 */ addu $v1, $t3, $s0
/* DCD084 802403B4 00031A03 */ sra $v1, $v1, 8
/* DCD088 802403B8 00621823 */ subu $v1, $v1, $v0
/* DCD08C 802403BC 00031040 */ sll $v0, $v1, 1
/* DCD090 802403C0 00431021 */ addu $v0, $v0, $v1
/* DCD094 802403C4 00021900 */ sll $v1, $v0, 4
/* DCD098 802403C8 00621823 */ subu $v1, $v1, $v0
/* DCD09C 802403CC 000318C0 */ sll $v1, $v1, 3
/* DCD0A0 802403D0 02031823 */ subu $v1, $s0, $v1
/* DCD0A4 802403D4 00640018 */ mult $v1, $a0
/* DCD0A8 802403D8 00005810 */ mfhi $t3
/* DCD0AC 802403DC 01631021 */ addu $v0, $t3, $v1
/* DCD0B0 802403E0 00021143 */ sra $v0, $v0, 5
/* DCD0B4 802403E4 00031FC3 */ sra $v1, $v1, 0x1f
/* DCD0B8 802403E8 00431023 */ subu $v0, $v0, $v1
/* DCD0BC 802403EC 24420008 */ addiu $v0, $v0, 8
/* DCD0C0 802403F0 00021080 */ sll $v0, $v0, 2
/* DCD0C4 802403F4 3C018024 */ lui $at, %hi(D_802451AC_DD1E7C)
/* DCD0C8 802403F8 00220821 */ addu $at, $at, $v0
/* DCD0CC 802403FC 8C2251AC */ lw $v0, %lo(D_802451AC_DD1E7C)($at)
/* DCD0D0 80240400 08090103 */ j .L8024040C
/* DCD0D4 80240404 AFA20014 */ sw $v0, 0x14($sp)
.L80240408:
/* DCD0D8 80240408 AFA00014 */ sw $zero, 0x14($sp)
.L8024040C:
/* DCD0DC 8024040C 2402FFFF */ addiu $v0, $zero, -1
/* DCD0E0 80240410 10A2001B */ beq $a1, $v0, .L80240480
/* DCD0E4 80240414 3C04B60B */ lui $a0, 0xb60b
/* DCD0E8 80240418 348460B7 */ ori $a0, $a0, 0x60b7
/* DCD0EC 8024041C 00A40018 */ mult $a1, $a0
/* DCD0F0 80240420 000517C3 */ sra $v0, $a1, 0x1f
/* DCD0F4 80240424 00005810 */ mfhi $t3
/* DCD0F8 80240428 01651821 */ addu $v1, $t3, $a1
/* DCD0FC 8024042C 00031A03 */ sra $v1, $v1, 8
/* DCD100 80240430 00621823 */ subu $v1, $v1, $v0
/* DCD104 80240434 00031040 */ sll $v0, $v1, 1
/* DCD108 80240438 00431021 */ addu $v0, $v0, $v1
/* DCD10C 8024043C 00021900 */ sll $v1, $v0, 4
/* DCD110 80240440 00621823 */ subu $v1, $v1, $v0
/* DCD114 80240444 000318C0 */ sll $v1, $v1, 3
/* DCD118 80240448 00A31823 */ subu $v1, $a1, $v1
/* DCD11C 8024044C 00640018 */ mult $v1, $a0
/* DCD120 80240450 00005810 */ mfhi $t3
/* DCD124 80240454 01631021 */ addu $v0, $t3, $v1
/* DCD128 80240458 00021143 */ sra $v0, $v0, 5
/* DCD12C 8024045C 00031FC3 */ sra $v1, $v1, 0x1f
/* DCD130 80240460 00431023 */ subu $v0, $v0, $v1
/* DCD134 80240464 24420010 */ addiu $v0, $v0, 0x10
/* DCD138 80240468 00021080 */ sll $v0, $v0, 2
/* DCD13C 8024046C 3C018024 */ lui $at, %hi(D_802451AC_DD1E7C)
/* DCD140 80240470 00220821 */ addu $at, $at, $v0
/* DCD144 80240474 8C2251AC */ lw $v0, %lo(D_802451AC_DD1E7C)($at)
/* DCD148 80240478 08090121 */ j .L80240484
/* DCD14C 8024047C AFA20018 */ sw $v0, 0x18($sp)
.L80240480:
/* DCD150 80240480 AFA00018 */ sw $zero, 0x18($sp)
.L80240484:
/* DCD154 80240484 0000482D */ daddu $t1, $zero, $zero
/* DCD158 80240488 27A80010 */ addiu $t0, $sp, 0x10
/* DCD15C 8024048C 0100502D */ daddu $t2, $t0, $zero
.L80240490:
/* DCD160 80240490 24060001 */ addiu $a2, $zero, 1
/* DCD164 80240494 0100382D */ daddu $a3, $t0, $zero
/* DCD168 80240498 25450004 */ addiu $a1, $t2, 4
.L8024049C:
/* DCD16C 8024049C 8CE40000 */ lw $a0, ($a3)
/* DCD170 802404A0 8CA30000 */ lw $v1, ($a1)
/* DCD174 802404A4 0064102A */ slt $v0, $v1, $a0
/* DCD178 802404A8 10400003 */ beqz $v0, .L802404B8
/* DCD17C 802404AC 24C60001 */ addiu $a2, $a2, 1
/* DCD180 802404B0 ACE30000 */ sw $v1, ($a3)
/* DCD184 802404B4 ACA40000 */ sw $a0, ($a1)
.L802404B8:
/* DCD188 802404B8 28C20003 */ slti $v0, $a2, 3
/* DCD18C 802404BC 1440FFF7 */ bnez $v0, .L8024049C
/* DCD190 802404C0 24A50004 */ addiu $a1, $a1, 4
/* DCD194 802404C4 25290001 */ addiu $t1, $t1, 1
/* DCD198 802404C8 29220002 */ slti $v0, $t1, 2
/* DCD19C 802404CC 1440FFF0 */ bnez $v0, .L80240490
/* DCD1A0 802404D0 25080004 */ addiu $t0, $t0, 4
/* DCD1A4 802404D4 8FA30014 */ lw $v1, 0x14($sp)
/* DCD1A8 802404D8 8FA20010 */ lw $v0, 0x10($sp)
/* DCD1AC 802404DC 14620007 */ bne $v1, $v0, .L802404FC
/* DCD1B0 802404E0 00000000 */ nop
/* DCD1B4 802404E4 8FA20018 */ lw $v0, 0x18($sp)
/* DCD1B8 802404E8 14620008 */ bne $v1, $v0, .L8024050C
/* DCD1BC 802404EC 24020002 */ addiu $v0, $zero, 2
/* DCD1C0 802404F0 24020003 */ addiu $v0, $zero, 3
/* DCD1C4 802404F4 08090144 */ j .L80240510
/* DCD1C8 802404F8 AE4200AC */ sw $v0, 0xac($s2)
.L802404FC:
/* DCD1CC 802404FC 8FA20018 */ lw $v0, 0x18($sp)
/* DCD1D0 80240500 54620003 */ bnel $v1, $v0, .L80240510
/* DCD1D4 80240504 AE4000AC */ sw $zero, 0xac($s2)
/* DCD1D8 80240508 24020002 */ addiu $v0, $zero, 2
.L8024050C:
/* DCD1DC 8024050C AE4200AC */ sw $v0, 0xac($s2)
.L80240510:
/* DCD1E0 80240510 8FA30014 */ lw $v1, 0x14($sp)
/* DCD1E4 80240514 AE4300B0 */ sw $v1, 0xb0($s2)
/* DCD1E8 80240518 8FBF002C */ lw $ra, 0x2c($sp)
/* DCD1EC 8024051C 8FB20028 */ lw $s2, 0x28($sp)
/* DCD1F0 80240520 8FB10024 */ lw $s1, 0x24($sp)
/* DCD1F4 80240524 8FB00020 */ lw $s0, 0x20($sp)
/* DCD1F8 80240528 24020002 */ addiu $v0, $zero, 2
/* DCD1FC 8024052C 03E00008 */ jr $ra
/* DCD200 80240530 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,114 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240534_DCD204
/* DCD204 80240534 27BDFFB0 */ addiu $sp, $sp, -0x50
/* DCD208 80240538 AFB40040 */ sw $s4, 0x40($sp)
/* DCD20C 8024053C AFBF0044 */ sw $ra, 0x44($sp)
/* DCD210 80240540 AFB3003C */ sw $s3, 0x3c($sp)
/* DCD214 80240544 AFB20038 */ sw $s2, 0x38($sp)
/* DCD218 80240548 AFB10034 */ sw $s1, 0x34($sp)
/* DCD21C 8024054C AFB00030 */ sw $s0, 0x30($sp)
/* DCD220 80240550 F7B40048 */ sdc1 $f20, 0x48($sp)
/* DCD224 80240554 10A0001B */ beqz $a1, .L802405C4
/* DCD228 80240558 0080A02D */ daddu $s4, $a0, $zero
/* DCD22C 8024055C 0C00AB39 */ jal heap_malloc
/* DCD230 80240560 24040010 */ addiu $a0, $zero, 0x10
/* DCD234 80240564 0000902D */ daddu $s2, $zero, $zero
/* DCD238 80240568 0040802D */ daddu $s0, $v0, $zero
/* DCD23C 8024056C 3C0142C8 */ lui $at, 0x42c8
/* DCD240 80240570 4481A000 */ mtc1 $at, $f20
/* DCD244 80240574 3C118024 */ lui $s1, %hi(D_8024636C_DD303C)
/* DCD248 80240578 2631636C */ addiu $s1, $s1, %lo(D_8024636C_DD303C)
/* DCD24C 8024057C AE900070 */ sw $s0, 0x70($s4)
.L80240580:
/* DCD250 80240580 8E240000 */ lw $a0, ($s1)
/* DCD254 80240584 0C046C04 */ jal get_model_list_index_from_tree_index
/* DCD258 80240588 26310004 */ addiu $s1, $s1, 4
/* DCD25C 8024058C 0C046B4C */ jal get_model_from_list_index
/* DCD260 80240590 0040202D */ daddu $a0, $v0, $zero
/* DCD264 80240594 C440009C */ lwc1 $f0, 0x9c($v0)
/* DCD268 80240598 26520001 */ addiu $s2, $s2, 1
/* DCD26C 8024059C 46140001 */ sub.s $f0, $f0, $f20
/* DCD270 802405A0 8C450098 */ lw $a1, 0x98($v0)
/* DCD274 802405A4 8C4700A0 */ lw $a3, 0xa0($v0)
/* DCD278 802405A8 44060000 */ mfc1 $a2, $f0
/* DCD27C 802405AC 0C044898 */ jal create_shadow_type
/* DCD280 802405B0 24040001 */ addiu $a0, $zero, 1
/* DCD284 802405B4 AE020000 */ sw $v0, ($s0)
/* DCD288 802405B8 2E420004 */ sltiu $v0, $s2, 4
/* DCD28C 802405BC 1440FFF0 */ bnez $v0, .L80240580
/* DCD290 802405C0 26100004 */ addiu $s0, $s0, 4
.L802405C4:
/* DCD294 802405C4 0000902D */ daddu $s2, $zero, $zero
/* DCD298 802405C8 3C138024 */ lui $s3, %hi(D_8024636C_DD303C)
/* DCD29C 802405CC 2673636C */ addiu $s3, $s3, %lo(D_8024636C_DD303C)
/* DCD2A0 802405D0 3C013FA6 */ lui $at, 0x3fa6
/* DCD2A4 802405D4 34216666 */ ori $at, $at, 0x6666
/* DCD2A8 802405D8 4481A000 */ mtc1 $at, $f20
/* DCD2AC 802405DC 8E910070 */ lw $s1, 0x70($s4)
.L802405E0:
/* DCD2B0 802405E0 8E240000 */ lw $a0, ($s1)
/* DCD2B4 802405E4 26310004 */ addiu $s1, $s1, 4
/* DCD2B8 802405E8 0C044181 */ jal get_shadow_by_index
/* DCD2BC 802405EC 26520001 */ addiu $s2, $s2, 1
/* DCD2C0 802405F0 8E640000 */ lw $a0, ($s3)
/* DCD2C4 802405F4 0C046C04 */ jal get_model_list_index_from_tree_index
/* DCD2C8 802405F8 0040802D */ daddu $s0, $v0, $zero
/* DCD2CC 802405FC 0C046B4C */ jal get_model_from_list_index
/* DCD2D0 80240600 0040202D */ daddu $a0, $v0, $zero
/* DCD2D4 80240604 27A40018 */ addiu $a0, $sp, 0x18
/* DCD2D8 80240608 27A5001C */ addiu $a1, $sp, 0x1c
/* DCD2DC 8024060C 27A60020 */ addiu $a2, $sp, 0x20
/* DCD2E0 80240610 27A70024 */ addiu $a3, $sp, 0x24
/* DCD2E4 80240614 C4400098 */ lwc1 $f0, 0x98($v0)
/* DCD2E8 80240618 C442009C */ lwc1 $f2, 0x9c($v0)
/* DCD2EC 8024061C C44400A0 */ lwc1 $f4, 0xa0($v0)
/* DCD2F0 80240620 3C01447A */ lui $at, 0x447a
/* DCD2F4 80240624 44813000 */ mtc1 $at, $f6
/* DCD2F8 80240628 27A20028 */ addiu $v0, $sp, 0x28
/* DCD2FC 8024062C E7A00018 */ swc1 $f0, 0x18($sp)
/* DCD300 80240630 E7A2001C */ swc1 $f2, 0x1c($sp)
/* DCD304 80240634 E7A40020 */ swc1 $f4, 0x20($sp)
/* DCD308 80240638 E7A6002C */ swc1 $f6, 0x2c($sp)
/* DCD30C 8024063C AFA20010 */ sw $v0, 0x10($sp)
/* DCD310 80240640 27A2002C */ addiu $v0, $sp, 0x2c
/* DCD314 80240644 0C04497A */ jal entity_raycast_down
/* DCD318 80240648 AFA20014 */ sw $v0, 0x14($sp)
/* DCD31C 8024064C 8FA5002C */ lw $a1, 0x2c($sp)
/* DCD320 80240650 0C044A17 */ jal set_standard_shadow_scale
/* DCD324 80240654 0200202D */ daddu $a0, $s0, $zero
/* DCD328 80240658 26730004 */ addiu $s3, $s3, 4
/* DCD32C 8024065C C7A00018 */ lwc1 $f0, 0x18($sp)
/* DCD330 80240660 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* DCD334 80240664 C604001C */ lwc1 $f4, 0x1c($s0)
/* DCD338 80240668 2E420004 */ sltiu $v0, $s2, 4
/* DCD33C 8024066C AE00002C */ sw $zero, 0x2c($s0)
/* DCD340 80240670 46142102 */ mul.s $f4, $f4, $f20
/* DCD344 80240674 00000000 */ nop
/* DCD348 80240678 E6000010 */ swc1 $f0, 0x10($s0)
/* DCD34C 8024067C E6020014 */ swc1 $f2, 0x14($s0)
/* DCD350 80240680 C7A60020 */ lwc1 $f6, 0x20($sp)
/* DCD354 80240684 C7A80024 */ lwc1 $f8, 0x24($sp)
/* DCD358 80240688 C6000024 */ lwc1 $f0, 0x24($s0)
/* DCD35C 8024068C C7A20028 */ lwc1 $f2, 0x28($sp)
/* DCD360 80240690 46140002 */ mul.s $f0, $f0, $f20
/* DCD364 80240694 00000000 */ nop
/* DCD368 80240698 E6060018 */ swc1 $f6, 0x18($s0)
/* DCD36C 8024069C E6080028 */ swc1 $f8, 0x28($s0)
/* DCD370 802406A0 E6020030 */ swc1 $f2, 0x30($s0)
/* DCD374 802406A4 E604001C */ swc1 $f4, 0x1c($s0)
/* DCD378 802406A8 1440FFCD */ bnez $v0, .L802405E0
/* DCD37C 802406AC E6000024 */ swc1 $f0, 0x24($s0)
/* DCD380 802406B0 8FBF0044 */ lw $ra, 0x44($sp)
/* DCD384 802406B4 8FB40040 */ lw $s4, 0x40($sp)
/* DCD388 802406B8 8FB3003C */ lw $s3, 0x3c($sp)
/* DCD38C 802406BC 8FB20038 */ lw $s2, 0x38($sp)
/* DCD390 802406C0 8FB10034 */ lw $s1, 0x34($sp)
/* DCD394 802406C4 8FB00030 */ lw $s0, 0x30($sp)
/* DCD398 802406C8 D7B40048 */ ldc1 $f20, 0x48($sp)
/* DCD39C 802406CC 0000102D */ daddu $v0, $zero, $zero
/* DCD3A0 802406D0 03E00008 */ jr $ra
/* DCD3A4 802406D4 27BD0050 */ addiu $sp, $sp, 0x50
/* DCD3A8 802406D8 00000000 */ nop
/* DCD3AC 802406DC 00000000 */ nop

View File

@ -1,111 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_DDC830
/* DDC830 80240000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* DDC834 80240004 AFB40040 */ sw $s4, 0x40($sp)
/* DDC838 80240008 AFBF0044 */ sw $ra, 0x44($sp)
/* DDC83C 8024000C AFB3003C */ sw $s3, 0x3c($sp)
/* DDC840 80240010 AFB20038 */ sw $s2, 0x38($sp)
/* DDC844 80240014 AFB10034 */ sw $s1, 0x34($sp)
/* DDC848 80240018 AFB00030 */ sw $s0, 0x30($sp)
/* DDC84C 8024001C F7B40048 */ sdc1 $f20, 0x48($sp)
/* DDC850 80240020 10A0001B */ beqz $a1, .L80240090
/* DDC854 80240024 0080A02D */ daddu $s4, $a0, $zero
/* DDC858 80240028 0C00AB39 */ jal heap_malloc
/* DDC85C 8024002C 24040020 */ addiu $a0, $zero, 0x20
/* DDC860 80240030 0000902D */ daddu $s2, $zero, $zero
/* DDC864 80240034 0040802D */ daddu $s0, $v0, $zero
/* DDC868 80240038 3C0142C8 */ lui $at, 0x42c8
/* DDC86C 8024003C 4481A000 */ mtc1 $at, $f20
/* DDC870 80240040 3C118024 */ lui $s1, %hi(D_80241740_DDDF70)
/* DDC874 80240044 26311740 */ addiu $s1, $s1, %lo(D_80241740_DDDF70)
/* DDC878 80240048 AE900070 */ sw $s0, 0x70($s4)
.L8024004C:
/* DDC87C 8024004C 8E240000 */ lw $a0, ($s1)
/* DDC880 80240050 0C046C04 */ jal get_model_list_index_from_tree_index
/* DDC884 80240054 26310004 */ addiu $s1, $s1, 4
/* DDC888 80240058 0C046B4C */ jal get_model_from_list_index
/* DDC88C 8024005C 0040202D */ daddu $a0, $v0, $zero
/* DDC890 80240060 C440009C */ lwc1 $f0, 0x9c($v0)
/* DDC894 80240064 26520001 */ addiu $s2, $s2, 1
/* DDC898 80240068 46140001 */ sub.s $f0, $f0, $f20
/* DDC89C 8024006C 8C450098 */ lw $a1, 0x98($v0)
/* DDC8A0 80240070 8C4700A0 */ lw $a3, 0xa0($v0)
/* DDC8A4 80240074 44060000 */ mfc1 $a2, $f0
/* DDC8A8 80240078 0C044898 */ jal create_shadow_type
/* DDC8AC 8024007C 0000202D */ daddu $a0, $zero, $zero
/* DDC8B0 80240080 AE020000 */ sw $v0, ($s0)
/* DDC8B4 80240084 2E420008 */ sltiu $v0, $s2, 8
/* DDC8B8 80240088 1440FFF0 */ bnez $v0, .L8024004C
/* DDC8BC 8024008C 26100004 */ addiu $s0, $s0, 4
.L80240090:
/* DDC8C0 80240090 0000902D */ daddu $s2, $zero, $zero
/* DDC8C4 80240094 3C138024 */ lui $s3, %hi(D_80241740_DDDF70)
/* DDC8C8 80240098 26731740 */ addiu $s3, $s3, %lo(D_80241740_DDDF70)
/* DDC8CC 8024009C 3C014040 */ lui $at, 0x4040
/* DDC8D0 802400A0 4481A000 */ mtc1 $at, $f20
/* DDC8D4 802400A4 8E910070 */ lw $s1, 0x70($s4)
.L802400A8:
/* DDC8D8 802400A8 8E240000 */ lw $a0, ($s1)
/* DDC8DC 802400AC 26310004 */ addiu $s1, $s1, 4
/* DDC8E0 802400B0 0C044181 */ jal get_shadow_by_index
/* DDC8E4 802400B4 26520001 */ addiu $s2, $s2, 1
/* DDC8E8 802400B8 8E640000 */ lw $a0, ($s3)
/* DDC8EC 802400BC 0C046C04 */ jal get_model_list_index_from_tree_index
/* DDC8F0 802400C0 0040802D */ daddu $s0, $v0, $zero
/* DDC8F4 802400C4 0C046B4C */ jal get_model_from_list_index
/* DDC8F8 802400C8 0040202D */ daddu $a0, $v0, $zero
/* DDC8FC 802400CC 27A40018 */ addiu $a0, $sp, 0x18
/* DDC900 802400D0 27A5001C */ addiu $a1, $sp, 0x1c
/* DDC904 802400D4 27A60020 */ addiu $a2, $sp, 0x20
/* DDC908 802400D8 27A70024 */ addiu $a3, $sp, 0x24
/* DDC90C 802400DC C4400098 */ lwc1 $f0, 0x98($v0)
/* DDC910 802400E0 C442009C */ lwc1 $f2, 0x9c($v0)
/* DDC914 802400E4 C44400A0 */ lwc1 $f4, 0xa0($v0)
/* DDC918 802400E8 3C01447A */ lui $at, 0x447a
/* DDC91C 802400EC 44813000 */ mtc1 $at, $f6
/* DDC920 802400F0 27A20028 */ addiu $v0, $sp, 0x28
/* DDC924 802400F4 E7A00018 */ swc1 $f0, 0x18($sp)
/* DDC928 802400F8 E7A2001C */ swc1 $f2, 0x1c($sp)
/* DDC92C 802400FC E7A40020 */ swc1 $f4, 0x20($sp)
/* DDC930 80240100 E7A6002C */ swc1 $f6, 0x2c($sp)
/* DDC934 80240104 AFA20010 */ sw $v0, 0x10($sp)
/* DDC938 80240108 27A2002C */ addiu $v0, $sp, 0x2c
/* DDC93C 8024010C 0C04497A */ jal entity_raycast_down
/* DDC940 80240110 AFA20014 */ sw $v0, 0x14($sp)
/* DDC944 80240114 8FA5002C */ lw $a1, 0x2c($sp)
/* DDC948 80240118 0C044A17 */ jal set_standard_shadow_scale
/* DDC94C 8024011C 0200202D */ daddu $a0, $s0, $zero
/* DDC950 80240120 26730004 */ addiu $s3, $s3, 4
/* DDC954 80240124 C7A00018 */ lwc1 $f0, 0x18($sp)
/* DDC958 80240128 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* DDC95C 8024012C C604001C */ lwc1 $f4, 0x1c($s0)
/* DDC960 80240130 2E420008 */ sltiu $v0, $s2, 8
/* DDC964 80240134 AE00002C */ sw $zero, 0x2c($s0)
/* DDC968 80240138 46142102 */ mul.s $f4, $f4, $f20
/* DDC96C 8024013C 00000000 */ nop
/* DDC970 80240140 E6000010 */ swc1 $f0, 0x10($s0)
/* DDC974 80240144 E6020014 */ swc1 $f2, 0x14($s0)
/* DDC978 80240148 C7A60020 */ lwc1 $f6, 0x20($sp)
/* DDC97C 8024014C C7A80024 */ lwc1 $f8, 0x24($sp)
/* DDC980 80240150 C6000024 */ lwc1 $f0, 0x24($s0)
/* DDC984 80240154 C7A20028 */ lwc1 $f2, 0x28($sp)
/* DDC988 80240158 46140002 */ mul.s $f0, $f0, $f20
/* DDC98C 8024015C 00000000 */ nop
/* DDC990 80240160 E6060018 */ swc1 $f6, 0x18($s0)
/* DDC994 80240164 E6080028 */ swc1 $f8, 0x28($s0)
/* DDC998 80240168 E6020030 */ swc1 $f2, 0x30($s0)
/* DDC99C 8024016C E604001C */ swc1 $f4, 0x1c($s0)
/* DDC9A0 80240170 1440FFCD */ bnez $v0, .L802400A8
/* DDC9A4 80240174 E6000024 */ swc1 $f0, 0x24($s0)
/* DDC9A8 80240178 8FBF0044 */ lw $ra, 0x44($sp)
/* DDC9AC 8024017C 8FB40040 */ lw $s4, 0x40($sp)
/* DDC9B0 80240180 8FB3003C */ lw $s3, 0x3c($sp)
/* DDC9B4 80240184 8FB20038 */ lw $s2, 0x38($sp)
/* DDC9B8 80240188 8FB10034 */ lw $s1, 0x34($sp)
/* DDC9BC 8024018C 8FB00030 */ lw $s0, 0x30($sp)
/* DDC9C0 80240190 D7B40048 */ ldc1 $f20, 0x48($sp)
/* DDC9C4 80240194 0000102D */ daddu $v0, $zero, $zero
/* DDC9C8 80240198 03E00008 */ jr $ra
/* DDC9CC 8024019C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,170 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_DE2490
/* DE2490 80240000 27BDFF30 */ addiu $sp, $sp, -0xd0
/* DE2494 80240004 AFB600B0 */ sw $s6, 0xb0($sp)
/* DE2498 80240008 AFBF00B4 */ sw $ra, 0xb4($sp)
/* DE249C 8024000C AFB500AC */ sw $s5, 0xac($sp)
/* DE24A0 80240010 AFB400A8 */ sw $s4, 0xa8($sp)
/* DE24A4 80240014 AFB300A4 */ sw $s3, 0xa4($sp)
/* DE24A8 80240018 AFB200A0 */ sw $s2, 0xa0($sp)
/* DE24AC 8024001C AFB1009C */ sw $s1, 0x9c($sp)
/* DE24B0 80240020 AFB00098 */ sw $s0, 0x98($sp)
/* DE24B4 80240024 F7B800C8 */ sdc1 $f24, 0xc8($sp)
/* DE24B8 80240028 F7B600C0 */ sdc1 $f22, 0xc0($sp)
/* DE24BC 8024002C F7B400B8 */ sdc1 $f20, 0xb8($sp)
/* DE24C0 80240030 10A0001D */ beqz $a1, .L802400A8
/* DE24C4 80240034 0080B02D */ daddu $s6, $a0, $zero
/* DE24C8 80240038 0C00AB39 */ jal heap_malloc
/* DE24CC 8024003C 24040018 */ addiu $a0, $zero, 0x18
/* DE24D0 80240040 0040982D */ daddu $s3, $v0, $zero
/* DE24D4 80240044 0000A02D */ daddu $s4, $zero, $zero
/* DE24D8 80240048 26700008 */ addiu $s0, $s3, 8
/* DE24DC 8024004C 3C014060 */ lui $at, 0x4060
/* DE24E0 80240050 4481A000 */ mtc1 $at, $f20
/* DE24E4 80240054 3C128024 */ lui $s2, %hi(D_80241A78_DE3F08)
/* DE24E8 80240058 26521A78 */ addiu $s2, $s2, %lo(D_80241A78_DE3F08)
/* DE24EC 8024005C AED30070 */ sw $s3, 0x70($s6)
.L80240060:
/* DE24F0 80240060 8E440000 */ lw $a0, ($s2)
/* DE24F4 80240064 26520004 */ addiu $s2, $s2, 4
/* DE24F8 80240068 0C046C04 */ jal get_model_list_index_from_tree_index
/* DE24FC 8024006C AE04000C */ sw $a0, 0xc($s0)
/* DE2500 80240070 0C046B4C */ jal get_model_from_list_index
/* DE2504 80240074 0040202D */ daddu $a0, $v0, $zero
/* DE2508 80240078 0040882D */ daddu $s1, $v0, $zero
/* DE250C 8024007C C6200098 */ lwc1 $f0, 0x98($s1)
/* DE2510 80240080 26940001 */ addiu $s4, $s4, 1
/* DE2514 80240084 E6600000 */ swc1 $f0, ($s3)
/* DE2518 80240088 C62000A0 */ lwc1 $f0, 0xa0($s1)
/* DE251C 8024008C 26730018 */ addiu $s3, $s3, 0x18
/* DE2520 80240090 E6140004 */ swc1 $f20, 4($s0)
/* DE2524 80240094 AE000008 */ sw $zero, 8($s0)
/* DE2528 80240098 AE000000 */ sw $zero, ($s0)
/* DE252C 8024009C E600FFFC */ swc1 $f0, -4($s0)
/* DE2530 802400A0 1280FFEF */ beqz $s4, .L80240060
/* DE2534 802400A4 26100018 */ addiu $s0, $s0, 0x18
.L802400A8:
/* DE2538 802400A8 0000A02D */ daddu $s4, $zero, $zero
/* DE253C 802400AC 27B50058 */ addiu $s5, $sp, 0x58
/* DE2540 802400B0 8ED30070 */ lw $s3, 0x70($s6)
/* DE2544 802400B4 4480B000 */ mtc1 $zero, $f22
/* DE2548 802400B8 26720004 */ addiu $s2, $s3, 4
.L802400BC:
/* DE254C 802400BC C64C000C */ lwc1 $f12, 0xc($s2)
/* DE2550 802400C0 C6400008 */ lwc1 $f0, 8($s2)
/* DE2554 802400C4 46006300 */ add.s $f12, $f12, $f0
/* DE2558 802400C8 0C00A6C9 */ jal clamp_angle
/* DE255C 802400CC E64C000C */ swc1 $f12, 0xc($s2)
/* DE2560 802400D0 3C014048 */ lui $at, 0x4048
/* DE2564 802400D4 3421F5C3 */ ori $at, $at, 0xf5c3
/* DE2568 802400D8 44816000 */ mtc1 $at, $f12
/* DE256C 802400DC 00000000 */ nop
/* DE2570 802400E0 460C0302 */ mul.s $f12, $f0, $f12
/* DE2574 802400E4 00000000 */ nop
/* DE2578 802400E8 3C014334 */ lui $at, 0x4334
/* DE257C 802400EC 44811000 */ mtc1 $at, $f2
/* DE2580 802400F0 E640000C */ swc1 $f0, 0xc($s2)
/* DE2584 802400F4 0C00A85B */ jal sin_rad
/* DE2588 802400F8 46026303 */ div.s $f12, $f12, $f2
/* DE258C 802400FC 3C0141A0 */ lui $at, 0x41a0
/* DE2590 80240100 44811000 */ mtc1 $at, $f2
/* DE2594 80240104 00000000 */ nop
/* DE2598 80240108 46020502 */ mul.s $f20, $f0, $f2
/* DE259C 8024010C 00000000 */ nop
/* DE25A0 80240110 4614A082 */ mul.s $f2, $f20, $f20
/* DE25A4 80240114 00000000 */ nop
/* DE25A8 80240118 3C0142B4 */ lui $at, 0x42b4
/* DE25AC 8024011C 44810000 */ mtc1 $at, $f0
/* DE25B0 80240120 1680001B */ bnez $s4, .L80240190
/* DE25B4 80240124 46001603 */ div.s $f24, $f2, $f0
/* DE25B8 80240128 C6400004 */ lwc1 $f0, 4($s2)
/* DE25BC 8024012C 4600B03E */ c.le.s $f22, $f0
/* DE25C0 80240130 00000000 */ nop
/* DE25C4 80240134 45000005 */ bc1f .L8024014C
/* DE25C8 80240138 00000000 */ nop
/* DE25CC 8024013C 4616A03C */ c.lt.s $f20, $f22
/* DE25D0 80240140 00000000 */ nop
/* DE25D4 80240144 4501000A */ bc1t .L80240170
/* DE25D8 80240148 240401D6 */ addiu $a0, $zero, 0x1d6
.L8024014C:
/* DE25DC 8024014C 4616003C */ c.lt.s $f0, $f22
/* DE25E0 80240150 00000000 */ nop
/* DE25E4 80240154 4502000E */ bc1fl .L80240190
/* DE25E8 80240158 E6540004 */ swc1 $f20, 4($s2)
/* DE25EC 8024015C 4614B03E */ c.le.s $f22, $f20
/* DE25F0 80240160 00000000 */ nop
/* DE25F4 80240164 4502000A */ bc1fl .L80240190
/* DE25F8 80240168 E6540004 */ swc1 $f20, 4($s2)
/* DE25FC 8024016C 240401D6 */ addiu $a0, $zero, 0x1d6
.L80240170:
/* DE2600 80240170 0000282D */ daddu $a1, $zero, $zero
/* DE2604 80240174 3C06C3A0 */ lui $a2, 0xc3a0
/* DE2608 80240178 3C0142BE */ lui $at, 0x42be
/* DE260C 8024017C 44810000 */ mtc1 $at, $f0
/* DE2610 80240180 0000382D */ daddu $a3, $zero, $zero
/* DE2614 80240184 0C052757 */ jal sfx_play_sound_at_position
/* DE2618 80240188 E7A00010 */ swc1 $f0, 0x10($sp)
/* DE261C 8024018C E6540004 */ swc1 $f20, 4($s2)
.L80240190:
/* DE2620 80240190 8E440010 */ lw $a0, 0x10($s2)
/* DE2624 80240194 0C046C04 */ jal get_model_list_index_from_tree_index
/* DE2628 80240198 26940001 */ addiu $s4, $s4, 1
/* DE262C 8024019C 0C046B4C */ jal get_model_from_list_index
/* DE2630 802401A0 0040202D */ daddu $a0, $v0, $zero
/* DE2634 802401A4 0040882D */ daddu $s1, $v0, $zero
/* DE2638 802401A8 96220000 */ lhu $v0, ($s1)
/* DE263C 802401AC 4406B000 */ mfc1 $a2, $f22
/* DE2640 802401B0 34421400 */ ori $v0, $v0, 0x1400
/* DE2644 802401B4 A6220000 */ sh $v0, ($s1)
/* DE2648 802401B8 C6600000 */ lwc1 $f0, ($s3)
/* DE264C 802401BC C6420000 */ lwc1 $f2, ($s2)
/* DE2650 802401C0 46000007 */ neg.s $f0, $f0
/* DE2654 802401C4 46001087 */ neg.s $f2, $f2
/* DE2658 802401C8 44050000 */ mfc1 $a1, $f0
/* DE265C 802401CC 44071000 */ mfc1 $a3, $f2
/* DE2660 802401D0 0C019E40 */ jal guTranslateF
/* DE2664 802401D4 27A40018 */ addiu $a0, $sp, 0x18
/* DE2668 802401D8 4405A000 */ mfc1 $a1, $f20
/* DE266C 802401DC 4406B000 */ mfc1 $a2, $f22
/* DE2670 802401E0 4407B000 */ mfc1 $a3, $f22
/* DE2674 802401E4 3C013F80 */ lui $at, 0x3f80
/* DE2678 802401E8 44810000 */ mtc1 $at, $f0
/* DE267C 802401EC 02A0202D */ daddu $a0, $s5, $zero
/* DE2680 802401F0 0C019EC8 */ jal guRotateF
/* DE2684 802401F4 E7A00010 */ swc1 $f0, 0x10($sp)
/* DE2688 802401F8 27A40018 */ addiu $a0, $sp, 0x18
/* DE268C 802401FC 02A0282D */ daddu $a1, $s5, $zero
/* DE2690 80240200 26300058 */ addiu $s0, $s1, 0x58
/* DE2694 80240204 0C019D80 */ jal guMtxCatF
/* DE2698 80240208 0200302D */ daddu $a2, $s0, $zero
/* DE269C 8024020C 27A40018 */ addiu $a0, $sp, 0x18
/* DE26A0 80240210 8E470000 */ lw $a3, ($s2)
/* DE26A4 80240214 26520018 */ addiu $s2, $s2, 0x18
/* DE26A8 80240218 8E650000 */ lw $a1, ($s3)
/* DE26AC 8024021C 4406C000 */ mfc1 $a2, $f24
/* DE26B0 80240220 0C019E40 */ jal guTranslateF
/* DE26B4 80240224 26730018 */ addiu $s3, $s3, 0x18
/* DE26B8 80240228 0200202D */ daddu $a0, $s0, $zero
/* DE26BC 8024022C 27A50018 */ addiu $a1, $sp, 0x18
/* DE26C0 80240230 0C019D80 */ jal guMtxCatF
/* DE26C4 80240234 0080302D */ daddu $a2, $a0, $zero
/* DE26C8 80240238 1280FFA0 */ beqz $s4, .L802400BC
/* DE26CC 8024023C 0000102D */ daddu $v0, $zero, $zero
/* DE26D0 80240240 8FBF00B4 */ lw $ra, 0xb4($sp)
/* DE26D4 80240244 8FB600B0 */ lw $s6, 0xb0($sp)
/* DE26D8 80240248 8FB500AC */ lw $s5, 0xac($sp)
/* DE26DC 8024024C 8FB400A8 */ lw $s4, 0xa8($sp)
/* DE26E0 80240250 8FB300A4 */ lw $s3, 0xa4($sp)
/* DE26E4 80240254 8FB200A0 */ lw $s2, 0xa0($sp)
/* DE26E8 80240258 8FB1009C */ lw $s1, 0x9c($sp)
/* DE26EC 8024025C 8FB00098 */ lw $s0, 0x98($sp)
/* DE26F0 80240260 D7B800C8 */ ldc1 $f24, 0xc8($sp)
/* DE26F4 80240264 D7B600C0 */ ldc1 $f22, 0xc0($sp)
/* DE26F8 80240268 D7B400B8 */ ldc1 $f20, 0xb8($sp)
/* DE26FC 8024026C 03E00008 */ jr $ra
/* DE2700 80240270 27BD00D0 */ addiu $sp, $sp, 0xd0
/* DE2704 80240274 00000000 */ nop
/* DE2708 80240278 00000000 */ nop
/* DE270C 8024027C 00000000 */ nop

View File

@ -10240,7 +10240,7 @@ segments:
- [0xA2FAA0, data] - [0xA2FAA0, data]
- [0xA2FCD0, data] - [0xA2FCD0, data]
- [0xA30810, data] - [0xA30810, data]
- [0xA37CD0, data] - [0xA37CD0, .data, A2EC30]
- [0xA37E70, data] - [0xA37E70, data]
- [0xA39400] - [0xA39400]
- name: hos_06 - name: hos_06

View File

@ -18254,9 +18254,7 @@ D_8024DA94_A37CD4 = 0x8024DA94; // type:data rom:0xA37CD4
D_8024DA98_A37CD8 = 0x8024DA98; // type:data rom:0xA37CD8 D_8024DA98_A37CD8 = 0x8024DA98; // type:data rom:0xA37CD8
D_8024DBCC_A37E0C = 0x8024DBCC; // type:data rom:0xA37E0C D_8024DBCC_A37E0C = 0x8024DBCC; // type:data rom:0xA37E0C
D_8024DCCC_A37F0C = 0x8024DCCC; // type:data rom:0xA37F0C D_8024DCCC_A37F0C = 0x8024DCCC; // type:data rom:0xA37F0C
D_8024DCCF_A37F0F = 0x8024DCCF; // type:data rom:0xA37F0F
D_8024DCD0_A37F10 = 0x8024DCD0; // type:data rom:0xA37F10 D_8024DCD0_A37F10 = 0x8024DCD0; // type:data rom:0xA37F10
D_8024DCD3_A37F13 = 0x8024DCD3; // type:data rom:0xA37F13
D_8024F1D0_A39410 = 0x8024F1D0; // type:data rom:0xA39410 D_8024F1D0_A39410 = 0x8024F1D0; // type:data rom:0xA39410
D_8024F1D8_A39418 = 0x8024F1D8; // type:data rom:0xA39418 D_8024F1D8_A39418 = 0x8024F1D8; // type:data rom:0xA39418
D_8024F1E0_A39420 = 0x8024F1E0; // type:data rom:0xA39420 D_8024F1E0_A39420 = 0x8024F1E0; // type:data rom:0xA39420

View File

@ -757,6 +757,7 @@ D_8024F580_hos_05 = 0x8024F580;
osr_00_802437C0 = 0x802437C0; osr_00_802437C0 = 0x802437C0;
mim_03_802424E0 = 0x802424E0; mim_03_802424E0 = 0x802424E0;
sam_04_80245210 = 0x80245210; sam_04_80245210 = 0x80245210;
D_80243380 = 0x80243380;
obk_01_802458F0 = 0x802458F0; obk_01_802458F0 = 0x802458F0;
omo_13_80243220 = 0x80243220; omo_13_80243220 = 0x80243220;