Decomp some functions from watt overworld file (#462)

* decomp watt overworld functions

* fix struct that was wrongly changed

* run coverage.py

* requested changes for watt.c and decomp a function from sbk_02

* run coverage.py

* more style changes

* decomp all functions in 92A2B0.c

* run coverage.py

* use map_var instead of hex constant, other style changes

* cleanup

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
This commit is contained in:
Rainchus 2021-10-11 01:42:26 -05:00 committed by GitHub
parent bf65da2020
commit d84eda49dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 243 additions and 591 deletions

View File

@ -104,7 +104,9 @@ typedef struct EffectInstanceData {
/* 0x28 */ f32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ char unk_34[0x30];
/* 0x34 */ char unk_34[8];
/* 0x3C */ s32 unk_3C;
/* 0x40 */ char unk_40[0x24];
/* 0x64 */ f32 unk_64;
/* 0x68 */ char unk_68[0x18];
} EffectInstanceData; // size = 0x80
@ -265,7 +267,7 @@ EffectInstance* playFX_6F(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_70(s32, f32, f32, f32, f32, f32, f32, s32, s32, f32, f32);
EffectInstance* playFX_71(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_72(s32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* playFX_73(s32, f32, f32, f32, f32, s32, s32);
EffectInstance* playFX_73(s32, f32, f32, f32, f32, s32, s32); //returns ptr to struct unk_802BE310* in watt.c
EffectInstance* playFX_74(s32, f32, f32, f32, f32, f32, f32, f32, f32);
EffectInstance* playFX_75(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_76(s32, f32, f32, f32, f32, s32);

View File

@ -1,4 +1,5 @@
#include "sbk_02.h"
#include "effects.h"
static char* N(exit_str_0) = "sbk_01";
static char* N(exit_str_1) = "sbk_03";
@ -7,13 +8,70 @@ static char* N(exit_str_3) = "isk_01";
static char* N(exit_str_4) = "sbk_30";
static char* N(exit_str_5) = "";
INCLUDE_ASM(s32, "world/area_sbk/sbk_02/92A2B0", func_80240000_92A2B0);
void get_model_env_color_parameters(u8* arg0, u8* arg1, u8* arg2, u8* arg3, u8* arg4, u8* arg5);
s32 func_80240000_92A2B0(void) {
s32 phi;
if (evt_get_variable(NULL, EVT_STORY_PROGRESS) > STORY_CH2_GOT_PULSE_STONE) {
phi = 0x190063;
} else {
phi = 0x190062;
}
return phi;
}
#include "world/common/UnkFunc27.inc.c"
#include "world/common/UnkFunc26.inc.c"
// Accesses EVT_MAP_VAR(0) which is an effect handle
INCLUDE_ASM(s32, "world/area_sbk/sbk_02/92A2B0", func_80240338_92A5E8);
ApiStatus func_80240338_92A5E8(Evt* script, s32 isInitialCall) {
EffectInstance* effect = (EffectInstance*)evt_get_variable(script, EVT_MAP_VAR(0));
effect->data->unk_3C = 0;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_sbk/sbk_02/92A2B0", func_80240364_92A614);
ApiStatus func_80240364_92A614(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (isInitialCall) {
get_model_env_color_parameters(&D_80245600, &D_80245601, &D_80245602, &D_80245603, &D_80245604, &D_80245605);
D_80245608 = evt_get_variable(script, *args++);
D_8024560C = evt_get_variable(script, *args++);
D_80245610 = evt_get_variable(script, *args++);
D_80245614 = evt_get_variable(script, *args++);
D_80245618 = evt_get_variable(script, *args++);
D_8024561C = evt_get_variable(script, *args++);
D_80245620 = evt_get_variable(script, *args++);
flo_18_80245624 = 0;
}
if (D_80245620 > 0) {
s32 temp_v1 = flo_18_80245624 + 1;
u8 temp_a0 = D_80245600;
u8 temp_a1 = D_80245601;
u8 temp_a2 = D_80245602;
u8 temp_a3 = D_80245603;
u8 temp_t1 = D_80245604;
u8 temp_t0 = D_80245605;
s32 temp_t6 = ((D_80245608 - temp_a0) * temp_v1) / D_80245620;
s32 temp_t5 = ((D_8024560C - temp_a1) * temp_v1) / D_80245620;
s32 temp_t4 = ((D_80245610 - temp_a2) * temp_v1) / D_80245620;
s32 temp_t3 = ((D_80245614 - temp_a3) * temp_v1) / D_80245620;
s32 temp_t2 = ((D_80245618 - temp_t1) * temp_v1) / D_80245620;
s32 temp_v0 = ((D_8024561C - temp_t0) * temp_v1) / D_80245620;
flo_18_80245624++;
set_model_env_color_parameters(temp_a0 + temp_t6, temp_a1 + temp_t5, temp_a2 + temp_t4, temp_a3 + temp_t3,
temp_t1 + temp_t2, temp_t0 + temp_v0);
if (flo_18_80245624 >= D_80245620) {
return ApiStatus_DONE2;
}
} else {
set_model_env_color_parameters(D_80245608, D_8024560C, D_80245610, D_80245614, D_80245618, D_8024561C);
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}

View File

@ -2,3 +2,22 @@
#include "map.h"
#define NAMESPACE sbk_02
extern s32 D_80245608;
extern s32 D_8024560C;
extern s32 D_80245610;
extern s32 D_80245614;
extern s32 D_80245618;
extern s32 D_8024561C;
extern s32 D_80245620;
extern u8 D_80245600;
extern u8 D_80245601;
extern u8 D_80245602;
extern u8 D_80245603;
extern u8 D_80245604;
extern u8 D_80245605;
extern s32 flo_18_80245624;

View File

@ -1,29 +1,178 @@
#include "common.h"
#include "effects.h"
#include "../src/world/partners.h"
INCLUDE_ASM(s32, "world/partner/watt", func_802BD100_31CC70);
void force_player_anim(s32 arg0);
void func_802BE070_31DBE0(void);
void partner_kill_ability_script(void);
s32 partner_use_ability(void);
INCLUDE_ASM(s32, "world/partner/watt", func_802BD180_31CCF0);
typedef struct unk_802BE310_C {
/* 0x00 */ char unk_00[0x28];
/* 0x28 */ s32 unk_28;
} unk_802BE310_C;
typedef struct unk_802BE310 {
/* 0x00 */ char unk_00[0x0C];
/* 0x0C */ unk_802BE310_C* unk_0C;
/* 0x10 */
} unk_802BE310;
typedef struct unk_802BE274_31DDE4 {
/* 0x00 */ char unk_00[4];
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
} unk_802BE274_31DDE4;
extern s32 D_802BE300;
extern s32 D_802BE304;
extern s32 D_802BE308;
extern s32 D_802BE30C;
extern unk_802BE310* D_802BE310;
extern unk_802BE274_31DDE4* D_802BE274_31DDE4;
void func_802BD100_31CC70(Npc* npc) {
if (!(npc->flags & 2)) {
if (D_802BE310 == NULL) {
D_802BE310 = (unk_802BE310*)playFX_73(0, npc->pos.x, npc->pos.y + 13.0f, npc->pos.z, 0.9f, 5, 0);
}
}
}
s32 func_802BD180_31CCF0(void) {
if (D_802BE310 != NULL) {
D_802BE310->unk_0C->unk_28 = 1;
D_802BE310 = NULL;
return 1;
}
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BD1AC_31CD1C);
INCLUDE_ASM(s32, "world/partner/watt", func_802BD23C_31CDAC);
void func_802BD23C_31CDAC(Npc* npc) {
npc->collisionHeight = 24;
npc->collisionRadius = 24;
D_802BE308 = 0;
D_802BE300 = 0;
D_802BE30C = 0;
D_802BE304 = 20;
D_802BE310 = NULL;
}
ApiStatus func_802BD27C_31CDEC(Evt* script, s32 isInitialCall) {
Npc* npc = script->owner2.npc;
if (isInitialCall) {
partner_init_get_out(npc);
}
if (partner_get_out(npc) != 0) {
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BD27C_31CDEC);
INCLUDE_ASM(s32, "world/partner/watt", func_802BD2B4_31CE24);
INCLUDE_ASM(s32, "world/partner/watt", func_802BD710_31D280);
void func_802BD710_31D280(Npc* npc) {
if (D_8010C954 != 0) {
D_8010C954 = 0;
npc->flags = D_802BE274_31DDE4->unk_08;
D_802BE274_31DDE4->unk_04 = 0;
partner_clear_player_tracking(npc);
}
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BD754_31D2C4);
INCLUDE_ASM(s32, "world/partner/watt", func_802BDD0C_31D87C);
s32 func_802BDD0C_31D87C(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
Npc* npc = script->owner2.npc;
if (isInitialCall) {
func_802BD180_31CCF0();
partner_init_put_away(npc);
force_player_anim(0x10002);
partnerActionStatus->actionState.b[3] = 0;
partnerActionStatus->actionState.b[0] = 0;
playerStatus->animFlags = playerStatus->animFlags & ~3;
gGameStatusPtr->unk_7D = 0;
}
if (partner_put_away(npc) != 0) {
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BDD9C_31D90C);
INCLUDE_ASM(s32, "world/partner/watt", func_802BDE10_31D980);
INCLUDE_ASM(s32, "world/partner/watt", func_802BDE88_31D9F8);
ApiStatus func_802BDE88_31D9F8(Evt* script, s32 isInitialCall) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
PlayerStatus* playerStatus = &gPlayerStatus;
Npc* npc = get_npc_unsafe(NPC_PARTNER);
INCLUDE_ASM(s32, "world/partner/watt", func_802BE014_31DB84);
if (isInitialCall) {
script->functionTemp[0] = 0;
}
switch (script->functionTemp[0]) {
case 0:
if (script->varTable[12] == 0) {
partner_kill_ability_script();
func_802BD180_31CCF0();
} else {
func_802BD100_31CC70(npc);
}
script->functionTemp[1] = script->varTable[4];
playerStatus->targetYaw = atan2(playerStatus->position.x, playerStatus->position.z, script->varTable[1], script->varTable[3]);
playerStatus->heading = playerStatus->targetYaw;
move_player(script->functionTemp[1], playerStatus->heading, *((f32*) &script->varTable[5]));
func_802BE070_31DBE0();
npc->flags &= ~0x200;
npc->flags |= 0x100;
playerStatus->animFlags |= 3;
gGameStatusPtr->unk_7D = 1;
partnerActionStatus->actionState.b[0] = 1;
partnerActionStatus->actionState.b[3] = 6;
D_802BE308 = 0;
script->functionTemp[0] += 1;
break;
case 1:
func_802BE070_31DBE0();
script->functionTemp[1]--;
if (script->functionTemp[1] == 0) {
if (script->varTable[12]) {
partner_use_ability();
}
return ApiStatus_DONE2;
}
break;
}
return ApiStatus_BLOCK;
}
void func_802BE014_31DB84(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 currentSpeed = playerStatus->currentSpeed;
s32 animationID;
if (playerStatus->runSpeed <= currentSpeed) {
animationID = 0x60002;
} else if (playerStatus->walkSpeed <= currentSpeed) {
animationID = 0x60000;
} else {
animationID = 0x60007;
}
suggest_player_anim_clearUnkFlag(animationID);
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BE070_31DBE0);

View File

@ -26,7 +26,6 @@ typedef struct WorldPartner {
/* 0x3C */ Bytecode* whileRiding;
} WorldPartner; // size = 0x40
extern s32 D_8010C954;
extern s32 D_8010CFC4;
extern Evt* D_8010CFD4;
extern s32 D_8010CFD8;

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_92A2B0
/* 92A2B0 80240000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 92A2B4 80240004 AFBF0010 */ sw $ra, 0x10($sp)
/* 92A2B8 80240008 3C05F5DE */ lui $a1, 0xf5de
/* 92A2BC 8024000C 34A50180 */ ori $a1, $a1, 0x180
/* 92A2C0 80240010 0C0B1EAF */ jal evt_get_variable
/* 92A2C4 80240014 0000202D */ daddu $a0, $zero, $zero
/* 92A2C8 80240018 3C030019 */ lui $v1, 0x19
/* 92A2CC 8024001C 2842FFC2 */ slti $v0, $v0, -0x3e
/* 92A2D0 80240020 14400003 */ bnez $v0, .L80240030
/* 92A2D4 80240024 34630062 */ ori $v1, $v1, 0x62
/* 92A2D8 80240028 3C030019 */ lui $v1, 0x19
/* 92A2DC 8024002C 34630063 */ ori $v1, $v1, 0x63
.L80240030:
/* 92A2E0 80240030 8FBF0010 */ lw $ra, 0x10($sp)
/* 92A2E4 80240034 0060102D */ daddu $v0, $v1, $zero
/* 92A2E8 80240038 03E00008 */ jr $ra
/* 92A2EC 8024003C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240338_92A5E8
/* 92A5E8 80240338 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 92A5EC 8024033C 3C05FD05 */ lui $a1, 0xfd05
/* 92A5F0 80240340 AFBF0010 */ sw $ra, 0x10($sp)
/* 92A5F4 80240344 0C0B1EAF */ jal evt_get_variable
/* 92A5F8 80240348 34A50F80 */ ori $a1, $a1, 0xf80
/* 92A5FC 8024034C 8C43000C */ lw $v1, 0xc($v0)
/* 92A600 80240350 AC60003C */ sw $zero, 0x3c($v1)
/* 92A604 80240354 8FBF0010 */ lw $ra, 0x10($sp)
/* 92A608 80240358 24020002 */ addiu $v0, $zero, 2
/* 92A60C 8024035C 03E00008 */ jr $ra
/* 92A610 80240360 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,246 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240364_92A614
/* 92A614 80240364 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 92A618 80240368 AFB1001C */ sw $s1, 0x1c($sp)
/* 92A61C 8024036C 0080882D */ daddu $s1, $a0, $zero
/* 92A620 80240370 AFBF0020 */ sw $ra, 0x20($sp)
/* 92A624 80240374 AFB00018 */ sw $s0, 0x18($sp)
/* 92A628 80240378 10A0003B */ beqz $a1, .L80240468
/* 92A62C 8024037C 8E30000C */ lw $s0, 0xc($s1)
/* 92A630 80240380 3C048024 */ lui $a0, %hi(D_80245600_DB78C0)
/* 92A634 80240384 24845600 */ addiu $a0, $a0, %lo(D_80245600_DB78C0)
/* 92A638 80240388 3C058024 */ lui $a1, %hi(D_80245601)
/* 92A63C 8024038C 24A55601 */ addiu $a1, $a1, %lo(D_80245601)
/* 92A640 80240390 3C068024 */ lui $a2, %hi(D_80245602)
/* 92A644 80240394 24C65602 */ addiu $a2, $a2, %lo(D_80245602)
/* 92A648 80240398 3C078024 */ lui $a3, %hi(D_80245603)
/* 92A64C 8024039C 24E75603 */ addiu $a3, $a3, %lo(D_80245603)
/* 92A650 802403A0 3C028024 */ lui $v0, %hi(D_80245604)
/* 92A654 802403A4 24425604 */ addiu $v0, $v0, %lo(D_80245604)
/* 92A658 802403A8 AFA20010 */ sw $v0, 0x10($sp)
/* 92A65C 802403AC 3C028024 */ lui $v0, %hi(D_80245605)
/* 92A660 802403B0 24425605 */ addiu $v0, $v0, %lo(D_80245605)
/* 92A664 802403B4 0C046FF5 */ jal get_model_env_color_parameters
/* 92A668 802403B8 AFA20014 */ sw $v0, 0x14($sp)
/* 92A66C 802403BC 8E050000 */ lw $a1, ($s0)
/* 92A670 802403C0 26100004 */ addiu $s0, $s0, 4
/* 92A674 802403C4 0C0B1EAF */ jal evt_get_variable
/* 92A678 802403C8 0220202D */ daddu $a0, $s1, $zero
/* 92A67C 802403CC 3C018024 */ lui $at, %hi(D_80245608)
/* 92A680 802403D0 AC225608 */ sw $v0, %lo(D_80245608)($at)
/* 92A684 802403D4 8E050000 */ lw $a1, ($s0)
/* 92A688 802403D8 26100004 */ addiu $s0, $s0, 4
/* 92A68C 802403DC 0C0B1EAF */ jal evt_get_variable
/* 92A690 802403E0 0220202D */ daddu $a0, $s1, $zero
/* 92A694 802403E4 3C018024 */ lui $at, %hi(D_8024560C)
/* 92A698 802403E8 AC22560C */ sw $v0, %lo(D_8024560C)($at)
/* 92A69C 802403EC 8E050000 */ lw $a1, ($s0)
/* 92A6A0 802403F0 26100004 */ addiu $s0, $s0, 4
/* 92A6A4 802403F4 0C0B1EAF */ jal evt_get_variable
/* 92A6A8 802403F8 0220202D */ daddu $a0, $s1, $zero
/* 92A6AC 802403FC 3C018024 */ lui $at, %hi(D_80245610)
/* 92A6B0 80240400 AC225610 */ sw $v0, %lo(D_80245610)($at)
/* 92A6B4 80240404 8E050000 */ lw $a1, ($s0)
/* 92A6B8 80240408 26100004 */ addiu $s0, $s0, 4
/* 92A6BC 8024040C 0C0B1EAF */ jal evt_get_variable
/* 92A6C0 80240410 0220202D */ daddu $a0, $s1, $zero
/* 92A6C4 80240414 3C018024 */ lui $at, %hi(D_80245614)
/* 92A6C8 80240418 AC225614 */ sw $v0, %lo(D_80245614)($at)
/* 92A6CC 8024041C 8E050000 */ lw $a1, ($s0)
/* 92A6D0 80240420 26100004 */ addiu $s0, $s0, 4
/* 92A6D4 80240424 0C0B1EAF */ jal evt_get_variable
/* 92A6D8 80240428 0220202D */ daddu $a0, $s1, $zero
/* 92A6DC 8024042C 3C018024 */ lui $at, %hi(D_80245618)
/* 92A6E0 80240430 AC225618 */ sw $v0, %lo(D_80245618)($at)
/* 92A6E4 80240434 8E050000 */ lw $a1, ($s0)
/* 92A6E8 80240438 26100004 */ addiu $s0, $s0, 4
/* 92A6EC 8024043C 0C0B1EAF */ jal evt_get_variable
/* 92A6F0 80240440 0220202D */ daddu $a0, $s1, $zero
/* 92A6F4 80240444 3C018024 */ lui $at, %hi(D_8024561C)
/* 92A6F8 80240448 AC22561C */ sw $v0, %lo(D_8024561C)($at)
/* 92A6FC 8024044C 8E050000 */ lw $a1, ($s0)
/* 92A700 80240450 0C0B1EAF */ jal evt_get_variable
/* 92A704 80240454 0220202D */ daddu $a0, $s1, $zero
/* 92A708 80240458 3C018024 */ lui $at, %hi(D_80245620)
/* 92A70C 8024045C AC225620 */ sw $v0, %lo(D_80245620)($at)
/* 92A710 80240460 3C018024 */ lui $at, %hi(flo_18_80245624)
/* 92A714 80240464 AC205624 */ sw $zero, %lo(flo_18_80245624)($at)
.L80240468:
/* 92A718 80240468 3C118024 */ lui $s1, %hi(D_80245620)
/* 92A71C 8024046C 26315620 */ addiu $s1, $s1, %lo(D_80245620)
/* 92A720 80240470 8E2F0000 */ lw $t7, ($s1)
/* 92A724 80240474 19E00088 */ blez $t7, .L80240698
/* 92A728 80240478 00000000 */ nop
/* 92A72C 8024047C 3C108024 */ lui $s0, %hi(flo_18_80245624)
/* 92A730 80240480 26105624 */ addiu $s0, $s0, %lo(flo_18_80245624)
/* 92A734 80240484 8E030000 */ lw $v1, ($s0)
/* 92A738 80240488 3C048024 */ lui $a0, %hi(D_80245600_DB78C0)
/* 92A73C 8024048C 90845600 */ lbu $a0, %lo(D_80245600_DB78C0)($a0)
/* 92A740 80240490 3C028024 */ lui $v0, %hi(D_80245608)
/* 92A744 80240494 8C425608 */ lw $v0, %lo(D_80245608)($v0)
/* 92A748 80240498 24630001 */ addiu $v1, $v1, 1
/* 92A74C 8024049C 00441023 */ subu $v0, $v0, $a0
/* 92A750 802404A0 00430018 */ mult $v0, $v1
/* 92A754 802404A4 00004012 */ mflo $t0
/* 92A758 802404A8 00000000 */ nop
/* 92A75C 802404AC 15E00002 */ bnez $t7, .L802404B8
/* 92A760 802404B0 010F001A */ div $zero, $t0, $t7
/* 92A764 802404B4 0007000D */ break 7
.L802404B8:
/* 92A768 802404B8 2401FFFF */ addiu $at, $zero, -1
/* 92A76C 802404BC 15E10004 */ bne $t7, $at, .L802404D0
/* 92A770 802404C0 3C018000 */ lui $at, 0x8000
/* 92A774 802404C4 15010002 */ bne $t0, $at, .L802404D0
/* 92A778 802404C8 00000000 */ nop
/* 92A77C 802404CC 0006000D */ break 6
.L802404D0:
/* 92A780 802404D0 00007012 */ mflo $t6
/* 92A784 802404D4 3C058024 */ lui $a1, %hi(D_80245601)
/* 92A788 802404D8 90A55601 */ lbu $a1, %lo(D_80245601)($a1)
/* 92A78C 802404DC 3C028024 */ lui $v0, %hi(D_8024560C)
/* 92A790 802404E0 8C42560C */ lw $v0, %lo(D_8024560C)($v0)
/* 92A794 802404E4 00451023 */ subu $v0, $v0, $a1
/* 92A798 802404E8 00430018 */ mult $v0, $v1
/* 92A79C 802404EC 00004012 */ mflo $t0
/* 92A7A0 802404F0 00000000 */ nop
/* 92A7A4 802404F4 15E00002 */ bnez $t7, .L80240500
/* 92A7A8 802404F8 010F001A */ div $zero, $t0, $t7
/* 92A7AC 802404FC 0007000D */ break 7
.L80240500:
/* 92A7B0 80240500 2401FFFF */ addiu $at, $zero, -1
/* 92A7B4 80240504 15E10004 */ bne $t7, $at, .L80240518
/* 92A7B8 80240508 3C018000 */ lui $at, 0x8000
/* 92A7BC 8024050C 15010002 */ bne $t0, $at, .L80240518
/* 92A7C0 80240510 00000000 */ nop
/* 92A7C4 80240514 0006000D */ break 6
.L80240518:
/* 92A7C8 80240518 00006812 */ mflo $t5
/* 92A7CC 8024051C 3C068024 */ lui $a2, %hi(D_80245602)
/* 92A7D0 80240520 90C65602 */ lbu $a2, %lo(D_80245602)($a2)
/* 92A7D4 80240524 3C028024 */ lui $v0, %hi(D_80245610)
/* 92A7D8 80240528 8C425610 */ lw $v0, %lo(D_80245610)($v0)
/* 92A7DC 8024052C 00461023 */ subu $v0, $v0, $a2
/* 92A7E0 80240530 00430018 */ mult $v0, $v1
/* 92A7E4 80240534 00004012 */ mflo $t0
/* 92A7E8 80240538 00000000 */ nop
/* 92A7EC 8024053C 15E00002 */ bnez $t7, .L80240548
/* 92A7F0 80240540 010F001A */ div $zero, $t0, $t7
/* 92A7F4 80240544 0007000D */ break 7
.L80240548:
/* 92A7F8 80240548 2401FFFF */ addiu $at, $zero, -1
/* 92A7FC 8024054C 15E10004 */ bne $t7, $at, .L80240560
/* 92A800 80240550 3C018000 */ lui $at, 0x8000
/* 92A804 80240554 15010002 */ bne $t0, $at, .L80240560
/* 92A808 80240558 00000000 */ nop
/* 92A80C 8024055C 0006000D */ break 6
.L80240560:
/* 92A810 80240560 00006012 */ mflo $t4
/* 92A814 80240564 3C078024 */ lui $a3, %hi(D_80245603)
/* 92A818 80240568 90E75603 */ lbu $a3, %lo(D_80245603)($a3)
/* 92A81C 8024056C 3C028024 */ lui $v0, %hi(D_80245614)
/* 92A820 80240570 8C425614 */ lw $v0, %lo(D_80245614)($v0)
/* 92A824 80240574 00471023 */ subu $v0, $v0, $a3
/* 92A828 80240578 00430018 */ mult $v0, $v1
/* 92A82C 8024057C 00004012 */ mflo $t0
/* 92A830 80240580 00000000 */ nop
/* 92A834 80240584 15E00002 */ bnez $t7, .L80240590
/* 92A838 80240588 010F001A */ div $zero, $t0, $t7
/* 92A83C 8024058C 0007000D */ break 7
.L80240590:
/* 92A840 80240590 2401FFFF */ addiu $at, $zero, -1
/* 92A844 80240594 15E10004 */ bne $t7, $at, .L802405A8
/* 92A848 80240598 3C018000 */ lui $at, 0x8000
/* 92A84C 8024059C 15010002 */ bne $t0, $at, .L802405A8
/* 92A850 802405A0 00000000 */ nop
/* 92A854 802405A4 0006000D */ break 6
.L802405A8:
/* 92A858 802405A8 00005812 */ mflo $t3
/* 92A85C 802405AC 3C098024 */ lui $t1, %hi(D_80245604)
/* 92A860 802405B0 91295604 */ lbu $t1, %lo(D_80245604)($t1)
/* 92A864 802405B4 3C028024 */ lui $v0, %hi(D_80245618)
/* 92A868 802405B8 8C425618 */ lw $v0, %lo(D_80245618)($v0)
/* 92A86C 802405BC 00491023 */ subu $v0, $v0, $t1
/* 92A870 802405C0 00430018 */ mult $v0, $v1
/* 92A874 802405C4 00004012 */ mflo $t0
/* 92A878 802405C8 00000000 */ nop
/* 92A87C 802405CC 15E00002 */ bnez $t7, .L802405D8
/* 92A880 802405D0 010F001A */ div $zero, $t0, $t7
/* 92A884 802405D4 0007000D */ break 7
.L802405D8:
/* 92A888 802405D8 2401FFFF */ addiu $at, $zero, -1
/* 92A88C 802405DC 15E10004 */ bne $t7, $at, .L802405F0
/* 92A890 802405E0 3C018000 */ lui $at, 0x8000
/* 92A894 802405E4 15010002 */ bne $t0, $at, .L802405F0
/* 92A898 802405E8 00000000 */ nop
/* 92A89C 802405EC 0006000D */ break 6
.L802405F0:
/* 92A8A0 802405F0 00005012 */ mflo $t2
/* 92A8A4 802405F4 3C088024 */ lui $t0, %hi(D_80245605)
/* 92A8A8 802405F8 91085605 */ lbu $t0, %lo(D_80245605)($t0)
/* 92A8AC 802405FC 3C028024 */ lui $v0, %hi(D_8024561C)
/* 92A8B0 80240600 8C42561C */ lw $v0, %lo(D_8024561C)($v0)
/* 92A8B4 80240604 00481023 */ subu $v0, $v0, $t0
/* 92A8B8 80240608 00430018 */ mult $v0, $v1
/* 92A8BC 8024060C 0000C812 */ mflo $t9
/* 92A8C0 80240610 00000000 */ nop
/* 92A8C4 80240614 15E00002 */ bnez $t7, .L80240620
/* 92A8C8 80240618 032F001A */ div $zero, $t9, $t7
/* 92A8CC 8024061C 0007000D */ break 7
.L80240620:
/* 92A8D0 80240620 2401FFFF */ addiu $at, $zero, -1
/* 92A8D4 80240624 15E10004 */ bne $t7, $at, .L80240638
/* 92A8D8 80240628 3C018000 */ lui $at, 0x8000
/* 92A8DC 8024062C 17210002 */ bne $t9, $at, .L80240638
/* 92A8E0 80240630 00000000 */ nop
/* 92A8E4 80240634 0006000D */ break 6
.L80240638:
/* 92A8E8 80240638 00001012 */ mflo $v0
/* 92A8EC 8024063C AE030000 */ sw $v1, ($s0)
/* 92A8F0 80240640 008E2021 */ addu $a0, $a0, $t6
/* 92A8F4 80240644 308400FF */ andi $a0, $a0, 0xff
/* 92A8F8 80240648 00AD2821 */ addu $a1, $a1, $t5
/* 92A8FC 8024064C 30A500FF */ andi $a1, $a1, 0xff
/* 92A900 80240650 00CC3021 */ addu $a2, $a2, $t4
/* 92A904 80240654 30C600FF */ andi $a2, $a2, 0xff
/* 92A908 80240658 00EB3821 */ addu $a3, $a3, $t3
/* 92A90C 8024065C 30E700FF */ andi $a3, $a3, 0xff
/* 92A910 80240660 012A4821 */ addu $t1, $t1, $t2
/* 92A914 80240664 312900FF */ andi $t1, $t1, 0xff
/* 92A918 80240668 AFA90010 */ sw $t1, 0x10($sp)
/* 92A91C 8024066C 01024021 */ addu $t0, $t0, $v0
/* 92A920 80240670 310800FF */ andi $t0, $t0, 0xff
/* 92A924 80240674 0C046FE6 */ jal set_model_env_color_parameters
/* 92A928 80240678 AFA80014 */ sw $t0, 0x14($sp)
/* 92A92C 8024067C 8E020000 */ lw $v0, ($s0)
/* 92A930 80240680 8E230000 */ lw $v1, ($s1)
/* 92A934 80240684 0043102A */ slt $v0, $v0, $v1
/* 92A938 80240688 14400013 */ bnez $v0, .L802406D8
/* 92A93C 8024068C 0000102D */ daddu $v0, $zero, $zero
/* 92A940 80240690 080901B6 */ j .L802406D8
/* 92A944 80240694 24020002 */ addiu $v0, $zero, 2
.L80240698:
/* 92A948 80240698 3C028024 */ lui $v0, %hi(D_8024561B)
/* 92A94C 8024069C 9042561B */ lbu $v0, %lo(D_8024561B)($v0)
/* 92A950 802406A0 3C048024 */ lui $a0, %hi(D_8024560B)
/* 92A954 802406A4 9084560B */ lbu $a0, %lo(D_8024560B)($a0)
/* 92A958 802406A8 3C058024 */ lui $a1, %hi(D_8024560F)
/* 92A95C 802406AC 90A5560F */ lbu $a1, %lo(D_8024560F)($a1)
/* 92A960 802406B0 3C068024 */ lui $a2, %hi(D_80245613)
/* 92A964 802406B4 90C65613 */ lbu $a2, %lo(D_80245613)($a2)
/* 92A968 802406B8 3C078024 */ lui $a3, %hi(D_80245617)
/* 92A96C 802406BC 90E75617 */ lbu $a3, %lo(D_80245617)($a3)
/* 92A970 802406C0 3C038024 */ lui $v1, %hi(D_8024561F)
/* 92A974 802406C4 9063561F */ lbu $v1, %lo(D_8024561F)($v1)
/* 92A978 802406C8 AFA20010 */ sw $v0, 0x10($sp)
/* 92A97C 802406CC 0C046FE6 */ jal set_model_env_color_parameters
/* 92A980 802406D0 AFA30014 */ sw $v1, 0x14($sp)
/* 92A984 802406D4 24020002 */ addiu $v0, $zero, 2
.L802406D8:
/* 92A988 802406D8 8FBF0020 */ lw $ra, 0x20($sp)
/* 92A98C 802406DC 8FB1001C */ lw $s1, 0x1c($sp)
/* 92A990 802406E0 8FB00018 */ lw $s0, 0x18($sp)
/* 92A994 802406E4 03E00008 */ jr $ra
/* 92A998 802406E8 27BD0028 */ addiu $sp, $sp, 0x28
/* 92A99C 802406EC 00000000 */ nop

View File

@ -1,37 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD100_31CC70
/* 31CC70 802BD100 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 31CC74 802BD104 AFBF0024 */ sw $ra, 0x24($sp)
/* 31CC78 802BD108 AFB00020 */ sw $s0, 0x20($sp)
/* 31CC7C 802BD10C 8C820000 */ lw $v0, ($a0)
/* 31CC80 802BD110 30420002 */ andi $v0, $v0, 2
/* 31CC84 802BD114 14400016 */ bnez $v0, .L802BD170
/* 31CC88 802BD118 00000000 */ nop
/* 31CC8C 802BD11C 3C10802C */ lui $s0, %hi(D_802BE310)
/* 31CC90 802BD120 2610E310 */ addiu $s0, $s0, %lo(D_802BE310)
/* 31CC94 802BD124 8E020000 */ lw $v0, ($s0)
/* 31CC98 802BD128 14400011 */ bnez $v0, .L802BD170
/* 31CC9C 802BD12C 24020005 */ addiu $v0, $zero, 5
/* 31CCA0 802BD130 C484003C */ lwc1 $f4, 0x3c($a0)
/* 31CCA4 802BD134 3C014150 */ lui $at, 0x4150
/* 31CCA8 802BD138 44811000 */ mtc1 $at, $f2
/* 31CCAC 802BD13C 3C013F66 */ lui $at, 0x3f66
/* 31CCB0 802BD140 34216666 */ ori $at, $at, 0x6666
/* 31CCB4 802BD144 44810000 */ mtc1 $at, $f0
/* 31CCB8 802BD148 AFA20014 */ sw $v0, 0x14($sp)
/* 31CCBC 802BD14C AFA00018 */ sw $zero, 0x18($sp)
/* 31CCC0 802BD150 46022100 */ add.s $f4, $f4, $f2
/* 31CCC4 802BD154 E7A00010 */ swc1 $f0, 0x10($sp)
/* 31CCC8 802BD158 8C850038 */ lw $a1, 0x38($a0)
/* 31CCCC 802BD15C 8C870040 */ lw $a3, 0x40($a0)
/* 31CCD0 802BD160 44062000 */ mfc1 $a2, $f4
/* 31CCD4 802BD164 0C01C8EC */ jal playFX_73
/* 31CCD8 802BD168 0000202D */ daddu $a0, $zero, $zero
/* 31CCDC 802BD16C AE020000 */ sw $v0, ($s0)
.L802BD170:
/* 31CCE0 802BD170 8FBF0024 */ lw $ra, 0x24($sp)
/* 31CCE4 802BD174 8FB00020 */ lw $s0, 0x20($sp)
/* 31CCE8 802BD178 03E00008 */ jr $ra
/* 31CCEC 802BD17C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD180_31CCF0
/* 31CCF0 802BD180 3C03802C */ lui $v1, %hi(D_802BE310)
/* 31CCF4 802BD184 2463E310 */ addiu $v1, $v1, %lo(D_802BE310)
/* 31CCF8 802BD188 8C620000 */ lw $v0, ($v1)
/* 31CCFC 802BD18C 10400005 */ beqz $v0, .L802BD1A4
/* 31CD00 802BD190 00000000 */ nop
/* 31CD04 802BD194 AC600000 */ sw $zero, ($v1)
/* 31CD08 802BD198 8C43000C */ lw $v1, 0xc($v0)
/* 31CD0C 802BD19C 24020001 */ addiu $v0, $zero, 1
/* 31CD10 802BD1A0 AC620028 */ sw $v0, 0x28($v1)
.L802BD1A4:
/* 31CD14 802BD1A4 03E00008 */ jr $ra
/* 31CD18 802BD1A8 00000000 */ nop

View File

@ -1,20 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD23C_31CDAC
/* 31CDAC 802BD23C 24020018 */ addiu $v0, $zero, 0x18
/* 31CDB0 802BD240 A48200A8 */ sh $v0, 0xa8($a0)
/* 31CDB4 802BD244 A48200A6 */ sh $v0, 0xa6($a0)
/* 31CDB8 802BD248 24020014 */ addiu $v0, $zero, 0x14
/* 31CDBC 802BD24C 3C01802C */ lui $at, %hi(D_802BE308)
/* 31CDC0 802BD250 AC20E308 */ sw $zero, %lo(D_802BE308)($at)
/* 31CDC4 802BD254 3C01802C */ lui $at, %hi(D_802BE300)
/* 31CDC8 802BD258 AC20E300 */ sw $zero, %lo(D_802BE300)($at)
/* 31CDCC 802BD25C 3C01802C */ lui $at, %hi(D_802BE30C)
/* 31CDD0 802BD260 AC20E30C */ sw $zero, %lo(D_802BE30C)($at)
/* 31CDD4 802BD264 3C01802C */ lui $at, %hi(D_802BE304)
/* 31CDD8 802BD268 AC22E304 */ sw $v0, %lo(D_802BE304)($at)
/* 31CDDC 802BD26C 3C01802C */ lui $at, %hi(D_802BE310)
/* 31CDE0 802BD270 AC20E310 */ sw $zero, %lo(D_802BE310)($at)
/* 31CDE4 802BD274 03E00008 */ jr $ra
/* 31CDE8 802BD278 00000000 */ nop

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD27C_31CDEC
/* 31CDEC 802BD27C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 31CDF0 802BD280 AFBF0014 */ sw $ra, 0x14($sp)
/* 31CDF4 802BD284 AFB00010 */ sw $s0, 0x10($sp)
/* 31CDF8 802BD288 10A00003 */ beqz $a1, .L802BD298
/* 31CDFC 802BD28C 8C90014C */ lw $s0, 0x14c($a0)
/* 31CE00 802BD290 0C03BB31 */ jal partner_init_get_out
/* 31CE04 802BD294 0200202D */ daddu $a0, $s0, $zero
.L802BD298:
/* 31CE08 802BD298 0C03BB3A */ jal partner_get_out
/* 31CE0C 802BD29C 0200202D */ daddu $a0, $s0, $zero
/* 31CE10 802BD2A0 8FBF0014 */ lw $ra, 0x14($sp)
/* 31CE14 802BD2A4 8FB00010 */ lw $s0, 0x10($sp)
/* 31CE18 802BD2A8 0002102B */ sltu $v0, $zero, $v0
/* 31CE1C 802BD2AC 03E00008 */ jr $ra
/* 31CE20 802BD2B0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD710_31D280
/* 31D280 802BD710 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 31D284 802BD714 3C058011 */ lui $a1, %hi(D_8010C954)
/* 31D288 802BD718 24A5C954 */ addiu $a1, $a1, %lo(D_8010C954)
/* 31D28C 802BD71C AFBF0010 */ sw $ra, 0x10($sp)
/* 31D290 802BD720 8CA20000 */ lw $v0, ($a1)
/* 31D294 802BD724 10400008 */ beqz $v0, .L802BD748
/* 31D298 802BD728 00000000 */ nop
/* 31D29C 802BD72C 3C03802C */ lui $v1, %hi(D_802BE274_31DDE4)
/* 31D2A0 802BD730 8C63E274 */ lw $v1, %lo(D_802BE274_31DDE4)($v1)
/* 31D2A4 802BD734 8C620008 */ lw $v0, 8($v1)
/* 31D2A8 802BD738 ACA00000 */ sw $zero, ($a1)
/* 31D2AC 802BD73C AC820000 */ sw $v0, ($a0)
/* 31D2B0 802BD740 0C03BD17 */ jal partner_clear_player_tracking
/* 31D2B4 802BD744 AC600004 */ sw $zero, 4($v1)
.L802BD748:
/* 31D2B8 802BD748 8FBF0010 */ lw $ra, 0x10($sp)
/* 31D2BC 802BD74C 03E00008 */ jr $ra
/* 31D2C0 802BD750 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_802BDD0C_31D87C
/* 31D87C 802BDD0C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 31D880 802BDD10 AFB20018 */ sw $s2, 0x18($sp)
/* 31D884 802BDD14 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 31D888 802BDD18 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 31D88C 802BDD1C AFB10014 */ sw $s1, 0x14($sp)
/* 31D890 802BDD20 3C118011 */ lui $s1, %hi(gPartnerActionStatus)
/* 31D894 802BDD24 2631EBB0 */ addiu $s1, $s1, %lo(gPartnerActionStatus)
/* 31D898 802BDD28 AFBF001C */ sw $ra, 0x1c($sp)
/* 31D89C 802BDD2C AFB00010 */ sw $s0, 0x10($sp)
/* 31D8A0 802BDD30 10A00011 */ beqz $a1, .L802BDD78
/* 31D8A4 802BDD34 8C90014C */ lw $s0, 0x14c($a0)
/* 31D8A8 802BDD38 0C0AF460 */ jal func_802BD180_31CCF0
/* 31D8AC 802BDD3C 00000000 */ nop
/* 31D8B0 802BDD40 0C03BA65 */ jal partner_init_put_away
/* 31D8B4 802BDD44 0200202D */ daddu $a0, $s0, $zero
/* 31D8B8 802BDD48 3C040001 */ lui $a0, 1
/* 31D8BC 802BDD4C 0C037FD4 */ jal force_player_anim
/* 31D8C0 802BDD50 34840002 */ ori $a0, $a0, 2
/* 31D8C4 802BDD54 2402FFFC */ addiu $v0, $zero, -4
/* 31D8C8 802BDD58 A2200003 */ sb $zero, 3($s1)
/* 31D8CC 802BDD5C A2200000 */ sb $zero, ($s1)
/* 31D8D0 802BDD60 8E430004 */ lw $v1, 4($s2)
/* 31D8D4 802BDD64 3C048007 */ lui $a0, %hi(gGameStatusPtr)
/* 31D8D8 802BDD68 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0)
/* 31D8DC 802BDD6C 00621824 */ and $v1, $v1, $v0
/* 31D8E0 802BDD70 AE430004 */ sw $v1, 4($s2)
/* 31D8E4 802BDD74 A080007D */ sb $zero, 0x7d($a0)
.L802BDD78:
/* 31D8E8 802BDD78 0C03BA6E */ jal partner_put_away
/* 31D8EC 802BDD7C 0200202D */ daddu $a0, $s0, $zero
/* 31D8F0 802BDD80 8FBF001C */ lw $ra, 0x1c($sp)
/* 31D8F4 802BDD84 8FB20018 */ lw $s2, 0x18($sp)
/* 31D8F8 802BDD88 8FB10014 */ lw $s1, 0x14($sp)
/* 31D8FC 802BDD8C 8FB00010 */ lw $s0, 0x10($sp)
/* 31D900 802BDD90 0002102B */ sltu $v0, $zero, $v0
/* 31D904 802BDD94 03E00008 */ jr $ra
/* 31D908 802BDD98 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,110 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BDE88_31D9F8
/* 31D9F8 802BDE88 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 31D9FC 802BDE8C AFB10014 */ sw $s1, 0x14($sp)
/* 31DA00 802BDE90 0080882D */ daddu $s1, $a0, $zero
/* 31DA04 802BDE94 AFB00010 */ sw $s0, 0x10($sp)
/* 31DA08 802BDE98 00A0802D */ daddu $s0, $a1, $zero
/* 31DA0C 802BDE9C 2404FFFC */ addiu $a0, $zero, -4
/* 31DA10 802BDEA0 AFBF0024 */ sw $ra, 0x24($sp)
/* 31DA14 802BDEA4 AFB40020 */ sw $s4, 0x20($sp)
/* 31DA18 802BDEA8 AFB3001C */ sw $s3, 0x1c($sp)
/* 31DA1C 802BDEAC 0C00EABB */ jal get_npc_unsafe
/* 31DA20 802BDEB0 AFB20018 */ sw $s2, 0x18($sp)
/* 31DA24 802BDEB4 3C148011 */ lui $s4, %hi(gPartnerActionStatus)
/* 31DA28 802BDEB8 2694EBB0 */ addiu $s4, $s4, %lo(gPartnerActionStatus)
/* 31DA2C 802BDEBC 3C138011 */ lui $s3, %hi(gPlayerStatus)
/* 31DA30 802BDEC0 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus)
/* 31DA34 802BDEC4 12000002 */ beqz $s0, .L802BDED0
/* 31DA38 802BDEC8 0040902D */ daddu $s2, $v0, $zero
/* 31DA3C 802BDECC AE200070 */ sw $zero, 0x70($s1)
.L802BDED0:
/* 31DA40 802BDED0 8E230070 */ lw $v1, 0x70($s1)
/* 31DA44 802BDED4 10600005 */ beqz $v1, .L802BDEEC
/* 31DA48 802BDED8 24020001 */ addiu $v0, $zero, 1
/* 31DA4C 802BDEDC 10620037 */ beq $v1, $v0, .L802BDFBC
/* 31DA50 802BDEE0 0000102D */ daddu $v0, $zero, $zero
/* 31DA54 802BDEE4 080AF7FD */ j .L802BDFF4
/* 31DA58 802BDEE8 00000000 */ nop
.L802BDEEC:
/* 31DA5C 802BDEEC 8E2200B4 */ lw $v0, 0xb4($s1)
/* 31DA60 802BDEF0 14400007 */ bnez $v0, .L802BDF10
/* 31DA64 802BDEF4 00000000 */ nop
/* 31DA68 802BDEF8 0C03ADF3 */ jal partner_kill_ability_script
/* 31DA6C 802BDEFC 00000000 */ nop
/* 31DA70 802BDF00 0C0AF460 */ jal func_802BD180_31CCF0
/* 31DA74 802BDF04 00000000 */ nop
/* 31DA78 802BDF08 080AF7C6 */ j .L802BDF18
/* 31DA7C 802BDF0C 00000000 */ nop
.L802BDF10:
/* 31DA80 802BDF10 0C0AF440 */ jal func_802BD100_31CC70
/* 31DA84 802BDF14 0240202D */ daddu $a0, $s2, $zero
.L802BDF18:
/* 31DA88 802BDF18 C6220088 */ lwc1 $f2, 0x88($s1)
/* 31DA8C 802BDF1C 468010A0 */ cvt.s.w $f2, $f2
/* 31DA90 802BDF20 44061000 */ mfc1 $a2, $f2
/* 31DA94 802BDF24 C6220090 */ lwc1 $f2, 0x90($s1)
/* 31DA98 802BDF28 468010A0 */ cvt.s.w $f2, $f2
/* 31DA9C 802BDF2C 8E220094 */ lw $v0, 0x94($s1)
/* 31DAA0 802BDF30 44071000 */ mfc1 $a3, $f2
/* 31DAA4 802BDF34 AE220074 */ sw $v0, 0x74($s1)
/* 31DAA8 802BDF38 C66C0028 */ lwc1 $f12, 0x28($s3)
/* 31DAAC 802BDF3C 0C00A720 */ jal atan2
/* 31DAB0 802BDF40 C66E0030 */ lwc1 $f14, 0x30($s3)
/* 31DAB4 802BDF44 E6600080 */ swc1 $f0, 0x80($s3)
/* 31DAB8 802BDF48 E66000A0 */ swc1 $f0, 0xa0($s3)
/* 31DABC 802BDF4C 8E240074 */ lw $a0, 0x74($s1)
/* 31DAC0 802BDF50 8E260098 */ lw $a2, 0x98($s1)
/* 31DAC4 802BDF54 44050000 */ mfc1 $a1, $f0
/* 31DAC8 802BDF58 0C0389DE */ jal move_player
/* 31DACC 802BDF5C 00000000 */ nop
/* 31DAD0 802BDF60 0C0AF81C */ jal func_802BE070_31DBE0
/* 31DAD4 802BDF64 00000000 */ nop
/* 31DAD8 802BDF68 8E420000 */ lw $v0, ($s2)
/* 31DADC 802BDF6C 2403FDFF */ addiu $v1, $zero, -0x201
/* 31DAE0 802BDF70 00431024 */ and $v0, $v0, $v1
/* 31DAE4 802BDF74 34420100 */ ori $v0, $v0, 0x100
/* 31DAE8 802BDF78 AE420000 */ sw $v0, ($s2)
/* 31DAEC 802BDF7C 8E620004 */ lw $v0, 4($s3)
/* 31DAF0 802BDF80 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 31DAF4 802BDF84 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 31DAF8 802BDF88 34420003 */ ori $v0, $v0, 3
/* 31DAFC 802BDF8C AE620004 */ sw $v0, 4($s3)
/* 31DB00 802BDF90 24020001 */ addiu $v0, $zero, 1
/* 31DB04 802BDF94 A062007D */ sb $v0, 0x7d($v1)
/* 31DB08 802BDF98 A2820000 */ sb $v0, ($s4)
/* 31DB0C 802BDF9C 24020006 */ addiu $v0, $zero, 6
/* 31DB10 802BDFA0 A2820003 */ sb $v0, 3($s4)
/* 31DB14 802BDFA4 8E220070 */ lw $v0, 0x70($s1)
/* 31DB18 802BDFA8 3C01802C */ lui $at, %hi(D_802BE308)
/* 31DB1C 802BDFAC AC20E308 */ sw $zero, %lo(D_802BE308)($at)
/* 31DB20 802BDFB0 24420001 */ addiu $v0, $v0, 1
/* 31DB24 802BDFB4 080AF7FC */ j .L802BDFF0
/* 31DB28 802BDFB8 AE220070 */ sw $v0, 0x70($s1)
.L802BDFBC:
/* 31DB2C 802BDFBC 0C0AF81C */ jal func_802BE070_31DBE0
/* 31DB30 802BDFC0 00000000 */ nop
/* 31DB34 802BDFC4 8E220074 */ lw $v0, 0x74($s1)
/* 31DB38 802BDFC8 2442FFFF */ addiu $v0, $v0, -1
/* 31DB3C 802BDFCC 14400008 */ bnez $v0, .L802BDFF0
/* 31DB40 802BDFD0 AE220074 */ sw $v0, 0x74($s1)
/* 31DB44 802BDFD4 8E2200B4 */ lw $v0, 0xb4($s1)
/* 31DB48 802BDFD8 10400006 */ beqz $v0, .L802BDFF4
/* 31DB4C 802BDFDC 24020002 */ addiu $v0, $zero, 2
/* 31DB50 802BDFE0 0C03ACC5 */ jal partner_use_ability
/* 31DB54 802BDFE4 00000000 */ nop
/* 31DB58 802BDFE8 080AF7FD */ j .L802BDFF4
/* 31DB5C 802BDFEC 24020002 */ addiu $v0, $zero, 2
.L802BDFF0:
/* 31DB60 802BDFF0 0000102D */ daddu $v0, $zero, $zero
.L802BDFF4:
/* 31DB64 802BDFF4 8FBF0024 */ lw $ra, 0x24($sp)
/* 31DB68 802BDFF8 8FB40020 */ lw $s4, 0x20($sp)
/* 31DB6C 802BDFFC 8FB3001C */ lw $s3, 0x1c($sp)
/* 31DB70 802BE000 8FB20018 */ lw $s2, 0x18($sp)
/* 31DB74 802BE004 8FB10014 */ lw $s1, 0x14($sp)
/* 31DB78 802BE008 8FB00010 */ lw $s0, 0x10($sp)
/* 31DB7C 802BE00C 03E00008 */ jr $ra
/* 31DB80 802BE010 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BE014_31DB84
/* 31DB84 802BE014 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 31DB88 802BE018 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 31DB8C 802BE01C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 31DB90 802BE020 AFBF0010 */ sw $ra, 0x10($sp)
/* 31DB94 802BE024 C4420054 */ lwc1 $f2, 0x54($v0)
/* 31DB98 802BE028 C440005C */ lwc1 $f0, 0x5c($v0)
/* 31DB9C 802BE02C 4602003E */ c.le.s $f0, $f2
/* 31DBA0 802BE030 00000000 */ nop
/* 31DBA4 802BE034 45000003 */ bc1f .L802BE044
/* 31DBA8 802BE038 3C040006 */ lui $a0, 6
/* 31DBAC 802BE03C 080AF817 */ j .L802BE05C
/* 31DBB0 802BE040 34840002 */ ori $a0, $a0, 2
.L802BE044:
/* 31DBB4 802BE044 C4400058 */ lwc1 $f0, 0x58($v0)
/* 31DBB8 802BE048 4602003E */ c.le.s $f0, $f2
/* 31DBBC 802BE04C 00000000 */ nop
/* 31DBC0 802BE050 45000002 */ bc1f .L802BE05C
/* 31DBC4 802BE054 34840007 */ ori $a0, $a0, 7
/* 31DBC8 802BE058 3C040006 */ lui $a0, 6
.L802BE05C:
/* 31DBCC 802BE05C 0C037FBF */ jal suggest_player_anim_clearUnkFlag
/* 31DBD0 802BE060 00000000 */ nop
/* 31DBD4 802BE064 8FBF0010 */ lw $ra, 0x10($sp)
/* 31DBD8 802BE068 03E00008 */ jr $ra
/* 31DBDC 802BE06C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -419,6 +419,7 @@ D_802451F0 = 0x802451F0;
D_80245230 = 0x80245230;
D_802453D8 = 0x802453D8;
D_80245430 = 0x80245430;
D_80245600 = 0x80245600;
D_80245601 = 0x80245601;
D_80245602 = 0x80245602;
D_80245603 = 0x80245603;