match battle partner/move functions (#319)

This commit is contained in:
Alexander Faßbender 2021-07-18 17:21:37 +02:00 committed by GitHub
parent 0538a9220b
commit 2a4966887c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 336 additions and 722 deletions

View File

@ -894,7 +894,7 @@ typedef struct AnimatedMesh {
typedef AnimatedMesh* AnimatedMeshList[MAX_ANIMATED_MESHES];
typedef struct EffectInstanceData {
/* 0x00 */ s32 unk_00;
/* 0x00 */ struct EffectInstanceDataThing* unk_00;
/* 0x04 */ Vec3f pos;
/* 0x10 */ Vec3f rotation;
/* 0x1C */ Vec3f scale;

View File

@ -421,6 +421,12 @@ void fx_land(s32, f32, f32, f32, f32);
EffectInstance* playFX_6F(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_72(s32, f32, f32, f32, f32, f32, f32, s32, s32);
void playFX_26(s32, f32, f32, f32);
EffectInstance* playFX_64(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8);
void playFX_08(f32 arg0, f32 arg1, f32 arg2, f32 arg3);
void playFX_09(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5);
EffectInstance* playFX_5A(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
EffectInstance* playFX_59(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8);
EffectInstance* playFX_58(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
EffectInstance* playFX_0C(f32, f32, f32, f32, f32);
EffectInstance* playFX_23(u32, f32, f32, f32, f32);
@ -471,8 +477,7 @@ void guRotateRPYF(float mf[4][4], f32 x, f32 y, f32 z);
s32 spr_update_sprite(s32 arg0, s32 arg1, f32 arg2);
s32 npc_raycast_down_ahead(s32, f32*, f32*, f32*, f32*, f32, f32);
void sin_cos_rad(f32 rad, f32* outSinTheta, f32* outCosTheta);
void playFX_08(f32 arg0, f32 arg1, f32 arg2, f32 arg3);
void playFX_09(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5);
void* load_asset_by_name(const char* assetName, u32* decompressedSize);

View File

@ -1401,7 +1401,7 @@ void create_part_shadow_by_ref(UNK_TYPE arg0, ActorPart* part) {
part->shadowScale = part->size[0] / 24.0;
}
void playFX_5A(s32, f32 x, f32 y, f32 z, f32 scale /* maybe */, s32);
EffectInstance* playFX_5A(s32, f32 x, f32 y, f32 z, f32 scale /* maybe */, s32);
void playFX_5F(s32, f32 x, f32 y, f32 z, f32 scale /* maybe */, s32);
void remove_player_buffs(PlayerBuff buffs) {

View File

@ -4,6 +4,7 @@
#define NAMESPACE battle_move_power_bounce
extern s32* D_802A2730_745520;
extern s32 D_802A4020;
#include "world/common/UnkMoveFunc1.inc.c"
@ -30,8 +31,14 @@ INCLUDE_ASM(s32, "battle/move/power_bounce/743DF0", func_802A10E4_743ED4);
#endif
INCLUDE_ASM(s32, "battle/move/power_bounce/743DF0", func_802A1194_743F84);
ApiStatus func_802A1194_743F84(ScriptInstance* script, s32 isInitialCall) {
D_802A4020 = 0;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/move/power_bounce/743DF0", func_802A11A4_743F94);
ApiStatus func_802A11A4_743F94(ScriptInstance* script, s32 isInitialCall) {
D_802A4020 += 1;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/move/power_bounce/743DF0", func_802A11C0_743FB0);

View File

@ -4,6 +4,7 @@
#include "battle/battle.h"
extern s32 bMarioIdleAnims[];
extern s32 bMarioHideAnims[];
ApiStatus func_80238000_710EF0(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
@ -24,7 +25,20 @@ ApiStatus func_80238014_710F04(ScriptInstance* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(ApiStatus, "battle/partner/bow", func_8023808C_710F7C, ScriptInstance* script, s32 isInitialCall);
ApiStatus func_8023808C_710F7C(ScriptInstance* script, s32 isInitialCall) {
ActorPart* playerActorPartTable = gBattleStatus.playerActor->partsTable;
gBattleStatus.outtaSightActive = 1;
if (!(gBattleStatus.flags2 & 2)) {
gBattleStatus.outtaSightActive = -1;
}
playerActorPartTable->idleAnimations = &bMarioHideAnims;
gBattleStatus.hustleTurns = 0;
gBattleStatus.flags1 &= ~0x04000000;
return ApiStatus_DONE2;
}
ApiStatus func_802380E4_710FD4(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;

View File

@ -1,20 +1,64 @@
#include "common.h"
extern s32 D_8023D2C8;
extern s32 D_8023D330;
extern s32 D_8023D334;
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80238000_70BD10);
ApiStatus func_80238000_70BD10(ScriptInstance* script, s32 isInitialCall) {
if (isInitialCall) {
D_8023D2C8 = 0;
}
if (D_8023D2C8 == 0) {
btl_set_popup_duration(99);
return ApiStatus_BLOCK;
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/lakilester", func_8023803C_70BD4C);
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80238A6C_70C77C);
ApiStatus func_80238A6C_70C77C(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
f32 xPos = partnerActor->currentPos.x + 5;
f32 yPos = partnerActor->currentPos.y + partnerActor->size.y + 20;
f32 zPos = partnerActor->currentPos.z;
f32 var = rand_int(140) + 10;
f32 var2 = rand_int(80) + 10;
playFX_64(0, xPos, yPos, zPos, var, var2, 20, 1.5f, 30);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80238B50_70C860);
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80238C14_70C924);
ApiStatus func_80238C14_70C924(ScriptInstance* script, s32 isInitialCall) {
s32 effect = gBattleStatus.cloudNineEffect;
if (effect != NULL) {
remove_effect(effect);
gBattleStatus.cloudNineEffect = 0;
gBattleStatus.cloudNineTurnsLeft = 0;
return ApiStatus_DONE2;
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80238C58_70C968);
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80238D48_70CA58);
ApiStatus func_80238D48_70CA58(ScriptInstance* script, s32 isInitialCall) {
if (gBattleStatus.cloudNineTurnsLeft < script->varTable[10]) {
gBattleStatus.cloudNineTurnsLeft = script->varTable[10];
gBattleStatus.cloudNineDodgeChance = 50;
gBattleStatus.unk_43C->unk_0C->unk_1A = gBattleStatus.cloudNineTurnsLeft;
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80238D8C_70CA9C);
@ -24,7 +68,9 @@ INCLUDE_ASM(s32, "battle/partner/lakilester", func_80239140_70CE50);
INCLUDE_ASM(s32, "battle/partner/lakilester", func_80239F84_70DC94);
INCLUDE_ASM(s32, "battle/partner/lakilester", func_8023A19C_70DEAC);
ApiStatus func_8023A19C_70DEAC(ScriptInstance* script, s32 isInitialCall) {
return (D_8023D330 == 0) * 2;
}
ApiStatus func_8023A1B0_70DEC0(ScriptInstance* script, s32 isInitialCall) {
script->varTable[0] = D_8023D334;

View File

@ -1,19 +1,153 @@
#include "common.h"
extern f64 D_8023C060_70BD00;
extern s32 D_8023C070;
#ifdef NON_MATCHING
ApiStatus func_80238000_707CA0(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
ActorPart* partsTable;
f32 temp_f0;
f32 temp_f2;
f32 temp_f4;
f32 temp_f4_2;
f32 temp_f6;
set_goal_pos_to_part(partnerActor + 10, partnerActor->targetActorID, partnerActor->targetPartIndex);
partsTable = get_actor_part(get_actor(partnerActor->targetActorID), partnerActor->targetPartIndex);
temp_f2 = partnerActor->walk.goalPos.x + partsTable->unk_75;
temp_f6 = partnerActor->currentPos.x + 8;
temp_f4 = partnerActor->currentPos.y + 16;
partnerActor->walk.goalPos.x = temp_f2;
partnerActor->walk.currentPos.x = temp_f6;
partnerActor->walk.currentPos.y = temp_f4;
partnerActor->walk.goalPos.y = (f32) (partnerActor->walk.goalPos.y + (f32) partsTable->unk_76);
partnerActor->walk.currentPos.z = (f32) partnerActor->currentPos.z;
temp_f0 = atan2(temp_f6, temp_f4, temp_f2, partnerActor->walk.goalPos.y);
temp_f4_2 = (temp_f0 - 90.0f) * 0.25f;
partnerActor->walk.distance = temp_f0;
partnerActor->rotation.z = temp_f4_2;
if (temp_f4_2 < 0) {
partnerActor->rotation.z = 0;
}
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "battle/partner/sushie", func_80238000_707CA0);
#endif
INCLUDE_ASM(s32, "battle/partner/sushie", func_80238114_707DB4);
INCLUDE_ASM(s32, "battle/partner/sushie", func_802381EC_707E8C);
ApiStatus func_802381EC_707E8C(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
f32 xScale;
f32 yScale;
f32 zScale;
s32 temp_v0;
INCLUDE_ASM(s32, "battle/partner/sushie", func_802382A4_707F44);
if (isInitialCall) {
script->functionTemp[0] = 0;
script->functionTemp[1] = 6;
}
INCLUDE_ASM(s32, "battle/partner/sushie", func_80238328_707FC8);
xScale = partnerActor->scale.x;
yScale = partnerActor->scale.y;
zScale = partnerActor->scale.z;
partnerActor->scale.x = xScale + ((1.0 - xScale) / 3.0);
partnerActor->scale.y = yScale + ((1.0 - yScale) / 3.0);
partnerActor->scale.z = zScale + ((1.0 - zScale) / 3.0);
INCLUDE_ASM(s32, "battle/partner/sushie", func_80238388_708028);
temp_v0 = script->functionTemp[1];
if (temp_v0) {
script->functionTemp[1] = (s32) (temp_v0 - 1);
INCLUDE_ASM(s32, "battle/partner/sushie", func_80238480_708120);
return ApiStatus_BLOCK;
}
partnerActor->scale.x = 1.0f;
partnerActor->scale.y = 1.0f;
partnerActor->scale.z = 1.0f;
return ApiStatus_DONE2;
}
ApiStatus func_802382A4_707F44(ScriptInstance* script, s32 isInitialCall) {
f32 var1 = script->varTable[0];
f32 var2 = script->varTable[1];
add_vec2D_polar(&var1, &var2, 300, atan2(var1, var2, script->varTable[3], script->varTable[4]));
script->varTable[3] = var1;
script->varTable[4] = var2;
return ApiStatus_DONE2;
}
ApiStatus func_80238328_707FC8(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
s32 var = script->varTable[0];
if (var > 0) {
script->varTable[0] = 1;
} else {
script->varTable[0] = 0;
}
script->varTable[15] = 0;
script->varTable[10] = var;
if (battleStatus->waterBlockTurnsLeft < var) {
battleStatus->waterBlockTurnsLeft = var;
battleStatus->waterBlockAmount = 1;
battleStatus->unk_43C->unk_0C->unk_10 = battleStatus->waterBlockTurnsLeft;
}
return ApiStatus_DONE2;
}
ApiStatus func_80238388_708028(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
Actor* playerActor = battleStatus->playerActor;
D_8023C070 = playFX_59(1, partnerActor->currentPos.x - 5.5, partnerActor->currentPos.y + 15.5, partnerActor->currentPos.z + 5, playerActor->currentPos.x, playerActor->currentPos.y, playerActor->currentPos.z, rand_int(10) * D_8023C060_70BD00 + 1, 30);
return ApiStatus_DONE2;
}
ApiStatus func_80238480_708120(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Bytecode* args = script->ptrReadPos;
f32 var1 = get_float_variable(script, *args++);
f32 var2 = get_float_variable(script, *args++);
f32 var3 = get_float_variable(script, *args++);
s32 effect = battleStatus->unk_A0;
if (effect != NULL) {
remove_effect(effect);
}
battleStatus->unk_A0 = playFX_5A(0, var1, var2, var3, 1.5f, 0);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/sushie", func_80238540_7081E0);
INCLUDE_ASM(s32, "battle/partner/sushie", func_80238E30_708AD0);
ApiStatus func_80238E30_708AD0(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
f32 var = (((f64) script->varTable[0] * 3) / 100) + 1;
f32 xScale = partnerActor->scale.x;
f32 yScale = partnerActor->scale.y;
f32 zScale = partnerActor->scale.z;
partnerActor->scale.x = xScale + ((var - xScale) / 3);
partnerActor->scale.y = yScale + ((var - yScale) / 3);
partnerActor->scale.z = zScale + ((var - zScale) / 3);
return ApiStatus_DONE2;
}

View File

@ -2,19 +2,53 @@
#include "common.h"
extern EffectInstance* D_8023C1B4;
extern s32 D_8023C1B8;
extern s32 D_8023C1BC;
extern s32 D_8023C1C4;
extern s32 D_8023C1C8;
extern EffectInstance* D_8023C1CC;
extern EffectInstance* D_8023C1D0;
extern s32* D_80239A0C_7054FC;
INCLUDE_ASM(s32, "battle/partner/watt", func_80238000_703AF0);
INCLUDE_ASM(s32, "battle/partner/watt", func_80238370_703E60);
ApiStatus func_80238370_703E60(ScriptInstance* script, s32 isInitialCall) {
D_8023C1B8 = 0;
if (D_8023C1CC != NULL) {
remove_effect(D_8023C1CC);
}
if (D_8023C1D0 != NULL) {
remove_effect(D_8023C1D0);
}
INCLUDE_ASM(s32, "battle/partner/watt", func_802383C0_703EB0);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/watt", func_802383D4_703EC4);
ApiStatus func_802383C0_703EB0(ScriptInstance* script, s32 isInitialCall) {
D_8023C1BC = 1;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/watt", func_802383E4_703ED4);
ApiStatus func_802383D4_703EC4(ScriptInstance* script, s32 isInitialCall) {
D_8023C1BC = 0;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/watt", func_802383F8_703EE8);
ApiStatus func_802383E4_703ED4(ScriptInstance* script, s32 isInitialCall) {
D_8023C1C4 = 1;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/watt", func_80238408_703EF8);
ApiStatus func_802383F8_703EE8(ScriptInstance* script, s32 isInitialCall) {
D_8023C1C4 = 0;
return ApiStatus_DONE2;
}
ApiStatus func_80238408_703EF8(ScriptInstance* script, s32 isInitialCall) {
D_8023C1C8 = get_variable(script, *script->ptrReadPos);
return ApiStatus_DONE2;
}
#include "common/UnkBackgroundFunc3.inc.c"
@ -22,19 +56,82 @@ INCLUDE_ASM(s32, "battle/partner/watt", func_80238408_703EF8);
INCLUDE_ASM(s32, "battle/partner/watt", func_802384B0_703FA0);
INCLUDE_ASM(s32, "battle/partner/watt", func_80238570_704060);
ApiStatus func_80238570_704060(ScriptInstance* script, s32 isInitialCall) {
s32* var = D_80239A0C_7054FC;
if (var != NULL) {
*var |= 0x10;
}
D_80239A0C_7054FC = NULL;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/watt", func_8023859C_70408C);
INCLUDE_ASM(s32, "battle/partner/watt", func_80238668_704158);
INCLUDE_ASM(s32, "battle/partner/watt", func_80238784_704274);
ApiStatus func_80238784_704274(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* partnerActor = battleStatus->partnerActor;
Actor* targetActor = get_actor(partnerActor->targetActorID);
ActorPart* targetActorPart = get_actor_part(targetActor, partnerActor->targetPartIndex);
s32 statusChance = lookup_status_chance(targetActor->statusTable, 5);
if (targetActor->transStatus == 14) {
statusChance = 0;
}
if (targetActorPart->eventFlags & 0x20) {
statusChance = 0;
}
script->varTable[0] = statusChance;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/watt", func_80238810_704300);
INCLUDE_ASM(s32, "battle/partner/watt", func_80238B3C_70462C);
// Beware this demon because "EffectInstanceDataThing" is one hell of a
// janky solution, but this does match.
ApiStatus func_80238B3C_70462C(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var1 = get_variable(script, *args++);
s32 var2 = get_variable(script, *args++);
s32 var3 = get_variable(script, *args++);
EffectInstanceDataThing* temp_a0;
INCLUDE_ASM(s32, "battle/partner/watt", func_80238C08_7046F8);
D_8023C1B4 = playFX_58(0, var1, var2, var3, 1.0f, 60);
temp_a0 = D_8023C1B4->data;
temp_a0->unk_30 = 2;
return ApiStatus_DONE2;
}
ApiStatus func_80238C08_7046F8(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
s32 var1 = script->varTable[0];
if (var1 > 0) {
script->varTable[0] = 1;
} else {
script->varTable[0] = 0;
}
script->varTable[15] = 0;
script->varTable[10] = var1;
if (battleStatus->turboChargeTurnsLeft < var1) {
battleStatus->turboChargeTurnsLeft = var1;
battleStatus->turboChargeAmount = 1;
battleStatus->unk_43C->unk_0C->unk_24 = battleStatus->turboChargeTurnsLeft;
}
if (gBattleStatus.flags2 & 2) {
gBattleStatus.flags2 |= 0x100;
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "battle/partner/watt", func_80238C84_704774);

View File

@ -2,6 +2,7 @@
#define NAMESPACE battle_star_chill_out
extern s32 D_8029C890;
extern s32 D_802A2CC0;
#include "common/UnkStarFuncs.inc.c"

View File

@ -174,9 +174,9 @@ s32 playFX_4F(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_53(s32, f32, f32, f32); // extern
s32 playFX_55(s32, f32, f32, f32); // extern
s32 playFX_57(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_58(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_59(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_5A(s32, f32, f32, f32, f32, s32); // extern
//s32 playFX_58(s32, f32, f32, f32, f32, s32); // extern
//s32 playFX_59(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
//s32 playFX_5A(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_5B(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_5C(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_5D(s32, f32, f32, f32, f32, s32); // extern
@ -186,7 +186,7 @@ s32 playFX_60(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_61(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_62(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_63(s32, f32, f32, f32, f32, f32, f32, f32, s32, s32); // extern
s32 playFX_64(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
//s32 playFX_64(s32, f32, f32, f32, f32, f32, f32, f32, s32); // extern
s32 playFX_65(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_66(s32, f32, f32, f32, f32, s32); // extern
s32 playFX_67(s32, f32, f32, f32, f32, s32); // extern

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802A1194_743F84
/* 743F84 802A1194 3C01802A */ lui $at, %hi(D_802A4020)
/* 743F88 802A1198 AC204020 */ sw $zero, %lo(D_802A4020)($at)
/* 743F8C 802A119C 03E00008 */ jr $ra
/* 743F90 802A11A0 24020002 */ addiu $v0, $zero, 2

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802A11A4_743F94
/* 743F94 802A11A4 3C03802A */ lui $v1, %hi(D_802A4020)
/* 743F98 802A11A8 24634020 */ addiu $v1, $v1, %lo(D_802A4020)
/* 743F9C 802A11AC 8C620000 */ lw $v0, ($v1)
/* 743FA0 802A11B0 24420001 */ addiu $v0, $v0, 1
/* 743FA4 802A11B4 AC620000 */ sw $v0, ($v1)
/* 743FA8 802A11B8 03E00008 */ jr $ra
/* 743FAC 802A11BC 24020002 */ addiu $v0, $zero, 2

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8023808C_710F7C
/* 710F7C 8023808C 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 710F80 80238090 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 710F84 80238094 8C8200D8 */ lw $v0, 0xd8($a0)
/* 710F88 80238098 8C4501F4 */ lw $a1, 0x1f4($v0)
/* 710F8C 8023809C 8C820004 */ lw $v0, 4($a0)
/* 710F90 802380A0 24030001 */ addiu $v1, $zero, 1
/* 710F94 802380A4 30420002 */ andi $v0, $v0, 2
/* 710F98 802380A8 14400003 */ bnez $v0, .L802380B8
/* 710F9C 802380AC A083009A */ sb $v1, 0x9a($a0)
/* 710FA0 802380B0 2402FFFF */ addiu $v0, $zero, -1
/* 710FA4 802380B4 A082009A */ sb $v0, 0x9a($a0)
.L802380B8:
/* 710FA8 802380B8 3C02FBFF */ lui $v0, 0xfbff
/* 710FAC 802380BC 3C038028 */ lui $v1, %hi(bMarioHideAnims)
/* 710FB0 802380C0 24633370 */ addiu $v1, $v1, %lo(bMarioHideAnims)
/* 710FB4 802380C4 ACA30094 */ sw $v1, 0x94($a1)
/* 710FB8 802380C8 8C830000 */ lw $v1, ($a0)
/* 710FBC 802380CC 3442FFFF */ ori $v0, $v0, 0xffff
/* 710FC0 802380D0 A080008B */ sb $zero, 0x8b($a0)
/* 710FC4 802380D4 00621824 */ and $v1, $v1, $v0
/* 710FC8 802380D8 24020002 */ addiu $v0, $zero, 2
/* 710FCC 802380DC 03E00008 */ jr $ra
/* 710FD0 802380E0 AC830000 */ sw $v1, ($a0)

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238000_70BD10
/* 70BD10 80238000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 70BD14 80238004 10A00003 */ beqz $a1, .L80238014
/* 70BD18 80238008 AFBF0010 */ sw $ra, 0x10($sp)
/* 70BD1C 8023800C 3C018024 */ lui $at, %hi(D_8023D2C8)
/* 70BD20 80238010 AC20D2C8 */ sw $zero, %lo(D_8023D2C8)($at)
.L80238014:
/* 70BD24 80238014 3C028024 */ lui $v0, %hi(D_8023D2C8)
/* 70BD28 80238018 8C42D2C8 */ lw $v0, %lo(D_8023D2C8)($v0)
/* 70BD2C 8023801C 14400004 */ bnez $v0, .L80238030
/* 70BD30 80238020 24020002 */ addiu $v0, $zero, 2
/* 70BD34 80238024 0C093EB1 */ jal btl_set_popup_duration
/* 70BD38 80238028 24040063 */ addiu $a0, $zero, 0x63
/* 70BD3C 8023802C 0000102D */ daddu $v0, $zero, $zero
.L80238030:
/* 70BD40 80238030 8FBF0010 */ lw $ra, 0x10($sp)
/* 70BD44 80238034 03E00008 */ jr $ra
/* 70BD48 80238038 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,61 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238A6C_70C77C
/* 70C77C 80238A6C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 70C780 80238A70 3C03800E */ lui $v1, %hi(gBattleStatus+0xDC)
/* 70C784 80238A74 8C63C14C */ lw $v1, %lo(gBattleStatus+0xDC)($v1)
/* 70C788 80238A78 3C0140A0 */ lui $at, 0x40a0
/* 70C78C 80238A7C 44810000 */ mtc1 $at, $f0
/* 70C790 80238A80 2404008C */ addiu $a0, $zero, 0x8c
/* 70C794 80238A84 AFBF0028 */ sw $ra, 0x28($sp)
/* 70C798 80238A88 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 70C79C 80238A8C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 70C7A0 80238A90 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 70C7A4 80238A94 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 70C7A8 80238A98 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 70C7AC 80238A9C C4780144 */ lwc1 $f24, 0x144($v1)
/* 70C7B0 80238AA0 90620191 */ lbu $v0, 0x191($v1)
/* 70C7B4 80238AA4 4600C600 */ add.s $f24, $f24, $f0
/* 70C7B8 80238AA8 C4760148 */ lwc1 $f22, 0x148($v1)
/* 70C7BC 80238AAC 44820000 */ mtc1 $v0, $f0
/* 70C7C0 80238AB0 00000000 */ nop
/* 70C7C4 80238AB4 46800020 */ cvt.s.w $f0, $f0
/* 70C7C8 80238AB8 4600B580 */ add.s $f22, $f22, $f0
/* 70C7CC 80238ABC 3C0141A0 */ lui $at, 0x41a0
/* 70C7D0 80238AC0 4481D000 */ mtc1 $at, $f26
/* 70C7D4 80238AC4 C47C014C */ lwc1 $f28, 0x14c($v1)
/* 70C7D8 80238AC8 0C00A67F */ jal rand_int
/* 70C7DC 80238ACC 461AB580 */ add.s $f22, $f22, $f26
/* 70C7E0 80238AD0 2442000A */ addiu $v0, $v0, 0xa
/* 70C7E4 80238AD4 4482A000 */ mtc1 $v0, $f20
/* 70C7E8 80238AD8 00000000 */ nop
/* 70C7EC 80238ADC 4680A520 */ cvt.s.w $f20, $f20
/* 70C7F0 80238AE0 0C00A67F */ jal rand_int
/* 70C7F4 80238AE4 24040050 */ addiu $a0, $zero, 0x50
/* 70C7F8 80238AE8 0000202D */ daddu $a0, $zero, $zero
/* 70C7FC 80238AEC 2442000A */ addiu $v0, $v0, 0xa
/* 70C800 80238AF0 44820000 */ mtc1 $v0, $f0
/* 70C804 80238AF4 00000000 */ nop
/* 70C808 80238AF8 46800020 */ cvt.s.w $f0, $f0
/* 70C80C 80238AFC E7A00014 */ swc1 $f0, 0x14($sp)
/* 70C810 80238B00 3C013FC0 */ lui $at, 0x3fc0
/* 70C814 80238B04 44810000 */ mtc1 $at, $f0
/* 70C818 80238B08 4405C000 */ mfc1 $a1, $f24
/* 70C81C 80238B0C 4407E000 */ mfc1 $a3, $f28
/* 70C820 80238B10 4406B000 */ mfc1 $a2, $f22
/* 70C824 80238B14 2402001E */ addiu $v0, $zero, 0x1e
/* 70C828 80238B18 E7B40010 */ swc1 $f20, 0x10($sp)
/* 70C82C 80238B1C E7BA0018 */ swc1 $f26, 0x18($sp)
/* 70C830 80238B20 AFA20020 */ sw $v0, 0x20($sp)
/* 70C834 80238B24 0C01C784 */ jal playFX_64
/* 70C838 80238B28 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 70C83C 80238B2C 8FBF0028 */ lw $ra, 0x28($sp)
/* 70C840 80238B30 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 70C844 80238B34 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 70C848 80238B38 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 70C84C 80238B3C D7B60038 */ ldc1 $f22, 0x38($sp)
/* 70C850 80238B40 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 70C854 80238B44 24020002 */ addiu $v0, $zero, 2
/* 70C858 80238B48 03E00008 */ jr $ra
/* 70C85C 80238B4C 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238C14_70C924
/* 70C924 80238C14 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 70C928 80238C18 AFB00010 */ sw $s0, 0x10($sp)
/* 70C92C 80238C1C 3C10800E */ lui $s0, %hi(gBattleStatus)
/* 70C930 80238C20 2610C070 */ addiu $s0, $s0, %lo(gBattleStatus)
/* 70C934 80238C24 AFBF0014 */ sw $ra, 0x14($sp)
/* 70C938 80238C28 8E0400A8 */ lw $a0, 0xa8($s0)
/* 70C93C 80238C2C 10800006 */ beqz $a0, .L80238C48
/* 70C940 80238C30 24020002 */ addiu $v0, $zero, 2
/* 70C944 80238C34 0C016914 */ jal remove_effect
/* 70C948 80238C38 00000000 */ nop
/* 70C94C 80238C3C 24020002 */ addiu $v0, $zero, 2
/* 70C950 80238C40 AE0000A8 */ sw $zero, 0xa8($s0)
/* 70C954 80238C44 A20000A4 */ sb $zero, 0xa4($s0)
.L80238C48:
/* 70C958 80238C48 8FBF0014 */ lw $ra, 0x14($sp)
/* 70C95C 80238C4C 8FB00010 */ lw $s0, 0x10($sp)
/* 70C960 80238C50 03E00008 */ jr $ra
/* 70C964 80238C54 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_80238D48_70CA58
/* 70CA58 80238D48 3C05800E */ lui $a1, %hi(gBattleStatus)
/* 70CA5C 80238D4C 24A5C070 */ addiu $a1, $a1, %lo(gBattleStatus)
/* 70CA60 80238D50 80A200A4 */ lb $v0, 0xa4($a1)
/* 70CA64 80238D54 8C8300AC */ lw $v1, 0xac($a0)
/* 70CA68 80238D58 0043102A */ slt $v0, $v0, $v1
/* 70CA6C 80238D5C 10400009 */ beqz $v0, .L80238D84
/* 70CA70 80238D60 24020032 */ addiu $v0, $zero, 0x32
/* 70CA74 80238D64 908300AF */ lbu $v1, 0xaf($a0)
/* 70CA78 80238D68 A0A200A5 */ sb $v0, 0xa5($a1)
/* 70CA7C 80238D6C 8CA2043C */ lw $v0, 0x43c($a1)
/* 70CA80 80238D70 A0A300A4 */ sb $v1, 0xa4($a1)
/* 70CA84 80238D74 00031E00 */ sll $v1, $v1, 0x18
/* 70CA88 80238D78 8C42000C */ lw $v0, 0xc($v0)
/* 70CA8C 80238D7C 00031E03 */ sra $v1, $v1, 0x18
/* 70CA90 80238D80 A443001A */ sh $v1, 0x1a($v0)
.L80238D84:
/* 70CA94 80238D84 03E00008 */ jr $ra
/* 70CA98 80238D88 24020002 */ addiu $v0, $zero, 2

View File

@ -1,9 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8023A19C_70DEAC
/* 70DEAC 8023A19C 3C028024 */ lui $v0, %hi(D_8023D330)
/* 70DEB0 8023A1A0 8C42D330 */ lw $v0, %lo(D_8023D330)($v0)
/* 70DEB4 8023A1A4 2C420001 */ sltiu $v0, $v0, 1
/* 70DEB8 8023A1A8 03E00008 */ jr $ra
/* 70DEBC 8023A1AC 00021040 */ sll $v0, $v0, 1

View File

@ -1,52 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802381EC_707E8C
/* 707E8C 802381EC 3C03800E */ lui $v1, %hi(gBattleStatus+0xDC)
/* 707E90 802381F0 8C63C14C */ lw $v1, %lo(gBattleStatus+0xDC)($v1)
/* 707E94 802381F4 10A00003 */ beqz $a1, .L80238204
/* 707E98 802381F8 24020006 */ addiu $v0, $zero, 6
/* 707E9C 802381FC AC800070 */ sw $zero, 0x70($a0)
/* 707EA0 80238200 AC820074 */ sw $v0, 0x74($a0)
.L80238204:
/* 707EA4 80238204 C4640170 */ lwc1 $f4, 0x170($v1)
/* 707EA8 80238208 3C013FF0 */ lui $at, 0x3ff0
/* 707EAC 8023820C 44814800 */ mtc1 $at, $f9
/* 707EB0 80238210 44804000 */ mtc1 $zero, $f8
/* 707EB4 80238214 C4620174 */ lwc1 $f2, 0x174($v1)
/* 707EB8 80238218 46002121 */ cvt.d.s $f4, $f4
/* 707EBC 8023821C 46244001 */ sub.d $f0, $f8, $f4
/* 707EC0 80238220 3C014008 */ lui $at, 0x4008
/* 707EC4 80238224 44815800 */ mtc1 $at, $f11
/* 707EC8 80238228 44805000 */ mtc1 $zero, $f10
/* 707ECC 8023822C 460010A1 */ cvt.d.s $f2, $f2
/* 707ED0 80238230 46224181 */ sub.d $f6, $f8, $f2
/* 707ED4 80238234 462A0003 */ div.d $f0, $f0, $f10
/* 707ED8 80238238 46202100 */ add.d $f4, $f4, $f0
/* 707EDC 8023823C 462A3183 */ div.d $f6, $f6, $f10
/* 707EE0 80238240 C4600178 */ lwc1 $f0, 0x178($v1)
/* 707EE4 80238244 46261080 */ add.d $f2, $f2, $f6
/* 707EE8 80238248 46000021 */ cvt.d.s $f0, $f0
/* 707EEC 8023824C 46204201 */ sub.d $f8, $f8, $f0
/* 707EF0 80238250 46202120 */ cvt.s.d $f4, $f4
/* 707EF4 80238254 462010A0 */ cvt.s.d $f2, $f2
/* 707EF8 80238258 462A4203 */ div.d $f8, $f8, $f10
/* 707EFC 8023825C 46280000 */ add.d $f0, $f0, $f8
/* 707F00 80238260 E4640170 */ swc1 $f4, 0x170($v1)
/* 707F04 80238264 E4620174 */ swc1 $f2, 0x174($v1)
/* 707F08 80238268 46200020 */ cvt.s.d $f0, $f0
/* 707F0C 8023826C E4600178 */ swc1 $f0, 0x178($v1)
/* 707F10 80238270 8C820074 */ lw $v0, 0x74($a0)
/* 707F14 80238274 14400008 */ bnez $v0, .L80238298
/* 707F18 80238278 2442FFFF */ addiu $v0, $v0, -1
/* 707F1C 8023827C 3C013F80 */ lui $at, 0x3f80
/* 707F20 80238280 44810000 */ mtc1 $at, $f0
/* 707F24 80238284 24020002 */ addiu $v0, $zero, 2
/* 707F28 80238288 E4600170 */ swc1 $f0, 0x170($v1)
/* 707F2C 8023828C E4600174 */ swc1 $f0, 0x174($v1)
/* 707F30 80238290 03E00008 */ jr $ra
/* 707F34 80238294 E4600178 */ swc1 $f0, 0x178($v1)
.L80238298:
/* 707F38 80238298 AC820074 */ sw $v0, 0x74($a0)
/* 707F3C 8023829C 03E00008 */ jr $ra
/* 707F40 802382A0 0000102D */ daddu $v0, $zero, $zero

View File

@ -1,37 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802382A4_707F44
/* 707F44 802382A4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 707F48 802382A8 AFB00018 */ sw $s0, 0x18($sp)
/* 707F4C 802382AC 0080802D */ daddu $s0, $a0, $zero
/* 707F50 802382B0 AFBF001C */ sw $ra, 0x1c($sp)
/* 707F54 802382B4 C6040090 */ lwc1 $f4, 0x90($s0)
/* 707F58 802382B8 46802120 */ cvt.s.w $f4, $f4
/* 707F5C 802382BC 44062000 */ mfc1 $a2, $f4
/* 707F60 802382C0 C6040094 */ lwc1 $f4, 0x94($s0)
/* 707F64 802382C4 46802120 */ cvt.s.w $f4, $f4
/* 707F68 802382C8 44072000 */ mfc1 $a3, $f4
/* 707F6C 802382CC C60C0084 */ lwc1 $f12, 0x84($s0)
/* 707F70 802382D0 46806320 */ cvt.s.w $f12, $f12
/* 707F74 802382D4 E7AC0010 */ swc1 $f12, 0x10($sp)
/* 707F78 802382D8 C60E0088 */ lwc1 $f14, 0x88($s0)
/* 707F7C 802382DC 468073A0 */ cvt.s.w $f14, $f14
/* 707F80 802382E0 0C00A720 */ jal atan2
/* 707F84 802382E4 E7AE0014 */ swc1 $f14, 0x14($sp)
/* 707F88 802382E8 27A40010 */ addiu $a0, $sp, 0x10
/* 707F8C 802382EC 3C064396 */ lui $a2, 0x4396
/* 707F90 802382F0 44070000 */ mfc1 $a3, $f0
/* 707F94 802382F4 0C00A7E7 */ jal add_vec2D_polar
/* 707F98 802382F8 27A50014 */ addiu $a1, $sp, 0x14
/* 707F9C 802382FC C7A00010 */ lwc1 $f0, 0x10($sp)
/* 707FA0 80238300 C7A20014 */ lwc1 $f2, 0x14($sp)
/* 707FA4 80238304 4600010D */ trunc.w.s $f4, $f0
/* 707FA8 80238308 E6040090 */ swc1 $f4, 0x90($s0)
/* 707FAC 8023830C 4600110D */ trunc.w.s $f4, $f2
/* 707FB0 80238310 E6040094 */ swc1 $f4, 0x94($s0)
/* 707FB4 80238314 8FBF001C */ lw $ra, 0x1c($sp)
/* 707FB8 80238318 8FB00018 */ lw $s0, 0x18($sp)
/* 707FBC 8023831C 24020002 */ addiu $v0, $zero, 2
/* 707FC0 80238320 03E00008 */ jr $ra
/* 707FC4 80238324 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238328_707FC8
/* 707FC8 80238328 8C830084 */ lw $v1, 0x84($a0)
/* 707FCC 8023832C 3C05800E */ lui $a1, %hi(gBattleStatus)
/* 707FD0 80238330 24A5C070 */ addiu $a1, $a1, %lo(gBattleStatus)
/* 707FD4 80238334 18600003 */ blez $v1, .L80238344
/* 707FD8 80238338 24020001 */ addiu $v0, $zero, 1
/* 707FDC 8023833C 0808E0D2 */ j .L80238348
/* 707FE0 80238340 AC820084 */ sw $v0, 0x84($a0)
.L80238344:
/* 707FE4 80238344 AC800084 */ sw $zero, 0x84($a0)
.L80238348:
/* 707FE8 80238348 AC8000C0 */ sw $zero, 0xc0($a0)
/* 707FEC 8023834C AC8300AC */ sw $v1, 0xac($a0)
/* 707FF0 80238350 80A2009D */ lb $v0, 0x9d($a1)
/* 707FF4 80238354 0043102A */ slt $v0, $v0, $v1
/* 707FF8 80238358 10400009 */ beqz $v0, .L80238380
/* 707FFC 8023835C 24020001 */ addiu $v0, $zero, 1
/* 708000 80238360 A0A3009D */ sb $v1, 0x9d($a1)
/* 708004 80238364 A0A2009E */ sb $v0, 0x9e($a1)
/* 708008 80238368 0060102D */ daddu $v0, $v1, $zero
/* 70800C 8023836C 8CA3043C */ lw $v1, 0x43c($a1)
/* 708010 80238370 00021600 */ sll $v0, $v0, 0x18
/* 708014 80238374 8C63000C */ lw $v1, 0xc($v1)
/* 708018 80238378 00021603 */ sra $v0, $v0, 0x18
/* 70801C 8023837C A4620010 */ sh $v0, 0x10($v1)
.L80238380:
/* 708020 80238380 03E00008 */ jr $ra
/* 708024 80238384 24020002 */ addiu $v0, $zero, 2

View File

@ -1,66 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238388_708028
/* 708028 80238388 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 70802C 8023838C 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 708030 80238390 2442C070 */ addiu $v0, $v0, %lo(gBattleStatus)
/* 708034 80238394 AFBF0030 */ sw $ra, 0x30($sp)
/* 708038 80238398 AFB1002C */ sw $s1, 0x2c($sp)
/* 70803C 8023839C AFB00028 */ sw $s0, 0x28($sp)
/* 708040 802383A0 8C5000DC */ lw $s0, 0xdc($v0)
/* 708044 802383A4 8C5100D8 */ lw $s1, 0xd8($v0)
/* 708048 802383A8 0C00A67F */ jal rand_int
/* 70804C 802383AC 2404000A */ addiu $a0, $zero, 0xa
/* 708050 802383B0 3C018024 */ lui $at, %hi(D_8023C060_70BD00)
/* 708054 802383B4 D422C060 */ ldc1 $f2, %lo(D_8023C060_70BD00)($at)
/* 708058 802383B8 C6200144 */ lwc1 $f0, 0x144($s1)
/* 70805C 802383BC C6040144 */ lwc1 $f4, 0x144($s0)
/* 708060 802383C0 C6060148 */ lwc1 $f6, 0x148($s0)
/* 708064 802383C4 C60A014C */ lwc1 $f10, 0x14c($s0)
/* 708068 802383C8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 70806C 802383CC 44820000 */ mtc1 $v0, $f0
/* 708070 802383D0 00000000 */ nop
/* 708074 802383D4 46800021 */ cvt.d.w $f0, $f0
/* 708078 802383D8 46220002 */ mul.d $f0, $f0, $f2
/* 70807C 802383DC 00000000 */ nop
/* 708080 802383E0 24040001 */ addiu $a0, $zero, 1
/* 708084 802383E4 C6220148 */ lwc1 $f2, 0x148($s1)
/* 708088 802383E8 2402001E */ addiu $v0, $zero, 0x1e
/* 70808C 802383EC E7A20014 */ swc1 $f2, 0x14($sp)
/* 708090 802383F0 3C013FF0 */ lui $at, 0x3ff0
/* 708094 802383F4 44811800 */ mtc1 $at, $f3
/* 708098 802383F8 44801000 */ mtc1 $zero, $f2
/* 70809C 802383FC 46002121 */ cvt.d.s $f4, $f4
/* 7080A0 80238400 46220000 */ add.d $f0, $f0, $f2
/* 7080A4 80238404 3C014016 */ lui $at, 0x4016
/* 7080A8 80238408 44811800 */ mtc1 $at, $f3
/* 7080AC 8023840C 44801000 */ mtc1 $zero, $f2
/* 7080B0 80238410 C628014C */ lwc1 $f8, 0x14c($s1)
/* 7080B4 80238414 46222101 */ sub.d $f4, $f4, $f2
/* 7080B8 80238418 3C01402F */ lui $at, 0x402f
/* 7080BC 8023841C 44811800 */ mtc1 $at, $f3
/* 7080C0 80238420 44801000 */ mtc1 $zero, $f2
/* 7080C4 80238424 460031A1 */ cvt.d.s $f6, $f6
/* 7080C8 80238428 AFA20020 */ sw $v0, 0x20($sp)
/* 7080CC 8023842C E7A80018 */ swc1 $f8, 0x18($sp)
/* 7080D0 80238430 46223180 */ add.d $f6, $f6, $f2
/* 7080D4 80238434 3C0140A0 */ lui $at, 0x40a0
/* 7080D8 80238438 44811000 */ mtc1 $at, $f2
/* 7080DC 8023843C 46202120 */ cvt.s.d $f4, $f4
/* 7080E0 80238440 46025280 */ add.s $f10, $f10, $f2
/* 7080E4 80238444 44052000 */ mfc1 $a1, $f4
/* 7080E8 80238448 462031A0 */ cvt.s.d $f6, $f6
/* 7080EC 8023844C 44063000 */ mfc1 $a2, $f6
/* 7080F0 80238450 44075000 */ mfc1 $a3, $f10
/* 7080F4 80238454 46200020 */ cvt.s.d $f0, $f0
/* 7080F8 80238458 0C01C67C */ jal playFX_59
/* 7080FC 8023845C E7A0001C */ swc1 $f0, 0x1c($sp)
/* 708100 80238460 8FBF0030 */ lw $ra, 0x30($sp)
/* 708104 80238464 8FB1002C */ lw $s1, 0x2c($sp)
/* 708108 80238468 8FB00028 */ lw $s0, 0x28($sp)
/* 70810C 8023846C 3C018024 */ lui $at, %hi(D_8023C070)
/* 708110 80238470 AC22C070 */ sw $v0, %lo(D_8023C070)($at)
/* 708114 80238474 24020002 */ addiu $v0, $zero, 2
/* 708118 80238478 03E00008 */ jr $ra
/* 70811C 8023847C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,53 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238480_708120
/* 708120 80238480 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 708124 80238484 AFB1001C */ sw $s1, 0x1c($sp)
/* 708128 80238488 0080882D */ daddu $s1, $a0, $zero
/* 70812C 8023848C AFBF0020 */ sw $ra, 0x20($sp)
/* 708130 80238490 AFB00018 */ sw $s0, 0x18($sp)
/* 708134 80238494 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 708138 80238498 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 70813C 8023849C F7B40028 */ sdc1 $f20, 0x28($sp)
/* 708140 802384A0 8E30000C */ lw $s0, 0xc($s1)
/* 708144 802384A4 8E050000 */ lw $a1, ($s0)
/* 708148 802384A8 0C0B210B */ jal get_float_variable
/* 70814C 802384AC 26100004 */ addiu $s0, $s0, 4
/* 708150 802384B0 8E050000 */ lw $a1, ($s0)
/* 708154 802384B4 26100004 */ addiu $s0, $s0, 4
/* 708158 802384B8 0220202D */ daddu $a0, $s1, $zero
/* 70815C 802384BC 0C0B210B */ jal get_float_variable
/* 708160 802384C0 46000606 */ mov.s $f24, $f0
/* 708164 802384C4 0220202D */ daddu $a0, $s1, $zero
/* 708168 802384C8 8E050000 */ lw $a1, ($s0)
/* 70816C 802384CC 0C0B210B */ jal get_float_variable
/* 708170 802384D0 46000586 */ mov.s $f22, $f0
/* 708174 802384D4 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 708178 802384D8 2442C070 */ addiu $v0, $v0, %lo(gBattleStatus)
/* 70817C 802384DC 0040802D */ daddu $s0, $v0, $zero
/* 708180 802384E0 8E0400A0 */ lw $a0, 0xa0($s0)
/* 708184 802384E4 10800003 */ beqz $a0, .L802384F4
/* 708188 802384E8 46000506 */ mov.s $f20, $f0
/* 70818C 802384EC 0C016914 */ jal remove_effect
/* 708190 802384F0 00000000 */ nop
.L802384F4:
/* 708194 802384F4 4405C000 */ mfc1 $a1, $f24
/* 708198 802384F8 3C013FC0 */ lui $at, 0x3fc0
/* 70819C 802384FC 44810000 */ mtc1 $at, $f0
/* 7081A0 80238500 4406B000 */ mfc1 $a2, $f22
/* 7081A4 80238504 4407A000 */ mfc1 $a3, $f20
/* 7081A8 80238508 0000202D */ daddu $a0, $zero, $zero
/* 7081AC 8023850C AFA00014 */ sw $zero, 0x14($sp)
/* 7081B0 80238510 0C01C694 */ jal playFX_5A
/* 7081B4 80238514 E7A00010 */ swc1 $f0, 0x10($sp)
/* 7081B8 80238518 AE0200A0 */ sw $v0, 0xa0($s0)
/* 7081BC 8023851C 8FBF0020 */ lw $ra, 0x20($sp)
/* 7081C0 80238520 8FB1001C */ lw $s1, 0x1c($sp)
/* 7081C4 80238524 8FB00018 */ lw $s0, 0x18($sp)
/* 7081C8 80238528 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 7081CC 8023852C D7B60030 */ ldc1 $f22, 0x30($sp)
/* 7081D0 80238530 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 7081D4 80238534 24020002 */ addiu $v0, $zero, 2
/* 7081D8 80238538 03E00008 */ jr $ra
/* 7081DC 8023853C 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,44 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238E30_708AD0
/* 708AD0 80238E30 3C014008 */ lui $at, 0x4008
/* 708AD4 80238E34 44811800 */ mtc1 $at, $f3
/* 708AD8 80238E38 44801000 */ mtc1 $zero, $f2
/* 708ADC 80238E3C C4800084 */ lwc1 $f0, 0x84($a0)
/* 708AE0 80238E40 46800021 */ cvt.d.w $f0, $f0
/* 708AE4 80238E44 46220002 */ mul.d $f0, $f0, $f2
/* 708AE8 80238E48 00000000 */ nop
/* 708AEC 80238E4C 3C014059 */ lui $at, 0x4059
/* 708AF0 80238E50 44811800 */ mtc1 $at, $f3
/* 708AF4 80238E54 44801000 */ mtc1 $zero, $f2
/* 708AF8 80238E58 00000000 */ nop
/* 708AFC 80238E5C 46220003 */ div.d $f0, $f0, $f2
/* 708B00 80238E60 3C013FF0 */ lui $at, 0x3ff0
/* 708B04 80238E64 44811800 */ mtc1 $at, $f3
/* 708B08 80238E68 44801000 */ mtc1 $zero, $f2
/* 708B0C 80238E6C 3C02800E */ lui $v0, %hi(gBattleStatus+0xDC)
/* 708B10 80238E70 8C42C14C */ lw $v0, %lo(gBattleStatus+0xDC)($v0)
/* 708B14 80238E74 46220000 */ add.d $f0, $f0, $f2
/* 708B18 80238E78 C44A0170 */ lwc1 $f10, 0x170($v0)
/* 708B1C 80238E7C 46200020 */ cvt.s.d $f0, $f0
/* 708B20 80238E80 460A0081 */ sub.s $f2, $f0, $f10
/* 708B24 80238E84 3C014040 */ lui $at, 0x4040
/* 708B28 80238E88 44814000 */ mtc1 $at, $f8
/* 708B2C 80238E8C 00000000 */ nop
/* 708B30 80238E90 46081083 */ div.s $f2, $f2, $f8
/* 708B34 80238E94 46025280 */ add.s $f10, $f10, $f2
/* 708B38 80238E98 C4460174 */ lwc1 $f6, 0x174($v0)
/* 708B3C 80238E9C 46060081 */ sub.s $f2, $f0, $f6
/* 708B40 80238EA0 C4440178 */ lwc1 $f4, 0x178($v0)
/* 708B44 80238EA4 46040001 */ sub.s $f0, $f0, $f4
/* 708B48 80238EA8 46081083 */ div.s $f2, $f2, $f8
/* 708B4C 80238EAC 46023180 */ add.s $f6, $f6, $f2
/* 708B50 80238EB0 46080003 */ div.s $f0, $f0, $f8
/* 708B54 80238EB4 46002100 */ add.s $f4, $f4, $f0
/* 708B58 80238EB8 E44A0170 */ swc1 $f10, 0x170($v0)
/* 708B5C 80238EBC E4460174 */ swc1 $f6, 0x174($v0)
/* 708B60 80238EC0 E4440178 */ swc1 $f4, 0x178($v0)
/* 708B64 80238EC4 03E00008 */ jr $ra
/* 708B68 80238EC8 24020002 */ addiu $v0, $zero, 2
/* 708B6C 80238ECC 00000000 */ nop

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238370_703E60
/* 703E60 80238370 3C048024 */ lui $a0, %hi(D_8023C1CC)
/* 703E64 80238374 8C84C1CC */ lw $a0, %lo(D_8023C1CC)($a0)
/* 703E68 80238378 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 703E6C 8023837C AFBF0010 */ sw $ra, 0x10($sp)
/* 703E70 80238380 3C018024 */ lui $at, %hi(D_8023C1B8)
/* 703E74 80238384 AC20C1B8 */ sw $zero, %lo(D_8023C1B8)($at)
/* 703E78 80238388 10800003 */ beqz $a0, .L80238398
/* 703E7C 8023838C 00000000 */ nop
/* 703E80 80238390 0C016914 */ jal remove_effect
/* 703E84 80238394 00000000 */ nop
.L80238398:
/* 703E88 80238398 3C048024 */ lui $a0, %hi(D_8023C1D0)
/* 703E8C 8023839C 8C84C1D0 */ lw $a0, %lo(D_8023C1D0)($a0)
/* 703E90 802383A0 10800003 */ beqz $a0, .L802383B0
/* 703E94 802383A4 00000000 */ nop
/* 703E98 802383A8 0C016914 */ jal remove_effect
/* 703E9C 802383AC 00000000 */ nop
.L802383B0:
/* 703EA0 802383B0 8FBF0010 */ lw $ra, 0x10($sp)
/* 703EA4 802383B4 24020002 */ addiu $v0, $zero, 2
/* 703EA8 802383B8 03E00008 */ jr $ra
/* 703EAC 802383BC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,9 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802383C0_703EB0
/* 703EB0 802383C0 24020001 */ addiu $v0, $zero, 1
/* 703EB4 802383C4 3C018024 */ lui $at, %hi(D_8023C1BC)
/* 703EB8 802383C8 AC22C1BC */ sw $v0, %lo(D_8023C1BC)($at)
/* 703EBC 802383CC 03E00008 */ jr $ra
/* 703EC0 802383D0 24020002 */ addiu $v0, $zero, 2

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802383D4_703EC4
/* 703EC4 802383D4 3C018024 */ lui $at, %hi(D_8023C1BC)
/* 703EC8 802383D8 AC20C1BC */ sw $zero, %lo(D_8023C1BC)($at)
/* 703ECC 802383DC 03E00008 */ jr $ra
/* 703ED0 802383E0 24020002 */ addiu $v0, $zero, 2

View File

@ -1,9 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802383E4_703ED4
/* 703ED4 802383E4 24020001 */ addiu $v0, $zero, 1
/* 703ED8 802383E8 3C018024 */ lui $at, %hi(D_8023C1C4)
/* 703EDC 802383EC AC22C1C4 */ sw $v0, %lo(D_8023C1C4)($at)
/* 703EE0 802383F0 03E00008 */ jr $ra
/* 703EE4 802383F4 24020002 */ addiu $v0, $zero, 2

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802383F8_703EE8
/* 703EE8 802383F8 3C018024 */ lui $at, %hi(D_8023C1C4)
/* 703EEC 802383FC AC20C1C4 */ sw $zero, %lo(D_8023C1C4)($at)
/* 703EF0 80238400 03E00008 */ jr $ra
/* 703EF4 80238404 24020002 */ addiu $v0, $zero, 2

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238408_703EF8
/* 703EF8 80238408 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 703EFC 8023840C AFBF0010 */ sw $ra, 0x10($sp)
/* 703F00 80238410 8C82000C */ lw $v0, 0xc($a0)
/* 703F04 80238414 0C0B1EAF */ jal get_variable
/* 703F08 80238418 8C450000 */ lw $a1, ($v0)
/* 703F0C 8023841C 8FBF0010 */ lw $ra, 0x10($sp)
/* 703F10 80238420 3C018024 */ lui $at, %hi(D_8023C1C8)
/* 703F14 80238424 AC22C1C8 */ sw $v0, %lo(D_8023C1C8)($at)
/* 703F18 80238428 24020002 */ addiu $v0, $zero, 2
/* 703F1C 8023842C 03E00008 */ jr $ra
/* 703F20 80238430 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238570_704060
/* 704060 80238570 3C048024 */ lui $a0, %hi(D_80239A0C_7054FC)
/* 704064 80238574 24849A0C */ addiu $a0, $a0, %lo(D_80239A0C_7054FC)
/* 704068 80238578 8C830000 */ lw $v1, ($a0)
/* 70406C 8023857C 50600005 */ beql $v1, $zero, .L80238594
/* 704070 80238580 AC800000 */ sw $zero, ($a0)
/* 704074 80238584 8C620000 */ lw $v0, ($v1)
/* 704078 80238588 34420010 */ ori $v0, $v0, 0x10
/* 70407C 8023858C AC620000 */ sw $v0, ($v1)
/* 704080 80238590 AC800000 */ sw $zero, ($a0)
.L80238594:
/* 704084 80238594 03E00008 */ jr $ra
/* 704088 80238598 24020002 */ addiu $v0, $zero, 2

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238784_704274
/* 704274 80238784 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 704278 80238788 AFB00010 */ sw $s0, 0x10($sp)
/* 70427C 8023878C 3C10800E */ lui $s0, %hi(gBattleStatus+0xDC)
/* 704280 80238790 8E10C14C */ lw $s0, %lo(gBattleStatus+0xDC)($s0)
/* 704284 80238794 AFB20018 */ sw $s2, 0x18($sp)
/* 704288 80238798 0080902D */ daddu $s2, $a0, $zero
/* 70428C 8023879C AFBF001C */ sw $ra, 0x1c($sp)
/* 704290 802387A0 AFB10014 */ sw $s1, 0x14($sp)
/* 704294 802387A4 0C09A75B */ jal get_actor
/* 704298 802387A8 86040428 */ lh $a0, 0x428($s0)
/* 70429C 802387AC 82050426 */ lb $a1, 0x426($s0)
/* 7042A0 802387B0 0040802D */ daddu $s0, $v0, $zero
/* 7042A4 802387B4 0C099117 */ jal get_actor_part
/* 7042A8 802387B8 0200202D */ daddu $a0, $s0, $zero
/* 7042AC 802387BC 24050005 */ addiu $a1, $zero, 5
/* 7042B0 802387C0 8E04020C */ lw $a0, 0x20c($s0)
/* 7042B4 802387C4 0C0997A6 */ jal lookup_status_chance
/* 7042B8 802387C8 0040882D */ daddu $s1, $v0, $zero
/* 7042BC 802387CC 0040202D */ daddu $a0, $v0, $zero
/* 7042C0 802387D0 82030218 */ lb $v1, 0x218($s0)
/* 7042C4 802387D4 2402000E */ addiu $v0, $zero, 0xe
/* 7042C8 802387D8 50620001 */ beql $v1, $v0, .L802387E0
/* 7042CC 802387DC 0000202D */ daddu $a0, $zero, $zero
.L802387E0:
/* 7042D0 802387E0 8E22007C */ lw $v0, 0x7c($s1)
/* 7042D4 802387E4 30420020 */ andi $v0, $v0, 0x20
/* 7042D8 802387E8 54400001 */ bnel $v0, $zero, .L802387F0
/* 7042DC 802387EC 0000202D */ daddu $a0, $zero, $zero
.L802387F0:
/* 7042E0 802387F0 AE440084 */ sw $a0, 0x84($s2)
/* 7042E4 802387F4 8FBF001C */ lw $ra, 0x1c($sp)
/* 7042E8 802387F8 8FB20018 */ lw $s2, 0x18($sp)
/* 7042EC 802387FC 8FB10014 */ lw $s1, 0x14($sp)
/* 7042F0 80238800 8FB00010 */ lw $s0, 0x10($sp)
/* 7042F4 80238804 24020002 */ addiu $v0, $zero, 2
/* 7042F8 80238808 03E00008 */ jr $ra
/* 7042FC 8023880C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,55 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80238B3C_70462C
/* 70462C 80238B3C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 704630 80238B40 AFB1001C */ sw $s1, 0x1c($sp)
/* 704634 80238B44 0080882D */ daddu $s1, $a0, $zero
/* 704638 80238B48 AFBF0024 */ sw $ra, 0x24($sp)
/* 70463C 80238B4C AFB20020 */ sw $s2, 0x20($sp)
/* 704640 80238B50 AFB00018 */ sw $s0, 0x18($sp)
/* 704644 80238B54 8E30000C */ lw $s0, 0xc($s1)
/* 704648 80238B58 8E050000 */ lw $a1, ($s0)
/* 70464C 80238B5C 0C0B1EAF */ jal get_variable
/* 704650 80238B60 26100004 */ addiu $s0, $s0, 4
/* 704654 80238B64 8E050000 */ lw $a1, ($s0)
/* 704658 80238B68 26100004 */ addiu $s0, $s0, 4
/* 70465C 80238B6C 0220202D */ daddu $a0, $s1, $zero
/* 704660 80238B70 0C0B1EAF */ jal get_variable
/* 704664 80238B74 0040902D */ daddu $s2, $v0, $zero
/* 704668 80238B78 0220202D */ daddu $a0, $s1, $zero
/* 70466C 80238B7C 8E050000 */ lw $a1, ($s0)
/* 704670 80238B80 0C0B1EAF */ jal get_variable
/* 704674 80238B84 0040802D */ daddu $s0, $v0, $zero
/* 704678 80238B88 0000202D */ daddu $a0, $zero, $zero
/* 70467C 80238B8C 44921000 */ mtc1 $s2, $f2
/* 704680 80238B90 00000000 */ nop
/* 704684 80238B94 468010A0 */ cvt.s.w $f2, $f2
/* 704688 80238B98 44051000 */ mfc1 $a1, $f2
/* 70468C 80238B9C 44901000 */ mtc1 $s0, $f2
/* 704690 80238BA0 00000000 */ nop
/* 704694 80238BA4 468010A0 */ cvt.s.w $f2, $f2
/* 704698 80238BA8 44061000 */ mfc1 $a2, $f2
/* 70469C 80238BAC 44821000 */ mtc1 $v0, $f2
/* 7046A0 80238BB0 00000000 */ nop
/* 7046A4 80238BB4 468010A0 */ cvt.s.w $f2, $f2
/* 7046A8 80238BB8 3C013F80 */ lui $at, 0x3f80
/* 7046AC 80238BBC 44810000 */ mtc1 $at, $f0
/* 7046B0 80238BC0 44071000 */ mfc1 $a3, $f2
/* 7046B4 80238BC4 2403003C */ addiu $v1, $zero, 0x3c
/* 7046B8 80238BC8 AFA30014 */ sw $v1, 0x14($sp)
/* 7046BC 80238BCC 0C01C664 */ jal playFX_58
/* 7046C0 80238BD0 E7A00010 */ swc1 $f0, 0x10($sp)
/* 7046C4 80238BD4 0040182D */ daddu $v1, $v0, $zero
/* 7046C8 80238BD8 8C64000C */ lw $a0, 0xc($v1)
/* 7046CC 80238BDC 24020002 */ addiu $v0, $zero, 2
/* 7046D0 80238BE0 3C018024 */ lui $at, %hi(D_8023C1B4)
/* 7046D4 80238BE4 AC23C1B4 */ sw $v1, %lo(D_8023C1B4)($at)
/* 7046D8 80238BE8 0040182D */ daddu $v1, $v0, $zero
/* 7046DC 80238BEC AC830030 */ sw $v1, 0x30($a0)
/* 7046E0 80238BF0 8FBF0024 */ lw $ra, 0x24($sp)
/* 7046E4 80238BF4 8FB20020 */ lw $s2, 0x20($sp)
/* 7046E8 80238BF8 8FB1001C */ lw $s1, 0x1c($sp)
/* 7046EC 80238BFC 8FB00018 */ lw $s0, 0x18($sp)
/* 7046F0 80238C00 03E00008 */ jr $ra
/* 7046F4 80238C04 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_80238C08_7046F8
/* 7046F8 80238C08 8C830084 */ lw $v1, 0x84($a0)
/* 7046FC 80238C0C 3C05800E */ lui $a1, %hi(gBattleStatus)
/* 704700 80238C10 24A5C070 */ addiu $a1, $a1, %lo(gBattleStatus)
/* 704704 80238C14 18600003 */ blez $v1, .L80238C24
/* 704708 80238C18 24020001 */ addiu $v0, $zero, 1
/* 70470C 80238C1C 0808E30A */ j .L80238C28
/* 704710 80238C20 AC820084 */ sw $v0, 0x84($a0)
.L80238C24:
/* 704714 80238C24 AC800084 */ sw $zero, 0x84($a0)
.L80238C28:
/* 704718 80238C28 AC8000C0 */ sw $zero, 0xc0($a0)
/* 70471C 80238C2C AC8300AC */ sw $v1, 0xac($a0)
/* 704720 80238C30 80A2009B */ lb $v0, 0x9b($a1)
/* 704724 80238C34 0043102A */ slt $v0, $v0, $v1
/* 704728 80238C38 10400009 */ beqz $v0, .L80238C60
/* 70472C 80238C3C 24020001 */ addiu $v0, $zero, 1
/* 704730 80238C40 A0A3009B */ sb $v1, 0x9b($a1)
/* 704734 80238C44 A0A2009C */ sb $v0, 0x9c($a1)
/* 704738 80238C48 0060102D */ daddu $v0, $v1, $zero
/* 70473C 80238C4C 8CA3043C */ lw $v1, 0x43c($a1)
/* 704740 80238C50 00021600 */ sll $v0, $v0, 0x18
/* 704744 80238C54 8C63000C */ lw $v1, 0xc($v1)
/* 704748 80238C58 00021603 */ sra $v0, $v0, 0x18
/* 70474C 80238C5C A4620024 */ sh $v0, 0x24($v1)
.L80238C60:
/* 704750 80238C60 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 704754 80238C64 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 704758 80238C68 8C830004 */ lw $v1, 4($a0)
/* 70475C 80238C6C 30620002 */ andi $v0, $v1, 2
/* 704760 80238C70 10400002 */ beqz $v0, .L80238C7C
/* 704764 80238C74 34620100 */ ori $v0, $v1, 0x100
/* 704768 80238C78 AC820004 */ sw $v0, 4($a0)
.L80238C7C:
/* 70476C 80238C7C 03E00008 */ jr $ra
/* 704770 80238C80 24020002 */ addiu $v0, $zero, 2