Map funcs and update_input (#888)

* warning

* func_80240098_BBD238

* hos/kkj stuff

* update_input is deated (thanks arienain on decomp.me\!)

* 4 mo
This commit is contained in:
Ethan Roseman 2022-12-14 20:56:16 -05:00 committed by GitHub
parent debdd6c4e6
commit 6ea08f8257
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 80 additions and 1243 deletions

View File

@ -24,6 +24,7 @@
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
#define NOP_FIX __asm__(".set nogpopt");
#define NOP_UNFIX __asm__(".set gpopt");
#define PTR_LIST_END ((void*) -1)

View File

@ -24,7 +24,6 @@ void func_80028838(void) {
D_8009A6A6 = 0;
}
#ifdef NON_MATCHING
void update_input(void) {
OSContPad* contData = &D_8009A5B8;
s16 handleInput = FALSE;
@ -204,10 +203,10 @@ void update_input(void) {
}
}
gGameStatusPtr->currentButtons[0] = buttons;
gGameStatusPtr->pressedButtons[0] = gGameStatusPtr->currentButtons[0] ^ gGameStatusPtr->prevButtons[0];
gGameStatusPtr->pressedButtons[0] &= gGameStatusPtr->currentButtons[0];
do {
gGameStatusPtr->pressedButtons[0] = buttons ^ gGameStatusPtr->prevButtons[0];
gGameStatusPtr->currentButtons[0] = buttons;
gGameStatusPtr->pressedButtons[0] &= buttons;
if (gGameStatusPtr->currentButtons[0] == 0) {
gGameStatusPtr->heldButtons[0] = 0;
} else if (gGameStatusPtr->prevButtons[0] != gGameStatusPtr->currentButtons[0]) {
@ -239,6 +238,3 @@ void update_input(void) {
gGameStatusPtr->prevButtons[0] = gGameStatusPtr->currentButtons[0];
}
#else
INCLUDE_ASM(s32, "input", update_input);
#endif

View File

@ -86,7 +86,7 @@ extern s32 D_8024AAB4_A34CF4; // func_802440D0_A2E310 can be matched once this i
extern s32 D_8024AAB8_A34CF8;
extern u32 D_8024AABC_A34CFC;
extern s32 D_8024AAC0_A34D00[];
extern s32 D_8024AAD6_A34D14[];
extern s32 D_8024AAD4_A34D14[];
extern u8 D_8024AB3C_A34D7C[];
extern u8 D_8024AC7B_A34EBB;
extern u16 D_8024AC7C_A34EBC[];
@ -859,8 +859,8 @@ void func_80243ED0_A2E110(s32 arg0, s32 idx) {
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_80243FC4_A2E204);
// needs D_8024AAB4_A34CF4 to be migrated
#ifdef NON_MATCHING
NOP_FIX // TODO remove when D_8024AAB4_A34CF4 is migrated
ApiStatus func_802440D0_A2E310(Evt* script, s32 isInitialCall) {
switch (D_8024AAB0_A34CF0) {
case 0:
@ -880,10 +880,10 @@ ApiStatus func_802440D0_A2E310(Evt* script, s32 isInitialCall) {
if (D_8024AAB8_A34CF8 != 0) {
D_8024AAB8_A34CF8--;
if (!D_8024AA20_A34C60->unk_58) {
D_8024AA20_A34C60->unk_3C = D_8024AAD6_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_3C = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_3E = 0;
} else {
D_8024AA20_A34C60->unk_40 = D_8024AAD6_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_40 = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_42 = 0;
}
} else {
@ -942,10 +942,10 @@ ApiStatus func_802440D0_A2E310(Evt* script, s32 isInitialCall) {
if (D_8024AAB8_A34CF8 != 0) {
D_8024AAB8_A34CF8--;
if (!D_8024AA20_A34C60->unk_58) {
D_8024AA20_A34C60->unk_40 = D_8024AAD6_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_40 = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_42 = 0;
} else {
D_8024AA20_A34C60->unk_3C = D_8024AAD6_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_3C = D_8024AAD4_A34D14[25 - D_8024AAB8_A34CF8];
D_8024AA20_A34C60->unk_3E = 0;
}
} else {
@ -958,9 +958,6 @@ ApiStatus func_802440D0_A2E310(Evt* script, s32 isInitialCall) {
}
return ApiStatus_BLOCK;
}
#else
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_802440D0_A2E310);
#endif
ApiStatus func_80244454_A2E694(Evt* script, s32 isInitialCall) {
if (D_8024ACB8_A34EF8 != 0) {

View File

@ -68,3 +68,6 @@ ApiStatus func_8024046C_AD633C(Evt* script, s32 isInitialCall) {
}
INCLUDE_ASM(s32, "world/area_kkj/kkj_13/AD6200", func_802404E0_AD63B0);
const char* N(exit_str_0) = "osr_03";
const char* N(exit_str_1) = "hos_10";

View File

@ -4,9 +4,9 @@ typedef struct {
/* 0x00 */ s32 itemID;
/* 0x04 */ s32 flagIndex;
/* 0x08 */ s32 overrideDescMsg;
} UnkStruct; // size = 0x0C
} UnkKkj19; // size = 0x0C
extern UnkStruct D_80240E10_AF8760[];
extern UnkKkj19 D_80240E10_AF8760[];
extern s32 D_80240E88_AF87D8;
extern s32 D_80240E8C_AF87DC;
extern s32 D_80240E90_AF87E0;
@ -16,8 +16,8 @@ extern MenuWindowBP D_80240EF0_AF8840[2];
static char* N(exit_str_0) = "kkj_10";
static char* N(exit_str_1) = "kkj_00";
// Needs data migration, matching otherwise
#ifdef NON_MATCHING
NOP_FIX // TODO remove after D_80240E8C_AF87DC is migrated
ApiStatus func_80240000_AF7950(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var;
@ -34,9 +34,6 @@ ApiStatus func_80240000_AF7950(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "world/area_kkj/kkj_19/AF7950", func_80240000_AF7950);
#endif
void func_80240068_AF79B8(void) {
if (D_80240E88_AF87D8 != 0) {
@ -54,9 +51,23 @@ void func_80240068_AF79B8(void) {
}
}
INCLUDE_ASM(s32, "world/area_kkj/kkj_19/AF7950", func_802400E4_AF7A34);
void func_802400E4_AF7A34(s32 arg0, s32 x, s32 y) {
ItemData* item = &gItemTable[D_80240E10_AF8760[D_80240E90_AF87E0].itemID];
s32 width = (get_msg_width(item->nameMsg, 0) >> 1) - 60;
INCLUDE_ASM(s32, "world/area_kkj/kkj_19/AF7950", func_80240178_AF7AC8);
draw_msg(item->nameMsg, x - width, y + 6, 255, 0, 0);
}
void func_80240178_AF7AC8(s32 arg0, s32 x, s32 y) {
UnkKkj19* temp_a3 = &D_80240E10_AF8760[D_80240E90_AF87E0];
ItemData* item = &gItemTable[temp_a3->itemID];
if (temp_a3->overrideDescMsg != 0) {
draw_msg(temp_a3->overrideDescMsg, x + 8, y, 255, 10, 0);
} else {
draw_msg(item->shortDescMsg, x + 8, y, 255, 10, 0);
}
}
ApiStatus func_802401FC_AF7B4C(Evt* script, s32 isInitialCall) {
s32 i;

View File

@ -11,25 +11,26 @@ static char* N(exit_str_3) = "";
#include "world/common/entity/Pipe.inc.c"
extern s32 D_80244B2C_8B4B9C[];
extern s32* D_80244B2C_8B4B9C[];
extern s32* D_802480AC_8B811C[];
// reg swap & data migration
#ifdef NON_MATCHING
NOP_FIX // TODO remove when D_80244B2C_8B4B9C is migrated
ApiStatus func_802402E0_8B0350(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 npcID = evt_get_variable(script, *args++);
s32* var_s0 = D_80244B2C_8B4B9C[evt_get_variable(script, *args++)];
s32 territoryIndex = evt_get_variable(script, *args++);
s32* var_s0 = D_80244B2C_8B4B9C[territoryIndex];
Enemy* enemy = get_enemy(npcID);
s32 i;
for (i = 0; i < 14; i++) {
enemy->territory->temp[i] = *var_s0++;
for (i = 0; i < (s32) (sizeof(enemy->territory->wander) / sizeof(i)); i++) {
s32* wander = (s32*) &enemy->territory->wander;
wander[i] = var_s0[i];
}
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_802402E0_8B0350);
#endif
NOP_UNFIX // TODO remove when D_80244B2C_8B4B9C is migrated
ApiStatus func_80240370_8B03E0(Evt* script, s32 isInitialCall) {
set_map_change_fade_rate(1);
@ -98,8 +99,23 @@ ApiStatus func_802422F8_8B2368(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
// duplicate of func_802402E0_8B0350
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80242394_8B2404);
NOP_FIX // TODO remove when D_802480AC_8B811C is migrated
ApiStatus func_80242394_8B2404(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 npcID = evt_get_variable(script, *args++);
s32 territoryIndex = evt_get_variable(script, *args++);
s32* var_s0 = D_802480AC_8B811C[territoryIndex];
Enemy* enemy = get_enemy(npcID);
s32 i;
for (i = 0; i < (s32) (sizeof(enemy->territory->wander) / sizeof(i)); i++) {
s32* wander = (s32*) &enemy->territory->wander;
wander[i] = var_s0[i];
}
return ApiStatus_DONE2;
}
NOP_UNFIX // TODO remove when D_802480AC_8B811C is migrated
extern s32 N(LetterDelivery_SavedNpcAnim);
#include "world/common/todo/LetterDelivery.inc.c"
@ -207,11 +223,10 @@ ApiStatus func_80242BA8_8B2C18(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
// will match when preceding bss is worked out
#ifdef NON_MATCHING
s32 func_80242BC0_8B2C30(Evt* script, s32 isInitialCall) {
ApiStatus func_80242BC0_8B2C30(Evt* script, s32 isInitialCall) {
Bytecode* args;
static s32 padding;
static u8 oldPrimR, oldPrimG, oldPrimB;
static u8 oldEnvR, oldEnvG, oldEnvB;
@ -249,9 +264,6 @@ s32 func_80242BC0_8B2C30(Evt* script, s32 isInitialCall) {
}
return 0;
}
#else
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_80242BC0_8B2C30);
#endif
ApiStatus func_80242F08_8B2F78(Evt* script, s32 isInitialCall) {
mdl_set_all_fog_mode(3);

View File

@ -2,25 +2,25 @@
#include "world/common/todo/CheckPartnerFlags1000.inc.c"
#ifdef NON_MATCHING
extern s32* D_8025578C_8C57FC[4]; // EnemyTerritoryWander
NOP_FIX // TODO remove when D_8025578C_8C57FC is migrated
ApiStatus func_8024366C_8B36DC(Evt* script, s32 isInitialCall) {
static s32* D_8025578C_8C57FC[4]; // EnemyTerritoryWander
Bytecode* args = script->ptrReadPos;
s32 enemyIndex = evt_get_variable(script, *args++);
s32 npcID = evt_get_variable(script, *args++);
s32 territoryIndex = evt_get_variable(script, *args++);
s32* src = D_8025578C_8C57FC[territoryIndex];
Enemy* enemy = get_enemy(enemyIndex);
s32* var_s0 = D_8025578C_8C57FC[territoryIndex];
Enemy* enemy = get_enemy(npcID);
s32 i;
for (i = 0; i < 0xE; i++) {
enemy->territory.raw[i] = src[i];
for (i = 0; i < (s32) (sizeof(enemy->territory->wander) / sizeof(i)); i++) {
s32* wander = (s32*) &enemy->territory->wander;
wander[i] = var_s0[i];
}
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B36B0", func_8024366C_8B36DC);
#endif
NOP_UNFIX // TODO remove when D_8025578C_8C57FC is migrated
#include "world/common/todo/UnkFunc42.inc.c"

View File

@ -267,10 +267,10 @@ dlabel D_8024AABC_A34CFC
.word 0x00000000
dlabel D_8024AAC0_A34D00
.byte 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x02, 0x6E, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x02, 0x6E
dlabel D_8024AAD6_A34D16
.short 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFD, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFF7, 0xFFFF, 0xFFF1, 0xFFFF, 0xFFEA, 0xFFFF, 0xFFE2, 0xFFFF, 0xFFD9, 0xFFFF, 0xFFCF, 0xFFFF, 0xFFC4, 0xFFFF, 0xFFB8, 0xFFFF, 0xFFAB, 0xFFFF, 0xFF9D, 0xFFFF, 0xFF8E, 0xFFFF, 0xFF7E, 0xFFFF, 0xFF6D, 0xFFFF, 0xFF5B, 0xFFFF, 0xFF48, 0xFFFF, 0xFF34, 0xFFFF, 0xFF1F, 0xFFFF, 0xFF09, 0xFFFF, 0xFEF2
dlabel D_8024AAD4_A34D14
.short 0x00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFD, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFF7, 0xFFFF, 0xFFF1, 0xFFFF, 0xFFEA, 0xFFFF, 0xFFE2, 0xFFFF, 0xFFD9, 0xFFFF, 0xFFCF, 0xFFFF, 0xFFC4, 0xFFFF, 0xFFB8, 0xFFFF, 0xFFAB, 0xFFFF, 0xFF9D, 0xFFFF, 0xFF8E, 0xFFFF, 0xFF7E, 0xFFFF, 0xFF6D, 0xFFFF, 0xFF5B, 0xFFFF, 0xFF48, 0xFFFF, 0xFF34, 0xFFFF, 0xFF1F, 0xFFFF, 0xFF09, 0xFFFF, 0xFEF2
dlabel D_8024AB3C_A34D7C
.byte 0xF0, 0xF0, 0xF0, 0xF0, 0xD2, 0xC5, 0xB9, 0xAE, 0xA8, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA3, 0xA2, 0xA2, 0xA1, 0xA1, 0xA2, 0xA2, 0xA3, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAC, 0xAB, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xAE, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA5, 0xA6, 0xA7, 0xA6, 0xA5, 0xA6, 0xA7, 0xA6, 0xA5, 0xA6, 0xA7, 0xA6, 0xA5, 0xA6, 0xA7, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAE, 0xAF, 0xAE, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xA9, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7, 0xAA, 0xAD, 0xAF, 0xB0, 0xB0, 0xAF, 0xAD, 0xAA, 0xA7, 0xA5, 0xA4, 0xA4, 0xA5, 0xA7

View File

@ -1,460 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_input
/* 3C74 80028874 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 3C78 80028878 AFB20018 */ sw $s2, 0x18($sp)
/* 3C7C 8002887C 3C128007 */ lui $s2, %hi(gGameStatusPtr)
/* 3C80 80028880 2652419C */ addiu $s2, $s2, %lo(gGameStatusPtr)
/* 3C84 80028884 AFBF001C */ sw $ra, 0x1c($sp)
/* 3C88 80028888 AFB10014 */ sw $s1, 0x14($sp)
/* 3C8C 8002888C AFB00010 */ sw $s0, 0x10($sp)
/* 3C90 80028890 8E420000 */ lw $v0, ($s2)
/* 3C94 80028894 90420073 */ lbu $v0, 0x73($v0)
/* 3C98 80028898 3C11800A */ lui $s1, %hi(D_8009A5B8)
/* 3C9C 8002889C 2631A5B8 */ addiu $s1, $s1, %lo(D_8009A5B8)
/* 3CA0 800288A0 30420001 */ andi $v0, $v0, 1
/* 3CA4 800288A4 10400005 */ beqz $v0, .L800288BC
/* 3CA8 800288A8 0000802D */ daddu $s0, $zero, $zero
/* 3CAC 800288AC 24100001 */ addiu $s0, $zero, 1
/* 3CB0 800288B0 0220202D */ daddu $a0, $s1, $zero
/* 3CB4 800288B4 0C017D94 */ jal nuContDataGet
/* 3CB8 800288B8 0000282D */ daddu $a1, $zero, $zero
.L800288BC:
/* 3CBC 800288BC 8E430000 */ lw $v1, ($s2)
/* 3CC0 800288C0 80620071 */ lb $v0, 0x71($v1)
/* 3CC4 800288C4 10400015 */ beqz $v0, .L8002891C
/* 3CC8 800288C8 28420002 */ slti $v0, $v0, 2
/* 3CCC 800288CC 10400008 */ beqz $v0, .L800288F0
/* 3CD0 800288D0 00000000 */ nop
/* 3CD4 800288D4 96220000 */ lhu $v0, ($s1)
/* 3CD8 800288D8 3042F000 */ andi $v0, $v0, 0xf000
/* 3CDC 800288DC 10400004 */ beqz $v0, .L800288F0
/* 3CE0 800288E0 0200102D */ daddu $v0, $s0, $zero
/* 3CE4 800288E4 10400002 */ beqz $v0, .L800288F0
/* 3CE8 800288E8 24020002 */ addiu $v0, $zero, 2
/* 3CEC 800288EC A0620071 */ sb $v0, 0x71($v1)
.L800288F0:
/* 3CF0 800288F0 3C048007 */ lui $a0, %hi(gGameStatusPtr)
/* 3CF4 800288F4 2484419C */ addiu $a0, $a0, %lo(gGameStatusPtr)
/* 3CF8 800288F8 8C830000 */ lw $v1, ($a0)
/* 3CFC 800288FC 94620068 */ lhu $v0, 0x68($v1)
/* 3D00 80028900 A6220000 */ sh $v0, ($s1)
/* 3D04 80028904 9062006A */ lbu $v0, 0x6a($v1)
/* 3D08 80028908 8C830000 */ lw $v1, ($a0)
/* 3D0C 8002890C A2220002 */ sb $v0, 2($s1)
/* 3D10 80028910 9062006B */ lbu $v0, 0x6b($v1)
/* 3D14 80028914 24100001 */ addiu $s0, $zero, 1
/* 3D18 80028918 A2220003 */ sb $v0, 3($s1)
.L8002891C:
/* 3D1C 8002891C 0200102D */ daddu $v0, $s0, $zero
/* 3D20 80028920 10400166 */ beqz $v0, .L80028EBC
/* 3D24 80028924 00000000 */ nop
/* 3D28 80028928 92230003 */ lbu $v1, 3($s1)
/* 3D2C 8002892C 92220002 */ lbu $v0, 2($s1)
/* 3D30 80028930 00031E00 */ sll $v1, $v1, 0x18
/* 3D34 80028934 00033E03 */ sra $a3, $v1, 0x18
/* 3D38 80028938 00021600 */ sll $v0, $v0, 0x18
/* 3D3C 8002893C 18400007 */ blez $v0, .L8002895C
/* 3D40 80028940 00022E03 */ sra $a1, $v0, 0x18
/* 3D44 80028944 24A2FFFC */ addiu $v0, $a1, -4
/* 3D48 80028948 0040282D */ daddu $a1, $v0, $zero
/* 3D4C 8002894C 00021400 */ sll $v0, $v0, 0x10
/* 3D50 80028950 0441000B */ bgez $v0, .L80028980
/* 3D54 80028954 00071400 */ sll $v0, $a3, 0x10
/* 3D58 80028958 0000282D */ daddu $a1, $zero, $zero
.L8002895C:
/* 3D5C 8002895C 00051400 */ sll $v0, $a1, 0x10
/* 3D60 80028960 04410007 */ bgez $v0, .L80028980
/* 3D64 80028964 00071400 */ sll $v0, $a3, 0x10
/* 3D68 80028968 24A20004 */ addiu $v0, $a1, 4
/* 3D6C 8002896C 0040282D */ daddu $a1, $v0, $zero
/* 3D70 80028970 00021400 */ sll $v0, $v0, 0x10
/* 3D74 80028974 5C400001 */ bgtzl $v0, .L8002897C
/* 3D78 80028978 0000282D */ daddu $a1, $zero, $zero
.L8002897C:
/* 3D7C 8002897C 00071400 */ sll $v0, $a3, 0x10
.L80028980:
/* 3D80 80028980 18400006 */ blez $v0, .L8002899C
/* 3D84 80028984 24E2FFFC */ addiu $v0, $a3, -4
/* 3D88 80028988 0040382D */ daddu $a3, $v0, $zero
/* 3D8C 8002898C 00021400 */ sll $v0, $v0, 0x10
/* 3D90 80028990 04410009 */ bgez $v0, .L800289B8
/* 3D94 80028994 00000000 */ nop
/* 3D98 80028998 0000382D */ daddu $a3, $zero, $zero
.L8002899C:
/* 3D9C 8002899C 00071400 */ sll $v0, $a3, 0x10
/* 3DA0 800289A0 04410005 */ bgez $v0, .L800289B8
/* 3DA4 800289A4 24E20004 */ addiu $v0, $a3, 4
/* 3DA8 800289A8 0040382D */ daddu $a3, $v0, $zero
/* 3DAC 800289AC 00021400 */ sll $v0, $v0, 0x10
/* 3DB0 800289B0 5C400001 */ bgtzl $v0, .L800289B8
/* 3DB4 800289B4 0000382D */ daddu $a3, $zero, $zero
.L800289B8:
/* 3DB8 800289B8 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 3DBC 800289BC 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 3DC0 800289C0 8C620000 */ lw $v0, ($v1)
/* 3DC4 800289C4 A0450040 */ sb $a1, 0x40($v0)
/* 3DC8 800289C8 8C620000 */ lw $v0, ($v1)
/* 3DCC 800289CC A0470044 */ sb $a3, 0x44($v0)
/* 3DD0 800289D0 00051400 */ sll $v0, $a1, 0x10
/* 3DD4 800289D4 00023403 */ sra $a2, $v0, 0x10
/* 3DD8 800289D8 28C20021 */ slti $v0, $a2, 0x21
/* 3DDC 800289DC 96240000 */ lhu $a0, ($s1)
/* 3DE0 800289E0 1440001B */ bnez $v0, .L80028A50
/* 3DE4 800289E4 0000402D */ daddu $t0, $zero, $zero
/* 3DE8 800289E8 24080001 */ addiu $t0, $zero, 1
/* 3DEC 800289EC 8C620000 */ lw $v0, ($v1)
/* 3DF0 800289F0 3C030008 */ lui $v1, 8
/* 3DF4 800289F4 8C420030 */ lw $v0, 0x30($v0)
/* 3DF8 800289F8 00431024 */ and $v0, $v0, $v1
/* 3DFC 800289FC 14400005 */ bnez $v0, .L80028A14
/* 3E00 80028A00 00832025 */ or $a0, $a0, $v1
/* 3E04 80028A04 3C01800A */ lui $at, %hi(D_8009A6A0)
/* 3E08 80028A08 A425A6A0 */ sh $a1, %lo(D_8009A6A0)($at)
/* 3E0C 80028A0C 0800A295 */ j .L80028A54
/* 3E10 80028A10 00051400 */ sll $v0, $a1, 0x10
.L80028A14:
/* 3E14 80028A14 3C02800A */ lui $v0, %hi(D_8009A6A4)
/* 3E18 80028A18 8442A6A4 */ lh $v0, %lo(D_8009A6A4)($v0)
/* 3E1C 80028A1C 14400006 */ bnez $v0, .L80028A38
/* 3E20 80028A20 00000000 */ nop
/* 3E24 80028A24 3C03800A */ lui $v1, %hi(D_8009A6A0)
/* 3E28 80028A28 2463A6A0 */ addiu $v1, $v1, %lo(D_8009A6A0)
/* 3E2C 80028A2C 84620000 */ lh $v0, ($v1)
/* 3E30 80028A30 0800A292 */ j .L80028A48
/* 3E34 80028A34 0046102A */ slt $v0, $v0, $a2
.L80028A38:
/* 3E38 80028A38 3C03800A */ lui $v1, %hi(D_8009A6A0)
/* 3E3C 80028A3C 2463A6A0 */ addiu $v1, $v1, %lo(D_8009A6A0)
/* 3E40 80028A40 84620000 */ lh $v0, ($v1)
/* 3E44 80028A44 00C2102A */ slt $v0, $a2, $v0
.L80028A48:
/* 3E48 80028A48 54400001 */ bnel $v0, $zero, .L80028A50
/* 3E4C 80028A4C A4650000 */ sh $a1, ($v1)
.L80028A50:
/* 3E50 80028A50 00051400 */ sll $v0, $a1, 0x10
.L80028A54:
/* 3E54 80028A54 00023403 */ sra $a2, $v0, 0x10
/* 3E58 80028A58 28C2FFE0 */ slti $v0, $a2, -0x20
/* 3E5C 80028A5C 1040001D */ beqz $v0, .L80028AD4
/* 3E60 80028A60 0100102D */ daddu $v0, $t0, $zero
/* 3E64 80028A64 24080001 */ addiu $t0, $zero, 1
/* 3E68 80028A68 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 3E6C 80028A6C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 3E70 80028A70 3C030004 */ lui $v1, 4
/* 3E74 80028A74 8C420030 */ lw $v0, 0x30($v0)
/* 3E78 80028A78 00431024 */ and $v0, $v0, $v1
/* 3E7C 80028A7C 14400005 */ bnez $v0, .L80028A94
/* 3E80 80028A80 00832025 */ or $a0, $a0, $v1
/* 3E84 80028A84 3C01800A */ lui $at, %hi(D_8009A6A0)
/* 3E88 80028A88 A425A6A0 */ sh $a1, %lo(D_8009A6A0)($at)
/* 3E8C 80028A8C 0800A2B5 */ j .L80028AD4
/* 3E90 80028A90 0100102D */ daddu $v0, $t0, $zero
.L80028A94:
/* 3E94 80028A94 3C02800A */ lui $v0, %hi(D_8009A6A4)
/* 3E98 80028A98 8442A6A4 */ lh $v0, %lo(D_8009A6A4)($v0)
/* 3E9C 80028A9C 14400006 */ bnez $v0, .L80028AB8
/* 3EA0 80028AA0 00000000 */ nop
/* 3EA4 80028AA4 3C03800A */ lui $v1, %hi(D_8009A6A0)
/* 3EA8 80028AA8 2463A6A0 */ addiu $v1, $v1, %lo(D_8009A6A0)
/* 3EAC 80028AAC 84620000 */ lh $v0, ($v1)
/* 3EB0 80028AB0 0800A2B2 */ j .L80028AC8
/* 3EB4 80028AB4 00C2102A */ slt $v0, $a2, $v0
.L80028AB8:
/* 3EB8 80028AB8 3C03800A */ lui $v1, %hi(D_8009A6A0)
/* 3EBC 80028ABC 2463A6A0 */ addiu $v1, $v1, %lo(D_8009A6A0)
/* 3EC0 80028AC0 84620000 */ lh $v0, ($v1)
/* 3EC4 80028AC4 0046102A */ slt $v0, $v0, $a2
.L80028AC8:
/* 3EC8 80028AC8 54400001 */ bnel $v0, $zero, .L80028AD0
/* 3ECC 80028ACC A4650000 */ sh $a1, ($v1)
.L80028AD0:
/* 3ED0 80028AD0 0100102D */ daddu $v0, $t0, $zero
.L80028AD4:
/* 3ED4 80028AD4 14400005 */ bnez $v0, .L80028AEC
/* 3ED8 80028AD8 00071400 */ sll $v0, $a3, 0x10
/* 3EDC 80028ADC 3C01800A */ lui $at, %hi(D_8009A6A4)
/* 3EE0 80028AE0 A420A6A4 */ sh $zero, %lo(D_8009A6A4)($at)
/* 3EE4 80028AE4 3C01800A */ lui $at, %hi(D_8009A6A0)
/* 3EE8 80028AE8 A425A6A0 */ sh $a1, %lo(D_8009A6A0)($at)
.L80028AEC:
/* 3EEC 80028AEC 00023403 */ sra $a2, $v0, 0x10
/* 3EF0 80028AF0 28C20021 */ slti $v0, $a2, 0x21
/* 3EF4 80028AF4 1440001C */ bnez $v0, .L80028B68
/* 3EF8 80028AF8 0000402D */ daddu $t0, $zero, $zero
/* 3EFC 80028AFC 24080001 */ addiu $t0, $zero, 1
/* 3F00 80028B00 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 3F04 80028B04 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 3F08 80028B08 3C030001 */ lui $v1, 1
/* 3F0C 80028B0C 8C420030 */ lw $v0, 0x30($v0)
/* 3F10 80028B10 00431024 */ and $v0, $v0, $v1
/* 3F14 80028B14 14400005 */ bnez $v0, .L80028B2C
/* 3F18 80028B18 00832025 */ or $a0, $a0, $v1
/* 3F1C 80028B1C 3C01800A */ lui $at, %hi(D_8009A6A2)
/* 3F20 80028B20 A427A6A2 */ sh $a3, %lo(D_8009A6A2)($at)
/* 3F24 80028B24 0800A2DB */ j .L80028B6C
/* 3F28 80028B28 00071400 */ sll $v0, $a3, 0x10
.L80028B2C:
/* 3F2C 80028B2C 3C02800A */ lui $v0, %hi(D_8009A6A6)
/* 3F30 80028B30 8442A6A6 */ lh $v0, %lo(D_8009A6A6)($v0)
/* 3F34 80028B34 14400006 */ bnez $v0, .L80028B50
/* 3F38 80028B38 00000000 */ nop
/* 3F3C 80028B3C 3C03800A */ lui $v1, %hi(D_8009A6A2)
/* 3F40 80028B40 2463A6A2 */ addiu $v1, $v1, %lo(D_8009A6A2)
/* 3F44 80028B44 84620000 */ lh $v0, ($v1)
/* 3F48 80028B48 0800A2D8 */ j .L80028B60
/* 3F4C 80028B4C 0046102A */ slt $v0, $v0, $a2
.L80028B50:
/* 3F50 80028B50 3C03800A */ lui $v1, %hi(D_8009A6A2)
/* 3F54 80028B54 2463A6A2 */ addiu $v1, $v1, %lo(D_8009A6A2)
/* 3F58 80028B58 84620000 */ lh $v0, ($v1)
/* 3F5C 80028B5C 00C2102A */ slt $v0, $a2, $v0
.L80028B60:
/* 3F60 80028B60 54400001 */ bnel $v0, $zero, .L80028B68
/* 3F64 80028B64 A4670000 */ sh $a3, ($v1)
.L80028B68:
/* 3F68 80028B68 00071400 */ sll $v0, $a3, 0x10
.L80028B6C:
/* 3F6C 80028B6C 00023403 */ sra $a2, $v0, 0x10
/* 3F70 80028B70 28C2FFE0 */ slti $v0, $a2, -0x20
/* 3F74 80028B74 1040002B */ beqz $v0, .L80028C24
/* 3F78 80028B78 0100102D */ daddu $v0, $t0, $zero
/* 3F7C 80028B7C 24080001 */ addiu $t0, $zero, 1
/* 3F80 80028B80 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 3F84 80028B84 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 3F88 80028B88 3C030002 */ lui $v1, 2
/* 3F8C 80028B8C 8C420030 */ lw $v0, 0x30($v0)
/* 3F90 80028B90 00431024 */ and $v0, $v0, $v1
/* 3F94 80028B94 14400005 */ bnez $v0, .L80028BAC
/* 3F98 80028B98 00832025 */ or $a0, $a0, $v1
/* 3F9C 80028B9C 3C01800A */ lui $at, %hi(D_8009A6A2)
/* 3FA0 80028BA0 A427A6A2 */ sh $a3, %lo(D_8009A6A2)($at)
/* 3FA4 80028BA4 0800A309 */ j .L80028C24
/* 3FA8 80028BA8 0100102D */ daddu $v0, $t0, $zero
.L80028BAC:
/* 3FAC 80028BAC 3C02800A */ lui $v0, %hi(D_8009A6A6)
/* 3FB0 80028BB0 8442A6A6 */ lh $v0, %lo(D_8009A6A6)($v0)
/* 3FB4 80028BB4 14400014 */ bnez $v0, .L80028C08
/* 3FB8 80028BB8 00000000 */ nop
/* 3FBC 80028BBC 3C03800A */ lui $v1, %hi(D_8009A6A2)
/* 3FC0 80028BC0 2463A6A2 */ addiu $v1, $v1, %lo(D_8009A6A2)
/* 3FC4 80028BC4 84620000 */ lh $v0, ($v1)
/* 3FC8 80028BC8 0800A306 */ j .L80028C18
/* 3FCC 80028BCC 00C2102A */ slt $v0, $a2, $v0
.L80028BD0:
/* 3FD0 80028BD0 8CA30000 */ lw $v1, ($a1)
/* 3FD4 80028BD4 8CA40030 */ lw $a0, 0x30($a1)
/* 3FD8 80028BD8 2402FFFF */ addiu $v0, $zero, -1
/* 3FDC 80028BDC A4A20060 */ sh $v0, 0x60($a1)
/* 3FE0 80028BE0 8CA20000 */ lw $v0, ($a1)
/* 3FE4 80028BE4 00641826 */ xor $v1, $v1, $a0
/* 3FE8 80028BE8 94A40048 */ lhu $a0, 0x48($a1)
/* 3FEC 80028BEC ACA30020 */ sw $v1, 0x20($a1)
/* 3FF0 80028BF0 00621824 */ and $v1, $v1, $v0
/* 3FF4 80028BF4 ACA30020 */ sw $v1, 0x20($a1)
/* 3FF8 80028BF8 0800A3AB */ j .L80028EAC
/* 3FFC 80028BFC A4A40058 */ sh $a0, 0x58($a1)
.L80028C00:
/* 4000 80028C00 0800A3AB */ j .L80028EAC
/* 4004 80028C04 ACA00020 */ sw $zero, 0x20($a1)
.L80028C08:
/* 4008 80028C08 3C03800A */ lui $v1, %hi(D_8009A6A2)
/* 400C 80028C0C 2463A6A2 */ addiu $v1, $v1, %lo(D_8009A6A2)
/* 4010 80028C10 84620000 */ lh $v0, ($v1)
/* 4014 80028C14 0046102A */ slt $v0, $v0, $a2
.L80028C18:
/* 4018 80028C18 54400001 */ bnel $v0, $zero, .L80028C20
/* 401C 80028C1C A4670000 */ sh $a3, ($v1)
.L80028C20:
/* 4020 80028C20 0100102D */ daddu $v0, $t0, $zero
.L80028C24:
/* 4024 80028C24 14400005 */ bnez $v0, .L80028C3C
/* 4028 80028C28 00051400 */ sll $v0, $a1, 0x10
/* 402C 80028C2C 3C01800A */ lui $at, %hi(D_8009A6A6)
/* 4030 80028C30 A420A6A6 */ sh $zero, %lo(D_8009A6A6)($at)
/* 4034 80028C34 3C01800A */ lui $at, %hi(D_8009A6A2)
/* 4038 80028C38 A427A6A2 */ sh $a3, %lo(D_8009A6A2)($at)
.L80028C3C:
/* 403C 80028C3C 00023403 */ sra $a2, $v0, 0x10
/* 4040 80028C40 28C20021 */ slti $v0, $a2, 0x21
/* 4044 80028C44 1440001C */ bnez $v0, .L80028CB8
/* 4048 80028C48 00051400 */ sll $v0, $a1, 0x10
/* 404C 80028C4C 3C08800A */ lui $t0, %hi(D_8009A6A4)
/* 4050 80028C50 2508A6A4 */ addiu $t0, $t0, %lo(D_8009A6A4)
/* 4054 80028C54 85030000 */ lh $v1, ($t0)
/* 4058 80028C58 24020001 */ addiu $v0, $zero, 1
/* 405C 80028C5C 1462000A */ bne $v1, $v0, .L80028C88
/* 4060 80028C60 00000000 */ nop
/* 4064 80028C64 3C02800A */ lui $v0, %hi(D_8009A6A0)
/* 4068 80028C68 8442A6A0 */ lh $v0, %lo(D_8009A6A0)($v0)
/* 406C 80028C6C 00C21023 */ subu $v0, $a2, $v0
/* 4070 80028C70 28420011 */ slti $v0, $v0, 0x11
/* 4074 80028C74 14400004 */ bnez $v0, .L80028C88
/* 4078 80028C78 3C02FFF7 */ lui $v0, 0xfff7
/* 407C 80028C7C 3442FFFF */ ori $v0, $v0, 0xffff
/* 4080 80028C80 00822024 */ and $a0, $a0, $v0
/* 4084 80028C84 A5000000 */ sh $zero, ($t0)
.L80028C88:
/* 4088 80028C88 3C03800A */ lui $v1, %hi(D_8009A6A0)
/* 408C 80028C8C 8463A6A0 */ lh $v1, %lo(D_8009A6A0)($v1)
/* 4090 80028C90 00051400 */ sll $v0, $a1, 0x10
/* 4094 80028C94 00021403 */ sra $v0, $v0, 0x10
/* 4098 80028C98 00621823 */ subu $v1, $v1, $v0
/* 409C 80028C9C 28630011 */ slti $v1, $v1, 0x11
/* 40A0 80028CA0 14600005 */ bnez $v1, .L80028CB8
/* 40A4 80028CA4 00051400 */ sll $v0, $a1, 0x10
/* 40A8 80028CA8 24020001 */ addiu $v0, $zero, 1
/* 40AC 80028CAC 3C01800A */ lui $at, %hi(D_8009A6A4)
/* 40B0 80028CB0 A422A6A4 */ sh $v0, %lo(D_8009A6A4)($at)
/* 40B4 80028CB4 00051400 */ sll $v0, $a1, 0x10
.L80028CB8:
/* 40B8 80028CB8 00023403 */ sra $a2, $v0, 0x10
/* 40BC 80028CBC 28C2FFE0 */ slti $v0, $a2, -0x20
/* 40C0 80028CC0 1040001B */ beqz $v0, .L80028D30
/* 40C4 80028CC4 24020001 */ addiu $v0, $zero, 1
/* 40C8 80028CC8 3C08800A */ lui $t0, %hi(D_8009A6A4)
/* 40CC 80028CCC 2508A6A4 */ addiu $t0, $t0, %lo(D_8009A6A4)
/* 40D0 80028CD0 85030000 */ lh $v1, ($t0)
/* 40D4 80028CD4 1462000C */ bne $v1, $v0, .L80028D08
/* 40D8 80028CD8 00051400 */ sll $v0, $a1, 0x10
/* 40DC 80028CDC 3C02800A */ lui $v0, %hi(D_8009A6A0)
/* 40E0 80028CE0 8442A6A0 */ lh $v0, %lo(D_8009A6A0)($v0)
/* 40E4 80028CE4 00461023 */ subu $v0, $v0, $a2
/* 40E8 80028CE8 28420011 */ slti $v0, $v0, 0x11
/* 40EC 80028CEC 14400006 */ bnez $v0, .L80028D08
/* 40F0 80028CF0 00051400 */ sll $v0, $a1, 0x10
/* 40F4 80028CF4 3C02FFFB */ lui $v0, 0xfffb
/* 40F8 80028CF8 3442FFFF */ ori $v0, $v0, 0xffff
/* 40FC 80028CFC 00822024 */ and $a0, $a0, $v0
/* 4100 80028D00 A5000000 */ sh $zero, ($t0)
/* 4104 80028D04 00051400 */ sll $v0, $a1, 0x10
.L80028D08:
/* 4108 80028D08 3C03800A */ lui $v1, %hi(D_8009A6A0)
/* 410C 80028D0C 8463A6A0 */ lh $v1, %lo(D_8009A6A0)($v1)
/* 4110 80028D10 00021403 */ sra $v0, $v0, 0x10
/* 4114 80028D14 00431023 */ subu $v0, $v0, $v1
/* 4118 80028D18 28420011 */ slti $v0, $v0, 0x11
/* 411C 80028D1C 14400005 */ bnez $v0, .L80028D34
/* 4120 80028D20 00071400 */ sll $v0, $a3, 0x10
/* 4124 80028D24 24020001 */ addiu $v0, $zero, 1
/* 4128 80028D28 3C01800A */ lui $at, %hi(D_8009A6A4)
/* 412C 80028D2C A422A6A4 */ sh $v0, %lo(D_8009A6A4)($at)
.L80028D30:
/* 4130 80028D30 00071400 */ sll $v0, $a3, 0x10
.L80028D34:
/* 4134 80028D34 00022C03 */ sra $a1, $v0, 0x10
/* 4138 80028D38 28A20021 */ slti $v0, $a1, 0x21
/* 413C 80028D3C 1440001C */ bnez $v0, .L80028DB0
/* 4140 80028D40 00071400 */ sll $v0, $a3, 0x10
/* 4144 80028D44 3C06800A */ lui $a2, %hi(D_8009A6A6)
/* 4148 80028D48 24C6A6A6 */ addiu $a2, $a2, %lo(D_8009A6A6)
/* 414C 80028D4C 84C30000 */ lh $v1, ($a2)
/* 4150 80028D50 24020001 */ addiu $v0, $zero, 1
/* 4154 80028D54 1462000A */ bne $v1, $v0, .L80028D80
/* 4158 80028D58 00000000 */ nop
/* 415C 80028D5C 3C02800A */ lui $v0, %hi(D_8009A6A2)
/* 4160 80028D60 8442A6A2 */ lh $v0, %lo(D_8009A6A2)($v0)
/* 4164 80028D64 00A21023 */ subu $v0, $a1, $v0
/* 4168 80028D68 28420011 */ slti $v0, $v0, 0x11
/* 416C 80028D6C 14400004 */ bnez $v0, .L80028D80
/* 4170 80028D70 3C02FFFE */ lui $v0, 0xfffe
/* 4174 80028D74 3442FFFF */ ori $v0, $v0, 0xffff
/* 4178 80028D78 00822024 */ and $a0, $a0, $v0
/* 417C 80028D7C A4C00000 */ sh $zero, ($a2)
.L80028D80:
/* 4180 80028D80 3C03800A */ lui $v1, %hi(D_8009A6A2)
/* 4184 80028D84 8463A6A2 */ lh $v1, %lo(D_8009A6A2)($v1)
/* 4188 80028D88 00071400 */ sll $v0, $a3, 0x10
/* 418C 80028D8C 00021403 */ sra $v0, $v0, 0x10
/* 4190 80028D90 00621823 */ subu $v1, $v1, $v0
/* 4194 80028D94 28630011 */ slti $v1, $v1, 0x11
/* 4198 80028D98 14600005 */ bnez $v1, .L80028DB0
/* 419C 80028D9C 00071400 */ sll $v0, $a3, 0x10
/* 41A0 80028DA0 24020001 */ addiu $v0, $zero, 1
/* 41A4 80028DA4 3C01800A */ lui $at, %hi(D_8009A6A6)
/* 41A8 80028DA8 A422A6A6 */ sh $v0, %lo(D_8009A6A6)($at)
/* 41AC 80028DAC 00071400 */ sll $v0, $a3, 0x10
.L80028DB0:
/* 41B0 80028DB0 00022C03 */ sra $a1, $v0, 0x10
/* 41B4 80028DB4 28A2FFE0 */ slti $v0, $a1, -0x20
/* 41B8 80028DB8 1040001A */ beqz $v0, .L80028E24
/* 41BC 80028DBC 24020001 */ addiu $v0, $zero, 1
/* 41C0 80028DC0 3C06800A */ lui $a2, %hi(D_8009A6A6)
/* 41C4 80028DC4 24C6A6A6 */ addiu $a2, $a2, %lo(D_8009A6A6)
/* 41C8 80028DC8 84C30000 */ lh $v1, ($a2)
/* 41CC 80028DCC 1462000C */ bne $v1, $v0, .L80028E00
/* 41D0 80028DD0 00071400 */ sll $v0, $a3, 0x10
/* 41D4 80028DD4 3C02800A */ lui $v0, %hi(D_8009A6A2)
/* 41D8 80028DD8 8442A6A2 */ lh $v0, %lo(D_8009A6A2)($v0)
/* 41DC 80028DDC 00451023 */ subu $v0, $v0, $a1
/* 41E0 80028DE0 28420011 */ slti $v0, $v0, 0x11
/* 41E4 80028DE4 14400006 */ bnez $v0, .L80028E00
/* 41E8 80028DE8 00071400 */ sll $v0, $a3, 0x10
/* 41EC 80028DEC 3C02FFFD */ lui $v0, 0xfffd
/* 41F0 80028DF0 3442FFFF */ ori $v0, $v0, 0xffff
/* 41F4 80028DF4 00822024 */ and $a0, $a0, $v0
/* 41F8 80028DF8 A4C00000 */ sh $zero, ($a2)
/* 41FC 80028DFC 00071400 */ sll $v0, $a3, 0x10
.L80028E00:
/* 4200 80028E00 3C03800A */ lui $v1, %hi(D_8009A6A2)
/* 4204 80028E04 8463A6A2 */ lh $v1, %lo(D_8009A6A2)($v1)
/* 4208 80028E08 00021403 */ sra $v0, $v0, 0x10
/* 420C 80028E0C 00431023 */ subu $v0, $v0, $v1
/* 4210 80028E10 28420011 */ slti $v0, $v0, 0x11
/* 4214 80028E14 14400003 */ bnez $v0, .L80028E24
/* 4218 80028E18 24020001 */ addiu $v0, $zero, 1
/* 421C 80028E1C 3C01800A */ lui $at, %hi(D_8009A6A6)
/* 4220 80028E20 A422A6A6 */ sh $v0, %lo(D_8009A6A6)($at)
.L80028E24:
/* 4224 80028E24 3C058007 */ lui $a1, %hi(gGameStatusPtr)
/* 4228 80028E28 8CA5419C */ lw $a1, %lo(gGameStatusPtr)($a1)
/* 422C 80028E2C 8CA20030 */ lw $v0, 0x30($a1)
/* 4230 80028E30 ACA40000 */ sw $a0, ($a1)
/* 4234 80028E34 0080182D */ daddu $v1, $a0, $zero
/* 4238 80028E38 00821026 */ xor $v0, $a0, $v0
/* 423C 80028E3C ACA20010 */ sw $v0, 0x10($a1)
/* 4240 80028E40 00431024 */ and $v0, $v0, $v1
/* 4244 80028E44 1060FF6E */ beqz $v1, .L80028C00
/* 4248 80028E48 ACA20010 */ sw $v0, 0x10($a1)
/* 424C 80028E4C 8CA20030 */ lw $v0, 0x30($a1)
/* 4250 80028E50 5443FF5F */ bnel $v0, $v1, .L80028BD0
/* 4254 80028E54 ACA30020 */ sw $v1, 0x20($a1)
/* 4258 80028E58 84A20060 */ lh $v0, 0x60($a1)
/* 425C 80028E5C 94A30060 */ lhu $v1, 0x60($a1)
/* 4260 80028E60 04400008 */ bltz $v0, .L80028E84
/* 4264 80028E64 2462FFFF */ addiu $v0, $v1, -1
/* 4268 80028E68 A4A20060 */ sh $v0, 0x60($a1)
/* 426C 80028E6C 00021400 */ sll $v0, $v0, 0x10
/* 4270 80028E70 1440FF63 */ bnez $v0, .L80028C00
/* 4274 80028E74 0080102D */ daddu $v0, $a0, $zero
/* 4278 80028E78 94A30050 */ lhu $v1, 0x50($a1)
/* 427C 80028E7C 0800A3AA */ j .L80028EA8
/* 4280 80028E80 ACA20020 */ sw $v0, 0x20($a1)
.L80028E84:
/* 4284 80028E84 94A20058 */ lhu $v0, 0x58($a1)
/* 4288 80028E88 2442FFFF */ addiu $v0, $v0, -1
/* 428C 80028E8C A4A20058 */ sh $v0, 0x58($a1)
/* 4290 80028E90 00021400 */ sll $v0, $v0, 0x10
/* 4294 80028E94 54400005 */ bnel $v0, $zero, .L80028EAC
/* 4298 80028E98 ACA00020 */ sw $zero, 0x20($a1)
/* 429C 80028E9C 8CA20000 */ lw $v0, ($a1)
/* 42A0 80028EA0 94A30050 */ lhu $v1, 0x50($a1)
/* 42A4 80028EA4 ACA20020 */ sw $v0, 0x20($a1)
.L80028EA8:
/* 42A8 80028EA8 A4A30060 */ sh $v1, 0x60($a1)
.L80028EAC:
/* 42AC 80028EAC 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 42B0 80028EB0 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 42B4 80028EB4 8C620000 */ lw $v0, ($v1)
/* 42B8 80028EB8 AC620030 */ sw $v0, 0x30($v1)
.L80028EBC:
/* 42BC 80028EBC 8FBF001C */ lw $ra, 0x1c($sp)
/* 42C0 80028EC0 8FB20018 */ lw $s2, 0x18($sp)
/* 42C4 80028EC4 8FB10014 */ lw $s1, 0x14($sp)
/* 42C8 80028EC8 8FB00010 */ lw $s0, 0x10($sp)
/* 42CC 80028ECC 03E00008 */ jr $ra
/* 42D0 80028ED0 27BD0020 */ addiu $sp, $sp, 0x20
/* 42D4 80028ED4 00000000 */ nop
/* 42D8 80028ED8 00000000 */ nop
/* 42DC 80028EDC 00000000 */ nop

View File

@ -1,258 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8024F240_A39480
.word .L80244104_A2E344, .L80244118_A2E358, .L80244160_A2E3A0, .L80244244_A2E484, .L80244288_A2E4C8, .L802443B0_A2E5F0, .L80244438_A2E678, 0
.section .text
glabel func_802440D0_A2E310
/* A2E310 802440D0 3C038025 */ lui $v1, %hi(D_8024AAB0_A34CF0)
/* A2E314 802440D4 8C63AAB0 */ lw $v1, %lo(D_8024AAB0_A34CF0)($v1)
/* A2E318 802440D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A2E31C 802440DC AFBF0014 */ sw $ra, 0x14($sp)
/* A2E320 802440E0 2C620007 */ sltiu $v0, $v1, 7
/* A2E324 802440E4 104000D4 */ beqz $v0, .L80244438_A2E678
/* A2E328 802440E8 AFB00010 */ sw $s0, 0x10($sp)
/* A2E32C 802440EC 00031080 */ sll $v0, $v1, 2
/* A2E330 802440F0 3C018025 */ lui $at, %hi(jtbl_8024F240_A39480)
/* A2E334 802440F4 00220821 */ addu $at, $at, $v0
/* A2E338 802440F8 8C22F240 */ lw $v0, %lo(jtbl_8024F240_A39480)($at)
/* A2E33C 802440FC 00400008 */ jr $v0
/* A2E340 80244100 00000000 */ nop
.L80244104_A2E344:
/* A2E344 80244104 3C048025 */ lui $a0, %hi(D_8024AAB0_A34CF0)
/* A2E348 80244108 2484AAB0 */ addiu $a0, $a0, %lo(D_8024AAB0_A34CF0)
/* A2E34C 8024410C 3C038025 */ lui $v1, %hi(D_8024AAB4_A34CF4)
/* A2E350 80244110 08091097 */ j .L8024425C
/* A2E354 80244114 8C63AAB4 */ lw $v1, %lo(D_8024AAB4_A34CF4)($v1)
.L80244118_A2E358:
/* A2E358 80244118 3C068025 */ lui $a2, %hi(D_8024AAB8_A34CF8)
/* A2E35C 8024411C 24C6AAB8 */ addiu $a2, $a2, %lo(D_8024AAB8_A34CF8)
/* A2E360 80244120 8CC20000 */ lw $v0, ($a2)
/* A2E364 80244124 10400003 */ beqz $v0, .L80244134
/* A2E368 80244128 2442FFFF */ addiu $v0, $v0, -1
/* A2E36C 8024412C 08091110 */ j .L80244440
/* A2E370 80244130 ACC20000 */ sw $v0, ($a2)
.L80244134:
/* A2E374 80244134 240400B0 */ addiu $a0, $zero, 0xb0
/* A2E378 80244138 3C028025 */ lui $v0, %hi(D_8024AAB0_A34CF0)
/* A2E37C 8024413C 2442AAB0 */ addiu $v0, $v0, %lo(D_8024AAB0_A34CF0)
/* A2E380 80244140 8C430000 */ lw $v1, ($v0)
/* A2E384 80244144 2405001A */ addiu $a1, $zero, 0x1a
/* A2E388 80244148 ACC50000 */ sw $a1, ($a2)
/* A2E38C 8024414C 24630001 */ addiu $v1, $v1, 1
/* A2E390 80244150 0C05272D */ jal sfx_play_sound
/* A2E394 80244154 AC430000 */ sw $v1, ($v0)
/* A2E398 80244158 08091111 */ j .L80244444
/* A2E39C 8024415C 0000102D */ daddu $v0, $zero, $zero
.L80244160_A2E3A0:
/* A2E3A0 80244160 3C058025 */ lui $a1, %hi(D_8024AAB8_A34CF8)
/* A2E3A4 80244164 24A5AAB8 */ addiu $a1, $a1, %lo(D_8024AAB8_A34CF8)
/* A2E3A8 80244168 8CA30000 */ lw $v1, ($a1)
/* A2E3AC 8024416C 10600008 */ beqz $v1, .L80244190
/* A2E3B0 80244170 2463FFFF */ addiu $v1, $v1, -1
/* A2E3B4 80244174 3C048025 */ lui $a0, %hi(D_8024AA20_A34C60)
/* A2E3B8 80244178 8C84AA20 */ lw $a0, %lo(D_8024AA20_A34C60)($a0)
/* A2E3BC 8024417C 84820058 */ lh $v0, 0x58($a0)
/* A2E3C0 80244180 1040009E */ beqz $v0, .L802443FC
/* A2E3C4 80244184 ACA30000 */ sw $v1, ($a1)
/* A2E3C8 80244188 080910F7 */ j .L802443DC
/* A2E3CC 8024418C 24020019 */ addiu $v0, $zero, 0x19
.L80244190:
/* A2E3D0 80244190 3C038025 */ lui $v1, %hi(D_8024AAB4_A34CF4)
/* A2E3D4 80244194 2463AAB4 */ addiu $v1, $v1, %lo(D_8024AAB4_A34CF4)
/* A2E3D8 80244198 8C640000 */ lw $a0, ($v1)
/* A2E3DC 8024419C 24820001 */ addiu $v0, $a0, 1
/* A2E3E0 802441A0 24850002 */ addiu $a1, $a0, 2
/* A2E3E4 802441A4 AC620000 */ sw $v0, ($v1)
/* A2E3E8 802441A8 28A20005 */ slti $v0, $a1, 5
/* A2E3EC 802441AC 10400011 */ beqz $v0, .L802441F4
/* A2E3F0 802441B0 00000000 */ nop
/* A2E3F4 802441B4 3C108025 */ lui $s0, %hi(D_8024AA20_A34C60)
/* A2E3F8 802441B8 2610AA20 */ addiu $s0, $s0, %lo(D_8024AA20_A34C60)
/* A2E3FC 802441BC 8E020000 */ lw $v0, ($s0)
/* A2E400 802441C0 0C090FB4 */ jal func_80243ED0_A2E110
/* A2E404 802441C4 84440058 */ lh $a0, 0x58($v0)
/* A2E408 802441C8 8E020000 */ lw $v0, ($s0)
/* A2E40C 802441CC 94430058 */ lhu $v1, 0x58($v0)
/* A2E410 802441D0 3C018025 */ lui $at, %hi(D_8024AAB0_A34CF0)
/* A2E414 802441D4 AC20AAB0 */ sw $zero, %lo(D_8024AAB0_A34CF0)($at)
/* A2E418 802441D8 A440003C */ sh $zero, 0x3c($v0)
/* A2E41C 802441DC A440003E */ sh $zero, 0x3e($v0)
/* A2E420 802441E0 A4400040 */ sh $zero, 0x40($v0)
/* A2E424 802441E4 A4400042 */ sh $zero, 0x42($v0)
/* A2E428 802441E8 38630001 */ xori $v1, $v1, 1
/* A2E42C 802441EC 08091110 */ j .L80244440
/* A2E430 802441F0 A4430058 */ sh $v1, 0x58($v0)
.L802441F4:
/* A2E434 802441F4 3C038025 */ lui $v1, %hi(D_8024AA20_A34C60)
/* A2E438 802441F8 8C63AA20 */ lw $v1, %lo(D_8024AA20_A34C60)($v1)
/* A2E43C 802441FC 84620058 */ lh $v0, 0x58($v1)
/* A2E440 80244200 54400004 */ bnel $v0, $zero, .L80244214
/* A2E444 80244204 A460003C */ sh $zero, 0x3c($v1)
/* A2E448 80244208 A4600040 */ sh $zero, 0x40($v1)
/* A2E44C 8024420C 08091086 */ j .L80244218
/* A2E450 80244210 A4600042 */ sh $zero, 0x42($v1)
.L80244214:
/* A2E454 80244214 A460003E */ sh $zero, 0x3e($v1)
.L80244218:
/* A2E458 80244218 3C04800B */ lui $a0, %hi(gCameras)
/* A2E45C 8024421C 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* A2E460 80244220 3C058025 */ lui $a1, %hi(D_8024AAB0_A34CF0)
/* A2E464 80244224 24A5AAB0 */ addiu $a1, $a1, %lo(D_8024AAB0_A34CF0)
/* A2E468 80244228 94820000 */ lhu $v0, ($a0)
/* A2E46C 8024422C 8CA30000 */ lw $v1, ($a1)
/* A2E470 80244230 3042FFFD */ andi $v0, $v0, 0xfffd
/* A2E474 80244234 24630001 */ addiu $v1, $v1, 1
/* A2E478 80244238 A4820000 */ sh $v0, ($a0)
/* A2E47C 8024423C 08091110 */ j .L80244440
/* A2E480 80244240 ACA30000 */ sw $v1, ($a1)
.L80244244_A2E484:
/* A2E484 80244244 3C038025 */ lui $v1, %hi(D_8024AAB4_A34CF4)
/* A2E488 80244248 8C63AAB4 */ lw $v1, %lo(D_8024AAB4_A34CF4)($v1)
/* A2E48C 8024424C 3C048025 */ lui $a0, %hi(D_8024AAB0_A34CF0)
/* A2E490 80244250 2484AAB0 */ addiu $a0, $a0, %lo(D_8024AAB0_A34CF0)
/* A2E494 80244254 3C018025 */ lui $at, %hi(D_8024AABC_A34CFC)
/* A2E498 80244258 AC20AABC */ sw $zero, %lo(D_8024AABC_A34CFC)($at)
.L8024425C:
/* A2E49C 8024425C 8C820000 */ lw $v0, ($a0)
/* A2E4A0 80244260 00031880 */ sll $v1, $v1, 2
/* A2E4A4 80244264 3C018025 */ lui $at, %hi(D_8024AAC0_A34D00)
/* A2E4A8 80244268 00230821 */ addu $at, $at, $v1
/* A2E4AC 8024426C 8C23AAC0 */ lw $v1, %lo(D_8024AAC0_A34D00)($at)
/* A2E4B0 80244270 24420001 */ addiu $v0, $v0, 1
/* A2E4B4 80244274 AC820000 */ sw $v0, ($a0)
/* A2E4B8 80244278 3C018025 */ lui $at, %hi(D_8024AAB8_A34CF8)
/* A2E4BC 8024427C AC23AAB8 */ sw $v1, %lo(D_8024AAB8_A34CF8)($at)
/* A2E4C0 80244280 08091111 */ j .L80244444
/* A2E4C4 80244284 0000102D */ daddu $v0, $zero, $zero
.L80244288_A2E4C8:
/* A2E4C8 80244288 3C068025 */ lui $a2, %hi(D_8024AAB8_A34CF8)
/* A2E4CC 8024428C 24C6AAB8 */ addiu $a2, $a2, %lo(D_8024AAB8_A34CF8)
/* A2E4D0 80244290 8CC30000 */ lw $v1, ($a2)
/* A2E4D4 80244294 10600038 */ beqz $v1, .L80244378
/* A2E4D8 80244298 240400B0 */ addiu $a0, $zero, 0xb0
/* A2E4DC 8024429C 3C028025 */ lui $v0, %hi(D_8024AAB4_A34CF4)
/* A2E4E0 802442A0 8C42AAB4 */ lw $v0, %lo(D_8024AAB4_A34CF4)($v0)
/* A2E4E4 802442A4 00021080 */ sll $v0, $v0, 2
/* A2E4E8 802442A8 3C018025 */ lui $at, %hi(D_8024AAC0_A34D00)
/* A2E4EC 802442AC 00220821 */ addu $at, $at, $v0
/* A2E4F0 802442B0 8C22AAC0 */ lw $v0, %lo(D_8024AAC0_A34D00)($at)
/* A2E4F4 802442B4 2442FEF4 */ addiu $v0, $v0, -0x10c
/* A2E4F8 802442B8 0062102A */ slt $v0, $v1, $v0
/* A2E4FC 802442BC 10400028 */ beqz $v0, .L80244360
/* A2E500 802442C0 00000000 */ nop
/* A2E504 802442C4 3C048025 */ lui $a0, %hi(D_8024AABC_A34CFC)
/* A2E508 802442C8 8C84AABC */ lw $a0, %lo(D_8024AABC_A34CFC)($a0)
/* A2E50C 802442CC 2C820140 */ sltiu $v0, $a0, 0x140
/* A2E510 802442D0 1040000B */ beqz $v0, .L80244300
/* A2E514 802442D4 2483FEC0 */ addiu $v1, $a0, -0x140
/* A2E518 802442D8 3C028025 */ lui $v0, %hi(D_8024AA20_A34C60)
/* A2E51C 802442DC 8C42AA20 */ lw $v0, %lo(D_8024AA20_A34C60)($v0)
/* A2E520 802442E0 3C038025 */ lui $v1, %hi(D_8024AC7C_A34EBC)
/* A2E524 802442E4 9463AC7C */ lhu $v1, %lo(D_8024AC7C_A34EBC)($v1)
/* A2E528 802442E8 A4430044 */ sh $v1, 0x44($v0)
/* A2E52C 802442EC 3C038025 */ lui $v1, %hi(D_8024AB3C_A34D7C)
/* A2E530 802442F0 00641821 */ addu $v1, $v1, $a0
/* A2E534 802442F4 9063AB3C */ lbu $v1, %lo(D_8024AB3C_A34D7C)($v1)
/* A2E538 802442F8 080910D3 */ j .L8024434C
/* A2E53C 802442FC A4430046 */ sh $v1, 0x46($v0)
.L80244300:
/* A2E540 80244300 2C62000F */ sltiu $v0, $v1, 0xf
/* A2E544 80244304 10400011 */ beqz $v0, .L8024434C
/* A2E548 80244308 00032040 */ sll $a0, $v1, 1
/* A2E54C 8024430C 3C058025 */ lui $a1, %hi(D_8024AA20_A34C60)
/* A2E550 80244310 8CA5AA20 */ lw $a1, %lo(D_8024AA20_A34C60)($a1)
/* A2E554 80244314 3C028025 */ lui $v0, %hi(D_8024AC7C_A34EBC)
/* A2E558 80244318 00441021 */ addu $v0, $v0, $a0
/* A2E55C 8024431C 9442AC7C */ lhu $v0, %lo(D_8024AC7C_A34EBC)($v0)
/* A2E560 80244320 A4A20044 */ sh $v0, 0x44($a1)
/* A2E564 80244324 2C62000D */ sltiu $v0, $v1, 0xd
/* A2E568 80244328 10400008 */ beqz $v0, .L8024434C
/* A2E56C 8024432C 00000000 */ nop
/* A2E570 80244330 3C028025 */ lui $v0, %hi(D_8024AC7B_A34EBB)
/* A2E574 80244334 9042AC7B */ lbu $v0, %lo(D_8024AC7B_A34EBB)($v0)
/* A2E578 80244338 3C038025 */ lui $v1, %hi(D_8024AC9C_A34EDC)
/* A2E57C 8024433C 00641821 */ addu $v1, $v1, $a0
/* A2E580 80244340 9463AC9C */ lhu $v1, %lo(D_8024AC9C_A34EDC)($v1)
/* A2E584 80244344 00431021 */ addu $v0, $v0, $v1
/* A2E588 80244348 A4A20046 */ sh $v0, 0x46($a1)
.L8024434C:
/* A2E58C 8024434C 3C038025 */ lui $v1, %hi(D_8024AABC_A34CFC)
/* A2E590 80244350 2463AABC */ addiu $v1, $v1, %lo(D_8024AABC_A34CFC)
/* A2E594 80244354 8C620000 */ lw $v0, ($v1)
/* A2E598 80244358 24420001 */ addiu $v0, $v0, 1
/* A2E59C 8024435C AC620000 */ sw $v0, ($v1)
.L80244360:
/* A2E5A0 80244360 3C038025 */ lui $v1, %hi(D_8024AAB8_A34CF8)
/* A2E5A4 80244364 2463AAB8 */ addiu $v1, $v1, %lo(D_8024AAB8_A34CF8)
/* A2E5A8 80244368 8C620000 */ lw $v0, ($v1)
/* A2E5AC 8024436C 2442FFFF */ addiu $v0, $v0, -1
/* A2E5B0 80244370 08091110 */ j .L80244440
/* A2E5B4 80244374 AC620000 */ sw $v0, ($v1)
.L80244378:
/* A2E5B8 80244378 3C058025 */ lui $a1, %hi(D_8024AAB0_A34CF0)
/* A2E5BC 8024437C 24A5AAB0 */ addiu $a1, $a1, %lo(D_8024AAB0_A34CF0)
/* A2E5C0 80244380 8CA20000 */ lw $v0, ($a1)
/* A2E5C4 80244384 2403001A */ addiu $v1, $zero, 0x1a
/* A2E5C8 80244388 ACC30000 */ sw $v1, ($a2)
/* A2E5CC 8024438C 24420001 */ addiu $v0, $v0, 1
/* A2E5D0 80244390 ACA20000 */ sw $v0, ($a1)
/* A2E5D4 80244394 3C038025 */ lui $v1, %hi(D_8024AA20_A34C60)
/* A2E5D8 80244398 8C63AA20 */ lw $v1, %lo(D_8024AA20_A34C60)($v1)
/* A2E5DC 8024439C 240200FF */ addiu $v0, $zero, 0xff
/* A2E5E0 802443A0 0C05272D */ jal sfx_play_sound
/* A2E5E4 802443A4 A462005C */ sh $v0, 0x5c($v1)
/* A2E5E8 802443A8 08091111 */ j .L80244444
/* A2E5EC 802443AC 0000102D */ daddu $v0, $zero, $zero
.L802443B0_A2E5F0:
/* A2E5F0 802443B0 3C058025 */ lui $a1, %hi(D_8024AAB8_A34CF8)
/* A2E5F4 802443B4 24A5AAB8 */ addiu $a1, $a1, %lo(D_8024AAB8_A34CF8)
/* A2E5F8 802443B8 8CA30000 */ lw $v1, ($a1)
/* A2E5FC 802443BC 10600018 */ beqz $v1, .L80244420
/* A2E600 802443C0 2463FFFF */ addiu $v1, $v1, -1
/* A2E604 802443C4 3C048025 */ lui $a0, %hi(D_8024AA20_A34C60)
/* A2E608 802443C8 8C84AA20 */ lw $a0, %lo(D_8024AA20_A34C60)($a0)
/* A2E60C 802443CC 84820058 */ lh $v0, 0x58($a0)
/* A2E610 802443D0 1440000A */ bnez $v0, .L802443FC
/* A2E614 802443D4 ACA30000 */ sw $v1, ($a1)
/* A2E618 802443D8 24020019 */ addiu $v0, $zero, 0x19
.L802443DC:
/* A2E61C 802443DC 00431023 */ subu $v0, $v0, $v1
/* A2E620 802443E0 00021080 */ sll $v0, $v0, 2
/* A2E624 802443E4 3C018025 */ lui $at, %hi(D_8024AAD6_A34D16)
/* A2E628 802443E8 00220821 */ addu $at, $at, $v0
/* A2E62C 802443EC 9422AAD6 */ lhu $v0, %lo(D_8024AAD6_A34D16)($at)
/* A2E630 802443F0 A4800042 */ sh $zero, 0x42($a0)
/* A2E634 802443F4 08091110 */ j .L80244440
/* A2E638 802443F8 A4820040 */ sh $v0, 0x40($a0)
.L802443FC:
/* A2E63C 802443FC 24020019 */ addiu $v0, $zero, 0x19
/* A2E640 80244400 00431023 */ subu $v0, $v0, $v1
/* A2E644 80244404 00021080 */ sll $v0, $v0, 2
/* A2E648 80244408 3C018025 */ lui $at, %hi(D_8024AAD6_A34D16)
/* A2E64C 8024440C 00220821 */ addu $at, $at, $v0
/* A2E650 80244410 9422AAD6 */ lhu $v0, %lo(D_8024AAD6_A34D16)($at)
/* A2E654 80244414 A480003E */ sh $zero, 0x3e($a0)
/* A2E658 80244418 08091110 */ j .L80244440
/* A2E65C 8024441C A482003C */ sh $v0, 0x3c($a0)
.L80244420:
/* A2E660 80244420 3C038025 */ lui $v1, %hi(D_8024AAB0_A34CF0)
/* A2E664 80244424 2463AAB0 */ addiu $v1, $v1, %lo(D_8024AAB0_A34CF0)
/* A2E668 80244428 8C620000 */ lw $v0, ($v1)
/* A2E66C 8024442C 24420001 */ addiu $v0, $v0, 1
/* A2E670 80244430 08091110 */ j .L80244440
/* A2E674 80244434 AC620000 */ sw $v0, ($v1)
.L80244438_A2E678:
/* A2E678 80244438 08091111 */ j .L80244444
/* A2E67C 8024443C 24020001 */ addiu $v0, $zero, 1
.L80244440:
/* A2E680 80244440 0000102D */ daddu $v0, $zero, $zero
.L80244444:
/* A2E684 80244444 8FBF0014 */ lw $ra, 0x14($sp)
/* A2E688 80244448 8FB00010 */ lw $s0, 0x10($sp)
/* A2E68C 8024444C 03E00008 */ jr $ra
/* A2E690 80244450 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -13,7 +13,7 @@ dlabel D_80244FB0_ADAE80
.double 0.4
dlabel D_80244FB8_ADAE88
.double 0.2, 7.370960555125578e+228, 1.1479345603117537e+195
.double 0.2
.section .text

View File

@ -1,32 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_AF7950
/* AF7950 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AF7954 80240004 AFBF0010 */ sw $ra, 0x10($sp)
/* AF7958 80240008 8C82000C */ lw $v0, 0xc($a0)
/* AF795C 8024000C 0C0B1EAF */ jal evt_get_variable
/* AF7960 80240010 8C450000 */ lw $a1, ($v0)
/* AF7964 80240014 0000202D */ daddu $a0, $zero, $zero
/* AF7968 80240018 3C05F971 */ lui $a1, 0xf971
/* AF796C 8024001C 3C018024 */ lui $at, %hi(D_80240E90_AF87E0)
/* AF7970 80240020 AC220E90 */ sw $v0, %lo(D_80240E90_AF87E0)($at)
/* AF7974 80240024 0C0B1EAF */ jal evt_get_variable
/* AF7978 80240028 34A58892 */ ori $a1, $a1, 0x8892
/* AF797C 8024002C 0040182D */ daddu $v1, $v0, $zero
/* AF7980 80240030 24020001 */ addiu $v0, $zero, 1
/* AF7984 80240034 14620006 */ bne $v1, $v0, .L80240050
/* AF7988 80240038 24020005 */ addiu $v0, $zero, 5
/* AF798C 8024003C 3C018024 */ lui $at, %hi(D_80240E88_AF87D8)
/* AF7990 80240040 AC230E88 */ sw $v1, %lo(D_80240E88_AF87D8)($at)
/* AF7994 80240044 3C018024 */ lui $at, %hi(D_80240E8C_AF87DC)
/* AF7998 80240048 08090016 */ j .L80240058
/* AF799C 8024004C AC220E8C */ sw $v0, %lo(D_80240E8C_AF87DC)($at)
.L80240050:
/* AF79A0 80240050 3C018024 */ lui $at, %hi(D_80240E88_AF87D8)
/* AF79A4 80240054 AC200E88 */ sw $zero, %lo(D_80240E88_AF87D8)($at)
.L80240058:
/* AF79A8 80240058 8FBF0010 */ lw $ra, 0x10($sp)
/* AF79AC 8024005C 24020002 */ addiu $v0, $zero, 2
/* AF79B0 80240060 03E00008 */ jr $ra
/* AF79B4 80240064 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802400E4_AF7A34
/* AF7A34 802400E4 3C038024 */ lui $v1, %hi(D_80240E90_AF87E0)
/* AF7A38 802400E8 8C630E90 */ lw $v1, %lo(D_80240E90_AF87E0)($v1)
/* AF7A3C 802400EC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* AF7A40 802400F0 AFB1001C */ sw $s1, 0x1c($sp)
/* AF7A44 802400F4 00A0882D */ daddu $s1, $a1, $zero
/* AF7A48 802400F8 AFB20020 */ sw $s2, 0x20($sp)
/* AF7A4C 802400FC 00C0902D */ daddu $s2, $a2, $zero
/* AF7A50 80240100 AFBF0024 */ sw $ra, 0x24($sp)
/* AF7A54 80240104 AFB00018 */ sw $s0, 0x18($sp)
/* AF7A58 80240108 00031040 */ sll $v0, $v1, 1
/* AF7A5C 8024010C 00431021 */ addu $v0, $v0, $v1
/* AF7A60 80240110 00021080 */ sll $v0, $v0, 2
/* AF7A64 80240114 3C108024 */ lui $s0, %hi(D_80240E10_AF8760)
/* AF7A68 80240118 02028021 */ addu $s0, $s0, $v0
/* AF7A6C 8024011C 8E100E10 */ lw $s0, %lo(D_80240E10_AF8760)($s0)
/* AF7A70 80240120 3C028008 */ lui $v0, %hi(gItemTable)
/* AF7A74 80240124 244278E0 */ addiu $v0, $v0, %lo(gItemTable)
/* AF7A78 80240128 00108140 */ sll $s0, $s0, 5
/* AF7A7C 8024012C 02028021 */ addu $s0, $s0, $v0
/* AF7A80 80240130 8E040000 */ lw $a0, ($s0)
/* AF7A84 80240134 0C04991D */ jal get_msg_width
/* AF7A88 80240138 0000282D */ daddu $a1, $zero, $zero
/* AF7A8C 8024013C 00021043 */ sra $v0, $v0, 1
/* AF7A90 80240140 2442FFC4 */ addiu $v0, $v0, -0x3c
/* AF7A94 80240144 02222823 */ subu $a1, $s1, $v0
/* AF7A98 80240148 26460006 */ addiu $a2, $s2, 6
/* AF7A9C 8024014C AFA00010 */ sw $zero, 0x10($sp)
/* AF7AA0 80240150 AFA00014 */ sw $zero, 0x14($sp)
/* AF7AA4 80240154 8E040000 */ lw $a0, ($s0)
/* AF7AA8 80240158 0C04993B */ jal draw_msg
/* AF7AAC 8024015C 240700FF */ addiu $a3, $zero, 0xff
/* AF7AB0 80240160 8FBF0024 */ lw $ra, 0x24($sp)
/* AF7AB4 80240164 8FB20020 */ lw $s2, 0x20($sp)
/* AF7AB8 80240168 8FB1001C */ lw $s1, 0x1c($sp)
/* AF7ABC 8024016C 8FB00018 */ lw $s0, 0x18($sp)
/* AF7AC0 80240170 03E00008 */ jr $ra
/* AF7AC4 80240174 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,39 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240178_AF7AC8
/* AF7AC8 80240178 27BDFFE0 */ addiu $sp, $sp, -0x20
/* AF7ACC 8024017C 3C038024 */ lui $v1, %hi(D_80240E90_AF87E0)
/* AF7AD0 80240180 8C630E90 */ lw $v1, %lo(D_80240E90_AF87E0)($v1)
/* AF7AD4 80240184 3C048024 */ lui $a0, %hi(D_80240E10_AF8760)
/* AF7AD8 80240188 24840E10 */ addiu $a0, $a0, %lo(D_80240E10_AF8760)
/* AF7ADC 8024018C AFBF0018 */ sw $ra, 0x18($sp)
/* AF7AE0 80240190 00031040 */ sll $v0, $v1, 1
/* AF7AE4 80240194 00431021 */ addu $v0, $v0, $v1
/* AF7AE8 80240198 00021080 */ sll $v0, $v0, 2
/* AF7AEC 8024019C 00443821 */ addu $a3, $v0, $a0
/* AF7AF0 802401A0 3C048008 */ lui $a0, %hi(gItemTable)
/* AF7AF4 802401A4 248478E0 */ addiu $a0, $a0, %lo(gItemTable)
/* AF7AF8 802401A8 8CE20000 */ lw $v0, ($a3)
/* AF7AFC 802401AC 8CE30008 */ lw $v1, 8($a3)
/* AF7B00 802401B0 00021140 */ sll $v0, $v0, 5
/* AF7B04 802401B4 10600007 */ beqz $v1, .L802401D4
/* AF7B08 802401B8 00442021 */ addu $a0, $v0, $a0
/* AF7B0C 802401BC 2402000A */ addiu $v0, $zero, 0xa
/* AF7B10 802401C0 AFA20010 */ sw $v0, 0x10($sp)
/* AF7B14 802401C4 AFA00014 */ sw $zero, 0x14($sp)
/* AF7B18 802401C8 8CE40008 */ lw $a0, 8($a3)
/* AF7B1C 802401CC 0809007A */ j .L802401E8
/* AF7B20 802401D0 24A50008 */ addiu $a1, $a1, 8
.L802401D4:
/* AF7B24 802401D4 24A50008 */ addiu $a1, $a1, 8
/* AF7B28 802401D8 2402000A */ addiu $v0, $zero, 0xa
/* AF7B2C 802401DC AFA20010 */ sw $v0, 0x10($sp)
/* AF7B30 802401E0 AFA00014 */ sw $zero, 0x14($sp)
/* AF7B34 802401E4 8C840014 */ lw $a0, 0x14($a0)
.L802401E8:
/* AF7B38 802401E8 0C04993B */ jal draw_msg
/* AF7B3C 802401EC 240700FF */ addiu $a3, $zero, 0xff
/* AF7B40 802401F0 8FBF0018 */ lw $ra, 0x18($sp)
/* AF7B44 802401F4 03E00008 */ jr $ra
/* AF7B48 802401F8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802402E0_8B0350
/* 8B0350 802402E0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 8B0354 802402E4 AFB10014 */ sw $s1, 0x14($sp)
/* 8B0358 802402E8 0080882D */ daddu $s1, $a0, $zero
/* 8B035C 802402EC AFBF0018 */ sw $ra, 0x18($sp)
/* 8B0360 802402F0 AFB00010 */ sw $s0, 0x10($sp)
/* 8B0364 802402F4 8E30000C */ lw $s0, 0xc($s1)
/* 8B0368 802402F8 8E050000 */ lw $a1, ($s0)
/* 8B036C 802402FC 0C0B1EAF */ jal evt_get_variable
/* 8B0370 80240300 26100004 */ addiu $s0, $s0, 4
/* 8B0374 80240304 0220202D */ daddu $a0, $s1, $zero
/* 8B0378 80240308 8E050000 */ lw $a1, ($s0)
/* 8B037C 8024030C 0C0B1EAF */ jal evt_get_variable
/* 8B0380 80240310 0040802D */ daddu $s0, $v0, $zero
/* 8B0384 80240314 0200202D */ daddu $a0, $s0, $zero
/* 8B0388 80240318 00021080 */ sll $v0, $v0, 2
/* 8B038C 8024031C 3C108024 */ lui $s0, %hi(D_80244B2C_8B4B9C)
/* 8B0390 80240320 02028021 */ addu $s0, $s0, $v0
/* 8B0394 80240324 0C00FB3A */ jal get_enemy
/* 8B0398 80240328 8E104B2C */ lw $s0, %lo(D_80244B2C_8B4B9C)($s0)
/* 8B039C 8024032C 0040302D */ daddu $a2, $v0, $zero
/* 8B03A0 80240330 0000282D */ daddu $a1, $zero, $zero
.L80240334:
/* 8B03A4 80240334 8E040000 */ lw $a0, ($s0)
/* 8B03A8 80240338 00051080 */ sll $v0, $a1, 2
/* 8B03AC 8024033C 8CC300D0 */ lw $v1, 0xd0($a2)
/* 8B03B0 80240340 24A50001 */ addiu $a1, $a1, 1
/* 8B03B4 80240344 00431021 */ addu $v0, $v0, $v1
/* 8B03B8 80240348 AC440000 */ sw $a0, ($v0)
/* 8B03BC 8024034C 28A2000E */ slti $v0, $a1, 0xe
/* 8B03C0 80240350 1440FFF8 */ bnez $v0, .L80240334
/* 8B03C4 80240354 26100004 */ addiu $s0, $s0, 4
/* 8B03C8 80240358 8FBF0018 */ lw $ra, 0x18($sp)
/* 8B03CC 8024035C 8FB10014 */ lw $s1, 0x14($sp)
/* 8B03D0 80240360 8FB00010 */ lw $s0, 0x10($sp)
/* 8B03D4 80240364 24020002 */ addiu $v0, $zero, 2
/* 8B03D8 80240368 03E00008 */ jr $ra
/* 8B03DC 8024036C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242394_8B2404
/* 8B2404 80242394 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 8B2408 80242398 AFB10014 */ sw $s1, 0x14($sp)
/* 8B240C 8024239C 0080882D */ daddu $s1, $a0, $zero
/* 8B2410 802423A0 AFBF0018 */ sw $ra, 0x18($sp)
/* 8B2414 802423A4 AFB00010 */ sw $s0, 0x10($sp)
/* 8B2418 802423A8 8E30000C */ lw $s0, 0xc($s1)
/* 8B241C 802423AC 8E050000 */ lw $a1, ($s0)
/* 8B2420 802423B0 0C0B1EAF */ jal evt_get_variable
/* 8B2424 802423B4 26100004 */ addiu $s0, $s0, 4
/* 8B2428 802423B8 0220202D */ daddu $a0, $s1, $zero
/* 8B242C 802423BC 8E050000 */ lw $a1, ($s0)
/* 8B2430 802423C0 0C0B1EAF */ jal evt_get_variable
/* 8B2434 802423C4 0040802D */ daddu $s0, $v0, $zero
/* 8B2438 802423C8 0200202D */ daddu $a0, $s0, $zero
/* 8B243C 802423CC 00021080 */ sll $v0, $v0, 2
/* 8B2440 802423D0 3C108025 */ lui $s0, %hi(D_802480AC_8B811C)
/* 8B2444 802423D4 02028021 */ addu $s0, $s0, $v0
/* 8B2448 802423D8 0C00FB3A */ jal get_enemy
/* 8B244C 802423DC 8E1080AC */ lw $s0, %lo(D_802480AC_8B811C)($s0)
/* 8B2450 802423E0 0040302D */ daddu $a2, $v0, $zero
/* 8B2454 802423E4 0000282D */ daddu $a1, $zero, $zero
.L802423E8:
/* 8B2458 802423E8 8E040000 */ lw $a0, ($s0)
/* 8B245C 802423EC 00051080 */ sll $v0, $a1, 2
/* 8B2460 802423F0 8CC300D0 */ lw $v1, 0xd0($a2)
/* 8B2464 802423F4 24A50001 */ addiu $a1, $a1, 1
/* 8B2468 802423F8 00431021 */ addu $v0, $v0, $v1
/* 8B246C 802423FC AC440000 */ sw $a0, ($v0)
/* 8B2470 80242400 28A2000E */ slti $v0, $a1, 0xe
/* 8B2474 80242404 1440FFF8 */ bnez $v0, .L802423E8
/* 8B2478 80242408 26100004 */ addiu $s0, $s0, 4
/* 8B247C 8024240C 8FBF0018 */ lw $ra, 0x18($sp)
/* 8B2480 80242410 8FB10014 */ lw $s1, 0x14($sp)
/* 8B2484 80242414 8FB00010 */ lw $s0, 0x10($sp)
/* 8B2488 80242418 24020002 */ addiu $v0, $zero, 2
/* 8B248C 8024241C 03E00008 */ jr $ra
/* 8B2490 80242420 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,230 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242BC0_8B2C30
/* 8B2C30 80242BC0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 8B2C34 80242BC4 AFB20020 */ sw $s2, 0x20($sp)
/* 8B2C38 80242BC8 0080902D */ daddu $s2, $a0, $zero
/* 8B2C3C 80242BCC AFB1001C */ sw $s1, 0x1c($sp)
/* 8B2C40 80242BD0 00A0882D */ daddu $s1, $a1, $zero
/* 8B2C44 80242BD4 AFBF003C */ sw $ra, 0x3c($sp)
/* 8B2C48 80242BD8 AFBE0038 */ sw $fp, 0x38($sp)
/* 8B2C4C 80242BDC AFB70034 */ sw $s7, 0x34($sp)
/* 8B2C50 80242BE0 AFB60030 */ sw $s6, 0x30($sp)
/* 8B2C54 80242BE4 AFB5002C */ sw $s5, 0x2c($sp)
/* 8B2C58 80242BE8 AFB40028 */ sw $s4, 0x28($sp)
/* 8B2C5C 80242BEC AFB30024 */ sw $s3, 0x24($sp)
/* 8B2C60 80242BF0 AFB00018 */ sw $s0, 0x18($sp)
/* 8B2C64 80242BF4 8E50000C */ lw $s0, 0xc($s2)
/* 8B2C68 80242BF8 8E050000 */ lw $a1, ($s0)
/* 8B2C6C 80242BFC 0C0B1EAF */ jal evt_get_variable
/* 8B2C70 80242C00 26100004 */ addiu $s0, $s0, 4
/* 8B2C74 80242C04 8E050000 */ lw $a1, ($s0)
/* 8B2C78 80242C08 26100004 */ addiu $s0, $s0, 4
/* 8B2C7C 80242C0C 0240202D */ daddu $a0, $s2, $zero
/* 8B2C80 80242C10 0C0B1EAF */ jal evt_get_variable
/* 8B2C84 80242C14 0040B02D */ daddu $s6, $v0, $zero
/* 8B2C88 80242C18 8E050000 */ lw $a1, ($s0)
/* 8B2C8C 80242C1C 26100004 */ addiu $s0, $s0, 4
/* 8B2C90 80242C20 0240202D */ daddu $a0, $s2, $zero
/* 8B2C94 80242C24 0C0B1EAF */ jal evt_get_variable
/* 8B2C98 80242C28 0040A82D */ daddu $s5, $v0, $zero
/* 8B2C9C 80242C2C 8E050000 */ lw $a1, ($s0)
/* 8B2CA0 80242C30 26100004 */ addiu $s0, $s0, 4
/* 8B2CA4 80242C34 0240202D */ daddu $a0, $s2, $zero
/* 8B2CA8 80242C38 0C0B1EAF */ jal evt_get_variable
/* 8B2CAC 80242C3C 0040A02D */ daddu $s4, $v0, $zero
/* 8B2CB0 80242C40 8E050000 */ lw $a1, ($s0)
/* 8B2CB4 80242C44 26100004 */ addiu $s0, $s0, 4
/* 8B2CB8 80242C48 0240202D */ daddu $a0, $s2, $zero
/* 8B2CBC 80242C4C 0C0B1EAF */ jal evt_get_variable
/* 8B2CC0 80242C50 0040B82D */ daddu $s7, $v0, $zero
/* 8B2CC4 80242C54 8E050000 */ lw $a1, ($s0)
/* 8B2CC8 80242C58 26100004 */ addiu $s0, $s0, 4
/* 8B2CCC 80242C5C 0240202D */ daddu $a0, $s2, $zero
/* 8B2CD0 80242C60 0C0B1EAF */ jal evt_get_variable
/* 8B2CD4 80242C64 0040982D */ daddu $s3, $v0, $zero
/* 8B2CD8 80242C68 0240202D */ daddu $a0, $s2, $zero
/* 8B2CDC 80242C6C 8E050000 */ lw $a1, ($s0)
/* 8B2CE0 80242C70 0C0B1EAF */ jal evt_get_variable
/* 8B2CE4 80242C74 0040F02D */ daddu $fp, $v0, $zero
/* 8B2CE8 80242C78 12200011 */ beqz $s1, .L80242CC0
/* 8B2CEC 80242C7C 0040802D */ daddu $s0, $v0, $zero
/* 8B2CF0 80242C80 3C048025 */ lui $a0, %hi(D_80257F24)
/* 8B2CF4 80242C84 24847F24 */ addiu $a0, $a0, %lo(D_80257F24)
/* 8B2CF8 80242C88 3C058025 */ lui $a1, %hi(D_80257F25)
/* 8B2CFC 80242C8C 24A57F25 */ addiu $a1, $a1, %lo(D_80257F25)
/* 8B2D00 80242C90 3C068025 */ lui $a2, %hi(D_80257F26)
/* 8B2D04 80242C94 24C67F26 */ addiu $a2, $a2, %lo(D_80257F26)
/* 8B2D08 80242C98 3C078025 */ lui $a3, %hi(D_80257F27)
/* 8B2D0C 80242C9C 24E77F27 */ addiu $a3, $a3, %lo(D_80257F27)
/* 8B2D10 80242CA0 3C028025 */ lui $v0, %hi(D_80257F28)
/* 8B2D14 80242CA4 24427F28 */ addiu $v0, $v0, %lo(D_80257F28)
/* 8B2D18 80242CA8 AFA20010 */ sw $v0, 0x10($sp)
/* 8B2D1C 80242CAC 3C028025 */ lui $v0, %hi(D_80257F29)
/* 8B2D20 80242CB0 24427F29 */ addiu $v0, $v0, %lo(D_80257F29)
/* 8B2D24 80242CB4 0C046FF5 */ jal get_model_env_color_parameters
/* 8B2D28 80242CB8 AFA20014 */ sw $v0, 0x14($sp)
/* 8B2D2C 80242CBC AE400070 */ sw $zero, 0x70($s2)
.L80242CC0:
/* 8B2D30 80242CC0 1A00007A */ blez $s0, .L80242EAC
/* 8B2D34 80242CC4 32C400FF */ andi $a0, $s6, 0xff
/* 8B2D38 80242CC8 3C048025 */ lui $a0, %hi(D_80257F24)
/* 8B2D3C 80242CCC 90847F24 */ lbu $a0, %lo(D_80257F24)($a0)
/* 8B2D40 80242CD0 8E480070 */ lw $t0, 0x70($s2)
/* 8B2D44 80242CD4 02C41023 */ subu $v0, $s6, $a0
/* 8B2D48 80242CD8 00480018 */ mult $v0, $t0
/* 8B2D4C 80242CDC 00001812 */ mflo $v1
/* 8B2D50 80242CE0 00000000 */ nop
/* 8B2D54 80242CE4 16000002 */ bnez $s0, .L80242CF0
/* 8B2D58 80242CE8 0070001A */ div $zero, $v1, $s0
/* 8B2D5C 80242CEC 0007000D */ break 7
.L80242CF0:
/* 8B2D60 80242CF0 2401FFFF */ addiu $at, $zero, -1
/* 8B2D64 80242CF4 16010004 */ bne $s0, $at, .L80242D08
/* 8B2D68 80242CF8 3C018000 */ lui $at, 0x8000
/* 8B2D6C 80242CFC 14610002 */ bne $v1, $at, .L80242D08
/* 8B2D70 80242D00 00000000 */ nop
/* 8B2D74 80242D04 0006000D */ break 6
.L80242D08:
/* 8B2D78 80242D08 00006812 */ mflo $t5
/* 8B2D7C 80242D0C 3C058025 */ lui $a1, %hi(D_80257F25)
/* 8B2D80 80242D10 90A57F25 */ lbu $a1, %lo(D_80257F25)($a1)
/* 8B2D84 80242D14 02A51023 */ subu $v0, $s5, $a1
/* 8B2D88 80242D18 00480018 */ mult $v0, $t0
/* 8B2D8C 80242D1C 00001812 */ mflo $v1
/* 8B2D90 80242D20 00000000 */ nop
/* 8B2D94 80242D24 16000002 */ bnez $s0, .L80242D30
/* 8B2D98 80242D28 0070001A */ div $zero, $v1, $s0
/* 8B2D9C 80242D2C 0007000D */ break 7
.L80242D30:
/* 8B2DA0 80242D30 2401FFFF */ addiu $at, $zero, -1
/* 8B2DA4 80242D34 16010004 */ bne $s0, $at, .L80242D48
/* 8B2DA8 80242D38 3C018000 */ lui $at, 0x8000
/* 8B2DAC 80242D3C 14610002 */ bne $v1, $at, .L80242D48
/* 8B2DB0 80242D40 00000000 */ nop
/* 8B2DB4 80242D44 0006000D */ break 6
.L80242D48:
/* 8B2DB8 80242D48 00006012 */ mflo $t4
/* 8B2DBC 80242D4C 3C068025 */ lui $a2, %hi(D_80257F26)
/* 8B2DC0 80242D50 90C67F26 */ lbu $a2, %lo(D_80257F26)($a2)
/* 8B2DC4 80242D54 02861023 */ subu $v0, $s4, $a2
/* 8B2DC8 80242D58 00480018 */ mult $v0, $t0
/* 8B2DCC 80242D5C 00001812 */ mflo $v1
/* 8B2DD0 80242D60 00000000 */ nop
/* 8B2DD4 80242D64 16000002 */ bnez $s0, .L80242D70
/* 8B2DD8 80242D68 0070001A */ div $zero, $v1, $s0
/* 8B2DDC 80242D6C 0007000D */ break 7
.L80242D70:
/* 8B2DE0 80242D70 2401FFFF */ addiu $at, $zero, -1
/* 8B2DE4 80242D74 16010004 */ bne $s0, $at, .L80242D88
/* 8B2DE8 80242D78 3C018000 */ lui $at, 0x8000
/* 8B2DEC 80242D7C 14610002 */ bne $v1, $at, .L80242D88
/* 8B2DF0 80242D80 00000000 */ nop
/* 8B2DF4 80242D84 0006000D */ break 6
.L80242D88:
/* 8B2DF8 80242D88 00005812 */ mflo $t3
/* 8B2DFC 80242D8C 3C038025 */ lui $v1, %hi(D_80257F28)
/* 8B2E00 80242D90 90637F28 */ lbu $v1, %lo(D_80257F28)($v1)
/* 8B2E04 80242D94 02631023 */ subu $v0, $s3, $v1
/* 8B2E08 80242D98 00480018 */ mult $v0, $t0
/* 8B2E0C 80242D9C 00004812 */ mflo $t1
/* 8B2E10 80242DA0 00000000 */ nop
/* 8B2E14 80242DA4 16000002 */ bnez $s0, .L80242DB0
/* 8B2E18 80242DA8 0130001A */ div $zero, $t1, $s0
/* 8B2E1C 80242DAC 0007000D */ break 7
.L80242DB0:
/* 8B2E20 80242DB0 2401FFFF */ addiu $at, $zero, -1
/* 8B2E24 80242DB4 16010004 */ bne $s0, $at, .L80242DC8
/* 8B2E28 80242DB8 3C018000 */ lui $at, 0x8000
/* 8B2E2C 80242DBC 15210002 */ bne $t1, $at, .L80242DC8
/* 8B2E30 80242DC0 00000000 */ nop
/* 8B2E34 80242DC4 0006000D */ break 6
.L80242DC8:
/* 8B2E38 80242DC8 00004812 */ mflo $t1
/* 8B2E3C 80242DCC 3C078025 */ lui $a3, %hi(D_80257F27)
/* 8B2E40 80242DD0 90E77F27 */ lbu $a3, %lo(D_80257F27)($a3)
/* 8B2E44 80242DD4 02E71023 */ subu $v0, $s7, $a3
/* 8B2E48 80242DD8 00480018 */ mult $v0, $t0
/* 8B2E4C 80242DDC 00004012 */ mflo $t0
/* 8B2E50 80242DE0 00000000 */ nop
/* 8B2E54 80242DE4 16000002 */ bnez $s0, .L80242DF0
/* 8B2E58 80242DE8 0110001A */ div $zero, $t0, $s0
/* 8B2E5C 80242DEC 0007000D */ break 7
.L80242DF0:
/* 8B2E60 80242DF0 2401FFFF */ addiu $at, $zero, -1
/* 8B2E64 80242DF4 16010004 */ bne $s0, $at, .L80242E08
/* 8B2E68 80242DF8 3C018000 */ lui $at, 0x8000
/* 8B2E6C 80242DFC 15010002 */ bne $t0, $at, .L80242E08
/* 8B2E70 80242E00 00000000 */ nop
/* 8B2E74 80242E04 0006000D */ break 6
.L80242E08:
/* 8B2E78 80242E08 00005012 */ mflo $t2
/* 8B2E7C 80242E0C 3C088025 */ lui $t0, %hi(D_80257F29)
/* 8B2E80 80242E10 91087F29 */ lbu $t0, %lo(D_80257F29)($t0)
/* 8B2E84 80242E14 00691821 */ addu $v1, $v1, $t1
/* 8B2E88 80242E18 306300FF */ andi $v1, $v1, 0xff
/* 8B2E8C 80242E1C AFA30010 */ sw $v1, 0x10($sp)
/* 8B2E90 80242E20 8E430070 */ lw $v1, 0x70($s2)
/* 8B2E94 80242E24 03C81023 */ subu $v0, $fp, $t0
/* 8B2E98 80242E28 00430018 */ mult $v0, $v1
/* 8B2E9C 80242E2C 00001812 */ mflo $v1
/* 8B2EA0 80242E30 00000000 */ nop
/* 8B2EA4 80242E34 16000002 */ bnez $s0, .L80242E40
/* 8B2EA8 80242E38 0070001A */ div $zero, $v1, $s0
/* 8B2EAC 80242E3C 0007000D */ break 7
.L80242E40:
/* 8B2EB0 80242E40 2401FFFF */ addiu $at, $zero, -1
/* 8B2EB4 80242E44 16010004 */ bne $s0, $at, .L80242E58
/* 8B2EB8 80242E48 3C018000 */ lui $at, 0x8000
/* 8B2EBC 80242E4C 14610002 */ bne $v1, $at, .L80242E58
/* 8B2EC0 80242E50 00000000 */ nop
/* 8B2EC4 80242E54 0006000D */ break 6
.L80242E58:
/* 8B2EC8 80242E58 00001012 */ mflo $v0
/* 8B2ECC 80242E5C 008D2021 */ addu $a0, $a0, $t5
/* 8B2ED0 80242E60 308400FF */ andi $a0, $a0, 0xff
/* 8B2ED4 80242E64 00AC2821 */ addu $a1, $a1, $t4
/* 8B2ED8 80242E68 30A500FF */ andi $a1, $a1, 0xff
/* 8B2EDC 80242E6C 00CB3021 */ addu $a2, $a2, $t3
/* 8B2EE0 80242E70 30C600FF */ andi $a2, $a2, 0xff
/* 8B2EE4 80242E74 00EA3821 */ addu $a3, $a3, $t2
/* 8B2EE8 80242E78 30E700FF */ andi $a3, $a3, 0xff
/* 8B2EEC 80242E7C 01024021 */ addu $t0, $t0, $v0
/* 8B2EF0 80242E80 310800FF */ andi $t0, $t0, 0xff
/* 8B2EF4 80242E84 0C046FE6 */ jal set_model_env_color_parameters
/* 8B2EF8 80242E88 AFA80014 */ sw $t0, 0x14($sp)
/* 8B2EFC 80242E8C 8E420070 */ lw $v0, 0x70($s2)
/* 8B2F00 80242E90 24420001 */ addiu $v0, $v0, 1
/* 8B2F04 80242E94 AE420070 */ sw $v0, 0x70($s2)
/* 8B2F08 80242E98 0202102A */ slt $v0, $s0, $v0
/* 8B2F0C 80242E9C 1040000D */ beqz $v0, .L80242ED4
/* 8B2F10 80242EA0 24020002 */ addiu $v0, $zero, 2
/* 8B2F14 80242EA4 08090BB6 */ j .L80242ED8
/* 8B2F18 80242EA8 00000000 */ nop
.L80242EAC:
/* 8B2F1C 80242EAC 32A500FF */ andi $a1, $s5, 0xff
/* 8B2F20 80242EB0 328600FF */ andi $a2, $s4, 0xff
/* 8B2F24 80242EB4 32E700FF */ andi $a3, $s7, 0xff
/* 8B2F28 80242EB8 326200FF */ andi $v0, $s3, 0xff
/* 8B2F2C 80242EBC AFA20010 */ sw $v0, 0x10($sp)
/* 8B2F30 80242EC0 33C200FF */ andi $v0, $fp, 0xff
/* 8B2F34 80242EC4 0C046FE6 */ jal set_model_env_color_parameters
/* 8B2F38 80242EC8 AFA20014 */ sw $v0, 0x14($sp)
/* 8B2F3C 80242ECC 08090BB6 */ j .L80242ED8
/* 8B2F40 80242ED0 24020002 */ addiu $v0, $zero, 2
.L80242ED4:
/* 8B2F44 80242ED4 0000102D */ daddu $v0, $zero, $zero
.L80242ED8:
/* 8B2F48 80242ED8 8FBF003C */ lw $ra, 0x3c($sp)
/* 8B2F4C 80242EDC 8FBE0038 */ lw $fp, 0x38($sp)
/* 8B2F50 80242EE0 8FB70034 */ lw $s7, 0x34($sp)
/* 8B2F54 80242EE4 8FB60030 */ lw $s6, 0x30($sp)
/* 8B2F58 80242EE8 8FB5002C */ lw $s5, 0x2c($sp)
/* 8B2F5C 80242EEC 8FB40028 */ lw $s4, 0x28($sp)
/* 8B2F60 80242EF0 8FB30024 */ lw $s3, 0x24($sp)
/* 8B2F64 80242EF4 8FB20020 */ lw $s2, 0x20($sp)
/* 8B2F68 80242EF8 8FB1001C */ lw $s1, 0x1c($sp)
/* 8B2F6C 80242EFC 8FB00018 */ lw $s0, 0x18($sp)
/* 8B2F70 80242F00 03E00008 */ jr $ra
/* 8B2F74 80242F04 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024366C_8B36DC
/* 8B36DC 8024366C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 8B36E0 80243670 AFB10014 */ sw $s1, 0x14($sp)
/* 8B36E4 80243674 0080882D */ daddu $s1, $a0, $zero
/* 8B36E8 80243678 AFBF0018 */ sw $ra, 0x18($sp)
/* 8B36EC 8024367C AFB00010 */ sw $s0, 0x10($sp)
/* 8B36F0 80243680 8E30000C */ lw $s0, 0xc($s1)
/* 8B36F4 80243684 8E050000 */ lw $a1, ($s0)
/* 8B36F8 80243688 0C0B1EAF */ jal evt_get_variable
/* 8B36FC 8024368C 26100004 */ addiu $s0, $s0, 4
/* 8B3700 80243690 0220202D */ daddu $a0, $s1, $zero
/* 8B3704 80243694 8E050000 */ lw $a1, ($s0)
/* 8B3708 80243698 0C0B1EAF */ jal evt_get_variable
/* 8B370C 8024369C 0040802D */ daddu $s0, $v0, $zero
/* 8B3710 802436A0 0200202D */ daddu $a0, $s0, $zero
/* 8B3714 802436A4 00021080 */ sll $v0, $v0, 2
/* 8B3718 802436A8 3C108025 */ lui $s0, %hi(D_8025578C_8C57FC)
/* 8B371C 802436AC 02028021 */ addu $s0, $s0, $v0
/* 8B3720 802436B0 0C00FB3A */ jal get_enemy
/* 8B3724 802436B4 8E10578C */ lw $s0, %lo(D_8025578C_8C57FC)($s0)
/* 8B3728 802436B8 0040302D */ daddu $a2, $v0, $zero
/* 8B372C 802436BC 0000282D */ daddu $a1, $zero, $zero
.L802436C0:
/* 8B3730 802436C0 8E040000 */ lw $a0, ($s0)
/* 8B3734 802436C4 00051080 */ sll $v0, $a1, 2
/* 8B3738 802436C8 8CC300D0 */ lw $v1, 0xd0($a2)
/* 8B373C 802436CC 24A50001 */ addiu $a1, $a1, 1
/* 8B3740 802436D0 00431021 */ addu $v0, $v0, $v1
/* 8B3744 802436D4 AC440000 */ sw $a0, ($v0)
/* 8B3748 802436D8 28A2000E */ slti $v0, $a1, 0xe
/* 8B374C 802436DC 1440FFF8 */ bnez $v0, .L802436C0
/* 8B3750 802436E0 26100004 */ addiu $s0, $s0, 4
/* 8B3754 802436E4 8FBF0018 */ lw $ra, 0x18($sp)
/* 8B3758 802436E8 8FB10014 */ lw $s1, 0x14($sp)
/* 8B375C 802436EC 8FB00010 */ lw $s0, 0x10($sp)
/* 8B3760 802436F0 24020002 */ addiu $v0, $zero, 2
/* 8B3764 802436F4 03E00008 */ jr $ra
/* 8B3768 802436F8 27BD0020 */ addiu $sp, $sp, 0x20