diff --git a/include/macros.h b/include/macros.h index 77da1ed271..0bd121111a 100644 --- a/include/macros.h +++ b/include/macros.h @@ -23,8 +23,13 @@ #define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) +#if !defined(PERMUTER) #define NOP_FIX __asm__(".set nogpopt"); #define NOP_UNFIX __asm__(".set gpopt"); +#else +#define NOP_FIX +#define NOP_UNFIX +#endif #define PTR_LIST_END ((void*) -1) diff --git a/src/415D90.c b/src/415D90.c index 7c3fed141e..cd61c6621f 100644 --- a/src/415D90.c +++ b/src/415D90.c @@ -2136,108 +2136,113 @@ s32 func_802A58D0(void) { return !partnerCantMove; } +void btl_init_menu_boots(void); +void btl_init_menu_hammer(void); + // Some issue with the popup bss #ifdef NON_MATCHING void btl_state_update_player_menu(void) { - BattleStatus* battleStatus = &gBattleStatus; - PlayerData* playerData = &gPlayerData; - Actor* player = battleStatus->playerActor; - Actor* partner = battleStatus->partnerActor; - IconHudScriptPair* hudScriptPair; + BattleStatus* battleStatus = &gBattleStatus; // s6 + PlayerData* playerData = &gPlayerData; // s5 + Actor* playerActor = battleStatus->playerActor; // s7 + Actor* partnerActor = battleStatus->partnerActor; // s1 + PopupMenu* popup = &D_802ACCD0; MoveData* moveData; - ItemData* itemData; - s32 partnerID; - s32 moveID; - s32 s00; - s32 s4; - s32 s_8; + s32 s4, s8; + s32 s0; s32 i; - s32 p; - - s32 var_s0; - - s32* temp_v1_12; - + s32 s00; + s32 s1, v0, s; + ItemData* itemData; + s32 starBeamLevel; s32 currentSubmenu; - s32 var_fp_2; - s32 s1; - s32 v0; + s32 currentSubmenu2; + IconHudScriptPair* hudScriptPair; + PartnerPopupProperties* prop; + s32 new_var; + s32 moveID; +/* + var target current + + playerData s5 s3 + i s3 s2 + &gItemTables s4 s5 + 2 at 0x9BC s2 s4 + moveData s2 s5 + hudScriptPair at 0xE70 s5 a1 +*/ switch (gBattleSubState) { - case 0x0: + case 0: battleStatus->moveCategory = -1; battleStatus->selectedMoveID = 0; battleStatus->currentAttackElement = 0; - if (can_btl_state_update_switch_to_player()) { - btl_cam_use_preset(2); - btl_cam_move(0xA); - if (!(gBattleStatus.flags1 & 0x100000)) { - gBattleSubState = 0x12E; - } else { - partner->state.currentPos.x = partner->homePos.x; - partner->state.currentPos.z = partner->homePos.z; - partner->state.goalPos.x = player->homePos.x; - partner->state.goalPos.z = player->homePos.z; - partner->state.moveTime = 4; - partner->state.angle = 0.0f; - gBattleSubState = 0x12C; - } - break; - } else { + if (!can_btl_state_update_switch_to_player()) { btl_set_state(0x16); return; } - break; - case 0x12C: - if (partner->state.moveTime != 0) { - partner->currentPos.x += (partner->state.goalPos.x - partner->currentPos.x) / partner->state.moveTime; - partner->currentPos.z += (partner->state.goalPos.z - partner->currentPos.z) / partner->state.moveTime; - player->currentPos.x += (partner->state.currentPos.x - player->currentPos.x) / partner->state.moveTime; - player->currentPos.z += (partner->state.currentPos.z - player->currentPos.z) / partner->state.moveTime; - } - partner->currentPos.z -= sin_rad(DEG_TO_RAD(partner->state.angle)) * 16.0f; - partner->yaw = clamp_angle(-partner->state.angle); - player->currentPos.z += sin_rad(DEG_TO_RAD(partner->state.angle)) * 16.0f; - player->yaw = clamp_angle(-partner->state.angle); - partner->state.angle += 90.0f; - if (partner->state.moveTime != 0) { - partner->state.moveTime--; + btl_cam_use_preset(2); + btl_cam_move(10); + if (!(battleStatus->flags1 & 0x100000)) { + gBattleSubState = 0x12e; } else { - partner->currentPos.x = partner->state.goalPos.x; - partner->currentPos.z = partner->state.goalPos.z; - player->currentPos.x = partner->state.currentPos.x; - player->currentPos.z = partner->state.currentPos.z; - partner->homePos.x = partner->currentPos.x; - partner->homePos.z = partner->currentPos.z; - player->homePos.x = player->currentPos.x; - player->homePos.z = player->currentPos.z; - gBattleSubState = 0x12E; - gBattleStatus.flags1 &= ~0x100000; + gBattleSubState = 0x12c; + partnerActor->state.currentPos.x = partnerActor->homePos.x; + partnerActor->state.currentPos.z = partnerActor->homePos.z; + partnerActor->state.goalPos.x = playerActor->homePos.x; + partnerActor->state.goalPos.z = playerActor->homePos.z; + partnerActor->state.moveTime = 4; + partnerActor->state.angle = 0.0f; + } + break; + case 0x12c: + if (partnerActor->state.moveTime != 0) { + partnerActor->currentPos.x += (partnerActor->state.goalPos.x - partnerActor->currentPos.x) / partnerActor->state.moveTime; + partnerActor->currentPos.z += (partnerActor->state.goalPos.z - partnerActor->currentPos.z) / partnerActor->state.moveTime; + playerActor->currentPos.x += (partnerActor->state.currentPos.x - playerActor->currentPos.x) / partnerActor->state.moveTime; + playerActor->currentPos.z += (partnerActor->state.currentPos.z - playerActor->currentPos.z) / partnerActor->state.moveTime; + } + partnerActor->currentPos.z -= sin_rad(partnerActor->state.angle * 6.28318f / 360.0f) * 16.0f; + partnerActor->yaw = clamp_angle(-partnerActor->state.angle); + playerActor->currentPos.z += sin_rad(partnerActor->state.angle * 6.28318f / 360.0f) * 16.0f; + playerActor->yaw = clamp_angle(-partnerActor->state.angle); + partnerActor->state.angle += 90.0f; + if (partnerActor->state.moveTime != 0) { + partnerActor->state.moveTime--; + } else { + partnerActor->currentPos.x = partnerActor->state.goalPos.x; + partnerActor->currentPos.z = partnerActor->state.goalPos.z; + playerActor->currentPos.x = partnerActor->state.currentPos.x; + playerActor->currentPos.z = partnerActor->state.currentPos.z; + partnerActor->homePos.x = partnerActor->currentPos.x; + partnerActor->homePos.z = partnerActor->currentPos.z; + playerActor->homePos.x = playerActor->currentPos.x; + playerActor->homePos.z = playerActor->currentPos.z; + gBattleSubState = 0x12e; + battleStatus->flags1 &= ~0x100000; } break; } switch (gBattleSubState) { - case 0x12E: + case 0x12e: gBattleStatus.flags1 |= 2; - player->flags &= ~0x4000000; - player->flags |= 0x08000000; - if (partner != NULL) { - partner->flags |= 0x04000000; - partner->flags |= 0x08000000; + playerActor->flags &= ~0x4000000; + playerActor->flags |= 0x8000000; + if (partnerActor != NULL) { + partnerActor->flags |= 0x4000000; + partnerActor->flags |= 0x8000000; } func_80263268(); func_80263300(); btl_init_menu_boots(); btl_init_menu_hammer(); - - if (player_team_is_ability_active(player, 0x15)) { + if (player_team_is_ability_active(playerActor, 0x15)) { gBattleSubState = 0x64; break; } - s4 = 0; - s_8 = 2; + s8 = 2; if (battleStatus->unk_4C[0] < 0) { battleStatus->unk_4C[0] = 0; } @@ -2245,8 +2250,7 @@ void btl_state_update_player_menu(void) { battle_menu_isEnabled[0] = 1; main_battle_menu_JumpHudScripts[0] = battle_menu_StrategiesHudScript.enabled; battle_menu_messageIDs[0] = battle_menu_centeredMessagesC[0]; - if (battleStatus->unk_83 != 2) { - + if (battleStatus->actionCommandMode != 2) { if (gBattleStatus.flags1 & 0x2000000) { battle_menu_messageIDs[0] = 0x1d0054; // TODO } @@ -2255,13 +2259,12 @@ void btl_state_update_player_menu(void) { } battle_menu_isMessageDisabled[s4] = 0; if (!(battleStatus->menuDisableFlags & 0x80)) { - HudScript* temp = battle_menu_StrategiesHudScript.disabled; + main_battle_menu_JumpHudScripts[s4] = battle_menu_StrategiesHudScript.enabled; battle_menu_isEnabled[s4] = 0; - main_battle_menu_JumpHudScripts[s4] = temp; battle_menu_isMessageDisabled[s4] = 0x48; } if (battleStatus->unk_4C[0] == 7) { - s_8 = s4; + s8 = s4; } s4++; if (battleStatus->menuStatus[0] >= 0) { @@ -2289,11 +2292,12 @@ void btl_state_update_player_menu(void) { } if (battleStatus->unk_4C[0] == 2) { - s_8 = s4; + s8 = s4; } s4++; } + //4f0 main_battle_menu_JumpHudScripts[s4] = battle_menu_JumpHudScripts[playerData->bootsLevel + 1].enabled; battle_menu_submenuIDs[s4] = 0; battle_menu_isEnabled[s4] = 1; @@ -2304,22 +2308,26 @@ void btl_state_update_player_menu(void) { battle_menu_isEnabled[s4] = 0; battle_menu_isMessageDisabled[s4] = 0x43; } + //594 if (!(battleStatus->menuDisableFlags & 0x1)) { main_battle_menu_JumpHudScripts[s4] = battle_menu_JumpHudScripts[0].disabled; battle_menu_isEnabled[s4] = 0; battle_menu_isMessageDisabled[s4] = 0x48; } + //5c0 if (battleStatus->jumpLossTurns >= 0) { main_battle_menu_JumpHudScripts[s4] = battle_menu_JumpHudScripts[0].disabled; battle_menu_isEnabled[s4] = 0; battle_menu_isMessageDisabled[s4] = 0x48; } + //5e8 if (battleStatus->unk_4C[0] == 0) { - s_8 = s4; + s8 = s4; } + //5f4 s4++; if (playerData->hammerLevel >= 0) { - main_battle_menu_JumpHudScripts[s4] = battle_menu_HammerHudScripts[playerData->hammerLevel + 1].disabled; + main_battle_menu_JumpHudScripts[s4] = battle_menu_HammerHudScripts[playerData->hammerLevel + 1].enabled; battle_menu_submenuIDs[s4] = 1; battle_menu_isEnabled[s4] = 1; battle_menu_messageIDs[s4] = battle_menu_centeredMessagesA[1]; @@ -2339,10 +2347,11 @@ void btl_state_update_player_menu(void) { battle_menu_isMessageDisabled[s4] = 0x48; } if (battleStatus->unk_4C[0] == 1) { - s_8 = s4; + s8 = s4; } s4++; } + //6cc if (playerData->maxStarPower != 0) { main_battle_menu_JumpHudScripts[s4] = battle_menu_StarPowerHudScripts.enabled; battle_menu_submenuIDs[s4] = 8; @@ -2355,15 +2364,16 @@ void btl_state_update_player_menu(void) { battle_menu_isMessageDisabled[s4] = 0x48; } if (battleStatus->unk_4C[0] == 8) { - s_8 = s4; + s8 = s4; } s4++; } + //770 main_menu_numOptions = s4; D_802AD0A8 = 0; - D_802AD0B0 = s_8; - D_802AD100 = 2 - s_8; - if (func_802A58D0()) { + D_802AD0B0 = s8; + D_802AD100 = 2 - s8; + if (func_802A58D0() != 0) { D_802AD104 = 1; } else { D_802AD104 = 0; @@ -2373,215 +2383,227 @@ void btl_state_update_player_menu(void) { D_802ACC6C = 0; gBattleSubState = 1; break; - case 0x1: + case 1: + //7e8 if (battleStatus->hustleTurns != 0) { set_animation(0, 0, 0x10027); } else { - set_animation(0, 0, func_80265D44(0x1C)); + set_animation(0, 0, func_80265D44(0x1c)); } s00 = func_802A11B0(); if (D_802ACC6C != 0) { D_802ACC6C--; - } else if (!(gBattleStatus.flags1 & 0x02000000) && (gGameStatusPtr->pressedButtons[0] & 0x2000)) { - if ((func_802A58D0()) && (battleStatus->hustleTurns != 1)) { - sfx_play_sound(0xF); + } else if (!(gBattleStatus.flags1 & 0x2000000) && (gGameStatusPtr->pressedButtons[0] & 0x2000)) { + if (func_802A58D0() != 0 && battleStatus->hustleTurns != 1) { + sfx_play_sound(0xf); battleStatus->unk_4C[0] = battle_menu_submenuIDs[D_802AD002 + D_802AD06B]; func_802A10B8(); - btl_set_state(0xB); - } else if ((partner != NULL) && !(partner->flags & 0x200000) && (battleStatus->hustleTurns != 1)) { - sfx_play_sound(0x21D); + btl_set_state(0xb); + } else if (partnerActor != NULL && !(partnerActor->flags & 0x200000) && battleStatus->hustleTurns != 1) { + sfx_play_sound(0x21d); gBattleSubState = 8; } - break; + break; // TODO } + //904 + if (D_802ACC60 != 0) { + D_802ACC60--; + } else if (s00 != 0) { + set_animation(0, 0, 0x10004); + battleStatus->unk_4C[0] = battleStatus->currentSubmenu = battle_menu_submenuIDs[s00 - 1]; + for (i = 0; i < 24; i++) { + battleStatus->submenuMoves[i] = 0; + battleStatus->submenuIcons[0] = 0; + battleStatus->submenuStatus[i] = 0; + } + //970 + switch (battleStatus->currentSubmenu) { + case 2: + battleStatus->submenuIcons[0] = 0x155; + battleStatus->submenuStatus[0] = 1; + battleStatus->submenuMoves[0] = D_802AB4F0[8]; + for (i = 0; i < 10; i++) { + if (playerData->invItems[i] == 0) { + continue; + } + itemData = &gItemTable[playerData->invItems[i]]; - if (D_802ACC60 == 0) { - if (s00 != 0) { - set_animation(0, 0, 0x10004); - battleStatus->currentSubmenu = battle_menu_submenuIDs[s00 - 1]; - battleStatus->unk_4C[0] = battleStatus->currentSubmenu; - - for (i = 0; i < ARRAY_COUNT(battleStatus->submenuMoves); i++) { - battleStatus->submenuMoves[i] = 0; - battleStatus->submenuIcons[0] = 0; // todo bug? - battleStatus->submenuStatus[i] = 0; - } - - switch (battleStatus->currentSubmenu) { - case 2: - battleStatus->submenuIcons[0] = 0x155; - battleStatus->submenuStatus[0] = 1; - battleStatus->submenuMoves[0] = D_802AB4F0[8]; - for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] != 0) { - itemData = &gItemTable[playerData->invItems[i]]; - battleStatus->moveCategory = 2; - battleStatus->selectedItemID = playerData->invItems[i]; - battleStatus->currentTargetListFlags = itemData->targetFlags; - player_create_target_list(player); - } - } - - s4 = 1; - for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++) { - if (playerData->equippedBadges[i] != 0) { - moveID = gItemTable[playerData->equippedBadges[i]].moveID; - moveData = &gMoveTable[moveID]; - if (moveData->category == D_802AB4F0[battleStatus->currentSubmenu]) { - battleStatus->submenuMoves[s4] = moveID; - battleStatus->submenuIcons[s4] = playerData->equippedBadges[i]; - battleStatus->submenuStatus[s4] = 1; - if (playerData->curFP < moveData->costFP) { - battleStatus->submenuStatus[s4] = 0; - } - s4++; - } - } - } - - battleStatus->submenuMoveCount = s4; - if (s4 == 1) { - battleStatus->submenuMoveCount = 0; - } - break; - case 1: - btl_init_menu_hammer(); - if (battleStatus->submenuMoveCount == 1) { - battleStatus->submenuMoveCount = 0; - } - if (battleStatus->unk_83 == 2) { - battleStatus->submenuMoveCount = 0; - } - break; - case 0: - btl_init_menu_boots(); - if (battleStatus->submenuMoveCount == 1) { - battleStatus->submenuMoveCount = 0; - } - if (battleStatus->unk_83 == 2) { - battleStatus->submenuMoveCount = 0; - } - break; - case 8: - s4 = 1; - battleStatus->submenuMoves[0] = 0x77; - battleStatus->submenuIcons[0] = 0x155; - battleStatus->submenuStatus[0] = 1; - for (i = 0; i < playerData->maxStarPower; i++) { - moveData = &gMoveTable[120 + i]; - - battleStatus->submenuMoves[s4] = 120 + i; - battleStatus->submenuIcons[s4] = 0; - battleStatus->moveCategory = 8; - battleStatus->selectedItemID = i + 120; - battleStatus->currentTargetListFlags = moveData->flags; - player_create_target_list(player); - battleStatus->submenuStatus[s4] = 1; - if (player->targetListLength == 0) { - battleStatus->submenuStatus[s4] = -2; - } - if (playerData->specialBarsFilled / 256 < moveData->costFP) { - battleStatus->submenuStatus[s4] = 0; - } - if (gBattleStatus.flags2 & 0x1000) { - battleStatus->submenuStatus[s4] = -1; - } - s4++; - } - - if (playerData->starBeamLevel == 1) { - moveData = &gMoveTable[127]; - battleStatus->submenuMoves[s4] = 0x7F; - battleStatus->submenuIcons[s4] = 0; - battleStatus->moveCategory = 8; - battleStatus->selectedItemID = i + 0x78; - battleStatus->currentTargetListFlags = moveData->flags; - player_create_target_list(player); - battleStatus->submenuStatus[s4] = 1; - if (player->targetListLength == 0) { - battleStatus->submenuStatus[s4] = -2; - } - if (playerData->specialBarsFilled / 256 < moveData->costFP) { - battleStatus->submenuStatus[s4] = 0; - } - if (gBattleStatus.flags2 & 0x1000) { - battleStatus->submenuStatus[s4] = -1; - } - s4++; - } - - if (playerData->starBeamLevel == 2) { - moveData = &gMoveTable[0x80]; - battleStatus->submenuMoves[s4] = 0x80; - battleStatus->submenuIcons[s4] = 0; - battleStatus->moveCategory = 8; - battleStatus->selectedItemID = i + 120; - battleStatus->currentTargetListFlags = moveData->flags; - player_create_target_list(player); - battleStatus->submenuStatus[s4] = 1; - if (player->targetListLength == 0) { - battleStatus->submenuStatus[s4] = -2; - } - if (playerData->specialBarsFilled / 256 < moveData->costFP) { - battleStatus->submenuStatus[s4] = 0; - } - if (gBattleStatus.flags2 & 0x1000) { - battleStatus->submenuStatus[s4] = -1; - } - s4++; - } - battleStatus->submenuMoveCount = s4; - break; - } - currentSubmenu = battleStatus->currentSubmenu; - if (currentSubmenu == 8) { - gBattleSubState = 0x3C; - btl_state_update_player_menu(); - btl_state_update_player_menu(); - break; - } - if (currentSubmenu == 7) { - if ((battleStatus->unk_83 == 2) || (gBattleStatus.flags1 & 0x02000000)) { - func_802A10B8(); - battleStatus->moveCategory = currentSubmenu; - battleStatus->selectedItemID = 0; - battleStatus->selectedMoveID = 0; - btl_set_state(0x12); - break; + battleStatus->moveCategory = 2; + battleStatus->selectedItemID = playerData->invItems[i]; + battleStatus->currentTargetListFlags = itemData->targetFlags; + player_create_target_list(playerActor); } - gBattleSubState = 0xC8; + s4 = 1; + for (i = 0; i < 64; i++) { + if (playerData->equippedBadges[i] != 0) { + moveID = gItemTable[playerData->equippedBadges[i]].moveID; + moveData = &gMoveTable[moveID]; + if (moveData->category == D_802AB4F0[battleStatus->currentSubmenu]) { + battleStatus->submenuMoves[s4] = moveID; + battleStatus->submenuIcons[s4] = playerData->equippedBadges[i]; + battleStatus->submenuStatus[s4] = 1; + if (playerData->curFP < moveData->costFP) { + battleStatus->submenuStatus[s4] = 0; + } + s4++; + } + } + } + battleStatus->submenuMoveCount = s4; + if (s4 == 1) { + battleStatus->submenuMoveCount = 0; + } + break; + case 1: + //ae0 + btl_init_menu_hammer(); + if (battleStatus->submenuMoveCount == 1) { + battleStatus->submenuMoveCount = 0; + } + if (battleStatus->actionCommandMode == 2) { + battleStatus->submenuMoveCount = 0; + } + break; + case 0: + //af0 + btl_init_menu_boots(); + if (battleStatus->submenuMoveCount == 1) { + battleStatus->submenuMoveCount = 0; + } + if (battleStatus->actionCommandMode == 2) { + battleStatus->submenuMoveCount = 0; + } + break; + do { + case 8: + //b1c + + battleStatus->submenuMoves[0] = 0x77; + battleStatus->submenuIcons[0] = 0x155; + battleStatus->submenuStatus[0] = 1; + s4 = 1; + s8 = battleStatus->currentSubmenu; + for (i = 0; i < playerData->maxStarPower; i++) { + moveData = &gMoveTable[0x78 + i]; + //b4c + battleStatus->submenuMoves[s4] = 0x78 + i; + battleStatus->submenuIcons[s4] = 0; + battleStatus->moveCategory = 8; + battleStatus->selectedItemID = 0x78 + i; + battleStatus->currentTargetListFlags = moveData->flags; + player_create_target_list(playerActor); + battleStatus->submenuStatus[s4] = 1; + if (playerActor->targetListLength == 0) { + battleStatus->submenuStatus[s4] = -2; + } + if (playerData->specialBarsFilled / 256 < moveData->costFP) { + battleStatus->submenuStatus[s4] = 0; + } + if (gBattleStatus.flags2 & 0x1000) { + battleStatus->submenuStatus[s4] = -1; + } + s4++; + } + //be4 + starBeamLevel = playerData->starBeamLevel; + if (starBeamLevel == 1) { + moveData = &gMoveTable[0x7f]; + battleStatus->submenuMoves[s4] = 0x7f; + battleStatus->submenuIcons[s4] = 0; + battleStatus->moveCategory = 8; + battleStatus->selectedItemID = 0x78 + i; + battleStatus->currentTargetListFlags = moveData->flags; + player_create_target_list(playerActor); + battleStatus->submenuStatus[s4] = starBeamLevel; + if (playerActor->targetListLength == 0) { + battleStatus->submenuStatus[s4] = -2; + } + if (playerData->specialBarsFilled / 256 < moveData->costFP) { + battleStatus->submenuStatus[s4] = 0; + } + if (gBattleStatus.flags2 & 0x1000) { + battleStatus->submenuStatus[s4] = -1; + } + s4++; + } + //c80 + if (playerData->starBeamLevel == 2) { + moveData = &gMoveTable[0x80]; + battleStatus->submenuMoves[s4] = 0x80; + battleStatus->submenuIcons[s4] = 0; + battleStatus->moveCategory = 8; + battleStatus->selectedItemID = 0x78 + i; + battleStatus->currentTargetListFlags = moveData->flags; + player_create_target_list(playerActor); + battleStatus->submenuStatus[s4] = 1; + if (playerActor->targetListLength == 0) { + battleStatus->submenuStatus[s4] = -2; + } + if (playerData->specialBarsFilled / 256 < moveData->costFP) { + battleStatus->submenuStatus[s4] = 0; + } + if (gBattleStatus.flags2 & 0x1000) { + battleStatus->submenuStatus[s4] = -1; + } + s4++; + } + battleStatus->submenuMoveCount = s4; + break; + } while (0); // TODO required to match + } + //d28 ??? + currentSubmenu = battleStatus->currentSubmenu; + if (currentSubmenu == 8) { + gBattleSubState = 0x3c; + btl_state_update_player_menu(); + btl_state_update_player_menu(); + break; + } else if (currentSubmenu == 7) { + if (battleStatus->actionCommandMode != 2 && !(gBattleStatus.flags1 & 0x2000000)) { + gBattleSubState = 0xc8; btl_state_update_player_menu(); btl_state_update_player_menu(); break; + } else { + func_802A10B8(); + battleStatus->moveCategory = currentSubmenu; + battleStatus->selectedItemID = 0; + battleStatus->selectedMoveID = 0; + btl_set_state(0x12); + break; } + } else { + //d8c if (battleStatus->submenuMoveCount == 0) { - if (currentSubmenu == 2) { + if (currentSubmenu != 2) { + gBattleSubState = 0xa; + break; + } else { gBattleSubState = 0x28; btl_state_update_player_menu(); btl_state_update_player_menu(); break; } - gBattleSubState = 10; - break; } - var_fp_2 = 0; + + s8 = 0; if (currentSubmenu == 0) { if (battleStatus->unk_4C[1] < 0) { battleStatus->unk_4C[1] = 0; } - var_fp_2 = battleStatus->unk_4C[1]; + s8 = battleStatus->unk_4C[1]; } if (battleStatus->currentSubmenu == 1) { if (battleStatus->unk_4C[2] < 0) { battleStatus->unk_4C[2] = 0; } - var_fp_2 = battleStatus->unk_4C[2]; + s8 = battleStatus->unk_4C[2]; } if (battleStatus->currentSubmenu == 2) { if (battleStatus->unk_4C[3] < 0) { battleStatus->unk_4C[3] = 0; } - var_fp_2 = battleStatus->unk_4C[3]; + s8 = battleStatus->unk_4C[3]; } for (i = 0; i < battleStatus->submenuMoveCount; i++) { @@ -2616,38 +2638,38 @@ void btl_state_update_player_menu(void) { battle_menu_moveOptionDisplayCostReductions[i] = 0; battle_menu_moveOptionDisplayCostReductionColors[i] = 0; - if (player_team_is_ability_active(player, 0x18)) { - battle_menu_moveOptionDisplayCostReductions[i] += player_team_is_ability_active(player, 0x18); + if (player_team_is_ability_active(playerActor, 0x18)) { + battle_menu_moveOptionDisplayCostReductions[i] += player_team_is_ability_active(playerActor, 0x18); battle_menu_moveOptionDisplayCostReductionColors[i] = 1; } - if (player_team_is_ability_active(player, 0x26)) { - battle_menu_moveOptionDisplayCostReductions[i] += 2 * player_team_is_ability_active(player, 0x26); + //f68 + if (player_team_is_ability_active(playerActor, 0x26)) { + battle_menu_moveOptionDisplayCostReductions[i] += 2 * player_team_is_ability_active(playerActor, 0x26); battle_menu_moveOptionDisplayCostReductionColors[i] = 2; } + //f9c battle_menu_moveIndices[i] = i; battle_menu_moveOptionsEnabled[i] = battleStatus->submenuStatus[i]; battle_menu_moveOptionNames[i] = moveData->nameMsg; battle_menu_moveOptionDescriptions[i] = moveData->shortDescMsg; } + //ff0 battle_menu_hasSpiritsMenu = 0; - D_802AD4A8 = var_fp_2; + D_802AD4A8 = s8; battle_menu_moveOptionCount = battleStatus->submenuMoveCount; func_802A2684(); - gBattleSubState = 2; + gBattleSubState = 0x2; break; } - } else { - D_802ACC60--; - break; } break; - case 0x2: + case 2: s00 = func_802A2C84(); if (s00 == -1) { - gBattleSubState = 7; + gBattleSubState = 0x7; } else if (s00 == 0) { - } else if (s00 == 0xFF) { + } else if (s00 == 0xff) { func_802A1050(); D_802ACC60 = 8; D_802ACC6C = 4; @@ -2656,68 +2678,74 @@ void btl_state_update_player_menu(void) { btl_state_update_player_menu(); } else { battleStatus->unk_49 = battle_menu_moveIndices[s00 - 1]; - battleStatus->selectedMoveID = battleStatus->submenuMoves[battleStatus->unk_49]; - if (battleStatus->currentSubmenu == 0) { - battleStatus->unk_4C[1] = battle_menu_moveOptionActive; + battleStatus->selectedMoveID = battleStatus->submenuMoves[battleStatus->unk_49]; + //1090 + if (battleStatus->currentSubmenu == 0) { + battleStatus->unk_4C[1] = battle_menu_moveOptionActive; + } + //10a4 + if (battleStatus->currentSubmenu == 1) { + battleStatus->unk_4C[2] = battle_menu_moveOptionActive; + } + //10c0 + currentSubmenu2 = battleStatus->currentSubmenu; + if (battleStatus->currentSubmenu == 2) { + battleStatus->unk_4C[3] = battle_menu_moveOptionActive; + if (battleStatus->currentSubmenu == currentSubmenu2) { + gBattleSubState = 0x14; + btl_state_update_player_menu(); + btl_state_update_player_menu(); + break; } - if (battleStatus->currentSubmenu == 1) { - battleStatus->unk_4C[2] = battle_menu_moveOptionActive; - } - if (battleStatus->currentSubmenu == 2) { - battleStatus->unk_4C[3] = battle_menu_moveOptionActive; - if (battleStatus->currentSubmenu == 2) { - gBattleSubState = 0x14; - btl_state_update_player_menu(); - btl_state_update_player_menu(); - break; - } - } - func_802A27D0(); - func_802A1030(); - gBattleSubState = 3; + } + func_802A27D0(); + func_802A1030(); + gBattleSubState = 3; } break; - case 0x3: + case 3: s00 = func_802A2C84(); - if ((battleStatus->currentButtonsPressed & 0x4000) && (s00 == 0)) { + if ((battleStatus->currentButtonsPressed & 0x4000) && s00 == 0) { func_802A2AB8(); func_802A1098(); gBattleSubState = 4; break; } - if (func_802A11B0() != 0) { - battleStatus->unk_6C = 5; - battleStatus->unk_6E = 6; - battleStatus->selectedMoveID = battleStatus->submenuMoves[battleStatus->unk_49]; - battleStatus->currentTargetListFlags = gMoveTable[battleStatus->submenuMoves[battleStatus->unk_49]].flags; - switch (battleStatus->currentSubmenu) { - case 0: - battleStatus->moveCategory = 0; - battleStatus->selectedItemID = playerData->bootsLevel; - btl_set_state(0x11); - break; - case 1: - battleStatus->moveCategory = 1; - battleStatus->selectedItemID = playerData->hammerLevel; - btl_set_state(0x11); - break; - case 4: - gBattleSubState = battleStatus->unk_6E; - btl_state_update_player_menu(); - battleStatus->moveCategory = 4; - btl_set_state(0x19); - break; - } + if (func_802A11B0() == 0) { + break; + } + battleStatus->unk_6C = 5; + battleStatus->unk_6E = 6; + battleStatus->selectedMoveID = battleStatus->submenuMoves[battleStatus->unk_49]; + battleStatus->currentTargetListFlags = gMoveTable[battleStatus->submenuMoves[battleStatus->unk_49]].flags; + currentSubmenu = battleStatus->currentSubmenu; + switch (currentSubmenu) { + case 0: + battleStatus->moveCategory = 0; + battleStatus->selectedItemID = playerData->bootsLevel; + btl_set_state(0x11); + break; + case 1: + battleStatus->moveCategory = 1; + battleStatus->selectedItemID = playerData->hammerLevel; + btl_set_state(0x11); + break; + + case 4: + gBattleSubState = battleStatus->unk_6E; + btl_state_update_player_menu(); + battleStatus->moveCategory = 4; + btl_set_state(0x19); + break; } break; - case 0x4: + case 4: func_802A2C84(); if (func_802A11B0() != 0) { gBattleSubState = 2; - break; } break; - case 0x5: + case 5: func_802A2AB8(); func_802A1098(); gBattleSubState = 4; @@ -2726,78 +2754,73 @@ void btl_state_update_player_menu(void) { func_802A27E4(); func_802A10B8(); break; - case 0x7: + case 7: if (func_802A2C84() != -1) { gBattleSubState = 2; - break; } break; - case 0x8: - if (gBattleStatus.flags2 & 4) { - btl_show_variable_battle_message(0x50, 0x3C, 0); + case 8: + if (gBattleStatus.flags2 & 0x4) { + btl_show_variable_battle_message(0x50, 0x3c, 0); } else { - btl_show_variable_battle_message(0x51, 0x3C, playerData->currentPartner); + btl_show_variable_battle_message(0x51, 0x3c, playerData->currentPartner); } D_802AD607 = 1; gBattleSubState = 9; break; - case 0x9: + case 9: if (!btl_is_popup_displayed()) { D_802ACC6C = 4; D_802AD607 = 0; D_802ACC60 = 0; gBattleSubState = 1; - break; } break; - case 0xA: + case 0xa: func_802A1030(); - gBattleSubState = 11; + gBattleSubState = 0xb; break; - case 0xB: + case 0xb: s00 = func_802A11B0(); - if (battleStatus->currentButtonsPressed & 0x4000) { - if (s00 == 0) { - func_802A1078(); - gBattleSubState = 12; - break; + if ((battleStatus->currentButtonsPressed & 0x4000) && s00 == 0) { + func_802A1078(); + gBattleSubState = 0xc; + } else if (s00 != 0) { + battleStatus->unk_6C = 0xd; + battleStatus->unk_6E = 0xe; + switch (battleStatus->currentSubmenu) { + case 0: + battleStatus->moveCategory = 0; + battleStatus->selectedItemID = playerData->bootsLevel; + battleStatus->selectedMoveID = playerData->bootsLevel + 0x1a; + battleStatus->currentTargetListFlags = gMoveTable[battleStatus->selectedMoveID].flags; + btl_set_state(0x11); + break; + case 1: + battleStatus->moveCategory = 1; + battleStatus->selectedItemID = playerData->hammerLevel; + battleStatus->selectedMoveID = playerData->hammerLevel + 3; + battleStatus->currentTargetListFlags = gMoveTable[battleStatus->selectedMoveID].flags; + btl_set_state(0x11); + break; + default: + goto CASE_C; } - } else if (s00 == 0) { - break; - } - - battleStatus->unk_6C = 0xD; - battleStatus->unk_6E = 0xE; - switch (battleStatus->currentSubmenu) { - case 0: - battleStatus->moveCategory = 0; - battleStatus->selectedItemID = playerData->bootsLevel; - battleStatus->selectedMoveID = playerData->bootsLevel + 26; - battleStatus->currentTargetListFlags = gMoveTable[battleStatus->selectedMoveID].flags; - btl_set_state(0x11); - break; - case 1: - battleStatus->moveCategory = 1; - battleStatus->selectedItemID = playerData->hammerLevel; - battleStatus->selectedMoveID = playerData->hammerLevel + 3; - battleStatus->currentTargetListFlags = gMoveTable[battleStatus->selectedMoveID].flags; - btl_set_state(0x11); - break; } break; - case 0xC: + CASE_C: + case 0xc: if (func_802A11B0() != 0) { D_802ACC60 = 8; D_802ACC6C = 4; gBattleSubState = 1; - break; } break; - case 0xD: + case 0xd: func_802A1078(); - gBattleSubState = 12; + gBattleSubState = 0xc; break; - case 0xE: + case 0xe: func_802A10B8(); break; case 0x14: @@ -2807,55 +2830,56 @@ void btl_state_update_player_menu(void) { if (battleStatus->selectedMoveID == 0x36) { battleStatus->itemUsesLeft = 3; } - - p = 0; - for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] != 0) { - itemData = &gItemTable[playerData->invItems[i]]; - hudScriptPair = &gItemHudScripts[itemData->hudElemID]; - if (itemData->typeFlags & 2) { - battleStatus->moveCategory = 2; - battleStatus->selectedItemID = playerData->invItems[i]; - battleStatus->currentTargetListFlags = itemData->targetFlags; - player_create_target_list(player); - D_802ACCD0.ptrIcon[p] = hudScriptPair->enabled; - D_802ACCD0.userIndex[p] = playerData->invItems[i]; - D_802ACCD0.enabled[p] = TRUE; - D_802ACCD0.nameMsg[p] = itemData->nameMsg; - D_802ACCD0.descMsg[p] = itemData->shortDescMsg; - if (player->targetListLength == 0) { - D_802ACCD0.ptrIcon[p] = hudScriptPair->disabled; - D_802ACCD0.enabled[p] = FALSE; - } - p++; - } + s4 = 0; + for (i = 0; i < 10; i++) { + if (playerData->invItems[i] == 0) { + continue; } + itemData = &gItemTable[playerData->invItems[i]]; + hudScriptPair = &gItemHudScripts[itemData->hudElemID]; + if (!(itemData->typeFlags & 0x2)) { + continue; + } + battleStatus->moveCategory = 2; + battleStatus->selectedItemID = playerData->invItems[i]; + battleStatus->currentTargetListFlags = itemData->targetFlags; + player_create_target_list(playerActor); + popup->ptrIcon[s4] = hudScriptPair->enabled; + popup->userIndex[s4] = playerData->invItems[i]; + popup->enabled[s4] = 1; + popup->nameMsg[s4] = itemData->nameMsg; + popup->descMsg[s4] = itemData->shortDescMsg; + if (playerActor->targetListLength == 0) { + popup->ptrIcon[s4] = hudScriptPair->disabled; + popup->enabled[s4] = 0; + } + s4++; } - - D_802ACCD0.unk_31C = 0; - D_802ACCD0.unk_320 = 0; + popup->unk_31C = 0; + popup->unk_320 = 0; if (battleStatus->selectedMoveID == 0x35) { - D_802ACCD0.unk_31C = 1; - D_802ACCD0.unk_320 = battleStatus->itemUsesLeft; + popup->unk_31C = 1; + popup->unk_320 = battleStatus->itemUsesLeft; } if (battleStatus->selectedMoveID == 0x36) { - D_802ACCD0.unk_31C = 2; - D_802ACCD0.unk_320 = battleStatus->itemUsesLeft; + popup->unk_31C = 2; + popup->unk_320 = battleStatus->itemUsesLeft; } - if (battleStatus->unk_4C[4] < 0) { battleStatus->unk_4C[4] = 0; } - D_802ACCD0.popupType = POPUP_TYPE_USE_ITEM; - D_802ACCD0.numEntries = p; - D_802ACCD0.initialPos = battleStatus->unk_4C[4]; - func_800F513C(&D_802ACCD0); + popup->popupType = 0; + popup->numEntries = s4; + s8 = battleStatus->unk_4C[4]; + popup->initialPos = s8; + func_800F513C(popup); func_800F52BC(); gBattleSubState = 0x15; break; case 0x15: - if (D_802ACCD0.result != 0) { - if (D_802ACCD0.result == 0xFF) { + + if (popup->result != 0) { + if (popup->result == 0xff) { func_802A2910(); battleStatus->selectedMoveID = 0; battleStatus->itemUsesLeft = 0; @@ -2865,12 +2889,12 @@ void btl_state_update_player_menu(void) { } else { battleStatus->unk_6C = 0x18; battleStatus->unk_6E = 0x19; - battleStatus->unk_1AA = D_802ACCD0.userIndex[D_802ACCD0.result - 1]; + battleStatus->unk_1AA = popup->userIndex[popup->result - 1]; battleStatus->moveCategory = 2; battleStatus->selectedItemID = battleStatus->unk_1AA; battleStatus->currentTargetListFlags = gItemTable[battleStatus->selectedItemID].targetFlags | 0x8000; battleStatus->currentAttackElement = 0; - battleStatus->unk_4C[4] = D_802ACCD0.result - 1; + battleStatus->unk_4C[4] = popup->result - 1; hide_popup_menu(); func_802A27D0(); func_802A1030(); @@ -2879,25 +2903,23 @@ void btl_state_update_player_menu(void) { } break; case 0x16: - if ((battleStatus->currentButtonsPressed & 0x4000) && (D_802ACCD0.result == 0)) { + if ((battleStatus->currentButtonsPressed & 0x4000) && popup->result == 0) { func_800F16CC(); func_802A2C58(); func_802A1098(); battleStatus->selectedMoveID = 0; gBattleSubState = 0x17; - break; - } - func_802A2C84(); - if (func_802A11B0() != 0) { - btl_set_state(0x11); - break; + } else { + func_802A2C84(); + if (func_802A11B0()) { + btl_set_state(0x11); + } } break; case 0x17: func_802A2C84(); if (func_802A11B0() != 0) { gBattleSubState = 0x15; - break; } break; case 0x18: @@ -2912,45 +2934,49 @@ void btl_state_update_player_menu(void) { func_802A27E4(); func_802A10B8(); break; - case 0x28: - p = 0; - for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] != 0) { - itemData = &gItemTable[playerData->invItems[i]]; - hudScriptPair = &gItemHudScripts[itemData->hudElemID]; - if (itemData->typeFlags & 2) { - battleStatus->moveCategory = 2; - battleStatus->selectedItemID = playerData->invItems[i]; - battleStatus->currentTargetListFlags = itemData->targetFlags; - player_create_target_list(player); - D_802ACCD0.ptrIcon[p] = hudScriptPair->enabled; - D_802ACCD0.userIndex[p] = playerData->invItems[i]; - D_802ACCD0.enabled[p] = TRUE; - D_802ACCD0.nameMsg[p] = itemData->nameMsg; - D_802ACCD0.descMsg[p] = itemData->shortDescMsg; - if (player->targetListLength == 0) { - D_802ACCD0.ptrIcon[p] = hudScriptPair->disabled; - D_802ACCD0.enabled[p] = FALSE; - } - p++; - } + case 0x28: //1708 + s4 = 0; + for (i = 0; i < 10; i++) { + if (playerData->invItems[i] == 0) { + continue; } + itemData = &gItemTable[playerData->invItems[i]]; + hudScriptPair = &gItemHudScripts[itemData->hudElemID]; + if (!(itemData->typeFlags & 0x2)) { + continue; + } + battleStatus->moveCategory = 2; + battleStatus->selectedItemID = playerData->invItems[i]; + battleStatus->currentTargetListFlags = itemData->targetFlags; + player_create_target_list(playerActor); + popup->ptrIcon[s4] = hudScriptPair->enabled; + + popup->userIndex[s4] = playerData->invItems[i]; + popup->enabled[s4] = 1; + popup->nameMsg[s4] = itemData->nameMsg; + popup->descMsg[s4] = itemData->shortDescMsg; + if (playerActor->targetListLength == 0) { + popup->ptrIcon[s4] = hudScriptPair->disabled; + popup->enabled[s4] = 0; + } + s4++; } if (battleStatus->unk_4C[4] < 0) { battleStatus->unk_4C[4] = 0; } - D_802ACCD0.popupType = POPUP_TYPE_USE_ITEM; - D_802ACCD0.numEntries = p; - D_802ACCD0.unk_31C = 0; - D_802ACCD0.unk_320 = 0; - D_802ACCD0.initialPos = battleStatus->unk_4C[4]; - func_800F513C(&D_802ACCD0); + s8 = battleStatus->unk_4C[4]; + popup->popupType = 0; + popup->numEntries = s4; + popup->unk_31C = 0; + popup->unk_320 = 0; + popup->initialPos = s8; + func_800F513C(popup); func_800F52BC(); gBattleSubState = 0x29; break; case 0x29: - if (D_802ACCD0.result != 0) { - if (D_802ACCD0.result == 0xff) { + if (popup->result != 0) { + if (popup->result == 0xff) { func_802A1050(); D_802ACC60 = 8; D_802ACC6C = 4; @@ -2960,45 +2986,45 @@ void btl_state_update_player_menu(void) { } else { battleStatus->unk_6C = 0x2C; battleStatus->unk_6E = 0x2D; - battleStatus->unk_1AA = D_802ACCD0.userIndex[D_802ACCD0.result - 1]; + battleStatus->unk_1AA = popup->userIndex[popup->result - 1]; battleStatus->moveCategory = 2; battleStatus->selectedItemID = battleStatus->unk_1AA; battleStatus->selectedMoveID = 0x34; battleStatus->currentTargetListFlags = gItemTable[battleStatus->selectedItemID].targetFlags | 0x8000; battleStatus->currentAttackElement = 0; - battleStatus->unk_4C[4] = D_802ACCD0.result - 1; + battleStatus->unk_4C[4] = popup->result - 1; hide_popup_menu(); func_802A1030(); gBattleSubState = 0x2A; } } break; - case 0x2A: - if ((battleStatus->currentButtonsPressed & 0x4000) && (D_802ACCD0.result == 0)) { + case 0x2a: + if ((battleStatus->currentButtonsPressed & 0x4000) && popup->result == 0) { func_800F16CC(); func_802A1098(); - gBattleSubState = 0x2B; + gBattleSubState = 0x2b; } else { if (func_802A11B0() != 0) { btl_set_state(0x11); } } break; - case 0x2B: + case 0x2b: if (func_802A11B0() != 0) { gBattleSubState = 0x29; } break; - case 0x2C: + case 0x2c: func_800F16CC(); func_802A1098(); - gBattleSubState = 0x2B; + gBattleSubState = 0x2b; break; - case 0x2D: + case 0x2d: destroy_popup_menu(); func_802A10B8(); break; - case 0x3C: + case 0x3c: for (i = 0; i < battleStatus->submenuMoveCount; i++) { moveData = &gMoveTable[battleStatus->submenuMoves[i]]; @@ -3023,10 +3049,9 @@ void btl_state_update_player_menu(void) { battle_menu_moveOptionCantUseTypes[i] = 0x48; } - battle_menu_moveOptionIconScripts[i] = battle_menu_StarPowerMovesHudScripts[battleStatus->submenuMoves[i] - 0x77].enabled; - + battle_menu_moveOptionIconScripts[i] = battle_menu_StarPowerMovesHudScripts[2 * (battleStatus->submenuMoves[i] - 0x77) + 0]; if (battleStatus->submenuStatus[i] == 0) { - battle_menu_moveOptionIconScripts[i] = battle_menu_StarPowerMovesHudScripts[battleStatus->submenuMoves[i] - 0x77].disabled; + battle_menu_moveOptionIconScripts[i] = battle_menu_StarPowerMovesHudScripts[2 * (battleStatus->submenuMoves[i] - 0x77) + 1]; } battle_menu_moveOptionDisplayCosts[i] = moveData->costFP; battle_menu_moveOptionBPCosts[i] = moveData->costBP; @@ -3041,13 +3066,14 @@ void btl_state_update_player_menu(void) { if (battleStatus->unk_4C[6] < 0) { battleStatus->unk_4C[6] = 0; } - D_802AD4A8 = battleStatus->unk_4C[6]; + s8 = battleStatus->unk_4C[6]; battle_menu_moveOptionCount = battleStatus->submenuMoveCount; + D_802AD4A8 = s8; battle_menu_hasSpiritsMenu = 1; func_802A2684(); - gBattleSubState = 0x3D; + gBattleSubState = 0x3d; break; - case 0x3D: + case 0x3d: s00 = func_802A2C84(); if (s00 == -1) { gBattleSubState = 0x42; @@ -3067,12 +3093,12 @@ void btl_state_update_player_menu(void) { gBattleSubState = 0x3e; } break; - case 0x3E: + case 0x3e: s00 = func_802A2C84(); - if ((battleStatus->currentButtonsPressed & 0x4000) && (s00 == 0)) { + if ((battleStatus->currentButtonsPressed & 0x4000) && s00 == 0) { func_802A2AB8(); func_802A1098(); - gBattleSubState = 0x3F; + gBattleSubState = 0x3f; } else if (func_802A11B0() != 0) { battleStatus->unk_6C = 0x40; battleStatus->unk_6E = 0x41; @@ -3080,23 +3106,22 @@ void btl_state_update_player_menu(void) { battleStatus->selectedMoveID = battleStatus->submenuMoves[battleStatus->unk_49]; battleStatus->currentTargetListFlags = gMoveTable[battleStatus->submenuMoves[battleStatus->unk_49]].flags; battleStatus->selectedItemID = battleStatus->unk_49; - if ((playerData->starBeamLevel == 2) && (battleStatus->selectedItemID == 8)) { + if (playerData->starBeamLevel == 2 && battleStatus->selectedItemID == 8) { battleStatus->selectedItemID++; } btl_set_state(0x11); - break; } break; - case 0x3F: + case 0x3f: func_802A2C84(); if (func_802A11B0() != 0) { - gBattleSubState = 0x3D; + gBattleSubState = 0x3d; } break; case 0x40: func_802A2AB8(); func_802A1098(); - gBattleSubState = 0x3F; + gBattleSubState = 0x3f; break; case 0x41: func_802A27E4(); @@ -3104,79 +3129,83 @@ void btl_state_update_player_menu(void) { break; case 0x42: if (func_802A2C84() != -1) { - gBattleSubState = 0x3D; + gBattleSubState = 0x3d; } break; case 0x46: - if (can_btl_state_update_switch_to_player() == 0) { + if (!can_btl_state_update_switch_to_player()) { battleStatus->itemUsesLeft = 1; btl_set_state(0x16); - break; - } - - p = 0; - for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] != 0) { - itemData = &gItemTable[ playerData->invItems[i]]; - hudScriptPair = &gItemHudScripts[itemData->hudElemID]; - if (itemData->typeFlags & 2) { - battleStatus->moveCategory = 2; - battleStatus->selectedItemID = playerData->invItems[i]; - battleStatus->currentTargetListFlags = itemData->targetFlags; - player_create_target_list(player); - D_802ACCD0.ptrIcon[p] = hudScriptPair->enabled; - D_802ACCD0.userIndex[p] = playerData->invItems[i]; - D_802ACCD0.enabled[p] = TRUE; - D_802ACCD0.nameMsg[p] = itemData->nameMsg; - D_802ACCD0.descMsg[p] = itemData->shortDescMsg; - if (player->targetListLength == 0) { - D_802ACCD0.ptrIcon[p] = hudScriptPair->disabled; - D_802ACCD0.enabled[p] = FALSE; - } - p++; + } else { + s4 = 0; + for (i = 0; i < 10; i++) { + if (playerData->invItems[i] == 0) { + continue; } + + itemData = &gItemTable[playerData->invItems[i]]; + hudScriptPair = &gItemHudScripts[itemData->hudElemID]; + + if (!(itemData->typeFlags & 0x2)) { + continue; + } + + battleStatus->moveCategory = 2; + battleStatus->selectedItemID = playerData->invItems[i]; + battleStatus->currentTargetListFlags = itemData->targetFlags; + player_create_target_list(playerActor); + popup->ptrIcon[s4] = hudScriptPair->enabled; + popup->userIndex[s4] = playerData->invItems[i]; + popup->enabled[s4] = 1; + popup->nameMsg[s4] = itemData->nameMsg; + popup->descMsg[s4] = itemData->shortDescMsg; + if (playerActor->targetListLength == 0) { + popup->ptrIcon[s4] = hudScriptPair->disabled; + popup->enabled[s4] = 0; + } + s4++; + } + if (s4 == 0) { + battleStatus->itemUsesLeft = 1; + btl_set_state(0x16); + } else { + popup->popupType = 0; + if (battleStatus->selectedMoveID == 0x35) { + popup->popupType = 0x64; + popup->unk_31C = 1; + popup->unk_320 = battleStatus->itemUsesLeft; + } + if (battleStatus->selectedMoveID == 0x36) { + popup->unk_31C = 2; + popup->popupType += 0xc8; + popup->unk_320 = battleStatus->itemUsesLeft; + } + if (battleStatus->unk_4C[4] < 0) { + battleStatus->unk_4C[4] = 0; + } + popup->numEntries = s4; + s8 = battleStatus->unk_4C[4]; + popup->initialPos = s8; + func_800F513C(popup); + func_800F52BC(); + gBattleSubState = 0x47; } } - - if (p == 0) { - battleStatus->itemUsesLeft = 1; - btl_set_state(0x16); - break; - } - D_802ACCD0.popupType = POPUP_TYPE_USE_ITEM; - if (battleStatus->selectedMoveID == 0x35) { - D_802ACCD0.popupType = 100; - D_802ACCD0.unk_31C = 1; - D_802ACCD0.unk_320 = battleStatus->itemUsesLeft; - } - if (battleStatus->selectedMoveID == 0x36) { - D_802ACCD0.unk_31C = 2; - D_802ACCD0.popupType += 200; - D_802ACCD0.unk_320 = battleStatus->itemUsesLeft; - } - if (battleStatus->unk_4C[4] < 0) { - battleStatus->unk_4C[4] = 0; - } - D_802ACCD0.numEntries = p; - D_802ACCD0.initialPos = battleStatus->unk_4C[4]; - func_800F513C(&D_802ACCD0); - func_800F52BC(); - gBattleSubState = 0x47; break; case 0x47: - if (D_802ACCD0.result != 0) { - if (D_802ACCD0.result == 0xff) { + if (popup->result != 0) { + if (popup->result == 0xff) { battleStatus->itemUsesLeft = 1; btl_set_state(0x16); } else { battleStatus->unk_6C = 0x4a; battleStatus->unk_6E = 0x4b; - battleStatus->unk_1AA = D_802ACCD0.userIndex[D_802ACCD0.result - 1]; + battleStatus->unk_1AA = popup->userIndex[popup->result - 1]; battleStatus->moveCategory = 2; battleStatus->selectedItemID = battleStatus->unk_1AA; battleStatus->currentTargetListFlags = gItemTable[battleStatus->selectedItemID].targetFlags | 0x8000; battleStatus->currentAttackElement = 0; - battleStatus->unk_4C[4] = D_802ACCD0.result - 1; + battleStatus->unk_4C[4] = popup->result - 1; hide_popup_menu(); D_802ACC60 = 5; gBattleSubState = 0x48; @@ -3184,39 +3213,39 @@ void btl_state_update_player_menu(void) { } break; case 0x48: - if (D_802ACC60 == 0) { + if (D_802ACC60 != 0) { + D_802ACC60--; + } else { btl_set_state(0x11); - break; } - D_802ACC60--; break; case 0x49: if (D_802ACC60 != 0) { D_802ACC60--; - break; + } else { + gBattleSubState = 0x47; } - gBattleSubState = 0x47; break; - case 0x4A: + case 0x4a: func_800F16CC(); D_802ACC60 = 5; gBattleSubState = 0x49; break; - case 0x4B: + case 0x4b: destroy_popup_menu(); break; case 0x64: if (playerData->bootsLevel >= 0) { - battleStatus->currentTargetListFlags = gMoveTable[30].flags; - player_create_target_list(player); - s1 = player->targetListLength; + battleStatus->currentTargetListFlags = gMoveTable[0x1e].flags; + player_create_target_list(playerActor); + s1 = playerActor->targetListLength; } else { s1 = 0; } if (playerData->hammerLevel >= 0) { battleStatus->currentTargetListFlags = gMoveTable[7].flags; - player_create_target_list(player); - v0 = player->targetListLength; + player_create_target_list(playerActor); + v0 = playerActor->targetListLength; } else { v0 = 0; } @@ -3224,59 +3253,59 @@ void btl_state_update_player_menu(void) { battleStatus->moveCategory = 9; battleStatus->unk_95 = 0; btl_set_state(0x16); - break; - } - - var_s0 = 50; - if (s1 <= 0) { - var_s0 = 0; - } - if (v0 <= 0) { - var_s0 = 101; - } - if (rand_int(100) < var_s0) { - battleStatus->selectedMoveID = 0x1E; - battleStatus->moveCategory = 0; - battleStatus->currentTargetListFlags = gMoveTable[30].flags; - battleStatus->selectedItemID = playerData->bootsLevel; - player_create_target_list(player); } else { - battleStatus->selectedMoveID = 7; - battleStatus->moveCategory = 1; - battleStatus->currentTargetListFlags = gMoveTable[7].flags; - battleStatus->selectedItemID = playerData->hammerLevel; - player_create_target_list(player); + s = 50; + if (s1 <= 0) { + s = 0; + } + if (v0 <= 0) { + s = 101; + } + if (rand_int(100) < s) { + battleStatus->selectedMoveID = 0x1e; + battleStatus->moveCategory = 0; + battleStatus->currentTargetListFlags = gMoveTable[0x1e].flags; + battleStatus->selectedItemID = playerData->bootsLevel; + player_create_target_list(playerActor); + } else { + battleStatus->selectedMoveID = 7; + battleStatus->moveCategory = 1; + battleStatus->currentTargetListFlags = gMoveTable[7].flags; + battleStatus->selectedItemID = playerData->hammerLevel; + player_create_target_list(playerActor); + } + btl_set_state(0x12); } - btl_set_state(0x12); break; - case 0xC8: + case 0xc8: s4 = 0; func_80263268(); if (battleStatus->changePartnerAllowed >= 0) { - D_802AD678[s4] = 5; - D_802AD658[s4] = battle_menu_leftJustfiedMessagesB[0]; - D_802AD640[s4] = battle_menu_PartnerHudScripts[playerData->currentPartner]; - D_802AD690[s4] = 1; - D_802AD6C0[s4] = 0x1D00A1; + D_802AD678[0] = 5; + D_802AD658[0] = battle_menu_leftJustfiedMessagesB[0]; + D_802AD640[0] = battle_menu_PartnerHudScripts[playerData->currentPartner]; + D_802AD690[0] = 1; + D_802AD6C0[0] = 0x1d00a1; if (battleStatus->changePartnerAllowed <= 0) { - D_802AD640[s4] = battle_menu_DisabledPartnerHudScripts[playerData->currentPartner]; - D_802AD690[s4] = 0; - D_802AD6A8[s4] = 0; + D_802AD640[0] = battle_menu_DisabledPartnerHudScripts[playerData->currentPartner]; + D_802AD690[0] = 0; + D_802AD6A8[0] = 0; } - s4 = 1; + s4++; } + D_802AD640[s4] = battle_menu_DoNothingHudScripts.enabled; D_802AD678[s4] = 9; D_802AD690[s4] = 1; - D_802AD658[s4] = battle_menu_leftJustfiedMessagesA[9]; // out of bounds TODO - D_802AD6C0[s4] = 0x1D00A2; - + D_802AD658[s4] = battle_menu_leftJustfiedMessagesA[9]; + D_802AD6C0[s4] = 0x1d00a2; s4++; + D_802AD640[s4] = battle_menu_FleeHudScripts.enabled; D_802AD678[s4] = 3; D_802AD690[s4] = 1; D_802AD658[s4] = battle_menu_leftJustfiedMessagesA[3]; - D_802AD6C0[s4] = 0x1D00A3; + D_802AD6C0[s4] = 0x1d00a3; if (!(gBattleStatus.flags2 & 0x20)) { D_802AD640[s4] = battle_menu_FleeHudScripts.disabled; D_802AD690[s4] = 0; @@ -3287,12 +3316,13 @@ void btl_state_update_player_menu(void) { if (battleStatus->unk_4C[7] < 0) { battleStatus->unk_4C[7] = 0; } + s8 = battleStatus->unk_4C[7]; D_802AD66C = s4; - D_802AD670 = battleStatus->unk_4C[7]; + D_802AD670 = s8; func_802A45D8(); - gBattleSubState = 0xC9; + gBattleSubState = 0xc9; break; - case 0xC9: + case 0xc9: s00 = func_802A4A54(); if (s00 == -1) { gBattleSubState = 0xcf; @@ -3318,20 +3348,18 @@ void btl_state_update_player_menu(void) { } } break; - case 0xCA: + case 0xca: s00 = func_802A4A54(); - if ((battleStatus->currentButtonsPressed & 0x4000) && (s00 == 0)) { + if ((battleStatus->currentButtonsPressed & 0x4000) && s00 == 0) { func_802A48FC(); func_802A1098(); - gBattleSubState = 0xCB; - break; - } - if (func_802A11B0() != 0) { - battleStatus->unk_6C = 0xCC; - battleStatus->unk_6E = 0xCD; + gBattleSubState = 0xcb; + } else if (func_802A11B0() != 0) { + battleStatus->unk_6C = 0xcc; + battleStatus->unk_6E = 0xcd; switch (battleStatus->currentSubmenu) { case 3: - gBattleSubState = 0xCD; + gBattleSubState = 0xcd; btl_state_update_player_menu(); battleStatus->moveCategory = 3; battleStatus->selectedMoveID = 0x39; @@ -3339,86 +3367,84 @@ void btl_state_update_player_menu(void) { break; case 9: battleStatus->hustleTurns = 0; - gBattleStatus.flags1 &= ~0x4000000; + gBattleStatus.flags1 &= 0xfbffffff; gBattleSubState = battleStatus->unk_6E; btl_state_update_player_menu(); btl_set_state(0x16); break; case 4: - gBattleSubState = 0xCD; + gBattleSubState = 0xcd; btl_state_update_player_menu(); battleStatus->selectedMoveID = 0x31; battleStatus->moveCategory = 4; btl_set_state(0x19); break; case 10: - gBattleSubState = 0xCD; + gBattleSubState = 0xcd; btl_state_update_player_menu(); - btl_set_state(0xB); + btl_set_state(0xb); break; } } break; - case 0xCB: + case 0xcb: func_802A4A54(); if (func_802A11B0() != 0) { D_802ACC60 = 8; D_802ACC6C = 4; gBattleSubState = 1; - break; } break; - case 0xCC: + case 0xcc: func_802A48FC(); func_802A1098(); - gBattleSubState = 0xCB; + gBattleSubState = 0xcb; break; - case 0xCD: + case 0xcd: func_802A472C(); func_802A10B8(); break; - case 0xCF: + case 0xcf: if (func_802A4A54() != -1) { - gBattleSubState = 0xC9; + gBattleSubState = 0xc9; } break; - case 0x1E: - p = 0; - for (i = 1; i < ARRAY_COUNT(playerData->partners); i++) { - partnerID = D_8008EEC0[i]; - if (playerData->partners[partnerID].enabled) { - temp_v1_12 = gPartnerPopupProperties[partnerID]; - D_802ACCD0.ptrIcon[p] = battle_menu_PartnerHudScripts[partnerID]; - D_802ACCD0.userIndex[p] = partnerID; - D_802ACCD0.enabled[p] = TRUE; - D_802ACCD0.nameMsg[p] = temp_v1_12[0]; - D_802ACCD0.descMsg[p] = temp_v1_12[3]; - D_802ACCD0.value[p] = playerData->partners[partnerID].level; - if (playerData->currentPartner == partnerID) { - D_802ACCD0.enabled[p] = FALSE; - D_802ACCD0.ptrIcon[p] = battle_menu_DisabledPartnerHudScripts[partnerID]; + case 0x1e://0x74 + s4 = 0; + for (i = 1; i < 12; i++) { + s32 partnerId = D_8008EEC0[i]; + if (playerData->partners[partnerId].enabled) { + prop = &gPartnerPopupProperties[partnerId]; + popup->ptrIcon[s4] = battle_menu_PartnerHudScripts[partnerId]; + popup->userIndex[s4] = partnerId; + popup->enabled[s4] = 1; + popup->nameMsg[s4] = prop->nameMsg; + popup->descMsg[s4] = prop->battleDescMsg; + popup->value[s4] = playerData->partners[partnerId].level; + if (playerData->currentPartner == partnerId) { + popup->enabled[s4] = 0; + popup->ptrIcon[s4] = battle_menu_DisabledPartnerHudScripts[partnerId]; } - p++; + s4++; } } - if (battleStatus->unk_4C[5] < 0) { battleStatus->unk_4C[5] = 0; } - D_802ACCD0.popupType = POPUP_MENU_SWITCH_PARTNER; - D_802ACCD0.numEntries = p; - D_802ACCD0.initialPos = D_8008EEF0[playerData->currentPartner] - 1; - D_802ACCD0.unk_31C = 0; - D_802ACCD0.unk_320 = 0; - func_800F513C(&D_802ACCD0); + popup->popupType = 1; + popup->numEntries = s4; + popup->initialPos = D_8008EEF0[playerData->currentPartner] - 1; + popup->unk_31C = 0; + popup->unk_320 = 0; + func_800F513C(popup); func_800F52BC(); - gBattleSubState = 0x1F; + gBattleSubState = 0x1f; break; - case 0x1F: - if (D_802ACCD0.result == -1) { + case 0x1f: + if (popup->result == -1) { gBattleSubState = 0x24; - } else if (D_802ACCD0.result != 0) { - if (D_802ACCD0.result == 0xff) { + } else if (popup->result != 0) { + if (popup->result == 255) { func_802A47E0(); gBattleSubState = 0xC9; btl_state_update_player_menu(); @@ -3426,12 +3452,12 @@ void btl_state_update_player_menu(void) { } else { battleStatus->unk_6C = 0x22; battleStatus->unk_6E = 0x23; - battleStatus->unk_1AC = D_802ACCD0.userIndex[D_802ACCD0.result - 1]; + battleStatus->unk_1AC = popup->userIndex[popup->result - 1]; battleStatus->moveCategory = 5; battleStatus->selectedMoveID = 0x37; battleStatus->currentTargetListFlags = 2; battleStatus->selectedItemID = battleStatus->unk_1AC; - battleStatus->unk_4C[5] = D_802ACCD0.result - 1; + battleStatus->unk_4C[5] = popup->result - 1; hide_popup_menu(); func_802A4718(); func_802A1030(); @@ -3440,25 +3466,24 @@ void btl_state_update_player_menu(void) { } break; case 0x20: - if ((battleStatus->currentButtonsPressed & 0x4000) && (D_802ACCD0.result == 0)) { + if ((battleStatus->currentButtonsPressed & 0x4000) && popup->result == 0) { func_800F16CC(); func_802A4A10(); func_802A1098(); gBattleSubState = 0x21; - break; - } - func_802A4A54(); - if (func_802A11B0() != 0) { - gBattleSubState = battleStatus->unk_6E; - btl_state_update_player_menu(); - btl_set_state(0x1D); - break; + } else { + func_802A4A54(); + if (func_802A11B0() != 0) { + gBattleSubState = battleStatus->unk_6E; + btl_state_update_player_menu(); + btl_set_state(0x1d); + } } break; case 0x21: func_802A4A54(); if (func_802A11B0() != 0) { - gBattleSubState = 0x1F; + gBattleSubState = 0x1f; } break; case 0x22: @@ -3475,10 +3500,10 @@ void btl_state_update_player_menu(void) { case 0x24: set_window_update(6, 2); set_window_update(7, 2); - if (D_802ACCD0.result != -1) { + if (popup->result != -1) { set_window_update(6, 9); set_window_update(7, 9); - gBattleSubState = 0x1F; + gBattleSubState = 0x1f; } break; } diff --git a/src/audio.h b/src/audio.h index c9dad4ce9f..156cbacada 100644 --- a/src/audio.h +++ b/src/audio.h @@ -324,7 +324,7 @@ typedef struct AuLoadFilter { /* 0x0C */ ALRawLoop dc_loop; /* 0x18 */ struct Instrument* instrument; /* 0x1C */ s32 dc_bookSize; - /* 0x20 */ s32 (*dc_dmaFunc)(s32 addr, s32 len, void* state, u8 unk); // ALDMAproc with extra arg + /* 0x20 */ s32 (*dc_dmaFunc)(void* addr, s32 len, void* state, u8 unk); // ALDMAproc with extra arg /* 0x24 */ NUDMAState* dc_dmaState; /* 0x28 */ s32 dc_sample; /* 0x2C */ s32 dc_lastsam; diff --git a/src/audio/2e230_len_2190.c b/src/audio/2e230_len_2190.c index 8bc19c647e..029ec9bb99 100644 --- a/src/audio/2e230_len_2190.c +++ b/src/audio/2e230_len_2190.c @@ -554,7 +554,7 @@ AuResult au_load_song_files(u32 songID, BGMHeader* bgmFile, BGMPlayer* player) { au_read_rom(fileEntry.offset, arg1_copy, fileEntry.data & 0xFFFFFF); - for (i = 0 ; i < ARRAY_COUNT(songInfo->bkFileIndex); i++) { + for (i = 0; i < ARRAY_COUNT(songInfo->bkFileIndex); i++) { bkFileIndex = songInfo->bkFileIndex[i]; if (bkFileIndex != 0) { bkFileEntry = &soundData->sbnFileList[bkFileIndex]; @@ -598,7 +598,7 @@ AuResult func_80053E58(s32 songID, BGMHeader* bgmFile) { if (status == AU_RESULT_OK) { au_read_rom(sbnEntry.offset, bgmFile, sbnEntry.data & 0xFFFFFF); - for (i = 0 ; i < ARRAY_COUNT(songInfo->bkFileIndex); i++) { + for (i = 0; i < ARRAY_COUNT(songInfo->bkFileIndex); i++) { bkFileIndex = songInfo->bkFileIndex[i]; if (bkFileIndex != 0) { bkFileEntry = &soundData->sbnFileList[bkFileIndex]; @@ -820,7 +820,39 @@ void au_load_PRG(AuGlobals* arg0, s32 romAddr) { } } -INCLUDE_ASM(s32, "audio/2e230_len_2190", snd_load_BGM); +s32 snd_load_BGM(s32 arg0) { + AuGlobals* globals = gSoundGlobals; + InitSongEntry* song = globals->songList; + s32 ret = 0; + s32 i; + + while (TRUE) { + if (song->bgmFileIndex == 0xFFFF) { + return ret; + } + + if (song->bgmFileIndex == arg0) { + for (i = 0; i < ARRAY_COUNT(song->bkFileIndex); i++) { + u16 bkFileIndex = song->bkFileIndex[i]; + if (bkFileIndex != 0) { + SBNFileEntry* bkFileEntry = &globals->sbnFileList[bkFileIndex]; + SBNFileEntry fileEntry; + + fileEntry.offset = (bkFileEntry->offset & 0xFFFFFF) + globals->baseRomOffset; + fileEntry.data = bkFileEntry->data; + if ((fileEntry.data >> 0x18) == 0x30) { + snd_load_BK(fileEntry.offset, i); + } else { + ret = 0x66; + } + } + } + + return ret; + } + song++; + } +} InstrumentGroup* au_get_BK_instruments(s32 bankGroup, u32 bankIndex) { InstrumentGroup* ret = NULL; @@ -912,7 +944,7 @@ SoundBank* au_load_BK_to_bank(s32 bkFileOffset, SoundBank* bank, s32 bankIndex, keepReading = FALSE; } break; - + case BK_READ_PROCESS_CR: size = ALIGN16_(header->instrumetsSize) + ALIGN16_(header->unkSizeA) @@ -923,11 +955,11 @@ SoundBank* au_load_BK_to_bank(s32 bkFileOffset, SoundBank* bank, s32 bankIndex, bank = alHeapAlloc(heap, 1, size); } au_read_rom(bkFileOffset, bank, size); - + group = au_get_BK_instruments(bankGroup, bankIndex); inst = (*group); instrumentCount = 0; - + for (i = 0; i < ARRAY_COUNT(header->instruments); inst++, i++) { u16 instOffset = header->instruments[i]; if (instOffset != 0) { @@ -937,7 +969,7 @@ SoundBank* au_load_BK_to_bank(s32 bkFileOffset, SoundBank* bank, s32 bankIndex, *inst = NULL; } } - + if (instrumentCount != 0) { readState = BK_READ_SWIZZLE_CR; } else { diff --git a/src/audio/33450.c b/src/audio/33450.c index 217a5e127c..573e47dadb 100644 --- a/src/audio/33450.c +++ b/src/audio/33450.c @@ -32,7 +32,7 @@ static Acmd* _decodeChunk(Acmd* cmdBufPos, AuLoadFilter* filter, s32 tsam, s32 n s32 endAddr; s32 endAlign; s32 paddedSize; - + if (nbytes > 0) { endAddr = filter->dc_dmaFunc(filter->dc_memin, nbytes, filter->dc_dmaState, filter->instrument->unk_25); // ALDMAproc has an extra arg added endAlign = endAddr & 7; @@ -42,13 +42,13 @@ static Acmd* _decodeChunk(Acmd* cmdBufPos, AuLoadFilter* filter, s32 tsam, s32 n } else { endAlign = 0; } - + if (flags & A_LOOP) { aSetLoop(cmdBufPos++, K0_TO_PHYS(filter->dc_lstate)); } n_aADPCMdec(cmdBufPos++, filter->dc_state, flags, tsam << 1, endAlign, output); - + filter->dc_first = 0; return cmdBufPos; } @@ -71,7 +71,7 @@ static s16 _getRate(f64 vol, f64 tgt, s32 count, u16* ratel) { } } inv = (1.0 / count); - + if (tgt < 1.0) { tgt = 1.0; } @@ -82,11 +82,11 @@ static s16 _getRate(f64 vol, f64 tgt, s32 count, u16* ratel) { a = (tgt - vol) * inv * 8.0; a_int = a; c_int = (a_int - 1); - + b = (a - a_int) + 1.0; b_int = b; c_int += b_int; - + *ratel = (b - b_int) * 0xFFFF; return c_int; } diff --git a/src/npc.c b/src/npc.c index 5b89fb2eb1..29e10b9f55 100644 --- a/src/npc.c +++ b/src/npc.c @@ -887,7 +887,7 @@ void render_npcs(void) { if ((npc->flags & NPC_FLAG_MOTION_BLUR) != 0) { renderTaskPtr->distance = -phi_f20; - renderTaskPtr->appendGfx = appendGfx_npc_blur; + renderTaskPtr->appendGfx = (void (*))appendGfx_npc_blur; renderTaskPtr->appendGfxArg = npc; renderTaskPtr->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1; queue_render_task(renderTaskPtr); diff --git a/src/world/area_jan/jan_04/B45150.c b/src/world/area_jan/jan_04/B45150.c index cf787a0e5c..549a154339 100644 --- a/src/world/area_jan/jan_04/B45150.c +++ b/src/world/area_jan/jan_04/B45150.c @@ -1,7 +1,6 @@ #include "jan_04.h" #define PARTY_IMAGE "party_opuku" -// #include "world/common/todo/LoadPartyImage.inc.c" BSS PAL_BIN N(palette)[256]; BSS IMG_BIN N(raster)[0x3D90]; // similar to LoadPartyImage include but with D_8024A290 in the middle randomly diff --git a/src/world/area_kmr/kmr_02/8B3A10.c b/src/world/area_kmr/kmr_02/8B3A10.c index e046f7c183..3f2057cbfe 100644 --- a/src/world/area_kmr/kmr_02/8B3A10.c +++ b/src/world/area_kmr/kmr_02/8B3A10.c @@ -4,9 +4,5 @@ BSS char D_80258140[0x200]; BSS char D_80258340[0x3D90]; BSS char D_8025C0D0; -INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B3A10", kmr_02_LoadPartyImage); - -// #define PARTY_IMAGE "party_kurio" -// #include "world/common/todo/LoadPartyImage.inc.c" - -// const char padding[0x220] = {0}; +#define PARTY_IMAGE "party_kurio" +#include "world/common/todo/LoadPartyImage.inc.c" diff --git a/src/world/area_kmr/kmr_20/8EBE50.c b/src/world/area_kmr/kmr_20/8EBE50.c index e1cb37a3b6..6d67580b47 100644 --- a/src/world/area_kmr/kmr_20/8EBE50.c +++ b/src/world/area_kmr/kmr_20/8EBE50.c @@ -1,17 +1,28 @@ #include "kmr_20.h" +#include "hud_element.h" +#include "ld_addrs.h" -BSS s32 D_80253060[6]; -BSS char D_80253078[0x300]; -BSS s32 D_80253378[3]; -BSS s32 D_80253384[2]; -BSS s32 D_8025338C; -BSS char D_80253390[0x3D88]; -BSS char D_80257118[0x208]; -BSS char D_80257320[0x3D88]; -BSS char D_8025B0A8[0x200]; -BSS s32 D_8025B2A8; -BSS s32 D_8025B2AC; -BSS s32 D_8025B2B0; +extern HudScript HES_Item_Unused_08B; +extern HudScript HES_Item_Unused_08B_disabled; +extern HudScript HES_Item_Unused_08C; +extern HudScript HES_Item_Unused_08C_disabled; + +extern s32 D_80244D24_8F0B44[12]; // TODO remove hard-coded count when migrated +extern s32 D_80244D54_8F0B74[12]; +extern s32 D_80244D84_8F0BA4[]; +extern s32 D_80244DB4_8F0BD4[]; +extern s32 D_80244FA0_8F0DC0[12]; // TODO remove hard-coded count when migrated +extern s32 D_80244FD0_8F0DF0[]; + +BSS PopupMenu D_80253060; +BSS u8 D_80253390[0x3D86]; +BSS u16 D_80257118[0x100]; +BSS char D_80257318[0x8]; // padding +BSS u8 D_80257320[0x3D86]; +BSS u16 D_8025B0A8[0x100]; +BSS s32 D_8025B2A8; // worker ID +BSS s32 D_8025B2AC; // opacity +BSS MessageImageData D_8025B2B0[2]; #include "world/common/entity/Pipe.inc.c" @@ -32,14 +43,164 @@ ApiStatus func_80240358_8EC178(Evt* script, s32 isInitialCall) { #include "common/foliage.inc.c" -INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EBE50", func_802405BC_8EC3DC); +void func_802405BC_8EC3DC(void) { + D_8025B2AC += 20; + if (D_8025B2AC > 255) { + D_8025B2AC = 255; + } + + draw_ci_image_with_clipping(D_8025B2B0[0].raster, D_8025B2B0[0].width, D_8025B2B0[0].height, D_8025B2B0[0].format, + D_8025B2B0[0].bitDepth, D_8025B2B0[0].palette, 85, 97, 0, 0, + SCREEN_WIDTH, SCREEN_HEIGHT, D_8025B2AC); + draw_ci_image_with_clipping(D_8025B2B0[1].raster, D_8025B2B0[1].width, D_8025B2B0[1].height, D_8025B2B0[1].format, + D_8025B2B0[1].bitDepth, D_8025B2B0[1].palette, 160, 102, 0, 0, + SCREEN_WIDTH, SCREEN_HEIGHT, D_8025B2AC); +} ApiStatus func_802406BC_8EC4DC(Evt* script, s32 isInitialCall) { script->functionTemp[3] = 0; return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EBE50", func_802406C8_8EC4E8); +ApiStatus func_802406C8_8EC4E8(Evt* script, s32 isInitialCall) { + PopupMenu* menu = &D_80253060; + s32 temp; + s32 userIndex; + s32 temp_s0; + s32 temp_s1; + s32 cond; + s32 numEntries; + s32 gb; + s32 i; + + if (isInitialCall) { + script->functionTemp[0] = 0; + } + + switch (script->functionTemp[0]) { + case 0: + numEntries = 0; + + for (i = 0; i < ARRAY_COUNT(D_80244D24_8F0B44); i++) { + cond = FALSE; + temp_s0 = D_80244D24_8F0B44[i]; + switch (temp_s0) { + case -1: + if (gPlayerData.quizzesCorrect != 0) { + cond = TRUE; + } + break; + case -2: + if (evt_get_variable(NULL, GameFlag(282)) != 0) { + cond = TRUE; + } + break; + case -3: + temp = FALSE; + if (evt_get_variable(NULL, GameByte(0)) >= 6) { + temp = (evt_get_variable(NULL, GameFlag(368)) != 0); + } + if (temp) { + cond = TRUE; + } + break; + default: + if (evt_get_variable(NULL, GameByte(0)) >= temp_s0) { + cond = TRUE; + } + break; + } + + if (cond) { + menu->ptrIcon[numEntries] = &HES_Item_Unused_08B; + menu->userIndex[numEntries] = i; + menu->enabled[numEntries] = TRUE; + menu->nameMsg[numEntries] = D_80244D54_8F0B74[i]; + menu->descMsg[numEntries] = 0; + temp = get_global_byte((i / 8) + 14) & (1 << (i % 8)); + gb = temp; + menu->value[numEntries] = 0; + if (gb) { + menu->value[numEntries] = 1; + menu->ptrIcon[numEntries] = &HES_Item_Unused_08B_disabled; + } + numEntries++; + } + } + + if (numEntries == 0) { + script->varTable[0] = 0; + return ApiStatus_DONE2; + } + menu->popupType = POPUP_MENU_READ_POSTCARD; + menu->numEntries = numEntries; + menu->initialPos = script->functionTemp[3]; + create_popup_menu(menu); + status_menu_respond_to_changes(); + close_status_menu(); + script->functionTemp[1] = 0; + script->functionTemp[0] = 1; + break; + case 1: + if (script->functionTemp[1] == 0) { + script->functionTemp[2] = menu->result; + if (script->functionTemp[2] != 0) { + hide_popup_menu(); + } else { + break; + } + } + + script->functionTemp[1]++; + if (script->functionTemp[1] >= 15) { + destroy_popup_menu(); + if (script->functionTemp[2] == 0xFF) { + script->varTable[0] = -1; + return ApiStatus_DONE2; + } + script->functionTemp[3] = script->functionTemp[2] - 1; + userIndex = menu->userIndex[script->functionTemp[2] - 1]; + script->varTable[0] = D_80244D84_8F0BA4[userIndex]; + temp_s1 = (userIndex / 8) + 14; + set_global_byte(temp_s1, get_global_byte(temp_s1) | (1 << (userIndex % 8))); + if (userIndex == 3) { + evt_set_variable(NULL, GameFlag(103), 1); + } + + dma_copy(charset_ROM_START + D_80244DB4_8F0BD4[0], + charset_ROM_START + D_80244DB4_8F0BD4[0] + sizeof(D_80253390), + D_80253390); + dma_copy(charset_ROM_START + D_80244DB4_8F0BD4[1], + charset_ROM_START + D_80244DB4_8F0BD4[1] + sizeof(D_80257118), + D_80257118); + D_8025B2B0[0].width = 150; + D_8025B2B0[0].palette = D_80257118; + D_8025B2B0[0].height = 105; + D_8025B2B0[0].raster = D_80253390; + D_8025B2B0[0].format = G_IM_FMT_CI; + D_8025B2B0[0].bitDepth = 0; + + dma_copy(charset_ROM_START + D_80244DB4_8F0BD4[(userIndex * 2) + 2], + charset_ROM_START + D_80244DB4_8F0BD4[(userIndex * 2) + 2] + sizeof(D_80257320), + D_80257320); + dma_copy(charset_ROM_START + D_80244DB4_8F0BD4[(userIndex * 2) + 3], + charset_ROM_START + D_80244DB4_8F0BD4[(userIndex * 2) + 3] + sizeof(D_8025B0A8), + D_8025B0A8); + D_8025B2B0[1].width = 70; + D_8025B2B0[1].raster = D_80257320; + D_8025B2B0[1].palette = D_8025B0A8; + D_8025B2B0[1].height = 95; + D_8025B2B0[1].format = G_IM_FMT_CI; + D_8025B2B0[1].bitDepth = 1; + + D_8025B2A8 = create_worker_frontUI(NULL, func_802405BC_8EC3DC); + D_8025B2AC = 0; + return ApiStatus_DONE2; + } + break; + } + return ApiStatus_BLOCK; +} ApiStatus func_80240B20_8EC940(Evt* script, s32 isInitialCall) { free_worker(D_8025B2A8); @@ -51,7 +212,79 @@ ApiStatus func_80240B48_8EC968(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EBE50", func_80240B54_8EC974); +ApiStatus func_80240B54_8EC974(Evt* script, s32 isInitialCall) { + PopupMenu* menu = &D_80253060; + s32 userIndex; + s32 numEntries; + s32 gb; + s32 a1; + s32 i; + + if (isInitialCall) { + script->functionTemp[0] = 0; + } + + switch (script->functionTemp[0]) { + case 0: + numEntries = 0; + for (i = 0; i < ARRAY_COUNT(D_80244FA0_8F0DC0); i++) { + if (evt_get_variable(NULL, GameByte(0)) >= D_80244FA0_8F0DC0[i]) { + menu->ptrIcon[numEntries] = &HES_Item_Unused_08C; + menu->userIndex[numEntries] = i; + menu->enabled[numEntries] = TRUE; + menu->nameMsg[numEntries] = 0; + menu->descMsg[numEntries] = 0; + gb = get_global_byte((i / 8) + 12); + menu->value[numEntries] = 0; + a1 = gb & (1 << (i % 8)); + if (a1) { + menu->value[numEntries] = 1; + menu->ptrIcon[numEntries] = &HES_Item_Unused_08C_disabled; + } + numEntries++; + } + } + + if (numEntries == 0) { + script->varTable[0] = 0; + return ApiStatus_DONE2; + } + menu->popupType = POPUP_MENU_READ_DIARY_PAGE; + menu->numEntries = numEntries; + menu->initialPos = script->functionTemp[3]; + create_popup_menu(menu); + status_menu_respond_to_changes(); + close_status_menu(); + script->functionTemp[1] = 0; + script->functionTemp[0] = 1; + break; + case 1: + if (script->functionTemp[1] == 0) { + script->functionTemp[2] = menu->result; + if (script->functionTemp[2] != 0) { + hide_popup_menu(); + } else { + break; + } + } + script->functionTemp[1]++; + if (script->functionTemp[1] >= 15) { + destroy_popup_menu(); + if (script->functionTemp[2] == 0xFF) { + script->varTable[0] = -1; + return ApiStatus_DONE2; + } + script->functionTemp[3] = script->functionTemp[2] - 1; + userIndex = menu->userIndex[script->functionTemp[2] - 1]; + script->varTable[0] = D_80244FD0_8F0DF0[userIndex]; + a1 = get_global_byte((userIndex / 8) + 12) | (1 << (userIndex % 8)); + set_global_byte((userIndex / 8) + 12, a1); + return ApiStatus_DONE2; + } + break; + } + return ApiStatus_BLOCK; +} ApiStatus func_80240DA4_8ECBC4(Evt* script, s32 isInitialCall) { au_ambience_set_volume(0, 1000, 1); diff --git a/src/world/area_kmr/kmr_20/8EDFC0.c b/src/world/area_kmr/kmr_20/8EDFC0.c index 71c8067951..5e3a1b3376 100644 --- a/src/world/area_kmr/kmr_20/8EDFC0.c +++ b/src/world/area_kmr/kmr_20/8EDFC0.c @@ -146,8 +146,35 @@ void func_80242A04_8EE824(void) { queue_render_task(&rt); } -void func_80242A3C_8EE85C(UnkKmr20*); -INCLUDE_ASM(s32, "world/area_kmr/kmr_20/8EDFC0", func_80242A3C_8EE85C); +void func_80242A3C_8EE85C(UnkKmr20* arg0) { + PlayerData* playerData = &gPlayerData; + s32 count; + s32 i; + + count = 0; + for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) { + if (playerData->badges[i] != 0) { + count++; + } + } + arg0->equippedBadges = count; + + count = 0; + for (i = 0; TRUE; i++) { + if (D_80252DC0_8FEBE0[i] != 0) { + if (evt_get_variable(NULL, D_80252DC0_8FEBE0[i]) != 0) { + count++; + } + } else { + break; + } + } + arg0->unk_28 = i; + arg0->unk_26 = count; + if (arg0->unk_26 == 0 && evt_get_variable(NULL, GameFlag(328)) != 0) { + arg0->unk_26 = -1; + } +} ApiStatus func_80242B04_8EE924(Evt* script, s32 isInitialCall) { UnkKmr20* temp_v0; diff --git a/src/world/area_osr/osr_00/AACBB0.c b/src/world/area_osr/osr_00/AACBB0.c index 25f4d680e6..c64a2243d5 100644 --- a/src/world/area_osr/osr_00/AACBB0.c +++ b/src/world/area_osr/osr_00/AACBB0.c @@ -1,5 +1,6 @@ #include "osr_00.h" #include "ld_addrs.h" +#include "charset/peach_letter.png.h" #include "world/common/atomic/UnkFunc27.inc.c" @@ -15,8 +16,25 @@ ApiStatus func_80240678_AACEA8(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -BSS char osr_00_802437C0[0x3D88]; -BSS char D_80247548[0x208]; -BSS char D_80247750; +BSS u8 osr_00_802437C0[charset_peach_letter_png_width * charset_peach_letter_png_height]; +BSS u16 D_80247548[0x100]; +BSS char D_80247748[0x8]; // padding? +BSS MessageImageData D_80247750; -INCLUDE_ASM(s32, "world/area_osr/osr_00/AACBB0", func_802406E0_AACF10); +// TODO look into + 1 here... +ApiStatus func_802406E0_AACF10(Evt* script, s32 isInitialCall) { + s8* romStart = charset_ROM_START; + u8* rasterOffset = charset_peach_letter_png; + u16* paletteOffset = (u16*) charset_peach_letter_pal + 1; // todo ??? + + dma_copy(romStart + (s32)rasterOffset, romStart + (s32)rasterOffset + sizeof(osr_00_802437C0), &osr_00_802437C0); + dma_copy(romStart + (s32)paletteOffset, romStart + (s32)paletteOffset + sizeof(D_80247548), &D_80247548); + D_80247750.width = charset_peach_letter_png_width; + D_80247750.height = charset_peach_letter_png_height; + D_80247750.format = G_IM_FMT_CI; + D_80247750.raster = osr_00_802437C0; + D_80247750.palette = D_80247548; + D_80247750.bitDepth = 1; + set_message_images(&D_80247750); + return ApiStatus_DONE2; +} diff --git a/src/world/area_pra/pra_31/D7F270.c b/src/world/area_pra/pra_31/D7F270.c index 4f0899b5d3..9648a76a62 100644 --- a/src/world/area_pra/pra_31/D7F270.c +++ b/src/world/area_pra/pra_31/D7F270.c @@ -5,18 +5,100 @@ typedef struct UnkPra31 { /* 0x02 */ s16 unk_02; /* 0x04 */ f32 unk_04; /* 0x08 */ f32 unk_08; - /* 0x0C */ char unk_0C[0x8]; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ f32 unk_10; /* 0x14 */ f32 unk_14; } UnkPra31; // size = 0x18 -INCLUDE_ASM(s32, "world/area_pra/pra_31/D7F270", func_80240510_D7F270); +typedef struct UnkPra31Big { + /* 0x00 */ UnkPra31 unk_00[3]; + /* 0x48 */ s16 unk_48[3][9]; + /* 0x7E */ char unk_7E[0x2]; +} UnkPra31Big; // size = 0x80 + +extern s32 D_802424F0_D81250[][3]; +extern s32 D_80242514_D81274[][3]; +extern s16 D_80242538_D81298[3][9]; + +ApiStatus func_80240510_D7F270(Evt* script, s32 isInitialCAll) { + UnkPra31Big* big; + UnkPra31* inner; + s32 temp_a1; + s32 cond; + s32 i, j; + + if (isInitialCAll) { + big = heap_malloc(sizeof(*big)); + evt_set_variable(script, MapVar(0), (s32) big); + temp_a1 = evt_get_variable(script, GameByte(0)); + + for (i = 0; i < ARRAY_COUNT(big->unk_48); i++) { + for (j = 0; j < ARRAY_COUNT(big->unk_48[0]); j++) { + big->unk_48[i][j] = 0; + } + } + + for (j = 0, inner = &big->unk_00[0]; j < ARRAY_COUNT(big->unk_48); j++, inner++) { + if (temp_a1 < 85) { + inner->unk_00 = D_802424F0_D81250[j][0]; + inner->unk_02 = D_802424F0_D81250[j][1]; + inner->unk_14 = D_802424F0_D81250[j][2]; + } else { + inner->unk_00 = D_80242514_D81274[j][0]; + inner->unk_02 = D_80242514_D81274[j][1]; + inner->unk_14 = D_80242514_D81274[j][2]; + } + inner->unk_04 = inner->unk_0C = (inner->unk_00 * 50) + 50; + inner->unk_08 = inner->unk_10 = (inner->unk_02 * 50) + 75; + big->unk_48[inner->unk_02][inner->unk_00] = -1; + } + evt_set_variable(script, MapVar(3), 270); + evt_set_variable(script, MapVar(4), 270); + evt_set_variable(script, MapVar(5), 270); + } + + big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + inner = &big->unk_00[0]; + for (j = 0; j < ARRAY_COUNT(big->unk_48); j++, inner++) { + if (inner->unk_04 < inner->unk_0C) { + inner->unk_04 += 1.25f; + } + if (inner->unk_04 > inner->unk_0C) { + inner->unk_04 -= 1.25f; + } + if (inner->unk_08 < inner->unk_10) { + inner->unk_08 += 1.25f; + } + if (inner->unk_08 > inner->unk_10) { + inner->unk_08 -= 1.25f; + } + } + + cond = FALSE; + for (i = 0; i < ARRAY_COUNT(big->unk_48); i++) { + for (j = 0; j < ARRAY_COUNT(big->unk_48[0]); j++) { + if (big->unk_48[i][j] > 0) { + big->unk_48[i][j]--; + } + + if (big->unk_48[i][j] != D_80242538_D81298[i][j]) { + cond = TRUE; + } + } + } + + if (!cond) { + evt_set_variable(script, MapVar(1), 1); + } + return ApiStatus_BLOCK; +} ApiStatus func_80240818_D7F578(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 idx = evt_get_variable(script, *args++); f32 temp_f20 = evt_get_float_variable(script, *args++); - UnkPra31* structs = (UnkPra31*) evt_get_variable(script, MapVar(0)); - UnkPra31* structPtr = &structs[idx]; + UnkPra31Big* big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + UnkPra31* structPtr = &big->unk_00[idx]; structPtr->unk_14 = temp_f20; return ApiStatus_DONE2; @@ -25,17 +107,15 @@ ApiStatus func_80240818_D7F578(Evt* script, s32 isInitialCall) { ApiStatus func_80240894_D7F5F4(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 idx = evt_get_variable(script, *args++); - UnkPra31* structs = (UnkPra31*) evt_get_variable(script, MapVar(0)); - UnkPra31* structPtr = &structs[idx]; + UnkPra31Big* big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + UnkPra31* structPtr = &big->unk_00[idx]; s32 var_s0; s32 var_s1; - s32 temp_f2; s32 i; script->varTable[0] = 0; - temp_f2 = structPtr->unk_14; - switch (temp_f2) { + switch ((s32) structPtr->unk_14) { case 0: var_s0 = structPtr->unk_00; var_s1 = structPtr->unk_02 - 1; @@ -54,8 +134,11 @@ ApiStatus func_80240894_D7F5F4(Evt* script, s32 isInitialCall) { break; } - for (i = 0; i < 3; i++) { - if (i != idx && var_s0 == structs[i].unk_00 && var_s1 == structs[i].unk_02) { + for (i = 0; i < ARRAY_COUNT(big->unk_48); i++) { + if (i != idx && + var_s0 == big->unk_00[i].unk_00 && + var_s1 == big->unk_00[i].unk_02) + { script->varTable[0] = 1; } } @@ -63,13 +146,13 @@ ApiStatus func_80240894_D7F5F4(Evt* script, s32 isInitialCall) { if (var_s0 < 0) { script->varTable[0] = 1; } - if (var_s0 >= 9) { + if (var_s0 >= ARRAY_COUNT(big->unk_48[0])) { script->varTable[0] = 1; } if (var_s1 < 0) { script->varTable[0] = 1; } - if (var_s1 >= 3) { + if (var_s1 >= ARRAY_COUNT(big->unk_48)) { script->varTable[0] = 1; } if (script->varTable[0] == 1 && gPlayerStatusPtr->actionState == ACTION_STATE_PUSHING_BLOCK) { @@ -78,13 +161,39 @@ ApiStatus func_80240894_D7F5F4(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "world/area_pra/pra_31/D7F270", func_80240A3C_D7F79C); +ApiStatus func_80240A3C_D7F79C(Evt* script) { + Bytecode* args = script->ptrReadPos; + s32 idx = evt_get_variable(script, *args++); + UnkPra31Big* big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + UnkPra31* structPtr = &big->unk_00[idx]; + + big->unk_48[structPtr->unk_02][structPtr->unk_00] = 20; + + switch ((s32) structPtr->unk_14) { + case 0: + structPtr->unk_02--; + break; + case 90: + structPtr->unk_00++; + break; + case 180: + structPtr->unk_02++; + break; + case 270: + structPtr->unk_00--; + } + + big->unk_48[structPtr->unk_02][structPtr->unk_00] = -1; + structPtr->unk_0C = ((structPtr->unk_00 * 50) + 50); + structPtr->unk_10 = ((structPtr->unk_02 * 50) + 75); + return ApiStatus_DONE2; +} ApiStatus func_80240BBC_D7F91C(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 idx = evt_get_variable(script, *args++); - UnkPra31* structs = (UnkPra31*) evt_get_variable(script, MapVar(0)); - UnkPra31* structPtr = &structs[idx]; + UnkPra31Big* big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + UnkPra31* structPtr = &big->unk_00[idx]; s32 temp_f2 = structPtr->unk_14; switch (temp_f2) { @@ -106,8 +215,8 @@ ApiStatus func_80240C70_D7F9D0(Evt* script, s32 isInitialCall) { PlayerStatus* playerStatus = &gPlayerStatus; Bytecode* args = script->ptrReadPos; s32 idx = evt_get_variable(script, *args++); - UnkPra31* structs = (UnkPra31*) evt_get_variable(script, MapVar(0)); - UnkPra31* structPtr = &structs[idx]; + UnkPra31Big* big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + UnkPra31* structPtr = &big->unk_00[idx]; s32 temp_f4 = structPtr->unk_14; switch (temp_f4) { @@ -140,8 +249,8 @@ ApiStatus func_80240C70_D7F9D0(Evt* script, s32 isInitialCall) { ApiStatus func_80240E70_D7FBD0(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 idx = evt_get_variable(script, *args++); - UnkPra31* structs = (UnkPra31*) evt_get_variable(script, MapVar(0)); - UnkPra31* structPtr = &structs[idx]; + UnkPra31Big* big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + UnkPra31* structPtr = &big->unk_00[idx]; evt_set_float_variable(script, LocalVar(0), structPtr->unk_04); evt_set_float_variable(script, LocalVar(1), -structPtr->unk_08); @@ -152,8 +261,8 @@ ApiStatus func_80240E70_D7FBD0(Evt* script, s32 isInitialCall) { ApiStatus func_80240F2C_D7FC8C(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 idx = evt_get_variable(script, *args++); - UnkPra31* structs = (UnkPra31*) evt_get_variable(script, MapVar(0)); - UnkPra31* structPtr = &structs[idx]; + UnkPra31Big* big = (UnkPra31Big*) evt_get_variable(script, MapVar(0)); + UnkPra31* structPtr = &big->unk_00[idx]; evt_set_float_variable(script, LocalVar(0), structPtr->unk_04); evt_set_float_variable(script, LocalVar(1), structPtr->unk_08); diff --git a/src/world/area_sam/sam_11/D3A930.c b/src/world/area_sam/sam_11/D3A930.c index 52f299d3d6..b419ff552e 100644 --- a/src/world/area_sam/sam_11/D3A930.c +++ b/src/world/area_sam/sam_11/D3A930.c @@ -5,8 +5,7 @@ extern s32 D_80243CC0_D3E290; extern s32 D_80243CC4_D3E294; extern s32 D_80243CC8_D3E298; -// needs data migration + some issues with the return values -#ifdef NON_EQUIVALENT +NOP_FIX ApiStatus func_80240360_D3A930(Evt* script, s32 isInitialCall) { u8 r, g, b, a; u8 alpha; @@ -16,11 +15,7 @@ ApiStatus func_80240360_D3A930(Evt* script, s32 isInitialCall) { func_8011B950(script->varTable[1], -1, 1, 1); script->functionTemp[0] = 0; get_background_color_blend(&r, &g, &b, &a); - if ((script->varTable[0] != 0) || (a != 255)) { - if (script->varTable[0] == 1 && a == 0) { - return ApiStatus_DONE2; - } - } else { + if ((script->varTable[0] == 0 && a == 255) || (script->varTable[0] == 1 && a == 0)) { return ApiStatus_DONE2; } } @@ -52,9 +47,7 @@ ApiStatus func_80240360_D3A930(Evt* script, s32 isInitialCall) { } return ApiStatus_BLOCK; } -#else -INCLUDE_ASM(s32, "world/area_sam/sam_11/D3A930", func_80240360_D3A930); -#endif +NOP_UNFIX ApiStatus func_8024052C_D3AAFC(Evt* script, s32 isInitialCall) { gEntityHideMode = 1; diff --git a/tools/build/img/header.py b/tools/build/img/header.py index 7e9fc0e8a4..ac6c9d847d 100755 --- a/tools/build/img/header.py +++ b/tools/build/img/header.py @@ -7,7 +7,7 @@ import png if __name__ == "__main__": infile, outfile = argv[1:3] - if len(argv) > 3: + if len(argv) > 3 and argv[3]: cname = argv[3] else: cname = re.sub(r"[^0-9a-zA-Z_]", "_", infile) diff --git a/ver/us/asm/nonmatchings/audio/2e230_len_2190/snd_load_BGM.s b/ver/us/asm/nonmatchings/audio/2e230_len_2190/snd_load_BGM.s deleted file mode 100644 index 5337168e3f..0000000000 --- a/ver/us/asm/nonmatchings/audio/2e230_len_2190/snd_load_BGM.s +++ /dev/null @@ -1,67 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel snd_load_BGM -/* 2FA5C 8005465C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 2FA60 80054660 AFB30024 */ sw $s3, 0x24($sp) -/* 2FA64 80054664 0000982D */ daddu $s3, $zero, $zero -/* 2FA68 80054668 3405FFFF */ ori $a1, $zero, 0xffff -/* 2FA6C 8005466C AFB40028 */ sw $s4, 0x28($sp) -/* 2FA70 80054670 3C1400FF */ lui $s4, 0xff -/* 2FA74 80054674 AFB20020 */ sw $s2, 0x20($sp) -/* 2FA78 80054678 3C12800A */ lui $s2, %hi(gSoundGlobals) -/* 2FA7C 8005467C 8E52A5C0 */ lw $s2, %lo(gSoundGlobals)($s2) -/* 2FA80 80054680 0285A025 */ or $s4, $s4, $a1 -/* 2FA84 80054684 AFB5002C */ sw $s5, 0x2c($sp) -/* 2FA88 80054688 24150030 */ addiu $s5, $zero, 0x30 -/* 2FA8C 8005468C AFBF0030 */ sw $ra, 0x30($sp) -/* 2FA90 80054690 AFB1001C */ sw $s1, 0x1c($sp) -/* 2FA94 80054694 AFB00018 */ sw $s0, 0x18($sp) -/* 2FA98 80054698 8E43002C */ lw $v1, 0x2c($s2) -.L8005469C: -/* 2FA9C 8005469C 94620000 */ lhu $v0, ($v1) -/* 2FAA0 800546A0 5045001F */ beql $v0, $a1, .L80054720 -/* 2FAA4 800546A4 0260102D */ daddu $v0, $s3, $zero -/* 2FAA8 800546A8 5444FFFC */ bnel $v0, $a0, .L8005469C -/* 2FAAC 800546AC 24630008 */ addiu $v1, $v1, 8 -/* 2FAB0 800546B0 0000802D */ daddu $s0, $zero, $zero -/* 2FAB4 800546B4 0060882D */ daddu $s1, $v1, $zero -.L800546B8: -/* 2FAB8 800546B8 96220002 */ lhu $v0, 2($s1) -/* 2FABC 800546BC 50400014 */ beql $v0, $zero, .L80054710 -/* 2FAC0 800546C0 26310002 */ addiu $s1, $s1, 2 -/* 2FAC4 800546C4 8E440020 */ lw $a0, 0x20($s2) -/* 2FAC8 800546C8 000210C0 */ sll $v0, $v0, 3 -/* 2FACC 800546CC 00822021 */ addu $a0, $a0, $v0 -/* 2FAD0 800546D0 8C820000 */ lw $v0, ($a0) -/* 2FAD4 800546D4 8E43001C */ lw $v1, 0x1c($s2) -/* 2FAD8 800546D8 00541024 */ and $v0, $v0, $s4 -/* 2FADC 800546DC 00431821 */ addu $v1, $v0, $v1 -/* 2FAE0 800546E0 AFA30010 */ sw $v1, 0x10($sp) -/* 2FAE4 800546E4 8C820004 */ lw $v0, 4($a0) -/* 2FAE8 800546E8 AFA20014 */ sw $v0, 0x14($sp) -/* 2FAEC 800546EC 00021602 */ srl $v0, $v0, 0x18 -/* 2FAF0 800546F0 54550006 */ bnel $v0, $s5, .L8005470C -/* 2FAF4 800546F4 24130066 */ addiu $s3, $zero, 0x66 -/* 2FAF8 800546F8 0060202D */ daddu $a0, $v1, $zero -/* 2FAFC 800546FC 0C015313 */ jal snd_load_BK -/* 2FB00 80054700 0200282D */ daddu $a1, $s0, $zero -/* 2FB04 80054704 080151C4 */ j .L80054710 -/* 2FB08 80054708 26310002 */ addiu $s1, $s1, 2 -.L8005470C: -/* 2FB0C 8005470C 26310002 */ addiu $s1, $s1, 2 -.L80054710: -/* 2FB10 80054710 26100001 */ addiu $s0, $s0, 1 -/* 2FB14 80054714 2A020003 */ slti $v0, $s0, 3 -/* 2FB18 80054718 1440FFE7 */ bnez $v0, .L800546B8 -/* 2FB1C 8005471C 0260102D */ daddu $v0, $s3, $zero -.L80054720: -/* 2FB20 80054720 8FBF0030 */ lw $ra, 0x30($sp) -/* 2FB24 80054724 8FB5002C */ lw $s5, 0x2c($sp) -/* 2FB28 80054728 8FB40028 */ lw $s4, 0x28($sp) -/* 2FB2C 8005472C 8FB30024 */ lw $s3, 0x24($sp) -/* 2FB30 80054730 8FB20020 */ lw $s2, 0x20($sp) -/* 2FB34 80054734 8FB1001C */ lw $s1, 0x1c($sp) -/* 2FB38 80054738 8FB00018 */ lw $s0, 0x18($sp) -/* 2FB3C 8005473C 03E00008 */ jr $ra -/* 2FB40 80054740 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_02/8B3A10/kmr_02_LoadPartyImage.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_02/8B3A10/kmr_02_LoadPartyImage.s deleted file mode 100644 index ec24ad113c..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_02/8B3A10/kmr_02_LoadPartyImage.s +++ /dev/null @@ -1,51 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80257F10_8C7F80 -.ascii "party_kurio\0\0\0\0\0" - -.section .text - -glabel kmr_02_LoadPartyImage -/* 8B3A10 802439A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 8B3A14 802439A4 3C048025 */ lui $a0, %hi(D_80257F10_8C7F80) -/* 8B3A18 802439A8 24847F10 */ addiu $a0, $a0, %lo(D_80257F10_8C7F80) -/* 8B3A1C 802439AC 27A50010 */ addiu $a1, $sp, 0x10 -/* 8B3A20 802439B0 AFBF0020 */ sw $ra, 0x20($sp) -/* 8B3A24 802439B4 AFB1001C */ sw $s1, 0x1c($sp) -/* 8B3A28 802439B8 0C016B3A */ jal load_asset_by_name -/* 8B3A2C 802439BC AFB00018 */ sw $s0, 0x18($sp) -/* 8B3A30 802439C0 0040802D */ daddu $s0, $v0, $zero -/* 8B3A34 802439C4 0200202D */ daddu $a0, $s0, $zero -/* 8B3A38 802439C8 3C118026 */ lui $s1, %hi(D_80258140) -/* 8B3A3C 802439CC 26318140 */ addiu $s1, $s1, %lo(D_80258140) -/* 8B3A40 802439D0 0C01BB7C */ jal decode_yay0 -/* 8B3A44 802439D4 0220282D */ daddu $a1, $s1, $zero -/* 8B3A48 802439D8 0C00AB1E */ jal general_heap_free -/* 8B3A4C 802439DC 0200202D */ daddu $a0, $s0, $zero -/* 8B3A50 802439E0 3C048026 */ lui $a0, %hi(D_8025C0D0) -/* 8B3A54 802439E4 2484C0D0 */ addiu $a0, $a0, %lo(D_8025C0D0) -/* 8B3A58 802439E8 3C028026 */ lui $v0, %hi(D_80258340) -/* 8B3A5C 802439EC 24428340 */ addiu $v0, $v0, %lo(D_80258340) -/* 8B3A60 802439F0 AC820000 */ sw $v0, ($a0) -/* 8B3A64 802439F4 24020096 */ addiu $v0, $zero, 0x96 -/* 8B3A68 802439F8 A4820008 */ sh $v0, 8($a0) -/* 8B3A6C 802439FC 24020069 */ addiu $v0, $zero, 0x69 -/* 8B3A70 80243A00 A482000A */ sh $v0, 0xa($a0) -/* 8B3A74 80243A04 24020002 */ addiu $v0, $zero, 2 -/* 8B3A78 80243A08 AC82000C */ sw $v0, 0xc($a0) -/* 8B3A7C 80243A0C 24020001 */ addiu $v0, $zero, 1 -/* 8B3A80 80243A10 AC910004 */ sw $s1, 4($a0) -/* 8B3A84 80243A14 0C0496CB */ jal set_message_images -/* 8B3A88 80243A18 AC820010 */ sw $v0, 0x10($a0) -/* 8B3A8C 80243A1C 8FBF0020 */ lw $ra, 0x20($sp) -/* 8B3A90 80243A20 8FB1001C */ lw $s1, 0x1c($sp) -/* 8B3A94 80243A24 8FB00018 */ lw $s0, 0x18($sp) -/* 8B3A98 80243A28 24020002 */ addiu $v0, $zero, 2 -/* 8B3A9C 80243A2C 03E00008 */ jr $ra -/* 8B3AA0 80243A30 27BD0028 */ addiu $sp, $sp, 0x28 -/* 8B3AA4 80243A34 00000000 */ nop -/* 8B3AA8 80243A38 00000000 */ nop -/* 8B3AAC 80243A3C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_802405BC_8EC3DC.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_802405BC_8EC3DC.s deleted file mode 100644 index 7a7300b370..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_802405BC_8EC3DC.s +++ /dev/null @@ -1,69 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802405BC_8EC3DC -/* 8EC3DC 802405BC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 8EC3E0 802405C0 AFB30044 */ sw $s3, 0x44($sp) -/* 8EC3E4 802405C4 3C138026 */ lui $s3, %hi(D_8025B2AC) -/* 8EC3E8 802405C8 2673B2AC */ addiu $s3, $s3, %lo(D_8025B2AC) -/* 8EC3EC 802405CC AFBF0048 */ sw $ra, 0x48($sp) -/* 8EC3F0 802405D0 AFB20040 */ sw $s2, 0x40($sp) -/* 8EC3F4 802405D4 AFB1003C */ sw $s1, 0x3c($sp) -/* 8EC3F8 802405D8 AFB00038 */ sw $s0, 0x38($sp) -/* 8EC3FC 802405DC 8E620000 */ lw $v0, ($s3) -/* 8EC400 802405E0 24420014 */ addiu $v0, $v0, 0x14 -/* 8EC404 802405E4 AE620000 */ sw $v0, ($s3) -/* 8EC408 802405E8 28420100 */ slti $v0, $v0, 0x100 -/* 8EC40C 802405EC 14400002 */ bnez $v0, .L802405F8 -/* 8EC410 802405F0 240200FF */ addiu $v0, $zero, 0xff -/* 8EC414 802405F4 AE620000 */ sw $v0, ($s3) -.L802405F8: -/* 8EC418 802405F8 3C108026 */ lui $s0, %hi(D_8025B2B0) -/* 8EC41C 802405FC 2610B2B0 */ addiu $s0, $s0, %lo(D_8025B2B0) -/* 8EC420 80240600 8E040000 */ lw $a0, ($s0) -/* 8EC424 80240604 8E07000C */ lw $a3, 0xc($s0) -/* 8EC428 80240608 24020055 */ addiu $v0, $zero, 0x55 -/* 8EC42C 8024060C AFA20018 */ sw $v0, 0x18($sp) -/* 8EC430 80240610 24020061 */ addiu $v0, $zero, 0x61 -/* 8EC434 80240614 24120140 */ addiu $s2, $zero, 0x140 -/* 8EC438 80240618 AFA2001C */ sw $v0, 0x1c($sp) -/* 8EC43C 8024061C AFA00020 */ sw $zero, 0x20($sp) -/* 8EC440 80240620 AFA00024 */ sw $zero, 0x24($sp) -/* 8EC444 80240624 AFB20028 */ sw $s2, 0x28($sp) -/* 8EC448 80240628 96050008 */ lhu $a1, 8($s0) -/* 8EC44C 8024062C 241100F0 */ addiu $s1, $zero, 0xf0 -/* 8EC450 80240630 AFB1002C */ sw $s1, 0x2c($sp) -/* 8EC454 80240634 8E020010 */ lw $v0, 0x10($s0) -/* 8EC458 80240638 9606000A */ lhu $a2, 0xa($s0) -/* 8EC45C 8024063C 8E030004 */ lw $v1, 4($s0) -/* 8EC460 80240640 92680003 */ lbu $t0, 3($s3) -/* 8EC464 80240644 AFA20010 */ sw $v0, 0x10($sp) -/* 8EC468 80240648 AFA30014 */ sw $v1, 0x14($sp) -/* 8EC46C 8024064C 0C04BA68 */ jal draw_ci_image_with_clipping -/* 8EC470 80240650 AFA80030 */ sw $t0, 0x30($sp) -/* 8EC474 80240654 8E040014 */ lw $a0, 0x14($s0) -/* 8EC478 80240658 8E070020 */ lw $a3, 0x20($s0) -/* 8EC47C 8024065C 240200A0 */ addiu $v0, $zero, 0xa0 -/* 8EC480 80240660 AFA20018 */ sw $v0, 0x18($sp) -/* 8EC484 80240664 9605001C */ lhu $a1, 0x1c($s0) -/* 8EC488 80240668 24020066 */ addiu $v0, $zero, 0x66 -/* 8EC48C 8024066C AFA2001C */ sw $v0, 0x1c($sp) -/* 8EC490 80240670 AFA00020 */ sw $zero, 0x20($sp) -/* 8EC494 80240674 AFA00024 */ sw $zero, 0x24($sp) -/* 8EC498 80240678 AFB20028 */ sw $s2, 0x28($sp) -/* 8EC49C 8024067C AFB1002C */ sw $s1, 0x2c($sp) -/* 8EC4A0 80240680 8E020024 */ lw $v0, 0x24($s0) -/* 8EC4A4 80240684 9606001E */ lhu $a2, 0x1e($s0) -/* 8EC4A8 80240688 8E030018 */ lw $v1, 0x18($s0) -/* 8EC4AC 8024068C 92680003 */ lbu $t0, 3($s3) -/* 8EC4B0 80240690 AFA20010 */ sw $v0, 0x10($sp) -/* 8EC4B4 80240694 AFA30014 */ sw $v1, 0x14($sp) -/* 8EC4B8 80240698 0C04BA68 */ jal draw_ci_image_with_clipping -/* 8EC4BC 8024069C AFA80030 */ sw $t0, 0x30($sp) -/* 8EC4C0 802406A0 8FBF0048 */ lw $ra, 0x48($sp) -/* 8EC4C4 802406A4 8FB30044 */ lw $s3, 0x44($sp) -/* 8EC4C8 802406A8 8FB20040 */ lw $s2, 0x40($sp) -/* 8EC4CC 802406AC 8FB1003C */ lw $s1, 0x3c($sp) -/* 8EC4D0 802406B0 8FB00038 */ lw $s0, 0x38($sp) -/* 8EC4D4 802406B4 03E00008 */ jr $ra -/* 8EC4D8 802406B8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_802406C8_8EC4E8.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_802406C8_8EC4E8.s deleted file mode 100644 index fb868a6c5d..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_802406C8_8EC4E8.s +++ /dev/null @@ -1,303 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802406C8_8EC4E8 -/* 8EC4E8 802406C8 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 8EC4EC 802406CC AFB40028 */ sw $s4, 0x28($sp) -/* 8EC4F0 802406D0 0080A02D */ daddu $s4, $a0, $zero -/* 8EC4F4 802406D4 AFBF003C */ sw $ra, 0x3c($sp) -/* 8EC4F8 802406D8 AFBE0038 */ sw $fp, 0x38($sp) -/* 8EC4FC 802406DC AFB70034 */ sw $s7, 0x34($sp) -/* 8EC500 802406E0 AFB60030 */ sw $s6, 0x30($sp) -/* 8EC504 802406E4 AFB5002C */ sw $s5, 0x2c($sp) -/* 8EC508 802406E8 AFB30024 */ sw $s3, 0x24($sp) -/* 8EC50C 802406EC AFB20020 */ sw $s2, 0x20($sp) -/* 8EC510 802406F0 AFB1001C */ sw $s1, 0x1c($sp) -/* 8EC514 802406F4 10A00002 */ beqz $a1, .L80240700 -/* 8EC518 802406F8 AFB00018 */ sw $s0, 0x18($sp) -/* 8EC51C 802406FC AE800070 */ sw $zero, 0x70($s4) -.L80240700: -/* 8EC520 80240700 8E870070 */ lw $a3, 0x70($s4) -/* 8EC524 80240704 10E00006 */ beqz $a3, .L80240720 -/* 8EC528 80240708 AFA70010 */ sw $a3, 0x10($sp) -/* 8EC52C 8024070C 24020001 */ addiu $v0, $zero, 1 -/* 8EC530 80240710 10E20074 */ beq $a3, $v0, .L802408E4 -/* 8EC534 80240714 0000102D */ daddu $v0, $zero, $zero -/* 8EC538 80240718 080902BC */ j .L80240AF0 -/* 8EC53C 8024071C 00000000 */ nop -.L80240720: -/* 8EC540 80240720 0000B82D */ daddu $s7, $zero, $zero -/* 8EC544 80240724 02E0902D */ daddu $s2, $s7, $zero -/* 8EC548 80240728 241E0001 */ addiu $fp, $zero, 1 -/* 8EC54C 8024072C 3C168024 */ lui $s6, %hi(D_80244D54_8F0B74) -/* 8EC550 80240730 26D64D54 */ addiu $s6, $s6, %lo(D_80244D54_8F0B74) -/* 8EC554 80240734 3C158024 */ lui $s5, %hi(D_80244D24_8F0B44) -/* 8EC558 80240738 26B54D24 */ addiu $s5, $s5, %lo(D_80244D24_8F0B44) -/* 8EC55C 8024073C 3C118025 */ lui $s1, %hi(D_80253060) -/* 8EC560 80240740 26313060 */ addiu $s1, $s1, %lo(D_80253060) -.L80240744: -/* 8EC564 80240744 8EB00000 */ lw $s0, ($s5) -/* 8EC568 80240748 2402FFFE */ addiu $v0, $zero, -2 -/* 8EC56C 8024074C 12020011 */ beq $s0, $v0, .L80240794 -/* 8EC570 80240750 0000982D */ daddu $s3, $zero, $zero -/* 8EC574 80240754 2A02FFFF */ slti $v0, $s0, -1 -/* 8EC578 80240758 10400005 */ beqz $v0, .L80240770 -/* 8EC57C 8024075C 2402FFFD */ addiu $v0, $zero, -3 -/* 8EC580 80240760 12020014 */ beq $s0, $v0, .L802407B4 -/* 8EC584 80240764 0000202D */ daddu $a0, $zero, $zero -/* 8EC588 80240768 080901FE */ j .L802407F8 -/* 8EC58C 8024076C 3C05F5DE */ lui $a1, 0xf5de -.L80240770: -/* 8EC590 80240770 2402FFFF */ addiu $v0, $zero, -1 -/* 8EC594 80240774 1602001F */ bne $s0, $v0, .L802407F4 -/* 8EC598 80240778 0000202D */ daddu $a0, $zero, $zero -/* 8EC59C 8024077C 3C028011 */ lui $v0, %hi(gPlayerData+0x2C2) -/* 8EC5A0 80240780 9442F552 */ lhu $v0, %lo(gPlayerData+0x2C2)($v0) -/* 8EC5A4 80240784 10400021 */ beqz $v0, .L8024080C -/* 8EC5A8 80240788 00000000 */ nop -/* 8EC5AC 8024078C 08090203 */ j .L8024080C -/* 8EC5B0 80240790 24130001 */ addiu $s3, $zero, 1 -.L80240794: -/* 8EC5B4 80240794 0000202D */ daddu $a0, $zero, $zero -/* 8EC5B8 80240798 3C05F840 */ lui $a1, 0xf840 -/* 8EC5BC 8024079C 0C0B1EAF */ jal evt_get_variable -/* 8EC5C0 802407A0 34A55C9A */ ori $a1, $a1, 0x5c9a -/* 8EC5C4 802407A4 10400019 */ beqz $v0, .L8024080C -/* 8EC5C8 802407A8 00000000 */ nop -/* 8EC5CC 802407AC 08090203 */ j .L8024080C -/* 8EC5D0 802407B0 24130001 */ addiu $s3, $zero, 1 -.L802407B4: -/* 8EC5D4 802407B4 0000802D */ daddu $s0, $zero, $zero -/* 8EC5D8 802407B8 0200202D */ daddu $a0, $s0, $zero -/* 8EC5DC 802407BC 3C05F5DE */ lui $a1, 0xf5de -/* 8EC5E0 802407C0 0C0B1EAF */ jal evt_get_variable -/* 8EC5E4 802407C4 34A50180 */ ori $a1, $a1, 0x180 -/* 8EC5E8 802407C8 28420006 */ slti $v0, $v0, 6 -/* 8EC5EC 802407CC 14400005 */ bnez $v0, .L802407E4 -/* 8EC5F0 802407D0 0200202D */ daddu $a0, $s0, $zero -/* 8EC5F4 802407D4 3C05F840 */ lui $a1, 0xf840 -/* 8EC5F8 802407D8 0C0B1EAF */ jal evt_get_variable -/* 8EC5FC 802407DC 34A55CF0 */ ori $a1, $a1, 0x5cf0 -/* 8EC600 802407E0 0002802B */ sltu $s0, $zero, $v0 -.L802407E4: -/* 8EC604 802407E4 12000009 */ beqz $s0, .L8024080C -/* 8EC608 802407E8 00000000 */ nop -/* 8EC60C 802407EC 08090203 */ j .L8024080C -/* 8EC610 802407F0 24130001 */ addiu $s3, $zero, 1 -.L802407F4: -/* 8EC614 802407F4 3C05F5DE */ lui $a1, 0xf5de -.L802407F8: -/* 8EC618 802407F8 0C0B1EAF */ jal evt_get_variable -/* 8EC61C 802407FC 34A50180 */ ori $a1, $a1, 0x180 -/* 8EC620 80240800 0050102A */ slt $v0, $v0, $s0 -/* 8EC624 80240804 50400001 */ beql $v0, $zero, .L8024080C -/* 8EC628 80240808 24130001 */ addiu $s3, $zero, 1 -.L8024080C: -/* 8EC62C 8024080C 1260001A */ beqz $s3, .L80240878 -/* 8EC630 80240810 0240802D */ daddu $s0, $s2, $zero -/* 8EC634 80240814 3C028008 */ lui $v0, %hi(HES_Item_Unused_08B) -/* 8EC638 80240818 244222F8 */ addiu $v0, $v0, %lo(HES_Item_Unused_08B) -/* 8EC63C 8024081C AE220000 */ sw $v0, ($s1) -/* 8EC640 80240820 AE320108 */ sw $s2, 0x108($s1) -/* 8EC644 80240824 AE3E018C */ sw $fp, 0x18c($s1) -/* 8EC648 80240828 8EC20000 */ lw $v0, ($s6) -/* 8EC64C 8024082C AE200294 */ sw $zero, 0x294($s1) -/* 8EC650 80240830 06410002 */ bgez $s2, .L8024083C -/* 8EC654 80240834 AE220084 */ sw $v0, 0x84($s1) -/* 8EC658 80240838 26500007 */ addiu $s0, $s2, 7 -.L8024083C: -/* 8EC65C 8024083C 001080C3 */ sra $s0, $s0, 3 -/* 8EC660 80240840 0C05154E */ jal get_global_byte -/* 8EC664 80240844 2604000E */ addiu $a0, $s0, 0xe -/* 8EC668 80240848 001080C0 */ sll $s0, $s0, 3 -/* 8EC66C 8024084C 02508023 */ subu $s0, $s2, $s0 -/* 8EC670 80240850 021E8004 */ sllv $s0, $fp, $s0 -/* 8EC674 80240854 00508024 */ and $s0, $v0, $s0 -/* 8EC678 80240858 12000005 */ beqz $s0, .L80240870 -/* 8EC67C 8024085C AE200210 */ sw $zero, 0x210($s1) -/* 8EC680 80240860 3C028008 */ lui $v0, %hi(HES_Item_Unused_08B_disabled) -/* 8EC684 80240864 24422328 */ addiu $v0, $v0, %lo(HES_Item_Unused_08B_disabled) -/* 8EC688 80240868 AE3E0210 */ sw $fp, 0x210($s1) -/* 8EC68C 8024086C AE220000 */ sw $v0, ($s1) -.L80240870: -/* 8EC690 80240870 26310004 */ addiu $s1, $s1, 4 -/* 8EC694 80240874 26F70001 */ addiu $s7, $s7, 1 -.L80240878: -/* 8EC698 80240878 26D60004 */ addiu $s6, $s6, 4 -/* 8EC69C 8024087C 26520001 */ addiu $s2, $s2, 1 -/* 8EC6A0 80240880 2A42000C */ slti $v0, $s2, 0xc -/* 8EC6A4 80240884 1440FFAF */ bnez $v0, .L80240744 -/* 8EC6A8 80240888 26B50004 */ addiu $s5, $s5, 4 -/* 8EC6AC 8024088C 16E00004 */ bnez $s7, .L802408A0 -/* 8EC6B0 80240890 2402000B */ addiu $v0, $zero, 0xb -/* 8EC6B4 80240894 AE800084 */ sw $zero, 0x84($s4) -/* 8EC6B8 80240898 080902BC */ j .L80240AF0 -/* 8EC6BC 8024089C 24020002 */ addiu $v0, $zero, 2 -.L802408A0: -/* 8EC6C0 802408A0 3C018025 */ lui $at, %hi(D_80253378) -/* 8EC6C4 802408A4 AC223378 */ sw $v0, %lo(D_80253378)($at) -/* 8EC6C8 802408A8 3C018025 */ lui $at, %hi(D_80253384) -/* 8EC6CC 802408AC AC373384 */ sw $s7, %lo(D_80253384)($at) -/* 8EC6D0 802408B0 8E82007C */ lw $v0, 0x7c($s4) -/* 8EC6D4 802408B4 3C048025 */ lui $a0, %hi(D_80253060) -/* 8EC6D8 802408B8 24843060 */ addiu $a0, $a0, %lo(D_80253060) -/* 8EC6DC 802408BC 0C03D390 */ jal create_popup_menu -/* 8EC6E0 802408C0 AC820328 */ sw $v0, 0x328($a0) -/* 8EC6E4 802408C4 0C03A631 */ jal status_menu_respond_to_changes -/* 8EC6E8 802408C8 00000000 */ nop -/* 8EC6EC 802408CC 0C03A5EE */ jal close_status_menu -/* 8EC6F0 802408D0 00000000 */ nop -/* 8EC6F4 802408D4 24020001 */ addiu $v0, $zero, 1 -/* 8EC6F8 802408D8 AE800074 */ sw $zero, 0x74($s4) -/* 8EC6FC 802408DC 080902BB */ j .L80240AEC -/* 8EC700 802408E0 AE820070 */ sw $v0, 0x70($s4) -.L802408E4: -/* 8EC704 802408E4 8E820074 */ lw $v0, 0x74($s4) -/* 8EC708 802408E8 14400009 */ bnez $v0, .L80240910 -/* 8EC70C 802408EC 24420001 */ addiu $v0, $v0, 1 -/* 8EC710 802408F0 3C028025 */ lui $v0, %hi(D_8025338C) -/* 8EC714 802408F4 8442338C */ lh $v0, %lo(D_8025338C)($v0) -/* 8EC718 802408F8 1040007C */ beqz $v0, .L80240AEC -/* 8EC71C 802408FC AE820078 */ sw $v0, 0x78($s4) -/* 8EC720 80240900 0C03C4EC */ jal hide_popup_menu -/* 8EC724 80240904 00000000 */ nop -/* 8EC728 80240908 8E820074 */ lw $v0, 0x74($s4) -/* 8EC72C 8024090C 24420001 */ addiu $v0, $v0, 1 -.L80240910: -/* 8EC730 80240910 AE820074 */ sw $v0, 0x74($s4) -/* 8EC734 80240914 2842000F */ slti $v0, $v0, 0xf -/* 8EC738 80240918 14400075 */ bnez $v0, .L80240AF0 -/* 8EC73C 8024091C 0000102D */ daddu $v0, $zero, $zero -/* 8EC740 80240920 0C03C54E */ jal destroy_popup_menu -/* 8EC744 80240924 00000000 */ nop -/* 8EC748 80240928 8E830078 */ lw $v1, 0x78($s4) -/* 8EC74C 8024092C 240200FF */ addiu $v0, $zero, 0xff -/* 8EC750 80240930 14620005 */ bne $v1, $v0, .L80240948 -/* 8EC754 80240934 2463FFFF */ addiu $v1, $v1, -1 -/* 8EC758 80240938 2402FFFF */ addiu $v0, $zero, -1 -/* 8EC75C 8024093C AE820084 */ sw $v0, 0x84($s4) -/* 8EC760 80240940 080902BC */ j .L80240AF0 -/* 8EC764 80240944 24020002 */ addiu $v0, $zero, 2 -.L80240948: -/* 8EC768 80240948 8E820078 */ lw $v0, 0x78($s4) -/* 8EC76C 8024094C 3C078025 */ lui $a3, %hi(D_80253060) -/* 8EC770 80240950 24E73060 */ addiu $a3, $a3, %lo(D_80253060) -/* 8EC774 80240954 AE83007C */ sw $v1, 0x7c($s4) -/* 8EC778 80240958 2442FFFF */ addiu $v0, $v0, -1 -/* 8EC77C 8024095C 00021080 */ sll $v0, $v0, 2 -/* 8EC780 80240960 00471021 */ addu $v0, $v0, $a3 -/* 8EC784 80240964 8C5E0108 */ lw $fp, 0x108($v0) -/* 8EC788 80240968 001E1080 */ sll $v0, $fp, 2 -/* 8EC78C 8024096C 3C018024 */ lui $at, %hi(D_80244D84_8F0BA4) -/* 8EC790 80240970 00220821 */ addu $at, $at, $v0 -/* 8EC794 80240974 8C224D84 */ lw $v0, %lo(D_80244D84_8F0BA4)($at) -/* 8EC798 80240978 03C0802D */ daddu $s0, $fp, $zero -/* 8EC79C 8024097C 07C10002 */ bgez $fp, .L80240988 -/* 8EC7A0 80240980 AE820084 */ sw $v0, 0x84($s4) -/* 8EC7A4 80240984 27D00007 */ addiu $s0, $fp, 7 -.L80240988: -/* 8EC7A8 80240988 001080C3 */ sra $s0, $s0, 3 -/* 8EC7AC 8024098C 2611000E */ addiu $s1, $s0, 0xe -/* 8EC7B0 80240990 0C05154E */ jal get_global_byte -/* 8EC7B4 80240994 0220202D */ daddu $a0, $s1, $zero -/* 8EC7B8 80240998 0220202D */ daddu $a0, $s1, $zero -/* 8EC7BC 8024099C 001080C0 */ sll $s0, $s0, 3 -/* 8EC7C0 802409A0 8FA70010 */ lw $a3, 0x10($sp) -/* 8EC7C4 802409A4 03D08023 */ subu $s0, $fp, $s0 -/* 8EC7C8 802409A8 02078004 */ sllv $s0, $a3, $s0 -/* 8EC7CC 802409AC 0C051548 */ jal set_global_byte -/* 8EC7D0 802409B0 00502825 */ or $a1, $v0, $s0 -/* 8EC7D4 802409B4 24020003 */ addiu $v0, $zero, 3 -/* 8EC7D8 802409B8 17C20005 */ bne $fp, $v0, .L802409D0 -/* 8EC7DC 802409BC 0000202D */ daddu $a0, $zero, $zero -/* 8EC7E0 802409C0 3C05F840 */ lui $a1, 0xf840 -/* 8EC7E4 802409C4 34A55BE7 */ ori $a1, $a1, 0x5be7 -/* 8EC7E8 802409C8 0C0B2026 */ jal evt_set_variable -/* 8EC7EC 802409CC 24060001 */ addiu $a2, $zero, 1 -.L802409D0: -/* 8EC7F0 802409D0 3C148025 */ lui $s4, %hi(D_80253390) -/* 8EC7F4 802409D4 26943390 */ addiu $s4, $s4, %lo(D_80253390) -/* 8EC7F8 802409D8 0280302D */ daddu $a2, $s4, $zero -/* 8EC7FC 802409DC 3C138024 */ lui $s3, %hi(D_80244DB4_8F0BD4) -/* 8EC800 802409E0 26734DB4 */ addiu $s3, $s3, %lo(D_80244DB4_8F0BD4) -/* 8EC804 802409E4 3C120011 */ lui $s2, 0x11 -/* 8EC808 802409E8 2652F1B0 */ addiu $s2, $s2, -0xe50 -/* 8EC80C 802409EC 8E650000 */ lw $a1, ($s3) -/* 8EC810 802409F0 26553D86 */ addiu $s5, $s2, 0x3d86 -/* 8EC814 802409F4 00B22021 */ addu $a0, $a1, $s2 -/* 8EC818 802409F8 0C00A5CF */ jal dma_copy -/* 8EC81C 802409FC 00B52821 */ addu $a1, $a1, $s5 -/* 8EC820 80240A00 3C108025 */ lui $s0, %hi(D_80257118) -/* 8EC824 80240A04 26107118 */ addiu $s0, $s0, %lo(D_80257118) -/* 8EC828 80240A08 0200302D */ daddu $a2, $s0, $zero -/* 8EC82C 80240A0C 8E650004 */ lw $a1, 4($s3) -/* 8EC830 80240A10 26560200 */ addiu $s6, $s2, 0x200 -/* 8EC834 80240A14 00B22021 */ addu $a0, $a1, $s2 -/* 8EC838 80240A18 0C00A5CF */ jal dma_copy -/* 8EC83C 80240A1C 00B62821 */ addu $a1, $a1, $s6 -/* 8EC840 80240A20 3C118026 */ lui $s1, %hi(D_8025B2B0) -/* 8EC844 80240A24 2631B2B0 */ addiu $s1, $s1, %lo(D_8025B2B0) -/* 8EC848 80240A28 24020096 */ addiu $v0, $zero, 0x96 -/* 8EC84C 80240A2C A6220008 */ sh $v0, 8($s1) -/* 8EC850 80240A30 24020069 */ addiu $v0, $zero, 0x69 -/* 8EC854 80240A34 24170002 */ addiu $s7, $zero, 2 -/* 8EC858 80240A38 AE300004 */ sw $s0, 4($s1) -/* 8EC85C 80240A3C 001E8040 */ sll $s0, $fp, 1 -/* 8EC860 80240A40 A622000A */ sh $v0, 0xa($s1) -/* 8EC864 80240A44 02171021 */ addu $v0, $s0, $s7 -/* 8EC868 80240A48 02E21004 */ sllv $v0, $v0, $s7 -/* 8EC86C 80240A4C 00531021 */ addu $v0, $v0, $s3 -/* 8EC870 80240A50 AE340000 */ sw $s4, ($s1) -/* 8EC874 80240A54 3C148025 */ lui $s4, %hi(D_80257320) -/* 8EC878 80240A58 26947320 */ addiu $s4, $s4, %lo(D_80257320) -/* 8EC87C 80240A5C AE37000C */ sw $s7, 0xc($s1) -/* 8EC880 80240A60 AE200010 */ sw $zero, 0x10($s1) -/* 8EC884 80240A64 8C450000 */ lw $a1, ($v0) -/* 8EC888 80240A68 0280302D */ daddu $a2, $s4, $zero -/* 8EC88C 80240A6C 00B22021 */ addu $a0, $a1, $s2 -/* 8EC890 80240A70 0C00A5CF */ jal dma_copy -/* 8EC894 80240A74 00B52821 */ addu $a1, $a1, $s5 -/* 8EC898 80240A78 26100003 */ addiu $s0, $s0, 3 -/* 8EC89C 80240A7C 02F08004 */ sllv $s0, $s0, $s7 -/* 8EC8A0 80240A80 02138021 */ addu $s0, $s0, $s3 -/* 8EC8A4 80240A84 3C138026 */ lui $s3, %hi(D_8025B0A8) -/* 8EC8A8 80240A88 2673B0A8 */ addiu $s3, $s3, %lo(D_8025B0A8) -/* 8EC8AC 80240A8C 8E050000 */ lw $a1, ($s0) -/* 8EC8B0 80240A90 0260302D */ daddu $a2, $s3, $zero -/* 8EC8B4 80240A94 00B22021 */ addu $a0, $a1, $s2 -/* 8EC8B8 80240A98 0C00A5CF */ jal dma_copy -/* 8EC8BC 80240A9C 00B62821 */ addu $a1, $a1, $s6 -/* 8EC8C0 80240AA0 0000202D */ daddu $a0, $zero, $zero -/* 8EC8C4 80240AA4 24020046 */ addiu $v0, $zero, 0x46 -/* 8EC8C8 80240AA8 A622001C */ sh $v0, 0x1c($s1) -/* 8EC8CC 80240AAC 2402005F */ addiu $v0, $zero, 0x5f -/* 8EC8D0 80240AB0 AE340014 */ sw $s4, 0x14($s1) -/* 8EC8D4 80240AB4 AE330018 */ sw $s3, 0x18($s1) -/* 8EC8D8 80240AB8 A622001E */ sh $v0, 0x1e($s1) -/* 8EC8DC 80240ABC AE370020 */ sw $s7, 0x20($s1) -/* 8EC8E0 80240AC0 8FA70010 */ lw $a3, 0x10($sp) -/* 8EC8E4 80240AC4 3C058024 */ lui $a1, %hi(func_802405BC_8EC3DC) -/* 8EC8E8 80240AC8 24A505BC */ addiu $a1, $a1, %lo(func_802405BC_8EC3DC) -/* 8EC8EC 80240ACC 0C048C8F */ jal create_worker_frontUI -/* 8EC8F0 80240AD0 AE270024 */ sw $a3, 0x24($s1) -/* 8EC8F4 80240AD4 3C018026 */ lui $at, %hi(D_8025B2A8) -/* 8EC8F8 80240AD8 AC22B2A8 */ sw $v0, %lo(D_8025B2A8)($at) -/* 8EC8FC 80240ADC 3C018026 */ lui $at, %hi(D_8025B2AC) -/* 8EC900 80240AE0 AC20B2AC */ sw $zero, %lo(D_8025B2AC)($at) -/* 8EC904 80240AE4 080902BC */ j .L80240AF0 -/* 8EC908 80240AE8 02E0102D */ daddu $v0, $s7, $zero -.L80240AEC: -/* 8EC90C 80240AEC 0000102D */ daddu $v0, $zero, $zero -.L80240AF0: -/* 8EC910 80240AF0 8FBF003C */ lw $ra, 0x3c($sp) -/* 8EC914 80240AF4 8FBE0038 */ lw $fp, 0x38($sp) -/* 8EC918 80240AF8 8FB70034 */ lw $s7, 0x34($sp) -/* 8EC91C 80240AFC 8FB60030 */ lw $s6, 0x30($sp) -/* 8EC920 80240B00 8FB5002C */ lw $s5, 0x2c($sp) -/* 8EC924 80240B04 8FB40028 */ lw $s4, 0x28($sp) -/* 8EC928 80240B08 8FB30024 */ lw $s3, 0x24($sp) -/* 8EC92C 80240B0C 8FB20020 */ lw $s2, 0x20($sp) -/* 8EC930 80240B10 8FB1001C */ lw $s1, 0x1c($sp) -/* 8EC934 80240B14 8FB00018 */ lw $s0, 0x18($sp) -/* 8EC938 80240B18 03E00008 */ jr $ra -/* 8EC93C 80240B1C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_80240B54_8EC974.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_80240B54_8EC974.s deleted file mode 100644 index 49d83a4f09..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EBE50/func_80240B54_8EC974.s +++ /dev/null @@ -1,165 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240B54_8EC974 -/* 8EC974 80240B54 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 8EC978 80240B58 AFB40020 */ sw $s4, 0x20($sp) -/* 8EC97C 80240B5C 0080A02D */ daddu $s4, $a0, $zero -/* 8EC980 80240B60 AFB7002C */ sw $s7, 0x2c($sp) -/* 8EC984 80240B64 3C178025 */ lui $s7, %hi(D_80253060) -/* 8EC988 80240B68 26F73060 */ addiu $s7, $s7, %lo(D_80253060) -/* 8EC98C 80240B6C AFBF0034 */ sw $ra, 0x34($sp) -/* 8EC990 80240B70 AFBE0030 */ sw $fp, 0x30($sp) -/* 8EC994 80240B74 AFB60028 */ sw $s6, 0x28($sp) -/* 8EC998 80240B78 AFB50024 */ sw $s5, 0x24($sp) -/* 8EC99C 80240B7C AFB3001C */ sw $s3, 0x1c($sp) -/* 8EC9A0 80240B80 AFB20018 */ sw $s2, 0x18($sp) -/* 8EC9A4 80240B84 AFB10014 */ sw $s1, 0x14($sp) -/* 8EC9A8 80240B88 10A00002 */ beqz $a1, .L80240B94 -/* 8EC9AC 80240B8C AFB00010 */ sw $s0, 0x10($sp) -/* 8EC9B0 80240B90 AE800070 */ sw $zero, 0x70($s4) -.L80240B94: -/* 8EC9B4 80240B94 8E930070 */ lw $s3, 0x70($s4) -/* 8EC9B8 80240B98 12600005 */ beqz $s3, .L80240BB0 -/* 8EC9BC 80240B9C 24020001 */ addiu $v0, $zero, 1 -/* 8EC9C0 80240BA0 12620041 */ beq $s3, $v0, .L80240CA8 -/* 8EC9C4 80240BA4 0000102D */ daddu $v0, $zero, $zero -/* 8EC9C8 80240BA8 0809035D */ j .L80240D74 -/* 8EC9CC 80240BAC 00000000 */ nop -.L80240BB0: -/* 8EC9D0 80240BB0 0000A82D */ daddu $s5, $zero, $zero -/* 8EC9D4 80240BB4 02A0902D */ daddu $s2, $s5, $zero -/* 8EC9D8 80240BB8 24160001 */ addiu $s6, $zero, 1 -/* 8EC9DC 80240BBC 3C1E8008 */ lui $fp, %hi(HES_Item_Unused_08C_disabled) -/* 8EC9E0 80240BC0 27DE2388 */ addiu $fp, $fp, %lo(HES_Item_Unused_08C_disabled) -/* 8EC9E4 80240BC4 3C138024 */ lui $s3, %hi(D_80244FA0_8F0DC0) -/* 8EC9E8 80240BC8 26734FA0 */ addiu $s3, $s3, %lo(D_80244FA0_8F0DC0) -/* 8EC9EC 80240BCC 02E0882D */ daddu $s1, $s7, $zero -.L80240BD0: -/* 8EC9F0 80240BD0 0000202D */ daddu $a0, $zero, $zero -/* 8EC9F4 80240BD4 3C05F5DE */ lui $a1, 0xf5de -/* 8EC9F8 80240BD8 0C0B1EAF */ jal evt_get_variable -/* 8EC9FC 80240BDC 34A50180 */ ori $a1, $a1, 0x180 -/* 8ECA00 80240BE0 8E630000 */ lw $v1, ($s3) -/* 8ECA04 80240BE4 0043102A */ slt $v0, $v0, $v1 -/* 8ECA08 80240BE8 54400019 */ bnel $v0, $zero, .L80240C50 -/* 8ECA0C 80240BEC 26520001 */ addiu $s2, $s2, 1 -/* 8ECA10 80240BF0 0240802D */ daddu $s0, $s2, $zero -/* 8ECA14 80240BF4 3C068008 */ lui $a2, %hi(HES_Item_Unused_08C) -/* 8ECA18 80240BF8 24C62358 */ addiu $a2, $a2, %lo(HES_Item_Unused_08C) -/* 8ECA1C 80240BFC AE260000 */ sw $a2, ($s1) -/* 8ECA20 80240C00 AE320108 */ sw $s2, 0x108($s1) -/* 8ECA24 80240C04 AE36018C */ sw $s6, 0x18c($s1) -/* 8ECA28 80240C08 AE200084 */ sw $zero, 0x84($s1) -/* 8ECA2C 80240C0C 06410002 */ bgez $s2, .L80240C18 -/* 8ECA30 80240C10 AE200294 */ sw $zero, 0x294($s1) -/* 8ECA34 80240C14 26500007 */ addiu $s0, $s2, 7 -.L80240C18: -/* 8ECA38 80240C18 001080C3 */ sra $s0, $s0, 3 -/* 8ECA3C 80240C1C 0C05154E */ jal get_global_byte -/* 8ECA40 80240C20 2604000C */ addiu $a0, $s0, 0xc -/* 8ECA44 80240C24 001080C0 */ sll $s0, $s0, 3 -/* 8ECA48 80240C28 02508023 */ subu $s0, $s2, $s0 -/* 8ECA4C 80240C2C 02168004 */ sllv $s0, $s6, $s0 -/* 8ECA50 80240C30 00502824 */ and $a1, $v0, $s0 -/* 8ECA54 80240C34 10A00003 */ beqz $a1, .L80240C44 -/* 8ECA58 80240C38 AE200210 */ sw $zero, 0x210($s1) -/* 8ECA5C 80240C3C AE360210 */ sw $s6, 0x210($s1) -/* 8ECA60 80240C40 AE3E0000 */ sw $fp, ($s1) -.L80240C44: -/* 8ECA64 80240C44 26310004 */ addiu $s1, $s1, 4 -/* 8ECA68 80240C48 26B50001 */ addiu $s5, $s5, 1 -/* 8ECA6C 80240C4C 26520001 */ addiu $s2, $s2, 1 -.L80240C50: -/* 8ECA70 80240C50 2A42000C */ slti $v0, $s2, 0xc -/* 8ECA74 80240C54 1440FFDE */ bnez $v0, .L80240BD0 -/* 8ECA78 80240C58 26730004 */ addiu $s3, $s3, 4 -/* 8ECA7C 80240C5C 16A00004 */ bnez $s5, .L80240C70 -/* 8ECA80 80240C60 2402000A */ addiu $v0, $zero, 0xa -/* 8ECA84 80240C64 AE800084 */ sw $zero, 0x84($s4) -/* 8ECA88 80240C68 0809035D */ j .L80240D74 -/* 8ECA8C 80240C6C 24020002 */ addiu $v0, $zero, 2 -.L80240C70: -/* 8ECA90 80240C70 AEE20318 */ sw $v0, 0x318($s7) -/* 8ECA94 80240C74 AEF50324 */ sw $s5, 0x324($s7) -/* 8ECA98 80240C78 8E82007C */ lw $v0, 0x7c($s4) -/* 8ECA9C 80240C7C 02E0202D */ daddu $a0, $s7, $zero -/* 8ECAA0 80240C80 0C03D390 */ jal create_popup_menu -/* 8ECAA4 80240C84 AC820328 */ sw $v0, 0x328($a0) -/* 8ECAA8 80240C88 0C03A631 */ jal status_menu_respond_to_changes -/* 8ECAAC 80240C8C 00000000 */ nop -/* 8ECAB0 80240C90 0C03A5EE */ jal close_status_menu -/* 8ECAB4 80240C94 00000000 */ nop -/* 8ECAB8 80240C98 24020001 */ addiu $v0, $zero, 1 -/* 8ECABC 80240C9C AE800074 */ sw $zero, 0x74($s4) -/* 8ECAC0 80240CA0 0809035C */ j .L80240D70 -/* 8ECAC4 80240CA4 AE820070 */ sw $v0, 0x70($s4) -.L80240CA8: -/* 8ECAC8 80240CA8 8E820074 */ lw $v0, 0x74($s4) -/* 8ECACC 80240CAC 14400008 */ bnez $v0, .L80240CD0 -/* 8ECAD0 80240CB0 24420001 */ addiu $v0, $v0, 1 -/* 8ECAD4 80240CB4 86E2032C */ lh $v0, 0x32c($s7) -/* 8ECAD8 80240CB8 1040002D */ beqz $v0, .L80240D70 -/* 8ECADC 80240CBC AE820078 */ sw $v0, 0x78($s4) -/* 8ECAE0 80240CC0 0C03C4EC */ jal hide_popup_menu -/* 8ECAE4 80240CC4 00000000 */ nop -/* 8ECAE8 80240CC8 8E820074 */ lw $v0, 0x74($s4) -/* 8ECAEC 80240CCC 24420001 */ addiu $v0, $v0, 1 -.L80240CD0: -/* 8ECAF0 80240CD0 AE820074 */ sw $v0, 0x74($s4) -/* 8ECAF4 80240CD4 2842000F */ slti $v0, $v0, 0xf -/* 8ECAF8 80240CD8 14400026 */ bnez $v0, .L80240D74 -/* 8ECAFC 80240CDC 0000102D */ daddu $v0, $zero, $zero -/* 8ECB00 80240CE0 0C03C54E */ jal destroy_popup_menu -/* 8ECB04 80240CE4 00000000 */ nop -/* 8ECB08 80240CE8 8E830078 */ lw $v1, 0x78($s4) -/* 8ECB0C 80240CEC 240200FF */ addiu $v0, $zero, 0xff -/* 8ECB10 80240CF0 14620005 */ bne $v1, $v0, .L80240D08 -/* 8ECB14 80240CF4 2463FFFF */ addiu $v1, $v1, -1 -/* 8ECB18 80240CF8 2402FFFF */ addiu $v0, $zero, -1 -/* 8ECB1C 80240CFC AE820084 */ sw $v0, 0x84($s4) -/* 8ECB20 80240D00 0809035D */ j .L80240D74 -/* 8ECB24 80240D04 24020002 */ addiu $v0, $zero, 2 -.L80240D08: -/* 8ECB28 80240D08 8E820078 */ lw $v0, 0x78($s4) -/* 8ECB2C 80240D0C AE83007C */ sw $v1, 0x7c($s4) -/* 8ECB30 80240D10 2442FFFF */ addiu $v0, $v0, -1 -/* 8ECB34 80240D14 00021080 */ sll $v0, $v0, 2 -/* 8ECB38 80240D18 00571021 */ addu $v0, $v0, $s7 -/* 8ECB3C 80240D1C 8C510108 */ lw $s1, 0x108($v0) -/* 8ECB40 80240D20 00111080 */ sll $v0, $s1, 2 -/* 8ECB44 80240D24 3C018024 */ lui $at, %hi(D_80244FD0_8F0DF0) -/* 8ECB48 80240D28 00220821 */ addu $at, $at, $v0 -/* 8ECB4C 80240D2C 8C224FD0 */ lw $v0, %lo(D_80244FD0_8F0DF0)($at) -/* 8ECB50 80240D30 0220802D */ daddu $s0, $s1, $zero -/* 8ECB54 80240D34 06210002 */ bgez $s1, .L80240D40 -/* 8ECB58 80240D38 AE820084 */ sw $v0, 0x84($s4) -/* 8ECB5C 80240D3C 26300007 */ addiu $s0, $s1, 7 -.L80240D40: -/* 8ECB60 80240D40 001080C3 */ sra $s0, $s0, 3 -/* 8ECB64 80240D44 2612000C */ addiu $s2, $s0, 0xc -/* 8ECB68 80240D48 0C05154E */ jal get_global_byte -/* 8ECB6C 80240D4C 0240202D */ daddu $a0, $s2, $zero -/* 8ECB70 80240D50 001080C0 */ sll $s0, $s0, 3 -/* 8ECB74 80240D54 02308023 */ subu $s0, $s1, $s0 -/* 8ECB78 80240D58 02138004 */ sllv $s0, $s3, $s0 -/* 8ECB7C 80240D5C 00502825 */ or $a1, $v0, $s0 -/* 8ECB80 80240D60 0C051548 */ jal set_global_byte -/* 8ECB84 80240D64 0240202D */ daddu $a0, $s2, $zero -/* 8ECB88 80240D68 0809035D */ j .L80240D74 -/* 8ECB8C 80240D6C 24020002 */ addiu $v0, $zero, 2 -.L80240D70: -/* 8ECB90 80240D70 0000102D */ daddu $v0, $zero, $zero -.L80240D74: -/* 8ECB94 80240D74 8FBF0034 */ lw $ra, 0x34($sp) -/* 8ECB98 80240D78 8FBE0030 */ lw $fp, 0x30($sp) -/* 8ECB9C 80240D7C 8FB7002C */ lw $s7, 0x2c($sp) -/* 8ECBA0 80240D80 8FB60028 */ lw $s6, 0x28($sp) -/* 8ECBA4 80240D84 8FB50024 */ lw $s5, 0x24($sp) -/* 8ECBA8 80240D88 8FB40020 */ lw $s4, 0x20($sp) -/* 8ECBAC 80240D8C 8FB3001C */ lw $s3, 0x1c($sp) -/* 8ECBB0 80240D90 8FB20018 */ lw $s2, 0x18($sp) -/* 8ECBB4 80240D94 8FB10014 */ lw $s1, 0x14($sp) -/* 8ECBB8 80240D98 8FB00010 */ lw $s0, 0x10($sp) -/* 8ECBBC 80240D9C 03E00008 */ jr $ra -/* 8ECBC0 80240DA0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242A3C_8EE85C.s b/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242A3C_8EE85C.s deleted file mode 100644 index 84d9f394ee..0000000000 --- a/ver/us/asm/nonmatchings/world/area_kmr/kmr_20/8EDFC0/func_80242A3C_8EE85C.s +++ /dev/null @@ -1,60 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80242A3C_8EE85C -/* 8EE85C 80242A3C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 8EE860 80242A40 AFB3001C */ sw $s3, 0x1c($sp) -/* 8EE864 80242A44 0080982D */ daddu $s3, $a0, $zero -/* 8EE868 80242A48 AFB10014 */ sw $s1, 0x14($sp) -/* 8EE86C 80242A4C 0000882D */ daddu $s1, $zero, $zero -/* 8EE870 80242A50 AFB00010 */ sw $s0, 0x10($sp) -/* 8EE874 80242A54 0220802D */ daddu $s0, $s1, $zero -/* 8EE878 80242A58 3C038011 */ lui $v1, %hi(gPlayerData) -/* 8EE87C 80242A5C 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) -/* 8EE880 80242A60 AFBF0020 */ sw $ra, 0x20($sp) -/* 8EE884 80242A64 AFB20018 */ sw $s2, 0x18($sp) -.L80242A68: -/* 8EE888 80242A68 846200B4 */ lh $v0, 0xb4($v1) -/* 8EE88C 80242A6C 54400001 */ bnel $v0, $zero, .L80242A74 -/* 8EE890 80242A70 26310001 */ addiu $s1, $s1, 1 -.L80242A74: -/* 8EE894 80242A74 26100001 */ addiu $s0, $s0, 1 -/* 8EE898 80242A78 2A020080 */ slti $v0, $s0, 0x80 -/* 8EE89C 80242A7C 1440FFFA */ bnez $v0, .L80242A68 -/* 8EE8A0 80242A80 24630002 */ addiu $v1, $v1, 2 -/* 8EE8A4 80242A84 A6710024 */ sh $s1, 0x24($s3) -/* 8EE8A8 80242A88 0000882D */ daddu $s1, $zero, $zero -/* 8EE8AC 80242A8C 0220802D */ daddu $s0, $s1, $zero -/* 8EE8B0 80242A90 3C128025 */ lui $s2, %hi(D_80252DC0_8FEBE0) -/* 8EE8B4 80242A94 26522DC0 */ addiu $s2, $s2, %lo(D_80252DC0_8FEBE0) -.L80242A98: -/* 8EE8B8 80242A98 8E450000 */ lw $a1, ($s2) -/* 8EE8BC 80242A9C 10A00008 */ beqz $a1, .L80242AC0 -/* 8EE8C0 80242AA0 00111400 */ sll $v0, $s1, 0x10 -/* 8EE8C4 80242AA4 0C0B1EAF */ jal evt_get_variable -/* 8EE8C8 80242AA8 0000202D */ daddu $a0, $zero, $zero -/* 8EE8CC 80242AAC 54400001 */ bnel $v0, $zero, .L80242AB4 -/* 8EE8D0 80242AB0 26310001 */ addiu $s1, $s1, 1 -.L80242AB4: -/* 8EE8D4 80242AB4 26520004 */ addiu $s2, $s2, 4 -/* 8EE8D8 80242AB8 08090AA6 */ j .L80242A98 -/* 8EE8DC 80242ABC 26100001 */ addiu $s0, $s0, 1 -.L80242AC0: -/* 8EE8E0 80242AC0 A6700028 */ sh $s0, 0x28($s3) -/* 8EE8E4 80242AC4 14400008 */ bnez $v0, .L80242AE8 -/* 8EE8E8 80242AC8 A6710026 */ sh $s1, 0x26($s3) -/* 8EE8EC 80242ACC 0000202D */ daddu $a0, $zero, $zero -/* 8EE8F0 80242AD0 3C05F840 */ lui $a1, 0xf840 -/* 8EE8F4 80242AD4 0C0B1EAF */ jal evt_get_variable -/* 8EE8F8 80242AD8 34A55CC8 */ ori $a1, $a1, 0x5cc8 -/* 8EE8FC 80242ADC 10400002 */ beqz $v0, .L80242AE8 -/* 8EE900 80242AE0 2402FFFF */ addiu $v0, $zero, -1 -/* 8EE904 80242AE4 A6620026 */ sh $v0, 0x26($s3) -.L80242AE8: -/* 8EE908 80242AE8 8FBF0020 */ lw $ra, 0x20($sp) -/* 8EE90C 80242AEC 8FB3001C */ lw $s3, 0x1c($sp) -/* 8EE910 80242AF0 8FB20018 */ lw $s2, 0x18($sp) -/* 8EE914 80242AF4 8FB10014 */ lw $s1, 0x14($sp) -/* 8EE918 80242AF8 8FB00010 */ lw $s0, 0x10($sp) -/* 8EE91C 80242AFC 03E00008 */ jr $ra -/* 8EE920 80242B00 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/world/area_osr/osr_00/AACBB0/func_802406E0_AACF10.s b/ver/us/asm/nonmatchings/world/area_osr/osr_00/AACBB0/func_802406E0_AACF10.s deleted file mode 100644 index 523f8a9fbf..0000000000 --- a/ver/us/asm/nonmatchings/world/area_osr/osr_00/AACBB0/func_802406E0_AACF10.s +++ /dev/null @@ -1,48 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802406E0_AACF10 -/* AACF10 802406E0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* AACF14 802406E4 AFB00010 */ sw $s0, 0x10($sp) -/* AACF18 802406E8 3C100011 */ lui $s0, 0x11 -/* AACF1C 802406EC 2610F1B0 */ addiu $s0, $s0, -0xe50 -/* AACF20 802406F0 3C040000 */ lui $a0, 0 -/* AACF24 802406F4 24847308 */ addiu $a0, $a0, 0x7308 -/* AACF28 802406F8 02042021 */ addu $a0, $s0, $a0 -/* AACF2C 802406FC 24853D86 */ addiu $a1, $a0, 0x3d86 -/* AACF30 80240700 AFB10014 */ sw $s1, 0x14($sp) -/* AACF34 80240704 3C118024 */ lui $s1, %hi(osr_00_802437C0) -/* AACF38 80240708 263137C0 */ addiu $s1, $s1, %lo(osr_00_802437C0) -/* AACF3C 8024070C AFBF0018 */ sw $ra, 0x18($sp) -/* AACF40 80240710 0C00A5CF */ jal dma_copy -/* AACF44 80240714 0220302D */ daddu $a2, $s1, $zero -/* AACF48 80240718 3C020001 */ lui $v0, 1 -/* AACF4C 8024071C 2442B090 */ addiu $v0, $v0, -0x4f70 -/* AACF50 80240720 02028021 */ addu $s0, $s0, $v0 -/* AACF54 80240724 0200202D */ daddu $a0, $s0, $zero -/* AACF58 80240728 24850200 */ addiu $a1, $a0, 0x200 -/* AACF5C 8024072C 3C108024 */ lui $s0, %hi(D_80247548) -/* AACF60 80240730 26107548 */ addiu $s0, $s0, %lo(D_80247548) -/* AACF64 80240734 0C00A5CF */ jal dma_copy -/* AACF68 80240738 0200302D */ daddu $a2, $s0, $zero -/* AACF6C 8024073C 3C048024 */ lui $a0, %hi(D_80247750) -/* AACF70 80240740 24847750 */ addiu $a0, $a0, %lo(D_80247750) -/* AACF74 80240744 24020096 */ addiu $v0, $zero, 0x96 -/* AACF78 80240748 A4820008 */ sh $v0, 8($a0) -/* AACF7C 8024074C 24020069 */ addiu $v0, $zero, 0x69 -/* AACF80 80240750 A482000A */ sh $v0, 0xa($a0) -/* AACF84 80240754 24020002 */ addiu $v0, $zero, 2 -/* AACF88 80240758 AC82000C */ sw $v0, 0xc($a0) -/* AACF8C 8024075C 24020001 */ addiu $v0, $zero, 1 -/* AACF90 80240760 AC910000 */ sw $s1, ($a0) -/* AACF94 80240764 AC900004 */ sw $s0, 4($a0) -/* AACF98 80240768 0C0496CB */ jal set_message_images -/* AACF9C 8024076C AC820010 */ sw $v0, 0x10($a0) -/* AACFA0 80240770 8FBF0018 */ lw $ra, 0x18($sp) -/* AACFA4 80240774 8FB10014 */ lw $s1, 0x14($sp) -/* AACFA8 80240778 8FB00010 */ lw $s0, 0x10($sp) -/* AACFAC 8024077C 24020002 */ addiu $v0, $zero, 2 -/* AACFB0 80240780 03E00008 */ jr $ra -/* AACFB4 80240784 27BD0020 */ addiu $sp, $sp, 0x20 -/* AACFB8 80240788 00000000 */ nop -/* AACFBC 8024078C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/area_pra/pra_31/D7F270/func_80240510_D7F270.s b/ver/us/asm/nonmatchings/world/area_pra/pra_31/D7F270/func_80240510_D7F270.s deleted file mode 100644 index 1de35b8b97..0000000000 --- a/ver/us/asm/nonmatchings/world/area_pra/pra_31/D7F270/func_80240510_D7F270.s +++ /dev/null @@ -1,214 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240510_D7F270 -/* D7F270 80240510 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* D7F274 80240514 AFB10014 */ sw $s1, 0x14($sp) -/* D7F278 80240518 0080882D */ daddu $s1, $a0, $zero -/* D7F27C 8024051C AFBF0018 */ sw $ra, 0x18($sp) -/* D7F280 80240520 10A0006B */ beqz $a1, .L802406D0 -/* D7F284 80240524 AFB00010 */ sw $s0, 0x10($sp) -/* D7F288 80240528 0C00AB39 */ jal heap_malloc -/* D7F28C 8024052C 24040080 */ addiu $a0, $zero, 0x80 -/* D7F290 80240530 0040802D */ daddu $s0, $v0, $zero -/* D7F294 80240534 0220202D */ daddu $a0, $s1, $zero -/* D7F298 80240538 3C05FD05 */ lui $a1, 0xfd05 -/* D7F29C 8024053C 34A50F80 */ ori $a1, $a1, 0xf80 -/* D7F2A0 80240540 0C0B2026 */ jal evt_set_variable -/* D7F2A4 80240544 0200302D */ daddu $a2, $s0, $zero -/* D7F2A8 80240548 0220202D */ daddu $a0, $s1, $zero -/* D7F2AC 8024054C 3C05F5DE */ lui $a1, 0xf5de -/* D7F2B0 80240550 0C0B1EAF */ jal evt_get_variable -/* D7F2B4 80240554 34A50180 */ ori $a1, $a1, 0x180 -/* D7F2B8 80240558 0040282D */ daddu $a1, $v0, $zero -/* D7F2BC 8024055C 0000382D */ daddu $a3, $zero, $zero -/* D7F2C0 80240560 00E0202D */ daddu $a0, $a3, $zero -.L80240564: -/* D7F2C4 80240564 0000302D */ daddu $a2, $zero, $zero -/* D7F2C8 80240568 0080182D */ daddu $v1, $a0, $zero -.L8024056C: -/* D7F2CC 8024056C 02031021 */ addu $v0, $s0, $v1 -/* D7F2D0 80240570 A4400048 */ sh $zero, 0x48($v0) -/* D7F2D4 80240574 24C60001 */ addiu $a2, $a2, 1 -/* D7F2D8 80240578 28C20009 */ slti $v0, $a2, 9 -/* D7F2DC 8024057C 1440FFFB */ bnez $v0, .L8024056C -/* D7F2E0 80240580 24630002 */ addiu $v1, $v1, 2 -/* D7F2E4 80240584 24E70001 */ addiu $a3, $a3, 1 -/* D7F2E8 80240588 28E20003 */ slti $v0, $a3, 3 -/* D7F2EC 8024058C 1440FFF5 */ bnez $v0, .L80240564 -/* D7F2F0 80240590 24840012 */ addiu $a0, $a0, 0x12 -/* D7F2F4 80240594 0000302D */ daddu $a2, $zero, $zero -/* D7F2F8 80240598 0200382D */ daddu $a3, $s0, $zero -/* D7F2FC 8024059C 28AA0055 */ slti $t2, $a1, 0x55 -/* D7F300 802405A0 240BFFFF */ addiu $t3, $zero, -1 -/* D7F304 802405A4 26050002 */ addiu $a1, $s0, 2 -/* D7F308 802405A8 3C098024 */ lui $t1, %hi(D_80242514_D81274) -/* D7F30C 802405AC 25292514 */ addiu $t1, $t1, %lo(D_80242514_D81274) -/* D7F310 802405B0 3C088024 */ lui $t0, %hi(D_802424F0_D81250) -/* D7F314 802405B4 250824F0 */ addiu $t0, $t0, %lo(D_802424F0_D81250) -.L802405B8: -/* D7F318 802405B8 11400009 */ beqz $t2, .L802405E0 -/* D7F31C 802405BC 00000000 */ nop -/* D7F320 802405C0 95020002 */ lhu $v0, 2($t0) -/* D7F324 802405C4 A4E20000 */ sh $v0, ($a3) -/* D7F328 802405C8 95020006 */ lhu $v0, 6($t0) -/* D7F32C 802405CC A4A20000 */ sh $v0, ($a1) -/* D7F330 802405D0 C5000008 */ lwc1 $f0, 8($t0) -/* D7F334 802405D4 46800020 */ cvt.s.w $f0, $f0 -/* D7F338 802405D8 0809017F */ j .L802405FC -/* D7F33C 802405DC E4A00012 */ swc1 $f0, 0x12($a1) -.L802405E0: -/* D7F340 802405E0 95220002 */ lhu $v0, 2($t1) -/* D7F344 802405E4 A4E20000 */ sh $v0, ($a3) -/* D7F348 802405E8 95220006 */ lhu $v0, 6($t1) -/* D7F34C 802405EC A4A20000 */ sh $v0, ($a1) -/* D7F350 802405F0 C5200008 */ lwc1 $f0, 8($t1) -/* D7F354 802405F4 46800020 */ cvt.s.w $f0, $f0 -/* D7F358 802405F8 E4A00012 */ swc1 $f0, 0x12($a1) -.L802405FC: -/* D7F35C 802405FC 2529000C */ addiu $t1, $t1, 0xc -/* D7F360 80240600 2508000C */ addiu $t0, $t0, 0xc -/* D7F364 80240604 84E30000 */ lh $v1, ($a3) -/* D7F368 80240608 24C60001 */ addiu $a2, $a2, 1 -/* D7F36C 8024060C 00031040 */ sll $v0, $v1, 1 -/* D7F370 80240610 00431021 */ addu $v0, $v0, $v1 -/* D7F374 80240614 000210C0 */ sll $v0, $v0, 3 -/* D7F378 80240618 00431021 */ addu $v0, $v0, $v1 -/* D7F37C 8024061C 00021040 */ sll $v0, $v0, 1 -/* D7F380 80240620 24420032 */ addiu $v0, $v0, 0x32 -/* D7F384 80240624 84A30000 */ lh $v1, ($a1) -/* D7F388 80240628 44820000 */ mtc1 $v0, $f0 -/* D7F38C 8024062C 00000000 */ nop -/* D7F390 80240630 46800020 */ cvt.s.w $f0, $f0 -/* D7F394 80240634 E4A0000A */ swc1 $f0, 0xa($a1) -/* D7F398 80240638 E4A00002 */ swc1 $f0, 2($a1) -/* D7F39C 8024063C 00031040 */ sll $v0, $v1, 1 -/* D7F3A0 80240640 00431021 */ addu $v0, $v0, $v1 -/* D7F3A4 80240644 000210C0 */ sll $v0, $v0, 3 -/* D7F3A8 80240648 00431021 */ addu $v0, $v0, $v1 -/* D7F3AC 8024064C 00021040 */ sll $v0, $v0, 1 -/* D7F3B0 80240650 2442004B */ addiu $v0, $v0, 0x4b -/* D7F3B4 80240654 44820000 */ mtc1 $v0, $f0 -/* D7F3B8 80240658 00000000 */ nop -/* D7F3BC 8024065C 46800020 */ cvt.s.w $f0, $f0 -/* D7F3C0 80240660 E4A0000E */ swc1 $f0, 0xe($a1) -/* D7F3C4 80240664 E4A00006 */ swc1 $f0, 6($a1) -/* D7F3C8 80240668 24A50018 */ addiu $a1, $a1, 0x18 -/* D7F3CC 8024066C 84E40000 */ lh $a0, ($a3) -/* D7F3D0 80240670 000310C0 */ sll $v0, $v1, 3 -/* D7F3D4 80240674 00431021 */ addu $v0, $v0, $v1 -/* D7F3D8 80240678 00441021 */ addu $v0, $v0, $a0 -/* D7F3DC 8024067C 00021040 */ sll $v0, $v0, 1 -/* D7F3E0 80240680 02021021 */ addu $v0, $s0, $v0 -/* D7F3E4 80240684 A44B0048 */ sh $t3, 0x48($v0) -/* D7F3E8 80240688 28C20003 */ slti $v0, $a2, 3 -/* D7F3EC 8024068C 1440FFCA */ bnez $v0, .L802405B8 -/* D7F3F0 80240690 24E70018 */ addiu $a3, $a3, 0x18 -/* D7F3F4 80240694 0220202D */ daddu $a0, $s1, $zero -/* D7F3F8 80240698 3C05FD05 */ lui $a1, 0xfd05 -/* D7F3FC 8024069C 34A50F83 */ ori $a1, $a1, 0xf83 -/* D7F400 802406A0 0C0B2026 */ jal evt_set_variable -/* D7F404 802406A4 2406010E */ addiu $a2, $zero, 0x10e -/* D7F408 802406A8 0220202D */ daddu $a0, $s1, $zero -/* D7F40C 802406AC 3C05FD05 */ lui $a1, 0xfd05 -/* D7F410 802406B0 34A50F84 */ ori $a1, $a1, 0xf84 -/* D7F414 802406B4 0C0B2026 */ jal evt_set_variable -/* D7F418 802406B8 2406010E */ addiu $a2, $zero, 0x10e -/* D7F41C 802406BC 0220202D */ daddu $a0, $s1, $zero -/* D7F420 802406C0 3C05FD05 */ lui $a1, 0xfd05 -/* D7F424 802406C4 34A50F85 */ ori $a1, $a1, 0xf85 -/* D7F428 802406C8 0C0B2026 */ jal evt_set_variable -/* D7F42C 802406CC 2406010E */ addiu $a2, $zero, 0x10e -.L802406D0: -/* D7F430 802406D0 0220202D */ daddu $a0, $s1, $zero -/* D7F434 802406D4 3C05FD05 */ lui $a1, 0xfd05 -/* D7F438 802406D8 0C0B1EAF */ jal evt_get_variable -/* D7F43C 802406DC 34A50F80 */ ori $a1, $a1, 0xf80 -/* D7F440 802406E0 0040802D */ daddu $s0, $v0, $zero -/* D7F444 802406E4 0000302D */ daddu $a2, $zero, $zero -/* D7F448 802406E8 3C013FA0 */ lui $at, 0x3fa0 -/* D7F44C 802406EC 44812000 */ mtc1 $at, $f4 -/* D7F450 802406F0 26030008 */ addiu $v1, $s0, 8 -.L802406F4: -/* D7F454 802406F4 C462FFFC */ lwc1 $f2, -4($v1) -/* D7F458 802406F8 C4600004 */ lwc1 $f0, 4($v1) -/* D7F45C 802406FC 4600103C */ c.lt.s $f2, $f0 -/* D7F460 80240700 00000000 */ nop -/* D7F464 80240704 45000005 */ bc1f .L8024071C -/* D7F468 80240708 00000000 */ nop -/* D7F46C 8024070C 46041000 */ add.s $f0, $f2, $f4 -/* D7F470 80240710 E460FFFC */ swc1 $f0, -4($v1) -/* D7F474 80240714 C462FFFC */ lwc1 $f2, -4($v1) -/* D7F478 80240718 C4600004 */ lwc1 $f0, 4($v1) -.L8024071C: -/* D7F47C 8024071C 4602003C */ c.lt.s $f0, $f2 -/* D7F480 80240720 00000000 */ nop -/* D7F484 80240724 45000003 */ bc1f .L80240734 -/* D7F488 80240728 00000000 */ nop -/* D7F48C 8024072C 46041001 */ sub.s $f0, $f2, $f4 -/* D7F490 80240730 E460FFFC */ swc1 $f0, -4($v1) -.L80240734: -/* D7F494 80240734 C4620000 */ lwc1 $f2, ($v1) -/* D7F498 80240738 C4600008 */ lwc1 $f0, 8($v1) -/* D7F49C 8024073C 4600103C */ c.lt.s $f2, $f0 -/* D7F4A0 80240740 00000000 */ nop -/* D7F4A4 80240744 45000005 */ bc1f .L8024075C -/* D7F4A8 80240748 00000000 */ nop -/* D7F4AC 8024074C 46041000 */ add.s $f0, $f2, $f4 -/* D7F4B0 80240750 E4600000 */ swc1 $f0, ($v1) -/* D7F4B4 80240754 C4620000 */ lwc1 $f2, ($v1) -/* D7F4B8 80240758 C4600008 */ lwc1 $f0, 8($v1) -.L8024075C: -/* D7F4BC 8024075C 4602003C */ c.lt.s $f0, $f2 -/* D7F4C0 80240760 00000000 */ nop -/* D7F4C4 80240764 45000003 */ bc1f .L80240774 -/* D7F4C8 80240768 24C60001 */ addiu $a2, $a2, 1 -/* D7F4CC 8024076C 46041001 */ sub.s $f0, $f2, $f4 -/* D7F4D0 80240770 E4600000 */ swc1 $f0, ($v1) -.L80240774: -/* D7F4D4 80240774 28C20003 */ slti $v0, $a2, 3 -/* D7F4D8 80240778 1440FFDE */ bnez $v0, .L802406F4 -/* D7F4DC 8024077C 24630018 */ addiu $v1, $v1, 0x18 -/* D7F4E0 80240780 0000482D */ daddu $t1, $zero, $zero -/* D7F4E4 80240784 0120382D */ daddu $a3, $t1, $zero -/* D7F4E8 80240788 3C0A8024 */ lui $t2, %hi(D_80242538_D81298) -/* D7F4EC 8024078C 254A2538 */ addiu $t2, $t2, %lo(D_80242538_D81298) -/* D7F4F0 80240790 0120402D */ daddu $t0, $t1, $zero -.L80240794: -/* D7F4F4 80240794 0000302D */ daddu $a2, $zero, $zero -/* D7F4F8 80240798 0100282D */ daddu $a1, $t0, $zero -.L8024079C: -/* D7F4FC 8024079C 02052021 */ addu $a0, $s0, $a1 -/* D7F500 802407A0 84820048 */ lh $v0, 0x48($a0) -/* D7F504 802407A4 94830048 */ lhu $v1, 0x48($a0) -/* D7F508 802407A8 18400002 */ blez $v0, .L802407B4 -/* D7F50C 802407AC 2462FFFF */ addiu $v0, $v1, -1 -/* D7F510 802407B0 A4820048 */ sh $v0, 0x48($a0) -.L802407B4: -/* D7F514 802407B4 00AA1021 */ addu $v0, $a1, $t2 -/* D7F518 802407B8 84830048 */ lh $v1, 0x48($a0) -/* D7F51C 802407BC 84420000 */ lh $v0, ($v0) -/* D7F520 802407C0 54620001 */ bnel $v1, $v0, .L802407C8 -/* D7F524 802407C4 24090001 */ addiu $t1, $zero, 1 -.L802407C8: -/* D7F528 802407C8 24C60001 */ addiu $a2, $a2, 1 -/* D7F52C 802407CC 28C20009 */ slti $v0, $a2, 9 -/* D7F530 802407D0 1440FFF2 */ bnez $v0, .L8024079C -/* D7F534 802407D4 24A50002 */ addiu $a1, $a1, 2 -/* D7F538 802407D8 24E70001 */ addiu $a3, $a3, 1 -/* D7F53C 802407DC 28E20003 */ slti $v0, $a3, 3 -/* D7F540 802407E0 1440FFEC */ bnez $v0, .L80240794 -/* D7F544 802407E4 25080012 */ addiu $t0, $t0, 0x12 -/* D7F548 802407E8 15200005 */ bnez $t1, .L80240800 -/* D7F54C 802407EC 0220202D */ daddu $a0, $s1, $zero -/* D7F550 802407F0 3C05FD05 */ lui $a1, 0xfd05 -/* D7F554 802407F4 34A50F81 */ ori $a1, $a1, 0xf81 -/* D7F558 802407F8 0C0B2026 */ jal evt_set_variable -/* D7F55C 802407FC 24060001 */ addiu $a2, $zero, 1 -.L80240800: -/* D7F560 80240800 8FBF0018 */ lw $ra, 0x18($sp) -/* D7F564 80240804 8FB10014 */ lw $s1, 0x14($sp) -/* D7F568 80240808 8FB00010 */ lw $s0, 0x10($sp) -/* D7F56C 8024080C 0000102D */ daddu $v0, $zero, $zero -/* D7F570 80240810 03E00008 */ jr $ra -/* D7F574 80240814 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/world/area_pra/pra_31/D7F270/func_80240A3C_D7F79C.s b/ver/us/asm/nonmatchings/world/area_pra/pra_31/D7F270/func_80240A3C_D7F79C.s deleted file mode 100644 index 292472a369..0000000000 --- a/ver/us/asm/nonmatchings/world/area_pra/pra_31/D7F270/func_80240A3C_D7F79C.s +++ /dev/null @@ -1,107 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240A3C_D7F79C -/* D7F79C 80240A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* D7F7A0 80240A40 AFB00010 */ sw $s0, 0x10($sp) -/* D7F7A4 80240A44 0080802D */ daddu $s0, $a0, $zero -/* D7F7A8 80240A48 AFBF0014 */ sw $ra, 0x14($sp) -/* D7F7AC 80240A4C 8E02000C */ lw $v0, 0xc($s0) -/* D7F7B0 80240A50 0C0B1EAF */ jal evt_get_variable -/* D7F7B4 80240A54 8C450000 */ lw $a1, ($v0) -/* D7F7B8 80240A58 0200202D */ daddu $a0, $s0, $zero -/* D7F7BC 80240A5C 3C05FD05 */ lui $a1, 0xfd05 -/* D7F7C0 80240A60 34A50F80 */ ori $a1, $a1, 0xf80 -/* D7F7C4 80240A64 0C0B1EAF */ jal evt_get_variable -/* D7F7C8 80240A68 0040802D */ daddu $s0, $v0, $zero -/* D7F7CC 80240A6C 0040302D */ daddu $a2, $v0, $zero -/* D7F7D0 80240A70 00101040 */ sll $v0, $s0, 1 -/* D7F7D4 80240A74 00501021 */ addu $v0, $v0, $s0 -/* D7F7D8 80240A78 000210C0 */ sll $v0, $v0, 3 -/* D7F7DC 80240A7C 00C22821 */ addu $a1, $a2, $v0 -/* D7F7E0 80240A80 84A30002 */ lh $v1, 2($a1) -/* D7F7E4 80240A84 84A40000 */ lh $a0, ($a1) -/* D7F7E8 80240A88 000310C0 */ sll $v0, $v1, 3 -/* D7F7EC 80240A8C 00431021 */ addu $v0, $v0, $v1 -/* D7F7F0 80240A90 00441021 */ addu $v0, $v0, $a0 -/* D7F7F4 80240A94 00021040 */ sll $v0, $v0, 1 -/* D7F7F8 80240A98 00C21021 */ addu $v0, $a2, $v0 -/* D7F7FC 80240A9C 24030014 */ addiu $v1, $zero, 0x14 -/* D7F800 80240AA0 A4430048 */ sh $v1, 0x48($v0) -/* D7F804 80240AA4 C4A00014 */ lwc1 $f0, 0x14($a1) -/* D7F808 80240AA8 2402005A */ addiu $v0, $zero, 0x5a -/* D7F80C 80240AAC 4600008D */ trunc.w.s $f2, $f0 -/* D7F810 80240AB0 44031000 */ mfc1 $v1, $f2 -/* D7F814 80240AB4 00000000 */ nop -/* D7F818 80240AB8 10620012 */ beq $v1, $v0, .L80240B04 -/* D7F81C 80240ABC 00000000 */ nop -/* D7F820 80240AC0 2862005B */ slti $v0, $v1, 0x5b -/* D7F824 80240AC4 10400005 */ beqz $v0, .L80240ADC -/* D7F828 80240AC8 240200B4 */ addiu $v0, $zero, 0xb4 -/* D7F82C 80240ACC 10600009 */ beqz $v1, .L80240AF4 -/* D7F830 80240AD0 00000000 */ nop -/* D7F834 80240AD4 080902CB */ j .L80240B2C -/* D7F838 80240AD8 00000000 */ nop -.L80240ADC: -/* D7F83C 80240ADC 1062000C */ beq $v1, $v0, .L80240B10 -/* D7F840 80240AE0 2402010E */ addiu $v0, $zero, 0x10e -/* D7F844 80240AE4 1062000E */ beq $v1, $v0, .L80240B20 -/* D7F848 80240AE8 00000000 */ nop -/* D7F84C 80240AEC 080902CB */ j .L80240B2C -/* D7F850 80240AF0 00000000 */ nop -.L80240AF4: -/* D7F854 80240AF4 94A20002 */ lhu $v0, 2($a1) -/* D7F858 80240AF8 2442FFFF */ addiu $v0, $v0, -1 -/* D7F85C 80240AFC 080902CB */ j .L80240B2C -/* D7F860 80240B00 A4A20002 */ sh $v0, 2($a1) -.L80240B04: -/* D7F864 80240B04 94A20000 */ lhu $v0, ($a1) -/* D7F868 80240B08 080902CA */ j .L80240B28 -/* D7F86C 80240B0C 24420001 */ addiu $v0, $v0, 1 -.L80240B10: -/* D7F870 80240B10 94A20002 */ lhu $v0, 2($a1) -/* D7F874 80240B14 24420001 */ addiu $v0, $v0, 1 -/* D7F878 80240B18 080902CB */ j .L80240B2C -/* D7F87C 80240B1C A4A20002 */ sh $v0, 2($a1) -.L80240B20: -/* D7F880 80240B20 94A20000 */ lhu $v0, ($a1) -/* D7F884 80240B24 2442FFFF */ addiu $v0, $v0, -1 -.L80240B28: -/* D7F888 80240B28 A4A20000 */ sh $v0, ($a1) -.L80240B2C: -/* D7F88C 80240B2C 84A30002 */ lh $v1, 2($a1) -/* D7F890 80240B30 84A40000 */ lh $a0, ($a1) -/* D7F894 80240B34 000310C0 */ sll $v0, $v1, 3 -/* D7F898 80240B38 00431021 */ addu $v0, $v0, $v1 -/* D7F89C 80240B3C 00441021 */ addu $v0, $v0, $a0 -/* D7F8A0 80240B40 00021040 */ sll $v0, $v0, 1 -/* D7F8A4 80240B44 00C21021 */ addu $v0, $a2, $v0 -/* D7F8A8 80240B48 2403FFFF */ addiu $v1, $zero, -1 -/* D7F8AC 80240B4C A4430048 */ sh $v1, 0x48($v0) -/* D7F8B0 80240B50 84A40000 */ lh $a0, ($a1) -/* D7F8B4 80240B54 00041840 */ sll $v1, $a0, 1 -/* D7F8B8 80240B58 00641821 */ addu $v1, $v1, $a0 -/* D7F8BC 80240B5C 000318C0 */ sll $v1, $v1, 3 -/* D7F8C0 80240B60 00641821 */ addu $v1, $v1, $a0 -/* D7F8C4 80240B64 00031840 */ sll $v1, $v1, 1 -/* D7F8C8 80240B68 24630032 */ addiu $v1, $v1, 0x32 -/* D7F8CC 80240B6C 84A40002 */ lh $a0, 2($a1) -/* D7F8D0 80240B70 44830000 */ mtc1 $v1, $f0 -/* D7F8D4 80240B74 00000000 */ nop -/* D7F8D8 80240B78 46800020 */ cvt.s.w $f0, $f0 -/* D7F8DC 80240B7C E4A0000C */ swc1 $f0, 0xc($a1) -/* D7F8E0 80240B80 00041840 */ sll $v1, $a0, 1 -/* D7F8E4 80240B84 00641821 */ addu $v1, $v1, $a0 -/* D7F8E8 80240B88 000318C0 */ sll $v1, $v1, 3 -/* D7F8EC 80240B8C 00641821 */ addu $v1, $v1, $a0 -/* D7F8F0 80240B90 00031840 */ sll $v1, $v1, 1 -/* D7F8F4 80240B94 2463004B */ addiu $v1, $v1, 0x4b -/* D7F8F8 80240B98 44830000 */ mtc1 $v1, $f0 -/* D7F8FC 80240B9C 00000000 */ nop -/* D7F900 80240BA0 46800020 */ cvt.s.w $f0, $f0 -/* D7F904 80240BA4 E4A00010 */ swc1 $f0, 0x10($a1) -/* D7F908 80240BA8 8FBF0014 */ lw $ra, 0x14($sp) -/* D7F90C 80240BAC 8FB00010 */ lw $s0, 0x10($sp) -/* D7F910 80240BB0 24020002 */ addiu $v0, $zero, 2 -/* D7F914 80240BB4 03E00008 */ jr $ra -/* D7F918 80240BB8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3A930/func_80240360_D3A930.s b/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3A930/func_80240360_D3A930.s deleted file mode 100644 index fe4abc744c..0000000000 --- a/ver/us/asm/nonmatchings/world/area_sam/sam_11/D3A930/func_80240360_D3A930.s +++ /dev/null @@ -1,126 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240360_D3A930 -/* D3A930 80240360 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* D3A934 80240364 AFB00018 */ sw $s0, 0x18($sp) -/* D3A938 80240368 0080802D */ daddu $s0, $a0, $zero -/* D3A93C 8024036C 10A00018 */ beqz $a1, .L802403D0 -/* D3A940 80240370 AFBF001C */ sw $ra, 0x1c($sp) -/* D3A944 80240374 2405FFFF */ addiu $a1, $zero, -1 -/* D3A948 80240378 24060001 */ addiu $a2, $zero, 1 -/* D3A94C 8024037C 9604008A */ lhu $a0, 0x8a($s0) -/* D3A950 80240380 0C046E54 */ jal func_8011B950 -/* D3A954 80240384 00C0382D */ daddu $a3, $a2, $zero -/* D3A958 80240388 27A40010 */ addiu $a0, $sp, 0x10 -/* D3A95C 8024038C 27A50011 */ addiu $a1, $sp, 0x11 -/* D3A960 80240390 27A60012 */ addiu $a2, $sp, 0x12 -/* D3A964 80240394 27A70013 */ addiu $a3, $sp, 0x13 -/* D3A968 80240398 0C046FA0 */ jal get_background_color_blend -/* D3A96C 8024039C AE000070 */ sw $zero, 0x70($s0) -/* D3A970 802403A0 8E040084 */ lw $a0, 0x84($s0) -/* D3A974 802403A4 14800005 */ bnez $a0, .L802403BC -/* D3A978 802403A8 24020001 */ addiu $v0, $zero, 1 -/* D3A97C 802403AC 93A30013 */ lbu $v1, 0x13($sp) -/* D3A980 802403B0 240200FF */ addiu $v0, $zero, 0xff -/* D3A984 802403B4 10620058 */ beq $v1, $v0, .L80240518 -/* D3A988 802403B8 24020001 */ addiu $v0, $zero, 1 -.L802403BC: -/* D3A98C 802403BC 14820004 */ bne $a0, $v0, .L802403D0 -/* D3A990 802403C0 00000000 */ nop -/* D3A994 802403C4 93A20013 */ lbu $v0, 0x13($sp) -/* D3A998 802403C8 10400054 */ beqz $v0, .L8024051C -/* D3A99C 802403CC 24020002 */ addiu $v0, $zero, 2 -.L802403D0: -/* D3A9A0 802403D0 8E020070 */ lw $v0, 0x70($s0) -/* D3A9A4 802403D4 8E03008C */ lw $v1, 0x8c($s0) -/* D3A9A8 802403D8 00431021 */ addu $v0, $v0, $v1 -/* D3A9AC 802403DC AE020070 */ sw $v0, 0x70($s0) -/* D3A9B0 802403E0 28420100 */ slti $v0, $v0, 0x100 -/* D3A9B4 802403E4 14400002 */ bnez $v0, .L802403F0 -/* D3A9B8 802403E8 240200FF */ addiu $v0, $zero, 0xff -/* D3A9BC 802403EC AE020070 */ sw $v0, 0x70($s0) -.L802403F0: -/* D3A9C0 802403F0 8E020084 */ lw $v0, 0x84($s0) -/* D3A9C4 802403F4 14400004 */ bnez $v0, .L80240408 -/* D3A9C8 802403F8 0000202D */ daddu $a0, $zero, $zero -/* D3A9CC 802403FC 92020073 */ lbu $v0, 0x73($s0) -/* D3A9D0 80240400 08090105 */ j .L80240414 -/* D3A9D4 80240404 0080282D */ daddu $a1, $a0, $zero -.L80240408: -/* D3A9D8 80240408 92020073 */ lbu $v0, 0x73($s0) -/* D3A9DC 8024040C 00021027 */ nor $v0, $zero, $v0 -/* D3A9E0 80240410 0080282D */ daddu $a1, $a0, $zero -.L80240414: -/* D3A9E4 80240414 A3A20013 */ sb $v0, 0x13($sp) -/* D3A9E8 80240418 304700FF */ andi $a3, $v0, 0xff -/* D3A9EC 8024041C 0C046F97 */ jal set_background_color_blend -/* D3A9F0 80240420 0080302D */ daddu $a2, $a0, $zero -/* D3A9F4 80240424 240600FF */ addiu $a2, $zero, 0xff -/* D3A9F8 80240428 93A20013 */ lbu $v0, 0x13($sp) -/* D3A9FC 8024042C 3C038024 */ lui $v1, %hi(D_80243CC0_D3E290) -/* D3AA00 80240430 8C633CC0 */ lw $v1, %lo(D_80243CC0_D3E290)($v1) -/* D3AA04 80240434 00C23023 */ subu $a2, $a2, $v0 -/* D3AA08 80240438 00660018 */ mult $v1, $a2 -/* D3AA0C 8024043C 00001812 */ mflo $v1 -/* D3AA10 80240440 3C058024 */ lui $a1, %hi(D_80243CC4_D3E294) -/* D3AA14 80240444 8CA53CC4 */ lw $a1, %lo(D_80243CC4_D3E294)($a1) -/* D3AA18 80240448 00A60018 */ mult $a1, $a2 -/* D3AA1C 8024044C 00002812 */ mflo $a1 -/* D3AA20 80240450 3C078080 */ lui $a3, 0x8080 -/* D3AA24 80240454 34E78081 */ ori $a3, $a3, 0x8081 -/* D3AA28 80240458 00670018 */ mult $v1, $a3 -/* D3AA2C 8024045C 00005010 */ mfhi $t2 -/* D3AA30 80240460 00000000 */ nop -/* D3AA34 80240464 00000000 */ nop -/* D3AA38 80240468 00A70018 */ mult $a1, $a3 -/* D3AA3C 8024046C 00004010 */ mfhi $t0 -/* D3AA40 80240470 3C048024 */ lui $a0, %hi(D_80243CC8_D3E298) -/* D3AA44 80240474 8C843CC8 */ lw $a0, %lo(D_80243CC8_D3E298)($a0) -/* D3AA48 80240478 00860018 */ mult $a0, $a2 -/* D3AA4C 8024047C 01431021 */ addu $v0, $t2, $v1 -/* D3AA50 80240480 000211C3 */ sra $v0, $v0, 7 -/* D3AA54 80240484 00031FC3 */ sra $v1, $v1, 0x1f -/* D3AA58 80240488 00431023 */ subu $v0, $v0, $v1 -/* D3AA5C 8024048C 00002012 */ mflo $a0 -/* D3AA60 80240490 A3A20010 */ sb $v0, 0x10($sp) -/* D3AA64 80240494 01051021 */ addu $v0, $t0, $a1 -/* D3AA68 80240498 00870018 */ mult $a0, $a3 -/* D3AA6C 8024049C 000211C3 */ sra $v0, $v0, 7 -/* D3AA70 802404A0 00052FC3 */ sra $a1, $a1, 0x1f -/* D3AA74 802404A4 00451023 */ subu $v0, $v0, $a1 -/* D3AA78 802404A8 A3A20011 */ sb $v0, 0x11($sp) -/* D3AA7C 802404AC 00001810 */ mfhi $v1 -/* D3AA80 802404B0 00641021 */ addu $v0, $v1, $a0 -/* D3AA84 802404B4 000211C3 */ sra $v0, $v0, 7 -/* D3AA88 802404B8 000427C3 */ sra $a0, $a0, 0x1f -/* D3AA8C 802404BC 00441023 */ subu $v0, $v0, $a0 -/* D3AA90 802404C0 A3A20012 */ sb $v0, 0x12($sp) -/* D3AA94 802404C4 304500FF */ andi $a1, $v0, 0xff -/* D3AA98 802404C8 93A30010 */ lbu $v1, 0x10($sp) -/* D3AA9C 802404CC 93A40011 */ lbu $a0, 0x11($sp) -/* D3AAA0 802404D0 3C02800B */ lui $v0, %hi(gCameras) -/* D3AAA4 802404D4 24421D80 */ addiu $v0, $v0, %lo(gCameras) -/* D3AAA8 802404D8 A4450030 */ sh $a1, 0x30($v0) -/* D3AAAC 802404DC A443002C */ sh $v1, 0x2c($v0) -/* D3AAB0 802404E0 A444002E */ sh $a0, 0x2e($v0) -/* D3AAB4 802404E4 8E020070 */ lw $v0, 0x70($s0) -/* D3AAB8 802404E8 284200FF */ slti $v0, $v0, 0xff -/* D3AABC 802404EC 1440000B */ bnez $v0, .L8024051C -/* D3AAC0 802404F0 0000102D */ daddu $v0, $zero, $zero -/* D3AAC4 802404F4 8E030084 */ lw $v1, 0x84($s0) -/* D3AAC8 802404F8 24020001 */ addiu $v0, $zero, 1 -/* D3AACC 802404FC 54620007 */ bnel $v1, $v0, .L8024051C -/* D3AAD0 80240500 24020002 */ addiu $v0, $zero, 2 -/* D3AAD4 80240504 9604008A */ lhu $a0, 0x8a($s0) -/* D3AAD8 80240508 2405FFFF */ addiu $a1, $zero, -1 -/* D3AADC 8024050C 0000302D */ daddu $a2, $zero, $zero -/* D3AAE0 80240510 0C046E54 */ jal func_8011B950 -/* D3AAE4 80240514 0040382D */ daddu $a3, $v0, $zero -.L80240518: -/* D3AAE8 80240518 24020002 */ addiu $v0, $zero, 2 -.L8024051C: -/* D3AAEC 8024051C 8FBF001C */ lw $ra, 0x1c($sp) -/* D3AAF0 80240520 8FB00018 */ lw $s0, 0x18($sp) -/* D3AAF4 80240524 03E00008 */ jr $ra -/* D3AAF8 80240528 27BD0020 */ addiu $sp, $sp, 0x20