mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
parent
ec2870d218
commit
bc383f3485
@ -11,6 +11,9 @@
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
#define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#define PHYSICAL_TO_VIRTUAL(addr) (void*)((u32)(addr) + 0x80000000)
|
||||
#define VIRTUAL_TO_PHYSICAL(addr) (u32)((u8*)(addr) - 0x80000000)
|
||||
|
||||
#define ASSERT(condition) if (!(condition)) { while (1) {} }
|
||||
#define PANIC() ASSERT(0)
|
||||
#define STATIC_ASSERT(condition) enum { static_assert_fail = 1/(!!(condition)) } // Causes division by zero ("not integer constant") if false
|
||||
|
@ -24,16 +24,15 @@ ApiStatus func_802186E0_6DE4A0(ScriptInstance* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
// Reordering near the beginning
|
||||
#ifdef NON_MATCHING
|
||||
ApiStatus func_80218770_6DE530(ScriptInstance* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
Actor* partner = battleStatus->partnerActor;
|
||||
SelectableTarget* selectableTarget;
|
||||
|
||||
battleStatus->moveCategory = 6;
|
||||
battleStatus->selectedMoveID = 0x98;
|
||||
do {} while(0);
|
||||
battleStatus->selectedItemID = 0;
|
||||
battleStatus->selectedMoveID = 0x98;
|
||||
battleStatus->currentTargetListFlags = D_8008FC44;
|
||||
|
||||
player_create_target_list(partner);
|
||||
@ -44,9 +43,6 @@ ApiStatus func_80218770_6DE530(ScriptInstance* script, s32 isInitialCall) {
|
||||
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "battle/area_dig/6DE4A0", func_80218770_6DE530);
|
||||
#endif
|
||||
|
||||
ApiStatus func_802187F0_6DE5B0(ScriptInstance* script, s32 isInitialCall) {
|
||||
BattleStatus* battleStatus = &gBattleStatus;
|
||||
|
@ -41,8 +41,6 @@ void func_802E14D8(Entity* entity) {
|
||||
|
||||
void func_801125E8(f32*, f32*, f32*, f32*, f32*, f32*);
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// regalloc issues
|
||||
void func_802E153C(Entity* entity) {
|
||||
struct802E1400* temp_s1 = entity->dataBuf;
|
||||
f32 hitDepth = 10.0f;
|
||||
@ -55,16 +53,15 @@ void func_802E153C(Entity* entity) {
|
||||
func_801125E8(&x, &y, &z, &hitYaw, &hitPitch, &hitDepth);
|
||||
|
||||
if ((entity->position.y != y) && (entity->position.y > y)) {
|
||||
temp_s1->unk_00.x += 0.5;
|
||||
entity->position.y -= temp_s1->unk_00.x;
|
||||
f32 var = temp_s1->unk_00.x;
|
||||
var += 0.5;
|
||||
temp_s1->unk_00.x = var;
|
||||
entity->position.y -= var;
|
||||
if (entity->position.y < y) {
|
||||
entity->position.y = y;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_102C80", func_802E153C);
|
||||
#endif
|
||||
|
||||
void func_802E1614(Entity* entity) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
@ -57,8 +57,6 @@ void func_802E8A58(Entity* entity) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// small regalloc issue
|
||||
void func_802E8ADC(Entity* entity) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
||||
@ -66,11 +64,9 @@ void func_802E8ADC(Entity* entity) {
|
||||
OVERRIDE_FLAG_SET(0x40);
|
||||
|
||||
if (!(playerStatus->flags & 0x3000)) {
|
||||
s32 stickAxis0 = playerStatus->stickAxis[0];
|
||||
s32 stickAxis0 = abs(playerStatus->stickAxis[0]);
|
||||
s32 stickAxis1 = playerStatus->stickAxis[1];
|
||||
|
||||
stickAxis0 = abs(stickAxis0);
|
||||
|
||||
if ((stickAxis0 != 0) || (stickAxis1 != 0)) {
|
||||
if (atan2(0.0f, 0.0f, stickAxis0, stickAxis1) < 60.0f) {
|
||||
exec_entity_updatecmd(entity);
|
||||
@ -81,9 +77,6 @@ void func_802E8ADC(Entity* entity) {
|
||||
OVERRIDE_FLAG_UNSET(0x40);
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_10A230", func_802E8ADC);
|
||||
#endif
|
||||
|
||||
void func_802E8BC0(Entity* entity) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
@ -88,19 +88,10 @@ INCLUDE_ASM(s32, "code_135EE0", func_80243388);
|
||||
|
||||
INCLUDE_ASM(s32, "code_135EE0", pause_interp_text_scroll);
|
||||
|
||||
// Slight ordering issue with the sign flip at the beginning
|
||||
#ifdef NON_MATCHING
|
||||
s32 pause_interp_vertical_scroll(s32 deltaBefore) {
|
||||
s32 val;
|
||||
s32 s;
|
||||
s32 db;
|
||||
|
||||
db = deltaBefore;
|
||||
if (deltaBefore < 0) {
|
||||
db = -deltaBefore;
|
||||
}
|
||||
|
||||
s = sign(deltaBefore);
|
||||
s32 db = abs(deltaBefore);
|
||||
s32 s = sign(deltaBefore);
|
||||
|
||||
if (db >= 16) {
|
||||
val = db / 2;
|
||||
@ -113,9 +104,6 @@ s32 pause_interp_vertical_scroll(s32 deltaBefore) {
|
||||
|
||||
return val * s;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_135EE0", pause_interp_vertical_scroll, s32 deltaBefore);
|
||||
#endif
|
||||
|
||||
void pause_update_cursor(s32 arg0, s32 offsetX, s32 offsetY) {
|
||||
s32 opacity;
|
||||
|
@ -12,22 +12,21 @@ extern s32 D_80073E04;
|
||||
extern s16 D_80073E08;
|
||||
extern s16 D_80073E0A;
|
||||
extern s32* D_8009A680;
|
||||
extern OSViMode _osViModeNtscLan1;
|
||||
extern OSViMode _osViModeMPalLan1;
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Control flow issue w/ PANIC
|
||||
void boot_main(void) {
|
||||
OSViMode* viMode;
|
||||
if (osTvType == OS_TV_NTSC) {
|
||||
viMode = &osViModeTable[OS_TV_NTSC];
|
||||
osViSetMode(&_osViModeNtscLan1);
|
||||
osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF | OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON);
|
||||
} else if (osTvType == OS_TV_MPAL) {
|
||||
viMode = &osViModeTable[OS_TV_MPAL];
|
||||
osViSetMode(&_osViModeMPalLan1);
|
||||
osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF | OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON);
|
||||
} else {
|
||||
PANIC();
|
||||
}
|
||||
|
||||
osViSetMode(viMode);
|
||||
|
||||
osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF | OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON);
|
||||
nuGfxDisplayOff();
|
||||
crash_create_monitor();
|
||||
func_80025C60();
|
||||
@ -47,9 +46,6 @@ void boot_main(void) {
|
||||
|
||||
while (TRUE) {}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(void, "code_1370_len_7d0", boot_main, void);
|
||||
#endif
|
||||
|
||||
void gfxRetrace_Callback(s32 arg0) {
|
||||
s32* temp_80073E00 = &D_80073E00;
|
||||
|
@ -8,15 +8,18 @@ INCLUDE_ASM(s32, "code_16F740", func_80240E60);
|
||||
|
||||
INCLUDE_ASM(s32, "code_16F740", func_80240FDC);
|
||||
|
||||
// Something is up with gBattleStatus.flags2
|
||||
#ifdef NON_MATCHING
|
||||
void func_80241190(s32 battleState) {
|
||||
gBattleStatus.battleState = 0;
|
||||
s32 flags = gBattleStatus.flags2;
|
||||
if (0) { do { } while (1); }
|
||||
gBattleState = battleState;
|
||||
gBattleStatus.unk_470 = 1;
|
||||
if (0) { do { } while (1); }
|
||||
|
||||
if (gBattleStatus.flags2 & 0x40) {
|
||||
switch (gBattleState) {
|
||||
gBattleStatus.battleState = 0;
|
||||
|
||||
flags &= 0x40;
|
||||
if (flags) {
|
||||
switch (battleState) {
|
||||
case 14:
|
||||
battleState = 16;
|
||||
break;
|
||||
@ -33,9 +36,6 @@ void func_80241190(s32 battleState) {
|
||||
gBattleState = battleState;
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_16F740", func_80241190);
|
||||
#endif
|
||||
|
||||
INCLUDE_ASM(s32, "code_16F740", begin_battle);
|
||||
|
||||
@ -186,13 +186,17 @@ void func_80247214(void) {
|
||||
|
||||
// Something weird with using battleStatus twice but in specific ways
|
||||
#ifdef NON_MATCHING
|
||||
s32 func_80263434(void);
|
||||
void func_8024721C(void) {
|
||||
BattleStatus* battleStatus;
|
||||
s32 battleState = gBattleStatus.battleState;
|
||||
|
||||
if (0) { do {} while (1); }
|
||||
battleStatus = &gBattleStatus;
|
||||
|
||||
if (gBattleStatus.battleState == 0) {
|
||||
if (battleState == 0) {
|
||||
battleStatus->flags2 |= 0x4;
|
||||
if (func_80263434() == 0) {
|
||||
if (!func_80263434()) {
|
||||
battleStatus->flags1 &= ~0x80000;
|
||||
battleStatus->flags2 &= ~0x10;
|
||||
|
||||
|
@ -8,10 +8,8 @@ extern s32 gSpeakingActorIdleAnim;
|
||||
extern Actor* gSpeakingActor;
|
||||
extern ActorPart* gSpeakingActorPart;
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void clamp_printer_coords(PrintContext* printer, f32 x, f32 y);
|
||||
|
||||
// Register allocation issues, otherwise equivalent (?)
|
||||
ApiStatus ActorSpeak(ScriptInstance* script, s32 isInitialCall) {
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
Actor* actor;
|
||||
@ -47,8 +45,8 @@ ApiStatus ActorSpeak(ScriptInstance* script, s32 isInitialCall) {
|
||||
if ((actor->flags & 0x8000) == 0) {
|
||||
headY = actor->size.y + (actor->currentPos.y + actor->headOffset.y);
|
||||
} else {
|
||||
headY = actor->headOffset.y;
|
||||
headY = headY + actor->currentPos.y + (actor->size.y / 2);
|
||||
f32 tmp = actor->headOffset.y;
|
||||
headY = actor->currentPos.y + tmp + (actor->size.y / 2);
|
||||
}
|
||||
headZ = actor->currentPos.z + actor->headOffset.z;
|
||||
get_screen_coords(Cam_BATTLE, headX, headY, headZ, &screenX, &screenY, &screenZ);
|
||||
@ -77,7 +75,7 @@ ApiStatus ActorSpeak(ScriptInstance* script, s32 isInitialCall) {
|
||||
headY = actor->size.y + (actor->currentPos.y + actor->headOffset.y);
|
||||
} else {
|
||||
headY = actor->headOffset.y;
|
||||
headY = headY + actor->currentPos.y + (actor->size.y / 2);
|
||||
headY = actor->currentPos.y + actor->headOffset.y + (actor->size.y / 2);
|
||||
}
|
||||
headZ = actor->currentPos.z + actor->headOffset.z;
|
||||
get_screen_coords(Cam_BATTLE, headX, headY, headZ, &screenX, &screenY, &screenZ);
|
||||
@ -109,9 +107,6 @@ ApiStatus ActorSpeak(ScriptInstance* script, s32 isInitialCall) {
|
||||
|
||||
return ApiStatus_BLOCK;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_181810", ActorSpeak);
|
||||
#endif
|
||||
|
||||
INCLUDE_ASM(s32, "code_181810", EndActorSpeech);
|
||||
|
||||
|
@ -58,7 +58,6 @@ void func_802546B0(void) {
|
||||
func_80254610(gBattleStatus.partnerActor);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void enable_player_blur(void) {
|
||||
Actor* playerActor = gBattleStatus.playerActor;
|
||||
ActorPart* partsTable = playerActor->partsTable;
|
||||
@ -80,14 +79,11 @@ void enable_player_blur(void) {
|
||||
decorationTable->rotationPivotOffsetX[i] = (s32)(playerActor->rotationPivotOffset.x * playerActor->scalingFactor);
|
||||
decorationTable->rotationPivotOffsetY[i] = (s32)(playerActor->rotationPivotOffset.y * playerActor->scalingFactor);
|
||||
|
||||
decorationTable->rotX[i] = clamp_angle(playerActor->rotation.x) * 0.5f;
|
||||
decorationTable->rotY[i] = clamp_angle(playerActor->rotation.y) * 0.5f;
|
||||
decorationTable->rotZ[i] = clamp_angle(playerActor->rotation.z) * 0.5f;
|
||||
*(&decorationTable->rotX[i]) = clamp_angle(playerActor->rotation.x) * 0.5f;
|
||||
*(&decorationTable->rotY[i]) = clamp_angle(playerActor->rotation.y) * 0.5f;
|
||||
*(&decorationTable->rotZ[i]) = clamp_angle(playerActor->rotation.z) * 0.5f;
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_182B30", enable_player_blur);
|
||||
#endif
|
||||
|
||||
void disable_player_blur(void) {
|
||||
DecorationTable* decorationTable = gBattleStatus.playerActor->partsTable->decorationTable;
|
||||
|
@ -56,43 +56,35 @@ s32 dispatch_damage_event_partner_1(s32 damageAmount, s32 event, s32 stopMotion)
|
||||
return dispatch_damage_event_partner(damageAmount, event, TRUE);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
ApiStatus MakeOwnerTargetIndex(ScriptInstance* script, s32 isInitialCall) {
|
||||
s32 temp_v0;
|
||||
s8 targetListLength;
|
||||
Bytecode* args = script->ptrReadPos;
|
||||
Bytecode* temp_s0_2;
|
||||
Actor* actor;
|
||||
Actor* actor = get_actor(script->owner1.actorID);
|
||||
s32 numTargets = actor->targetListLength;
|
||||
s8* targetList = &actor->targetIndexList;
|
||||
s32 arg1 = get_variable(script, *args++);
|
||||
s32 arg2 = get_variable(script, *args++);
|
||||
s32 otherArg = *args++;
|
||||
SelectableTarget* selectableTarget;
|
||||
s32 temp;
|
||||
s32 outVal;
|
||||
|
||||
temp_s0_2 = *args++;
|
||||
actor = get_actor(script->owner1.actorID);
|
||||
targetListLength = actor->targetListLength;
|
||||
get_variable(script, *args);
|
||||
temp_v0 = get_variable(script, *temp_s0_2);
|
||||
if (targetListLength == 0) {
|
||||
outVal = -1;
|
||||
if (numTargets == 0) {
|
||||
arg2 = -1;
|
||||
} else {
|
||||
temp = temp_v0;
|
||||
if (temp_v0 != 0) {
|
||||
temp = temp_v0 - 1;
|
||||
if (temp_v0 >= (s32) targetListLength) {
|
||||
temp = targetListLength - 1;
|
||||
if (arg2 != 0) {
|
||||
if (arg2 >= numTargets) {
|
||||
arg2 = numTargets - 1;
|
||||
} else {
|
||||
arg2--;
|
||||
}
|
||||
}
|
||||
selectableTarget = &actor->targetData[actor->targetIndexList[temp]];
|
||||
actor->targetActorID = (u16) selectableTarget->actorID;
|
||||
actor->targetPartIndex = ((u8*)&selectableTarget->partID)[1]; // Should access only lower part of byte
|
||||
outVal = temp;
|
||||
|
||||
selectableTarget = &actor->targetData[targetList[arg2]];
|
||||
actor->targetActorID = selectableTarget->actorID;
|
||||
actor->targetPartIndex = selectableTarget->partID;
|
||||
}
|
||||
set_variable(script, *temp_s0_2++, outVal);
|
||||
|
||||
set_variable(script, otherArg, arg2);
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_1AC760", MakeOwnerTargetIndex);
|
||||
#endif
|
||||
|
||||
s32 calc_partner_damage_enemy(void);
|
||||
|
||||
|
@ -34,8 +34,6 @@ INCLUDE_ASM(s32, "code_2BF90", func_80051050);
|
||||
|
||||
INCLUDE_ASM(s32, "code_2BF90", func_800510A4);
|
||||
|
||||
// Something wrong with the switch control flow
|
||||
#ifdef NON_MATCHING
|
||||
void func_800511BC(UnkAl834* arg0) {
|
||||
u32 i;
|
||||
s32 j;
|
||||
@ -50,44 +48,42 @@ void func_800511BC(UnkAl834* arg0) {
|
||||
|
||||
for (j = 0; j < ARRAY_COUNT(arg0->unk_24); j++) {
|
||||
UnkAl1E4* temp = &arg0->unk_24[j];
|
||||
s32 var;
|
||||
|
||||
if (temp->unk_08 != 0) {
|
||||
if (arg0->unk_21 != 0) {
|
||||
func_80051334(arg0, temp);
|
||||
}
|
||||
|
||||
switch (temp->unk_24) {
|
||||
case 3:
|
||||
var = temp->unk_24;
|
||||
if (var != 0) {
|
||||
if (var == 3) {
|
||||
temp->unk_24 = 2;
|
||||
func_800522A8(arg0, temp);
|
||||
func_800521E8(arg0, temp);
|
||||
break;
|
||||
case 1:
|
||||
} else if (temp->unk_24 == 1) {
|
||||
temp->unk_24 = 0;
|
||||
if (temp->unk_28 != 0) {
|
||||
func_80050D50(temp);
|
||||
}
|
||||
func_8005232C(arg0, temp);
|
||||
break;
|
||||
case 0:
|
||||
if (temp->unk_28 != 0) {
|
||||
func_80050D50(temp);
|
||||
}
|
||||
if (temp->unk_25 == 2) {
|
||||
func_800521E8(arg0, temp);
|
||||
temp->unk_25 = 1;
|
||||
}
|
||||
func_80051434(arg0, temp);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (temp->unk_28 != 0) {
|
||||
func_80050D50(temp);
|
||||
}
|
||||
if (temp->unk_25 == 2) {
|
||||
func_800521E8(arg0, temp);
|
||||
temp->unk_25 = 1;
|
||||
}
|
||||
func_80051434(arg0, temp);
|
||||
var = temp->unk_24;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
arg0->unk_21 = 0;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(void, "code_2BF90", func_800511BC, UnkAl834* arg0);
|
||||
#endif
|
||||
|
||||
INCLUDE_ASM(void, "code_2BF90", func_80051334, UnkAl834* arg0, UnkAl1E4* arg1);
|
||||
|
||||
|
@ -45,34 +45,31 @@ void func_800E22E4(s32* arg0) {
|
||||
*arg0 = (u16)playerStatus->currentButtons | (playerStatus->pressedButtons << 16);
|
||||
}
|
||||
|
||||
// Ordering / float / stack stuff
|
||||
#ifdef NON_MATCHING
|
||||
void input_to_move_vector(f32* angle, f32* magnitude) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
PlayerStatus* playerStatus2 = playerStatus;
|
||||
f32 stickAxisX;
|
||||
f32 stickAxisY;
|
||||
f32 ang;
|
||||
f32 mag;
|
||||
f32 magMax = 70.0f;
|
||||
|
||||
stickAxisX = playerStatus->stickAxis[0];
|
||||
stickAxisY = -playerStatus->stickAxis[1];
|
||||
stickAxisX = playerStatus2->stickAxis[0];
|
||||
stickAxisY = -playerStatus2->stickAxis[1];
|
||||
|
||||
mag = dist2D(0.0f, 0.0f, stickAxisX, stickAxisY);
|
||||
if (mag >= 70.0f) {
|
||||
mag = 70.0f;
|
||||
if (mag >= magMax) {
|
||||
mag = magMax;
|
||||
}
|
||||
|
||||
ang = clamp_angle(atan2(0.0f, 0.0f, stickAxisX, stickAxisY) + gCameras[0].currentYaw);
|
||||
if (mag == 0.0f) {
|
||||
ang = gPlayerStatus.targetYaw;
|
||||
ang = playerStatus2->targetYaw;
|
||||
}
|
||||
|
||||
*angle = ang;
|
||||
*magnitude = mag;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_7B440", input_to_move_vector);
|
||||
#endif
|
||||
|
||||
INCLUDE_ASM(s32, "code_7B440", func_800E23FC);
|
||||
|
||||
|
@ -147,10 +147,10 @@ s32 collision_check_player_intersecting_world(s32 arg0, s32 arg1, f32 arg2) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
PlayerStatus** playerStatus = &gPlayerStatusPtr;
|
||||
f32 x = (*playerStatus)->position.x;
|
||||
f32 y = (*playerStatus)->position.y + arg2;
|
||||
f32 y = (*playerStatus)->position.y + arg1;
|
||||
f32 z = (*playerStatus)->position.z;
|
||||
s32 hitID = do_lateral_collision(arg2, *playerStatus, &x, &y, &z, 0, angle);
|
||||
|
||||
s32 hitID = do_lateral_collision(arg0, *playerStatus, &x, &y, &z, 0, angle);
|
||||
|
||||
if (hitID >= 0) {
|
||||
ret = hitID;
|
||||
}
|
||||
@ -480,41 +480,39 @@ s32 check_input_hammer(void) {
|
||||
|
||||
INCLUDE_ASM(s32, "code_7bb60_len_41b0", check_input_jump);
|
||||
|
||||
// control flow, temps, blah
|
||||
#ifdef NON_MATCHING
|
||||
void check_input_spin(void) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
Temp8010F250* temp_8010F250 = &D_8010F250;
|
||||
Temp8010F250* temp2 = temp_8010F250;
|
||||
|
||||
if (!(playerStatus->flags & 0x5000) &&
|
||||
!(playerStatus->animFlags & 1) &&
|
||||
!(playerStatus->currentButtons & D_CBUTTONS) &&
|
||||
!is_ability_active(Ability_SLOW_GO)) {
|
||||
|
||||
s8 actionState = playerStatus->actionState;
|
||||
s32 actionState = playerStatus->actionState;
|
||||
s32 btnPressed = playerStatus->pressedButtons & Z_TRIG;
|
||||
|
||||
if ((playerStatus->pressedButtons & Z_TRIG) &&
|
||||
(actionState != 0x21) &&
|
||||
(actionState < 0x22) &&
|
||||
(actionState < 3) &&
|
||||
(actionState >= 0) &&
|
||||
!(playerStatus->animFlags & 0x10000)) {
|
||||
set_action_state(ActionState_SPIN);
|
||||
if (temp_8010F250->unk_01 != 0) {
|
||||
if (temp_8010F250->unk_08 == 0) {
|
||||
if (temp_8010F250->unk_0C == 0) {
|
||||
playerStatus->prevActionState = ActionState_IDLE;
|
||||
return;
|
||||
if (actionState != 0x21) {
|
||||
if (actionState < 0x22) {
|
||||
if (actionState < 3) {
|
||||
if (actionState >= 0 && !(playerStatus->animFlags & 0x10000)) {
|
||||
if (btnPressed || temp_8010F250->unk_01) {
|
||||
set_action_state(ActionState_SPIN);
|
||||
if (temp_8010F250->unk_01 != 0) {
|
||||
if (temp_8010F250->unk_08 != 0 || temp_8010F250->unk_0C != 0) {
|
||||
playerStatus->prevActionState = temp2->unk_07;
|
||||
} else {
|
||||
playerStatus->prevActionState = ActionState_IDLE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
playerStatus->prevActionState = temp_8010F250->unk_07;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_7bb60_len_41b0", check_input_spin);
|
||||
#endif
|
||||
|
||||
void func_800E636C(s32 arg0) {
|
||||
s32 listIndex = D_8010C96C;
|
||||
@ -540,10 +538,9 @@ void func_800E63A4(s32 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
// PlayerStatus reuse
|
||||
#ifdef NON_MATCHING
|
||||
void func_800E6428(void) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
PlayerStatus* playerStatus2 = playerStatus;
|
||||
s32 actionState = playerStatus->actionState;
|
||||
Npc* disguiseNpc;
|
||||
|
||||
@ -553,24 +550,22 @@ void func_800E6428(void) {
|
||||
if (*temp_8010C92C != 0) {
|
||||
(*temp_8010C92C)--;
|
||||
if (*temp_8010C92C == 0) {
|
||||
if (gGameStatusPtr->peachFlags & 2) {
|
||||
GameStatus** gameStatus = &gGameStatusPtr;
|
||||
if ((*gameStatus)->peachFlags & 2) {
|
||||
playerStatus->animFlags |= 0x2000;
|
||||
gGameStatusPtr->peachFlags |= 2;
|
||||
(*gameStatus)->peachFlags |= 2;
|
||||
|
||||
disguiseNpc = make_disguise_npc(gGameStatusPtr->peachDisguise);
|
||||
disguiseNpc = make_disguise_npc((*gameStatus)->peachDisguise);
|
||||
if (disguiseNpc != NULL) {
|
||||
disguiseNpc->flags &= ~0x40000;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (gGameStatusPtr->peachFlags & 4 && gPlayerStatus.pressedButtons & B_BUTTON) {
|
||||
} else if (gGameStatusPtr->peachFlags & 4 && playerStatus2->pressedButtons & B_BUTTON) {
|
||||
set_action_state(0x19);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_7bb60_len_41b0", func_800E6428);
|
||||
#endif
|
||||
|
||||
void func_800E6500(void) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
@ -20,20 +20,20 @@ s32 func_800E6904(void) {
|
||||
s32 actionState = playerStatus->actionState;
|
||||
|
||||
if (!(playerStatus->animFlags & 0x100000)) {
|
||||
if (temp_8010EBB0.unk_00 == 0) {
|
||||
if (temp_8010EBB0->unk_00 == 0) {
|
||||
if (!(playerStatus->flags & 0x1000)) {
|
||||
if (actionState == ActionState_IDLE || actionState == ActionState_WALK || actionState == ActionState_RUN) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
} else if (partner_player_can_pause()) {
|
||||
if (temp_8010EBB0.unk_03 == 6) {
|
||||
if (temp_8010EBB0->unk_03 == 6) {
|
||||
return 1;
|
||||
} else if (temp_8010EBB0.unk_03 == 9) {
|
||||
} else if (temp_8010EBB0->unk_03 == 9) {
|
||||
if (actionState == ActionState_RIDE) {
|
||||
return 1;
|
||||
}
|
||||
} else if (temp_8010EBB0.unk_03 == 8) {
|
||||
} else if (temp_8010EBB0->unk_03 == 8) {
|
||||
if (actionState != ActionState_RIDE) {
|
||||
play_sound(0x21D);
|
||||
} else {
|
||||
|
@ -4,8 +4,6 @@ s32 gStaticScriptCounter = 1;
|
||||
s32 gIsUpdatingScripts = 0;
|
||||
f32 gGlobalTimeSpace = 1.0f;
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// regalloc issues.
|
||||
void sort_scripts(void) {
|
||||
s32 temp_a0;
|
||||
s32 temp_a1;
|
||||
@ -14,6 +12,7 @@ void sort_scripts(void) {
|
||||
ScriptList** currentScriptListPtr;
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 x;
|
||||
s32 numValidScripts = 0;
|
||||
s32* scriptIndexList = gScriptIndexList;
|
||||
s32* scriptIdList = gScriptIdList;
|
||||
@ -30,14 +29,14 @@ void sort_scripts(void) {
|
||||
}
|
||||
|
||||
gScriptListCount = numValidScripts;
|
||||
j = numValidScripts;
|
||||
for (i = 0; i < (j - 1); i++) {
|
||||
for (i = 0; i < (x = numValidScripts - 1); i++) {
|
||||
scriptIndexList = gScriptIndexList;
|
||||
currentScriptListPtr = &gCurrentScriptListPtr;
|
||||
scriptIdList = gScriptIdList;
|
||||
scriptIndexList = gScriptIndexList;
|
||||
for (j = i + 1; j < numValidScripts; j++) {
|
||||
temp_a1 = scriptIndexList[i];
|
||||
temp_a0 = scriptIndexList[j];
|
||||
x = i;
|
||||
if ((**currentScriptListPtr)[temp_a1]->priority > (**currentScriptListPtr)[temp_a0]->priority) {
|
||||
scriptIndexList[i] = temp_a0;
|
||||
scriptIndexList[j] = temp_a1;
|
||||
@ -48,9 +47,6 @@ void sort_scripts(void) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_e79b0_len_1920", sort_scripts);
|
||||
#endif
|
||||
|
||||
void find_script_labels(ScriptInstance* script) {
|
||||
Bytecode* curLine;
|
||||
|
@ -4,7 +4,6 @@
|
||||
|
||||
#include "world/common/GetCurrentFloor.inc.c"
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
ApiStatus func_80240034_7EAD44(ScriptInstance* script, s32 isInitialCall) {
|
||||
s32 stickX;
|
||||
s32 stickY;
|
||||
@ -14,11 +13,8 @@ ApiStatus func_80240034_7EAD44(ScriptInstance* script, s32 isInitialCall) {
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
|
||||
stickX = gGameStatusPtr->stickX;
|
||||
stickX = abs(gGameStatusPtr->stickX);
|
||||
stickY = gGameStatusPtr->stickY;
|
||||
if (stickX < 0) {
|
||||
stickX = -stickX;
|
||||
}
|
||||
|
||||
if (stickX == 0 && stickY == 0) {
|
||||
return ApiStatus_BLOCK;
|
||||
@ -31,9 +27,6 @@ ApiStatus func_80240034_7EAD44(ScriptInstance* script, s32 isInitialCall) {
|
||||
script->varTable[0] = 1;
|
||||
return ApiStatus_DONE2;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "world/area_mac/mac_00/7EAD10", func_80240034_7EAD44);
|
||||
#endif
|
||||
|
||||
#include "world/common/GetEntryPos.inc.c"
|
||||
|
||||
|
@ -26,22 +26,20 @@ INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD1D0_3170F0, ScriptIn
|
||||
|
||||
INCLUDE_ASM(s32, "world/partner/goombario", func_802BD564_317484);
|
||||
|
||||
// Compiler is generating more efficient code than the original asm, using xori and sltiu instead of beq
|
||||
#ifdef NON_MATCHING
|
||||
s32 world_goombario_can_pause(Npc* partner) {
|
||||
s32 new_var;
|
||||
|
||||
if (D_8010EBB0.unk_00) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ((partner->flags & 0x1800) != 0x1000) {
|
||||
return FALSE;
|
||||
return new_var = 0;
|
||||
do { } while(new_var); // why though
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "world/partner/goombario", world_goombario_can_pause, Npc* partner);
|
||||
#endif
|
||||
|
||||
// get message for tattle routine
|
||||
// has big jumptable at rodata 802BDE88
|
||||
|
@ -258,22 +258,16 @@ NpcId create_basic_npc(NpcBlueprint* blueprint);
|
||||
|
||||
extern s32 D_802C0000;
|
||||
|
||||
// Some weird ordering issues, probably a macro at play
|
||||
#ifdef NON_MATCHING
|
||||
s32 use_consumable(s32 arg0) {
|
||||
ScriptInstance* script;
|
||||
s32 temp_s1;
|
||||
|
||||
temp_s1 = gPlayerData.invItems[arg0];
|
||||
D_8010CD20 = arg0;
|
||||
arg0 = gPlayerData.invItems[arg0];
|
||||
dma_copy(D_800F8010[0], D_800F8010[1], &D_802C0000);
|
||||
script = start_script(D_800F8010[2], 1, 0);
|
||||
script->varTable[10] = temp_s1;
|
||||
script->varTable[10] = arg0;
|
||||
return script->id;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "world/partners", use_consumable);
|
||||
#endif
|
||||
|
||||
void remove_consumable(void) {
|
||||
gPlayerData.invItems[D_8010CD20] = 0;
|
||||
@ -422,17 +416,12 @@ s32 partner_use_ability(void) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// needless v0 to v1 thing. functionally equivalent
|
||||
#ifdef NON_MATCHING
|
||||
s32 partner_player_can_pause(void) {
|
||||
if (wPartner == NULL || wPartner->canPlayerPause == NULL || wPartner->canPlayerPause(wPartnerNpc)) {
|
||||
return TRUE;
|
||||
if (wPartner != NULL && wPartner->canPlayerPause != NULL && !wPartner->canPlayerPause(wPartnerNpc)) {
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "world/partners", partner_player_can_pause, void)
|
||||
#endif
|
||||
|
||||
s32 partner_can_use_ability(void) {
|
||||
if (wPartner->canUseAbility != NULL && !wPartner->canUseAbility(wPartnerNpc)) {
|
||||
@ -441,17 +430,19 @@ s32 partner_can_use_ability(void) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Stack size issue - something's probably up with these data vars
|
||||
#ifdef NON_MATCHING
|
||||
void partner_reset_data(void) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
s32* temp8010CFD8 = &D_8010CFD8;
|
||||
s32* temp8010CFE8 = &D_8010CFE8;
|
||||
s32* temp8010CFD8;
|
||||
s32* temp8010CFE8;
|
||||
s32 temp_s0;
|
||||
|
||||
temp_s0 = gPlayerData.currentPartner;
|
||||
mem_clear(&D_8010EBB0, sizeof(D_8010EBB0));
|
||||
get_dynamic_entity(bind_dynamic_entity_7(_use_partner_ability, NULL));
|
||||
|
||||
temp8010CFD8 = &D_8010CFD8;
|
||||
temp8010CFE8 = &D_8010CFE8;
|
||||
|
||||
D_8010CFE0 = 1;
|
||||
*temp8010CFE8 = 9;
|
||||
*temp8010CFD8 = temp_s0;
|
||||
@ -476,9 +467,6 @@ void partner_reset_data(void) {
|
||||
_use_partner_ability();
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "world/partners", partner_reset_data);
|
||||
#endif
|
||||
|
||||
void partner_initialize_data(void) {
|
||||
Temp8010EBB0* unk8010EBB0 = &D_8010EBB0;
|
||||
@ -707,31 +695,32 @@ void func_800EF43C(void) {
|
||||
|
||||
INCLUDE_ASM(void, "world/partners", clear_partner_move_history, Npc* partner);
|
||||
|
||||
// Some branching / merging stuff causing issues
|
||||
// Saves at the end
|
||||
#ifdef NON_MATCHING
|
||||
s32 func_800EF4E0(void) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
Camera* cameras = &gCameras;
|
||||
Camera* cameras2 = cameras;
|
||||
f32 yaw;
|
||||
s32 ret;
|
||||
|
||||
if (playerStatus->unk_90 == 0.0f) {
|
||||
if (!(playerStatus->spriteFacingAngle >= 90.0f) || !(playerStatus->spriteFacingAngle < 270.0f)) {
|
||||
yaw = cameras[0].currentYaw - 90.0f;
|
||||
ret = 1;
|
||||
yaw = clamp_angle(cameras[0].currentYaw - 90.0f);
|
||||
} else {
|
||||
yaw = cameras[0].currentYaw + 90.0f;
|
||||
yaw = clamp_angle(cameras[0].currentYaw + 90.0f);
|
||||
ret = 0;
|
||||
}
|
||||
} else if (get_clamped_angle_diff(cameras[0].currentYaw, playerStatus->targetYaw) < 0.0f) {
|
||||
yaw = cameras[0].currentYaw - 90.0f;
|
||||
ret = 1;
|
||||
yaw = clamp_angle(cameras2[0].currentYaw - 90.0f);
|
||||
} else {
|
||||
yaw = cameras[0].currentYaw + 90.0f;
|
||||
yaw = clamp_angle(cameras2[0].currentYaw + 90.0f);
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
playerStatus->targetYaw = clamp_angle(yaw);
|
||||
playerStatus->targetYaw = yaw;
|
||||
playerStatus->currentYaw = playerStatus->targetYaw;
|
||||
return ret;
|
||||
}
|
||||
|
@ -63,6 +63,7 @@ INCLUDE_ASM(s32, "world/script_api/7E2AA0", func_802823B0);
|
||||
|
||||
INCLUDE_ASM(s32, "world/script_api/7E2AA0", func_80282414);
|
||||
|
||||
// D_80286540 needs to be defined wherever it's meant to be, and this matches
|
||||
#ifdef NON_MATCHING
|
||||
ApiStatus func_80282594(ScriptInstance* script, s32 isInitialCall) {
|
||||
Camera* camera;
|
||||
|
@ -1,36 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80218770_6DE530
|
||||
/* 6DE530 80218770 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 6DE534 80218774 3C03800E */ lui $v1, %hi(gBattleStatus)
|
||||
/* 6DE538 80218778 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
|
||||
/* 6DE53C 8021877C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 6DE540 80218780 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 6DE544 80218784 8C7000DC */ lw $s0, 0xdc($v1)
|
||||
/* 6DE548 80218788 24020006 */ addiu $v0, $zero, 6
|
||||
/* 6DE54C 8021878C A0620178 */ sb $v0, 0x178($v1)
|
||||
/* 6DE550 80218790 A460017A */ sh $zero, 0x17a($v1)
|
||||
/* 6DE554 80218794 3C048009 */ lui $a0, %hi(D_8008FC44)
|
||||
/* 6DE558 80218798 8C84FC44 */ lw $a0, %lo(D_8008FC44)($a0)
|
||||
/* 6DE55C 8021879C 24020098 */ addiu $v0, $zero, 0x98
|
||||
/* 6DE560 802187A0 A462017C */ sh $v0, 0x17c($v1)
|
||||
/* 6DE564 802187A4 AC640184 */ sw $a0, 0x184($v1)
|
||||
/* 6DE568 802187A8 0C098C0B */ jal player_create_target_list
|
||||
/* 6DE56C 802187AC 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 6DE570 802187B0 8203040D */ lb $v1, 0x40d($s0)
|
||||
/* 6DE574 802187B4 A2000425 */ sb $zero, 0x425($s0)
|
||||
/* 6DE578 802187B8 00031080 */ sll $v0, $v1, 2
|
||||
/* 6DE57C 802187BC 00431021 */ addu $v0, $v0, $v1
|
||||
/* 6DE580 802187C0 00021080 */ sll $v0, $v0, 2
|
||||
/* 6DE584 802187C4 2442022C */ addiu $v0, $v0, 0x22c
|
||||
/* 6DE588 802187C8 02021021 */ addu $v0, $s0, $v0
|
||||
/* 6DE58C 802187CC 94430000 */ lhu $v1, ($v0)
|
||||
/* 6DE590 802187D0 A6030428 */ sh $v1, 0x428($s0)
|
||||
/* 6DE594 802187D4 90420003 */ lbu $v0, 3($v0)
|
||||
/* 6DE598 802187D8 A2020426 */ sb $v0, 0x426($s0)
|
||||
/* 6DE59C 802187DC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 6DE5A0 802187E0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 6DE5A4 802187E4 24020002 */ addiu $v0, $zero, 2
|
||||
/* 6DE5A8 802187E8 03E00008 */ jr $ra
|
||||
/* 6DE5AC 802187EC 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,59 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E153C
|
||||
/* 102DBC 802E153C 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 102DC0 802E1540 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 102DC4 802E1544 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 102DC8 802E1548 27A20028 */ addiu $v0, $sp, 0x28
|
||||
/* 102DCC 802E154C 27A40018 */ addiu $a0, $sp, 0x18
|
||||
/* 102DD0 802E1550 3C014120 */ lui $at, 0x4120
|
||||
/* 102DD4 802E1554 44810000 */ mtc1 $at, $f0
|
||||
/* 102DD8 802E1558 27A5001C */ addiu $a1, $sp, 0x1c
|
||||
/* 102DDC 802E155C AFBF0038 */ sw $ra, 0x38($sp)
|
||||
/* 102DE0 802E1560 AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* 102DE4 802E1564 C6020048 */ lwc1 $f2, 0x48($s0)
|
||||
/* 102DE8 802E1568 C604004C */ lwc1 $f4, 0x4c($s0)
|
||||
/* 102DEC 802E156C C6060050 */ lwc1 $f6, 0x50($s0)
|
||||
/* 102DF0 802E1570 27A60020 */ addiu $a2, $sp, 0x20
|
||||
/* 102DF4 802E1574 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
/* 102DF8 802E1578 E7A20018 */ swc1 $f2, 0x18($sp)
|
||||
/* 102DFC 802E157C E7A4001C */ swc1 $f4, 0x1c($sp)
|
||||
/* 102E00 802E1580 E7A60020 */ swc1 $f6, 0x20($sp)
|
||||
/* 102E04 802E1584 8E110040 */ lw $s1, 0x40($s0)
|
||||
/* 102E08 802E1588 27A70024 */ addiu $a3, $sp, 0x24
|
||||
/* 102E0C 802E158C AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 102E10 802E1590 27A2002C */ addiu $v0, $sp, 0x2c
|
||||
/* 102E14 802E1594 0C04497A */ jal func_801125E8
|
||||
/* 102E18 802E1598 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 102E1C 802E159C C600004C */ lwc1 $f0, 0x4c($s0)
|
||||
/* 102E20 802E15A0 C7A4001C */ lwc1 $f4, 0x1c($sp)
|
||||
/* 102E24 802E15A4 46040032 */ c.eq.s $f0, $f4
|
||||
/* 102E28 802E15A8 00000000 */ nop
|
||||
/* 102E2C 802E15AC 45010014 */ bc1t .L802E1600
|
||||
/* 102E30 802E15B0 00000000 */ nop
|
||||
/* 102E34 802E15B4 4600203C */ c.lt.s $f4, $f0
|
||||
/* 102E38 802E15B8 00000000 */ nop
|
||||
/* 102E3C 802E15BC 45000010 */ bc1f .L802E1600
|
||||
/* 102E40 802E15C0 00000000 */ nop
|
||||
/* 102E44 802E15C4 C6220000 */ lwc1 $f2, ($s1)
|
||||
/* 102E48 802E15C8 3C013FE0 */ lui $at, 0x3fe0
|
||||
/* 102E4C 802E15CC 44810800 */ mtc1 $at, $f1
|
||||
/* 102E50 802E15D0 44800000 */ mtc1 $zero, $f0
|
||||
/* 102E54 802E15D4 460010A1 */ cvt.d.s $f2, $f2
|
||||
/* 102E58 802E15D8 46201080 */ add.d $f2, $f2, $f0
|
||||
/* 102E5C 802E15DC 462010A0 */ cvt.s.d $f2, $f2
|
||||
/* 102E60 802E15E0 E6220000 */ swc1 $f2, ($s1)
|
||||
/* 102E64 802E15E4 C600004C */ lwc1 $f0, 0x4c($s0)
|
||||
/* 102E68 802E15E8 46020001 */ sub.s $f0, $f0, $f2
|
||||
/* 102E6C 802E15EC 4604003C */ c.lt.s $f0, $f4
|
||||
/* 102E70 802E15F0 00000000 */ nop
|
||||
/* 102E74 802E15F4 45000002 */ bc1f .L802E1600
|
||||
/* 102E78 802E15F8 E600004C */ swc1 $f0, 0x4c($s0)
|
||||
/* 102E7C 802E15FC E604004C */ swc1 $f4, 0x4c($s0)
|
||||
.L802E1600:
|
||||
/* 102E80 802E1600 8FBF0038 */ lw $ra, 0x38($sp)
|
||||
/* 102E84 802E1604 8FB10034 */ lw $s1, 0x34($sp)
|
||||
/* 102E88 802E1608 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* 102E8C 802E160C 03E00008 */ jr $ra
|
||||
/* 102E90 802E1610 27BD0040 */ addiu $sp, $sp, 0x40
|
@ -1,65 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E8ADC
|
||||
/* 10A35C 802E8ADC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 10A360 802E8AE0 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 10A364 802E8AE4 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 10A368 802E8AE8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 10A36C 802E8AEC 92020006 */ lbu $v0, 6($s0)
|
||||
/* 10A370 802E8AF0 3C078011 */ lui $a3, %hi(gPlayerStatus)
|
||||
/* 10A374 802E8AF4 24E7EFC8 */ addiu $a3, $a3, %lo(gPlayerStatus)
|
||||
/* 10A378 802E8AF8 30420001 */ andi $v0, $v0, 1
|
||||
/* 10A37C 802E8AFC 10400027 */ beqz $v0, .L802E8B9C
|
||||
/* 10A380 802E8B00 2404FFBF */ addiu $a0, $zero, -0x41
|
||||
/* 10A384 802E8B04 3C02800A */ lui $v0, %hi(gOverrideFlags)
|
||||
/* 10A388 802E8B08 2442A650 */ addiu $v0, $v0, %lo(gOverrideFlags)
|
||||
/* 10A38C 802E8B0C 8C430000 */ lw $v1, ($v0)
|
||||
/* 10A390 802E8B10 8CE40000 */ lw $a0, ($a3)
|
||||
/* 10A394 802E8B14 34630040 */ ori $v1, $v1, 0x40
|
||||
/* 10A398 802E8B18 30843000 */ andi $a0, $a0, 0x3000
|
||||
/* 10A39C 802E8B1C 14800024 */ bnez $a0, .L802E8BB0
|
||||
/* 10A3A0 802E8B20 AC430000 */ sw $v1, ($v0)
|
||||
/* 10A3A4 802E8B24 8CE200E8 */ lw $v0, 0xe8($a3)
|
||||
/* 10A3A8 802E8B28 8CE400EC */ lw $a0, 0xec($a3)
|
||||
/* 10A3AC 802E8B2C 04420001 */ bltzl $v0, .L802E8B34
|
||||
/* 10A3B0 802E8B30 00021023 */ negu $v0, $v0
|
||||
.L802E8B34:
|
||||
/* 10A3B4 802E8B34 14400003 */ bnez $v0, .L802E8B44
|
||||
/* 10A3B8 802E8B38 00000000 */ nop
|
||||
/* 10A3BC 802E8B3C 1080001C */ beqz $a0, .L802E8BB0
|
||||
/* 10A3C0 802E8B40 00000000 */ nop
|
||||
.L802E8B44:
|
||||
/* 10A3C4 802E8B44 44822000 */ mtc1 $v0, $f4
|
||||
/* 10A3C8 802E8B48 00000000 */ nop
|
||||
/* 10A3CC 802E8B4C 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 10A3D0 802E8B50 44062000 */ mfc1 $a2, $f4
|
||||
/* 10A3D4 802E8B54 44842000 */ mtc1 $a0, $f4
|
||||
/* 10A3D8 802E8B58 00000000 */ nop
|
||||
/* 10A3DC 802E8B5C 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 10A3E0 802E8B60 44806000 */ mtc1 $zero, $f12
|
||||
/* 10A3E4 802E8B64 44072000 */ mfc1 $a3, $f4
|
||||
/* 10A3E8 802E8B68 0C00A720 */ jal atan2
|
||||
/* 10A3EC 802E8B6C 46006386 */ mov.s $f14, $f12
|
||||
/* 10A3F0 802E8B70 3C014270 */ lui $at, 0x4270
|
||||
/* 10A3F4 802E8B74 44811000 */ mtc1 $at, $f2
|
||||
/* 10A3F8 802E8B78 00000000 */ nop
|
||||
/* 10A3FC 802E8B7C 4602003C */ c.lt.s $f0, $f2
|
||||
/* 10A400 802E8B80 00000000 */ nop
|
||||
/* 10A404 802E8B84 4500000A */ bc1f .L802E8BB0
|
||||
/* 10A408 802E8B88 00000000 */ nop
|
||||
/* 10A40C 802E8B8C 0C043F5A */ jal exec_entity_updatecmd
|
||||
/* 10A410 802E8B90 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 10A414 802E8B94 080BA2EC */ j .L802E8BB0
|
||||
/* 10A418 802E8B98 00000000 */ nop
|
||||
.L802E8B9C:
|
||||
/* 10A41C 802E8B9C 3C02800A */ lui $v0, %hi(gOverrideFlags)
|
||||
/* 10A420 802E8BA0 2442A650 */ addiu $v0, $v0, %lo(gOverrideFlags)
|
||||
/* 10A424 802E8BA4 8C430000 */ lw $v1, ($v0)
|
||||
/* 10A428 802E8BA8 00641824 */ and $v1, $v1, $a0
|
||||
/* 10A42C 802E8BAC AC430000 */ sw $v1, ($v0)
|
||||
.L802E8BB0:
|
||||
/* 10A430 802E8BB0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 10A434 802E8BB4 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 10A438 802E8BB8 03E00008 */ jr $ra
|
||||
/* 10A43C 802E8BBC 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,36 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel pause_interp_vertical_scroll
|
||||
/* 1367AC 8024346C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 1367B0 80243470 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 1367B4 80243474 04810002 */ bgez $a0, .L80243480
|
||||
/* 1367B8 80243478 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 1367BC 8024347C 00108023 */ negu $s0, $s0
|
||||
.L80243480:
|
||||
/* 1367C0 80243480 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 1367C4 80243484 0C00A52C */ jal sign
|
||||
/* 1367C8 80243488 00000000 */ nop
|
||||
/* 1367CC 8024348C 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 1367D0 80243490 2A020010 */ slti $v0, $s0, 0x10
|
||||
/* 1367D4 80243494 14400008 */ bnez $v0, .L802434B8
|
||||
/* 1367D8 80243498 001017C2 */ srl $v0, $s0, 0x1f
|
||||
/* 1367DC 8024349C 02021021 */ addu $v0, $s0, $v0
|
||||
/* 1367E0 802434A0 00022043 */ sra $a0, $v0, 1
|
||||
/* 1367E4 802434A4 28820015 */ slti $v0, $a0, 0x15
|
||||
/* 1367E8 802434A8 50400006 */ beql $v0, $zero, .L802434C4
|
||||
/* 1367EC 802434AC 24040014 */ addiu $a0, $zero, 0x14
|
||||
/* 1367F0 802434B0 08090D32 */ j .L802434C8
|
||||
/* 1367F4 802434B4 00830018 */ mult $a0, $v1
|
||||
.L802434B8:
|
||||
/* 1367F8 802434B8 3C048025 */ lui $a0, %hi(gPauseMenuPageScrollInterpEasingLUT)
|
||||
/* 1367FC 802434BC 00902021 */ addu $a0, $a0, $s0
|
||||
/* 136800 802434C0 9084F0BC */ lbu $a0, %lo(gPauseMenuPageScrollInterpEasingLUT)($a0)
|
||||
.L802434C4:
|
||||
/* 136804 802434C4 00830018 */ mult $a0, $v1
|
||||
.L802434C8:
|
||||
/* 136808 802434C8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 13680C 802434CC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 136810 802434D0 00001012 */ mflo $v0
|
||||
/* 136814 802434D4 03E00008 */ jr $ra
|
||||
/* 136818 802434D8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,68 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel boot_main
|
||||
/* 1370 80025F70 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 1374 80025F74 3C038000 */ lui $v1, %hi(osTvType)
|
||||
/* 1378 80025F78 8C630300 */ lw $v1, %lo(osTvType)($v1)
|
||||
/* 137C 80025F7C 24020001 */ addiu $v0, $zero, 1
|
||||
/* 1380 80025F80 14620005 */ bne $v1, $v0, .L80025F98
|
||||
/* 1384 80025F84 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 1388 80025F88 3C048009 */ lui $a0, 0x8009
|
||||
/* 138C 80025F8C 24845820 */ addiu $a0, $a0, 0x5820
|
||||
/* 1390 80025F90 080097EB */ j .L80025FAC
|
||||
/* 1394 80025F94 00000000 */ nop
|
||||
.L80025F98:
|
||||
/* 1398 80025F98 24020002 */ addiu $v0, $zero, 2
|
||||
/* 139C 80025F9C 14620009 */ bne $v1, $v0, .L80025FC4
|
||||
/* 13A0 80025FA0 00000000 */ nop
|
||||
/* 13A4 80025FA4 3C048009 */ lui $a0, 0x8009
|
||||
/* 13A8 80025FA8 24845870 */ addiu $a0, $a0, 0x5870
|
||||
.L80025FAC:
|
||||
/* 13AC 80025FAC 0C019B84 */ jal osViSetMode
|
||||
/* 13B0 80025FB0 00000000 */ nop
|
||||
/* 13B4 80025FB4 0C019B98 */ jal osViSetSpecialFeatures
|
||||
/* 13B8 80025FB8 2404005A */ addiu $a0, $zero, 0x5a
|
||||
/* 13BC 80025FBC 080097F3 */ j .L80025FCC
|
||||
/* 13C0 80025FC0 00000000 */ nop
|
||||
.L80025FC4:
|
||||
/* 13C4 80025FC4 080097F1 */ j .L80025FC4
|
||||
/* 13C8 80025FC8 00000000 */ nop
|
||||
.L80025FCC:
|
||||
/* 13CC 80025FCC 0C017D00 */ jal nuGfxDisplayOff
|
||||
/* 13D0 80025FD0 00000000 */ nop
|
||||
/* 13D4 80025FD4 0C00B22C */ jal crash_create_monitor
|
||||
/* 13D8 80025FD8 00000000 */ nop
|
||||
/* 13DC 80025FDC 0C009718 */ jal func_80025C60
|
||||
/* 13E0 80025FE0 00000000 */ nop
|
||||
/* 13E4 80025FE4 0C017D58 */ jal nuGfxInitEX2
|
||||
/* 13E8 80025FE8 00000000 */ nop
|
||||
/* 13EC 80025FEC 0C017D84 */ jal nuContInit
|
||||
/* 13F0 80025FF0 00000000 */ nop
|
||||
/* 13F4 80025FF4 3C038007 */ lui $v1, %hi(gGameStatusPtr)
|
||||
/* 13F8 80025FF8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
|
||||
/* 13FC 80025FFC 0C00B458 */ jal func_8002D160
|
||||
/* 1400 80026000 A0620073 */ sb $v0, 0x73($v1)
|
||||
/* 1404 80026004 0C0AC800 */ jal func_802B2000
|
||||
/* 1408 80026008 00000000 */ nop
|
||||
/* 140C 8002600C 0C0AC80F */ jal func_802B203C
|
||||
/* 1410 80026010 00000000 */ nop
|
||||
/* 1414 80026014 3C048002 */ lui $a0, %hi(gfxRetrace_Callback)
|
||||
/* 1418 80026018 2484605C */ addiu $a0, $a0, %lo(gfxRetrace_Callback)
|
||||
/* 141C 8002601C 0C017C94 */ jal nuGfxFuncSet
|
||||
/* 1420 80026020 00000000 */ nop
|
||||
/* 1424 80026024 3C048002 */ lui $a0, %hi(gfxPreNMI_Callback)
|
||||
/* 1428 80026028 2484670C */ addiu $a0, $a0, %lo(gfxPreNMI_Callback)
|
||||
/* 142C 8002602C 0C017CA4 */ jal nuGfxPreNMIFuncSet
|
||||
/* 1430 80026030 00000000 */ nop
|
||||
/* 1434 80026034 0C019680 */ jal osGetCount
|
||||
/* 1438 80026038 00000000 */ nop
|
||||
/* 143C 8002603C 3C048007 */ lui $a0, %hi(gRandSeed)
|
||||
/* 1440 80026040 24844410 */ addiu $a0, $a0, %lo(gRandSeed)
|
||||
/* 1444 80026044 8C830000 */ lw $v1, ($a0)
|
||||
/* 1448 80026048 00621821 */ addu $v1, $v1, $v0
|
||||
/* 144C 8002604C 0C017D0C */ jal nuGfxDisplayOn
|
||||
/* 1450 80026050 AC830000 */ sw $v1, ($a0)
|
||||
.L80026054:
|
||||
/* 1454 80026054 08009815 */ j .L80026054
|
||||
/* 1458 80026058 00000000 */ nop
|
@ -1,43 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80241190
|
||||
/* 16FA70 80241190 3C03800E */ lui $v1, %hi(gBattleStatus+0x4)
|
||||
/* 16FA74 80241194 8C63C074 */ lw $v1, %lo(gBattleStatus+0x4)($v1)
|
||||
/* 16FA78 80241198 24020001 */ addiu $v0, $zero, 1
|
||||
/* 16FA7C 8024119C 3C01800E */ lui $at, %hi(gBattleState)
|
||||
/* 16FA80 802411A0 AC24C068 */ sw $a0, %lo(gBattleState)($at)
|
||||
/* 16FA84 802411A4 3C01800E */ lui $at, %hi(gBattleStatus+0x470)
|
||||
/* 16FA88 802411A8 AC22C4E0 */ sw $v0, %lo(gBattleStatus+0x470)($at)
|
||||
/* 16FA8C 802411AC 3C01800E */ lui $at, %hi(gBattleStatus+0x46C)
|
||||
/* 16FA90 802411B0 AC20C4DC */ sw $zero, %lo(gBattleStatus+0x46C)($at)
|
||||
/* 16FA94 802411B4 30630040 */ andi $v1, $v1, 0x40
|
||||
/* 16FA98 802411B8 10600015 */ beqz $v1, .L80241210
|
||||
/* 16FA9C 802411BC 24020008 */ addiu $v0, $zero, 8
|
||||
/* 16FAA0 802411C0 10820010 */ beq $a0, $v0, .L80241204
|
||||
/* 16FAA4 802411C4 28820009 */ slti $v0, $a0, 9
|
||||
/* 16FAA8 802411C8 10400005 */ beqz $v0, .L802411E0
|
||||
/* 16FAAC 802411CC 24020007 */ addiu $v0, $zero, 7
|
||||
/* 16FAB0 802411D0 5082000D */ beql $a0, $v0, .L80241208
|
||||
/* 16FAB4 802411D4 24040008 */ addiu $a0, $zero, 8
|
||||
/* 16FAB8 802411D8 08090482 */ j .L80241208
|
||||
/* 16FABC 802411DC 00000000 */ nop
|
||||
.L802411E0:
|
||||
/* 16FAC0 802411E0 2402000D */ addiu $v0, $zero, 0xd
|
||||
/* 16FAC4 802411E4 10820005 */ beq $a0, $v0, .L802411FC
|
||||
/* 16FAC8 802411E8 2402000E */ addiu $v0, $zero, 0xe
|
||||
/* 16FACC 802411EC 50820006 */ beql $a0, $v0, .L80241208
|
||||
/* 16FAD0 802411F0 24040010 */ addiu $a0, $zero, 0x10
|
||||
/* 16FAD4 802411F4 08090482 */ j .L80241208
|
||||
/* 16FAD8 802411F8 00000000 */ nop
|
||||
.L802411FC:
|
||||
/* 16FADC 802411FC 08090482 */ j .L80241208
|
||||
/* 16FAE0 80241200 2404000F */ addiu $a0, $zero, 0xf
|
||||
.L80241204:
|
||||
/* 16FAE4 80241204 24040007 */ addiu $a0, $zero, 7
|
||||
.L80241208:
|
||||
/* 16FAE8 80241208 3C01800E */ lui $at, %hi(gBattleState)
|
||||
/* 16FAEC 8024120C AC24C068 */ sw $a0, %lo(gBattleState)($at)
|
||||
.L80241210:
|
||||
/* 16FAF0 80241210 03E00008 */ jr $ra
|
||||
/* 16FAF4 80241214 00000000 */ nop
|
@ -1,248 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel ActorSpeak
|
||||
/* 181810 80252F30 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 181814 80252F34 AFB3003C */ sw $s3, 0x3c($sp)
|
||||
/* 181818 80252F38 0080982D */ daddu $s3, $a0, $zero
|
||||
/* 18181C 80252F3C AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 181820 80252F40 AFB40040 */ sw $s4, 0x40($sp)
|
||||
/* 181824 80252F44 AFB20038 */ sw $s2, 0x38($sp)
|
||||
/* 181828 80252F48 AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* 18182C 80252F4C AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 181830 80252F50 10A00075 */ beqz $a1, .L80253128
|
||||
/* 181834 80252F54 8E71000C */ lw $s1, 0xc($s3)
|
||||
/* 181838 80252F58 8E250000 */ lw $a1, ($s1)
|
||||
/* 18183C 80252F5C 0C0B1EAF */ jal get_variable
|
||||
/* 181840 80252F60 26310004 */ addiu $s1, $s1, 4
|
||||
/* 181844 80252F64 8E250000 */ lw $a1, ($s1)
|
||||
/* 181848 80252F68 26310004 */ addiu $s1, $s1, 4
|
||||
/* 18184C 80252F6C 0260202D */ daddu $a0, $s3, $zero
|
||||
/* 181850 80252F70 0C0B1EAF */ jal get_variable
|
||||
/* 181854 80252F74 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 181858 80252F78 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 18185C 80252F7C 8E250000 */ lw $a1, ($s1)
|
||||
/* 181860 80252F80 26310004 */ addiu $s1, $s1, 4
|
||||
/* 181864 80252F84 0C0B1EAF */ jal get_variable
|
||||
/* 181868 80252F88 0260202D */ daddu $a0, $s3, $zero
|
||||
/* 18186C 80252F8C 8E250000 */ lw $a1, ($s1)
|
||||
/* 181870 80252F90 26310004 */ addiu $s1, $s1, 4
|
||||
/* 181874 80252F94 0260202D */ daddu $a0, $s3, $zero
|
||||
/* 181878 80252F98 0C0B1EAF */ jal get_variable
|
||||
/* 18187C 80252F9C 0040A02D */ daddu $s4, $v0, $zero
|
||||
/* 181880 80252FA0 3C01802A */ lui $at, %hi(gSpeakingActorTalkAnim)
|
||||
/* 181884 80252FA4 AC22FA6C */ sw $v0, %lo(gSpeakingActorTalkAnim)($at)
|
||||
/* 181888 80252FA8 8E250000 */ lw $a1, ($s1)
|
||||
/* 18188C 80252FAC 0C0B1EAF */ jal get_variable
|
||||
/* 181890 80252FB0 0260202D */ daddu $a0, $s3, $zero
|
||||
/* 181894 80252FB4 3C01802A */ lui $at, %hi(gSpeakingActorIdleAnim)
|
||||
/* 181898 80252FB8 AC22FA70 */ sw $v0, %lo(gSpeakingActorIdleAnim)($at)
|
||||
/* 18189C 80252FBC 2402FF81 */ addiu $v0, $zero, -0x7f
|
||||
/* 1818A0 80252FC0 16420002 */ bne $s2, $v0, .L80252FCC
|
||||
/* 1818A4 80252FC4 00000000 */ nop
|
||||
/* 1818A8 80252FC8 8E720148 */ lw $s2, 0x148($s3)
|
||||
.L80252FCC:
|
||||
/* 1818AC 80252FCC 0C09A75B */ jal get_actor
|
||||
/* 1818B0 80252FD0 0240202D */ daddu $a0, $s2, $zero
|
||||
/* 1818B4 80252FD4 0040882D */ daddu $s1, $v0, $zero
|
||||
/* 1818B8 80252FD8 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 1818BC 80252FDC 0C099117 */ jal get_actor_part
|
||||
/* 1818C0 80252FE0 0280282D */ daddu $a1, $s4, $zero
|
||||
/* 1818C4 80252FE4 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 1818C8 80252FE8 86230150 */ lh $v1, 0x150($s1)
|
||||
/* 1818CC 80252FEC C6200144 */ lwc1 $f0, 0x144($s1)
|
||||
/* 1818D0 80252FF0 8E220000 */ lw $v0, ($s1)
|
||||
/* 1818D4 80252FF4 3C01802A */ lui $at, %hi(gSpeakingActor)
|
||||
/* 1818D8 80252FF8 AC31FA74 */ sw $s1, %lo(gSpeakingActor)($at)
|
||||
/* 1818DC 80252FFC 3C01802A */ lui $at, %hi(gSpeakingActorPart)
|
||||
/* 1818E0 80253000 AC32FA78 */ sw $s2, %lo(gSpeakingActorPart)($at)
|
||||
/* 1818E4 80253004 44831000 */ mtc1 $v1, $f2
|
||||
/* 1818E8 80253008 00000000 */ nop
|
||||
/* 1818EC 8025300C 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 1818F0 80253010 30428000 */ andi $v0, $v0, 0x8000
|
||||
/* 1818F4 80253014 1440000D */ bnez $v0, .L8025304C
|
||||
/* 1818F8 80253018 46020100 */ add.s $f4, $f0, $f2
|
||||
/* 1818FC 8025301C 86220152 */ lh $v0, 0x152($s1)
|
||||
/* 181900 80253020 C6200148 */ lwc1 $f0, 0x148($s1)
|
||||
/* 181904 80253024 44821000 */ mtc1 $v0, $f2
|
||||
/* 181908 80253028 00000000 */ nop
|
||||
/* 18190C 8025302C 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 181910 80253030 92220191 */ lbu $v0, 0x191($s1)
|
||||
/* 181914 80253034 46020000 */ add.s $f0, $f0, $f2
|
||||
/* 181918 80253038 44821000 */ mtc1 $v0, $f2
|
||||
/* 18191C 8025303C 00000000 */ nop
|
||||
/* 181920 80253040 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 181924 80253044 08094C1F */ j .L8025307C
|
||||
/* 181928 80253048 46001000 */ add.s $f0, $f2, $f0
|
||||
.L8025304C:
|
||||
/* 18192C 8025304C 86220152 */ lh $v0, 0x152($s1)
|
||||
/* 181930 80253050 C6220148 */ lwc1 $f2, 0x148($s1)
|
||||
/* 181934 80253054 44820000 */ mtc1 $v0, $f0
|
||||
/* 181938 80253058 00000000 */ nop
|
||||
/* 18193C 8025305C 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 181940 80253060 92220191 */ lbu $v0, 0x191($s1)
|
||||
/* 181944 80253064 46001080 */ add.s $f2, $f2, $f0
|
||||
/* 181948 80253068 00021042 */ srl $v0, $v0, 1
|
||||
/* 18194C 8025306C 44820000 */ mtc1 $v0, $f0
|
||||
/* 181950 80253070 00000000 */ nop
|
||||
/* 181954 80253074 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 181958 80253078 46001000 */ add.s $f0, $f2, $f0
|
||||
.L8025307C:
|
||||
/* 18195C 8025307C 24040001 */ addiu $a0, $zero, 1
|
||||
/* 181960 80253080 44052000 */ mfc1 $a1, $f4
|
||||
/* 181964 80253084 44060000 */ mfc1 $a2, $f0
|
||||
/* 181968 80253088 86230154 */ lh $v1, 0x154($s1)
|
||||
/* 18196C 8025308C C622014C */ lwc1 $f2, 0x14c($s1)
|
||||
/* 181970 80253090 27A20020 */ addiu $v0, $sp, 0x20
|
||||
/* 181974 80253094 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 181978 80253098 44830000 */ mtc1 $v1, $f0
|
||||
/* 18197C 8025309C 00000000 */ nop
|
||||
/* 181980 802530A0 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 181984 802530A4 46001080 */ add.s $f2, $f2, $f0
|
||||
/* 181988 802530A8 27A20024 */ addiu $v0, $sp, 0x24
|
||||
/* 18198C 802530AC AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 181990 802530B0 44071000 */ mfc1 $a3, $f2
|
||||
/* 181994 802530B4 27A20028 */ addiu $v0, $sp, 0x28
|
||||
/* 181998 802530B8 0C00B94E */ jal get_screen_coords
|
||||
/* 18199C 802530BC AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 1819A0 802530C0 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 1819A4 802530C4 3C05802A */ lui $a1, %hi(gSpeakingActorPrintIsDone)
|
||||
/* 1819A8 802530C8 24A5FA68 */ addiu $a1, $a1, %lo(gSpeakingActorPrintIsDone)
|
||||
/* 1819AC 802530CC 0C049640 */ jal load_string
|
||||
/* 1819B0 802530D0 ACA00000 */ sw $zero, ($a1)
|
||||
/* 1819B4 802530D4 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 1819B8 802530D8 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 1819BC 802530DC 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 1819C0 802530E0 3C01802A */ lui $at, %hi(gSpeakingActorPrintCtx)
|
||||
/* 1819C4 802530E4 AC24FA60 */ sw $a0, %lo(gSpeakingActorPrintCtx)($at)
|
||||
/* 1819C8 802530E8 0C0496AE */ jal clamp_printer_coords
|
||||
/* 1819CC 802530EC 00000000 */ nop
|
||||
/* 1819D0 802530F0 3C03800A */ lui $v1, %hi(gOverrideFlags)
|
||||
/* 1819D4 802530F4 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
|
||||
/* 1819D8 802530F8 AE600070 */ sw $zero, 0x70($s3)
|
||||
/* 1819DC 802530FC 8C620000 */ lw $v0, ($v1)
|
||||
/* 1819E0 80253100 3C06802A */ lui $a2, %hi(gSpeakingActorTalkAnim)
|
||||
/* 1819E4 80253104 8CC6FA6C */ lw $a2, %lo(gSpeakingActorTalkAnim)($a2)
|
||||
/* 1819E8 80253108 34420010 */ ori $v0, $v0, 0x10
|
||||
/* 1819EC 8025310C 04C00004 */ bltz $a2, .L80253120
|
||||
/* 1819F0 80253110 AC620000 */ sw $v0, ($v1)
|
||||
/* 1819F4 80253114 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 1819F8 80253118 0C098F82 */ jal func_80263E08
|
||||
/* 1819FC 8025311C 0240282D */ daddu $a1, $s2, $zero
|
||||
.L80253120:
|
||||
/* 181A00 80253120 0C03A6D5 */ jal increment_status_menu_disabled
|
||||
/* 181A04 80253124 00000000 */ nop
|
||||
.L80253128:
|
||||
/* 181A08 80253128 8E620070 */ lw $v0, 0x70($s3)
|
||||
/* 181A0C 8025312C 14400060 */ bnez $v0, .L802532B0
|
||||
/* 181A10 80253130 0000102D */ daddu $v0, $zero, $zero
|
||||
/* 181A14 80253134 3C11802A */ lui $s1, %hi(gSpeakingActor)
|
||||
/* 181A18 80253138 8E31FA74 */ lw $s1, %lo(gSpeakingActor)($s1)
|
||||
/* 181A1C 8025313C 3C12802A */ lui $s2, %hi(gSpeakingActorPart)
|
||||
/* 181A20 80253140 8E52FA78 */ lw $s2, %lo(gSpeakingActorPart)($s2)
|
||||
/* 181A24 80253144 86220150 */ lh $v0, 0x150($s1)
|
||||
/* 181A28 80253148 C6200144 */ lwc1 $f0, 0x144($s1)
|
||||
/* 181A2C 8025314C 44821000 */ mtc1 $v0, $f2
|
||||
/* 181A30 80253150 00000000 */ nop
|
||||
/* 181A34 80253154 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 181A38 80253158 8E220000 */ lw $v0, ($s1)
|
||||
/* 181A3C 8025315C 30428000 */ andi $v0, $v0, 0x8000
|
||||
/* 181A40 80253160 1440000D */ bnez $v0, .L80253198
|
||||
/* 181A44 80253164 46020100 */ add.s $f4, $f0, $f2
|
||||
/* 181A48 80253168 86220152 */ lh $v0, 0x152($s1)
|
||||
/* 181A4C 8025316C C6200148 */ lwc1 $f0, 0x148($s1)
|
||||
/* 181A50 80253170 44821000 */ mtc1 $v0, $f2
|
||||
/* 181A54 80253174 00000000 */ nop
|
||||
/* 181A58 80253178 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 181A5C 8025317C 92220191 */ lbu $v0, 0x191($s1)
|
||||
/* 181A60 80253180 46020000 */ add.s $f0, $f0, $f2
|
||||
/* 181A64 80253184 44821000 */ mtc1 $v0, $f2
|
||||
/* 181A68 80253188 00000000 */ nop
|
||||
/* 181A6C 8025318C 468010A0 */ cvt.s.w $f2, $f2
|
||||
/* 181A70 80253190 08094C72 */ j .L802531C8
|
||||
/* 181A74 80253194 46001000 */ add.s $f0, $f2, $f0
|
||||
.L80253198:
|
||||
/* 181A78 80253198 86220152 */ lh $v0, 0x152($s1)
|
||||
/* 181A7C 8025319C C6220148 */ lwc1 $f2, 0x148($s1)
|
||||
/* 181A80 802531A0 44820000 */ mtc1 $v0, $f0
|
||||
/* 181A84 802531A4 00000000 */ nop
|
||||
/* 181A88 802531A8 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 181A8C 802531AC 92220191 */ lbu $v0, 0x191($s1)
|
||||
/* 181A90 802531B0 46001080 */ add.s $f2, $f2, $f0
|
||||
/* 181A94 802531B4 00021042 */ srl $v0, $v0, 1
|
||||
/* 181A98 802531B8 44820000 */ mtc1 $v0, $f0
|
||||
/* 181A9C 802531BC 00000000 */ nop
|
||||
/* 181AA0 802531C0 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 181AA4 802531C4 46001000 */ add.s $f0, $f2, $f0
|
||||
.L802531C8:
|
||||
/* 181AA8 802531C8 24040001 */ addiu $a0, $zero, 1
|
||||
/* 181AAC 802531CC 44052000 */ mfc1 $a1, $f4
|
||||
/* 181AB0 802531D0 44060000 */ mfc1 $a2, $f0
|
||||
/* 181AB4 802531D4 86230154 */ lh $v1, 0x154($s1)
|
||||
/* 181AB8 802531D8 C622014C */ lwc1 $f2, 0x14c($s1)
|
||||
/* 181ABC 802531DC 27A20020 */ addiu $v0, $sp, 0x20
|
||||
/* 181AC0 802531E0 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 181AC4 802531E4 44830000 */ mtc1 $v1, $f0
|
||||
/* 181AC8 802531E8 00000000 */ nop
|
||||
/* 181ACC 802531EC 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 181AD0 802531F0 46001080 */ add.s $f2, $f2, $f0
|
||||
/* 181AD4 802531F4 27A20024 */ addiu $v0, $sp, 0x24
|
||||
/* 181AD8 802531F8 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 181ADC 802531FC 44071000 */ mfc1 $a3, $f2
|
||||
/* 181AE0 80253200 27A20028 */ addiu $v0, $sp, 0x28
|
||||
/* 181AE4 80253204 0C00B94E */ jal get_screen_coords
|
||||
/* 181AE8 80253208 AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 181AEC 8025320C 3C10802A */ lui $s0, %hi(gSpeakingActorPrintCtx)
|
||||
/* 181AF0 80253210 2610FA60 */ addiu $s0, $s0, %lo(gSpeakingActorPrintCtx)
|
||||
/* 181AF4 80253214 8E040000 */ lw $a0, ($s0)
|
||||
/* 181AF8 80253218 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 181AFC 8025321C 0C0496AE */ jal clamp_printer_coords
|
||||
/* 181B00 80253220 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 181B04 80253224 8E020000 */ lw $v0, ($s0)
|
||||
/* 181B08 80253228 8C4304FC */ lw $v1, 0x4fc($v0)
|
||||
/* 181B0C 8025322C 30620040 */ andi $v0, $v1, 0x40
|
||||
/* 181B10 80253230 10400005 */ beqz $v0, .L80253248
|
||||
/* 181B14 80253234 30620080 */ andi $v0, $v1, 0x80
|
||||
/* 181B18 80253238 0C03A6CC */ jal decrement_status_menu_disabled
|
||||
/* 181B1C 8025323C 00000000 */ nop
|
||||
/* 181B20 80253240 08094CAC */ j .L802532B0
|
||||
/* 181B24 80253244 24020001 */ addiu $v0, $zero, 1
|
||||
.L80253248:
|
||||
/* 181B28 80253248 10400005 */ beqz $v0, .L80253260
|
||||
/* 181B2C 8025324C 00000000 */ nop
|
||||
/* 181B30 80253250 3C06802A */ lui $a2, %hi(gSpeakingActorTalkAnim)
|
||||
/* 181B34 80253254 8CC6FA6C */ lw $a2, %lo(gSpeakingActorTalkAnim)($a2)
|
||||
/* 181B38 80253258 08094C9A */ j .L80253268
|
||||
/* 181B3C 8025325C 00000000 */ nop
|
||||
.L80253260:
|
||||
/* 181B40 80253260 3C06802A */ lui $a2, %hi(gSpeakingActorIdleAnim)
|
||||
/* 181B44 80253264 8CC6FA70 */ lw $a2, %lo(gSpeakingActorIdleAnim)($a2)
|
||||
.L80253268:
|
||||
/* 181B48 80253268 04C00003 */ bltz $a2, .L80253278
|
||||
/* 181B4C 8025326C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 181B50 80253270 0C098F82 */ jal func_80263E08
|
||||
/* 181B54 80253274 0240282D */ daddu $a1, $s2, $zero
|
||||
.L80253278:
|
||||
/* 181B58 80253278 3C03802A */ lui $v1, %hi(gSpeakingActorPrintIsDone)
|
||||
/* 181B5C 8025327C 8C63FA68 */ lw $v1, %lo(gSpeakingActorPrintIsDone)($v1)
|
||||
/* 181B60 80253280 24020001 */ addiu $v0, $zero, 1
|
||||
/* 181B64 80253284 1462000A */ bne $v1, $v0, .L802532B0
|
||||
/* 181B68 80253288 0000102D */ daddu $v0, $zero, $zero
|
||||
/* 181B6C 8025328C 0C03A6CC */ jal decrement_status_menu_disabled
|
||||
/* 181B70 80253290 00000000 */ nop
|
||||
/* 181B74 80253294 24020001 */ addiu $v0, $zero, 1
|
||||
/* 181B78 80253298 3C03800A */ lui $v1, %hi(gOverrideFlags)
|
||||
/* 181B7C 8025329C 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
|
||||
/* 181B80 802532A0 8C640000 */ lw $a0, ($v1)
|
||||
/* 181B84 802532A4 2405FFEF */ addiu $a1, $zero, -0x11
|
||||
/* 181B88 802532A8 00852024 */ and $a0, $a0, $a1
|
||||
/* 181B8C 802532AC AC640000 */ sw $a0, ($v1)
|
||||
.L802532B0:
|
||||
/* 181B90 802532B0 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 181B94 802532B4 8FB40040 */ lw $s4, 0x40($sp)
|
||||
/* 181B98 802532B8 8FB3003C */ lw $s3, 0x3c($sp)
|
||||
/* 181B9C 802532BC 8FB20038 */ lw $s2, 0x38($sp)
|
||||
/* 181BA0 802532C0 8FB10034 */ lw $s1, 0x34($sp)
|
||||
/* 181BA4 802532C4 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* 181BA8 802532C8 03E00008 */ jr $ra
|
||||
/* 181BAC 802532CC 27BD0048 */ addiu $sp, $sp, 0x48
|
@ -1,155 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel enable_player_blur
|
||||
/* 182FB4 802546D4 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 182FB8 802546D8 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 182FBC 802546DC 3C11800E */ lui $s1, %hi(gBattleStatus+0xD8)
|
||||
/* 182FC0 802546E0 8E31C148 */ lw $s1, %lo(gBattleStatus+0xD8)($s1)
|
||||
/* 182FC4 802546E4 AFB40020 */ sw $s4, 0x20($sp)
|
||||
/* 182FC8 802546E8 0000A02D */ daddu $s4, $zero, $zero
|
||||
/* 182FCC 802546EC AFB50024 */ sw $s5, 0x24($sp)
|
||||
/* 182FD0 802546F0 3C158000 */ lui $s5, 0x8000
|
||||
/* 182FD4 802546F4 AFBF0028 */ sw $ra, 0x28($sp)
|
||||
/* 182FD8 802546F8 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 182FDC 802546FC AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 182FE0 80254700 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 182FE4 80254704 F7B60038 */ sdc1 $f22, 0x38($sp)
|
||||
/* 182FE8 80254708 F7B40030 */ sdc1 $f20, 0x30($sp)
|
||||
/* 182FEC 8025470C 8E3301F4 */ lw $s3, 0x1f4($s1)
|
||||
/* 182FF0 80254710 3C013F00 */ lui $at, 0x3f00
|
||||
/* 182FF4 80254714 4481B000 */ mtc1 $at, $f22
|
||||
/* 182FF8 80254718 8E6200C0 */ lw $v0, 0xc0($s3)
|
||||
/* 182FFC 8025471C 3C014F00 */ lui $at, 0x4f00
|
||||
/* 183000 80254720 4481A000 */ mtc1 $at, $f20
|
||||
/* 183004 80254724 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 183008 80254728 920207DB */ lbu $v0, 0x7db($s0)
|
||||
/* 18300C 8025472C 3C031000 */ lui $v1, 0x1000
|
||||
/* 183010 80254730 A20008AC */ sb $zero, 0x8ac($s0)
|
||||
/* 183014 80254734 24420001 */ addiu $v0, $v0, 1
|
||||
/* 183018 80254738 A20207DB */ sb $v0, 0x7db($s0)
|
||||
/* 18301C 8025473C 8E220000 */ lw $v0, ($s1)
|
||||
/* 183020 80254740 0200902D */ daddu $s2, $s0, $zero
|
||||
/* 183024 80254744 00431025 */ or $v0, $v0, $v1
|
||||
/* 183028 80254748 AE220000 */ sw $v0, ($s1)
|
||||
/* 18302C 8025474C A20007D8 */ sb $zero, 0x7d8($s0)
|
||||
/* 183030 80254750 A20007D9 */ sb $zero, 0x7d9($s0)
|
||||
.L80254754:
|
||||
/* 183034 80254754 C6600058 */ lwc1 $f0, 0x58($s3)
|
||||
/* 183038 80254758 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 18303C 8025475C 44022000 */ mfc1 $v0, $f4
|
||||
/* 183040 80254760 00000000 */ nop
|
||||
/* 183044 80254764 A60207FC */ sh $v0, 0x7fc($s0)
|
||||
/* 183048 80254768 C660005C */ lwc1 $f0, 0x5c($s3)
|
||||
/* 18304C 8025476C 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 183050 80254770 44022000 */ mfc1 $v0, $f4
|
||||
/* 183054 80254774 00000000 */ nop
|
||||
/* 183058 80254778 A602081C */ sh $v0, 0x81c($s0)
|
||||
/* 18305C 8025477C C6600060 */ lwc1 $f0, 0x60($s3)
|
||||
/* 183060 80254780 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 183064 80254784 44022000 */ mfc1 $v0, $f4
|
||||
/* 183068 80254788 00000000 */ nop
|
||||
/* 18306C 8025478C A602083C */ sh $v0, 0x83c($s0)
|
||||
/* 183070 80254790 C620018C */ lwc1 $f0, 0x18c($s1)
|
||||
/* 183074 80254794 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 183078 80254798 44022000 */ mfc1 $v0, $f4
|
||||
/* 18307C 8025479C 00000000 */ nop
|
||||
/* 183080 802547A0 A60207DC */ sh $v0, 0x7dc($s0)
|
||||
/* 183084 802547A4 86220168 */ lh $v0, 0x168($s1)
|
||||
/* 183088 802547A8 C6220188 */ lwc1 $f2, 0x188($s1)
|
||||
/* 18308C 802547AC 44820000 */ mtc1 $v0, $f0
|
||||
/* 183090 802547B0 00000000 */ nop
|
||||
/* 183094 802547B4 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 183098 802547B8 46020002 */ mul.s $f0, $f0, $f2
|
||||
/* 18309C 802547BC 00000000 */ nop
|
||||
/* 1830A0 802547C0 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 1830A4 802547C4 44022000 */ mfc1 $v0, $f4
|
||||
/* 1830A8 802547C8 00000000 */ nop
|
||||
/* 1830AC 802547CC A242085C */ sb $v0, 0x85c($s2)
|
||||
/* 1830B0 802547D0 8622016A */ lh $v0, 0x16a($s1)
|
||||
/* 1830B4 802547D4 C6220188 */ lwc1 $f2, 0x188($s1)
|
||||
/* 1830B8 802547D8 44820000 */ mtc1 $v0, $f0
|
||||
/* 1830BC 802547DC 00000000 */ nop
|
||||
/* 1830C0 802547E0 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 1830C4 802547E4 46020002 */ mul.s $f0, $f0, $f2
|
||||
/* 1830C8 802547E8 00000000 */ nop
|
||||
/* 1830CC 802547EC 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 1830D0 802547F0 44022000 */ mfc1 $v0, $f4
|
||||
/* 1830D4 802547F4 00000000 */ nop
|
||||
/* 1830D8 802547F8 A242086C */ sb $v0, 0x86c($s2)
|
||||
/* 1830DC 802547FC 0C00A6C9 */ jal clamp_angle
|
||||
/* 1830E0 80254800 C62C015C */ lwc1 $f12, 0x15c($s1)
|
||||
/* 1830E4 80254804 46160002 */ mul.s $f0, $f0, $f22
|
||||
/* 1830E8 80254808 00000000 */ nop
|
||||
/* 1830EC 8025480C 4600A03E */ c.le.s $f20, $f0
|
||||
/* 1830F0 80254810 00000000 */ nop
|
||||
/* 1830F4 80254814 45010005 */ bc1t .L8025482C
|
||||
/* 1830F8 80254818 2643087C */ addiu $v1, $s2, 0x87c
|
||||
/* 1830FC 8025481C 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 183100 80254820 44022000 */ mfc1 $v0, $f4
|
||||
/* 183104 80254824 08095211 */ j .L80254844
|
||||
/* 183108 80254828 A0620000 */ sb $v0, ($v1)
|
||||
.L8025482C:
|
||||
/* 18310C 8025482C 46140001 */ sub.s $f0, $f0, $f20
|
||||
/* 183110 80254830 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 183114 80254834 44022000 */ mfc1 $v0, $f4
|
||||
/* 183118 80254838 00000000 */ nop
|
||||
/* 18311C 8025483C 00551025 */ or $v0, $v0, $s5
|
||||
/* 183120 80254840 A0620000 */ sb $v0, ($v1)
|
||||
.L80254844:
|
||||
/* 183124 80254844 0C00A6C9 */ jal clamp_angle
|
||||
/* 183128 80254848 C62C0160 */ lwc1 $f12, 0x160($s1)
|
||||
/* 18312C 8025484C 46160002 */ mul.s $f0, $f0, $f22
|
||||
/* 183130 80254850 00000000 */ nop
|
||||
/* 183134 80254854 4600A03E */ c.le.s $f20, $f0
|
||||
/* 183138 80254858 00000000 */ nop
|
||||
/* 18313C 8025485C 45010005 */ bc1t .L80254874
|
||||
/* 183140 80254860 2643088C */ addiu $v1, $s2, 0x88c
|
||||
/* 183144 80254864 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 183148 80254868 44022000 */ mfc1 $v0, $f4
|
||||
/* 18314C 8025486C 08095223 */ j .L8025488C
|
||||
/* 183150 80254870 A0620000 */ sb $v0, ($v1)
|
||||
.L80254874:
|
||||
/* 183154 80254874 46140001 */ sub.s $f0, $f0, $f20
|
||||
/* 183158 80254878 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 18315C 8025487C 44022000 */ mfc1 $v0, $f4
|
||||
/* 183160 80254880 00000000 */ nop
|
||||
/* 183164 80254884 00551025 */ or $v0, $v0, $s5
|
||||
/* 183168 80254888 A0620000 */ sb $v0, ($v1)
|
||||
.L8025488C:
|
||||
/* 18316C 8025488C 0C00A6C9 */ jal clamp_angle
|
||||
/* 183170 80254890 C62C0164 */ lwc1 $f12, 0x164($s1)
|
||||
/* 183174 80254894 46160002 */ mul.s $f0, $f0, $f22
|
||||
/* 183178 80254898 00000000 */ nop
|
||||
/* 18317C 8025489C 4600A03E */ c.le.s $f20, $f0
|
||||
/* 183180 802548A0 00000000 */ nop
|
||||
/* 183184 802548A4 45010005 */ bc1t .L802548BC
|
||||
/* 183188 802548A8 2643089C */ addiu $v1, $s2, 0x89c
|
||||
/* 18318C 802548AC 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 183190 802548B0 44022000 */ mfc1 $v0, $f4
|
||||
/* 183194 802548B4 08095235 */ j .L802548D4
|
||||
/* 183198 802548B8 A0620000 */ sb $v0, ($v1)
|
||||
.L802548BC:
|
||||
/* 18319C 802548BC 46140001 */ sub.s $f0, $f0, $f20
|
||||
/* 1831A0 802548C0 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 1831A4 802548C4 44022000 */ mfc1 $v0, $f4
|
||||
/* 1831A8 802548C8 00000000 */ nop
|
||||
/* 1831AC 802548CC 00551025 */ or $v0, $v0, $s5
|
||||
/* 1831B0 802548D0 A0620000 */ sb $v0, ($v1)
|
||||
.L802548D4:
|
||||
/* 1831B4 802548D4 26520001 */ addiu $s2, $s2, 1
|
||||
/* 1831B8 802548D8 26940001 */ addiu $s4, $s4, 1
|
||||
/* 1831BC 802548DC 2A820010 */ slti $v0, $s4, 0x10
|
||||
/* 1831C0 802548E0 1440FF9C */ bnez $v0, .L80254754
|
||||
/* 1831C4 802548E4 26100002 */ addiu $s0, $s0, 2
|
||||
/* 1831C8 802548E8 8FBF0028 */ lw $ra, 0x28($sp)
|
||||
/* 1831CC 802548EC 8FB50024 */ lw $s5, 0x24($sp)
|
||||
/* 1831D0 802548F0 8FB40020 */ lw $s4, 0x20($sp)
|
||||
/* 1831D4 802548F4 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 1831D8 802548F8 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 1831DC 802548FC 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 1831E0 80254900 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 1831E4 80254904 D7B60038 */ ldc1 $f22, 0x38($sp)
|
||||
/* 1831E8 80254908 D7B40030 */ ldc1 $f20, 0x30($sp)
|
||||
/* 1831EC 8025490C 03E00008 */ jr $ra
|
||||
/* 1831F0 80254910 27BD0040 */ addiu $sp, $sp, 0x40
|
@ -1,61 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel MakeOwnerTargetIndex
|
||||
/* 1AE498 8027FBB8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 1AE49C 8027FBBC AFB40020 */ sw $s4, 0x20($sp)
|
||||
/* 1AE4A0 8027FBC0 0080A02D */ daddu $s4, $a0, $zero
|
||||
/* 1AE4A4 8027FBC4 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 1AE4A8 8027FBC8 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 1AE4AC 8027FBCC AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 1AE4B0 8027FBD0 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 1AE4B4 8027FBD4 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 1AE4B8 8027FBD8 8E840148 */ lw $a0, 0x148($s4)
|
||||
/* 1AE4BC 8027FBDC 0C09A75B */ jal get_actor
|
||||
/* 1AE4C0 8027FBE0 8E90000C */ lw $s0, 0xc($s4)
|
||||
/* 1AE4C4 8027FBE4 8E050000 */ lw $a1, ($s0)
|
||||
/* 1AE4C8 8027FBE8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 1AE4CC 8027FBEC 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 1AE4D0 8027FBF0 8251040C */ lb $s1, 0x40c($s2)
|
||||
/* 1AE4D4 8027FBF4 0C0B1EAF */ jal get_variable
|
||||
/* 1AE4D8 8027FBF8 0280202D */ daddu $a0, $s4, $zero
|
||||
/* 1AE4DC 8027FBFC 8E050000 */ lw $a1, ($s0)
|
||||
/* 1AE4E0 8027FC00 26100004 */ addiu $s0, $s0, 4
|
||||
/* 1AE4E4 8027FC04 0C0B1EAF */ jal get_variable
|
||||
/* 1AE4E8 8027FC08 0280202D */ daddu $a0, $s4, $zero
|
||||
/* 1AE4EC 8027FC0C 0040302D */ daddu $a2, $v0, $zero
|
||||
/* 1AE4F0 8027FC10 8E050000 */ lw $a1, ($s0)
|
||||
/* 1AE4F4 8027FC14 16200003 */ bnez $s1, .L8027FC24
|
||||
/* 1AE4F8 8027FC18 2653040D */ addiu $s3, $s2, 0x40d
|
||||
/* 1AE4FC 8027FC1C 0809FF19 */ j .L8027FC64
|
||||
/* 1AE500 8027FC20 2406FFFF */ addiu $a2, $zero, -1
|
||||
.L8027FC24:
|
||||
/* 1AE504 8027FC24 10C00004 */ beqz $a2, .L8027FC38
|
||||
/* 1AE508 8027FC28 00D1102A */ slt $v0, $a2, $s1
|
||||
/* 1AE50C 8027FC2C 14400002 */ bnez $v0, .L8027FC38
|
||||
/* 1AE510 8027FC30 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 1AE514 8027FC34 2626FFFF */ addiu $a2, $s1, -1
|
||||
.L8027FC38:
|
||||
/* 1AE518 8027FC38 02661021 */ addu $v0, $s3, $a2
|
||||
/* 1AE51C 8027FC3C 80430000 */ lb $v1, ($v0)
|
||||
/* 1AE520 8027FC40 00031080 */ sll $v0, $v1, 2
|
||||
/* 1AE524 8027FC44 00431021 */ addu $v0, $v0, $v1
|
||||
/* 1AE528 8027FC48 00021080 */ sll $v0, $v0, 2
|
||||
/* 1AE52C 8027FC4C 2442022C */ addiu $v0, $v0, 0x22c
|
||||
/* 1AE530 8027FC50 02421021 */ addu $v0, $s2, $v0
|
||||
/* 1AE534 8027FC54 94430000 */ lhu $v1, ($v0)
|
||||
/* 1AE538 8027FC58 A6430428 */ sh $v1, 0x428($s2)
|
||||
/* 1AE53C 8027FC5C 90420003 */ lbu $v0, 3($v0)
|
||||
/* 1AE540 8027FC60 A2420426 */ sb $v0, 0x426($s2)
|
||||
.L8027FC64:
|
||||
/* 1AE544 8027FC64 0C0B2026 */ jal set_variable
|
||||
/* 1AE548 8027FC68 0280202D */ daddu $a0, $s4, $zero
|
||||
/* 1AE54C 8027FC6C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 1AE550 8027FC70 8FB40020 */ lw $s4, 0x20($sp)
|
||||
/* 1AE554 8027FC74 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 1AE558 8027FC78 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 1AE55C 8027FC7C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 1AE560 8027FC80 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 1AE564 8027FC84 24020002 */ addiu $v0, $zero, 2
|
||||
/* 1AE568 8027FC88 03E00008 */ jr $ra
|
||||
/* 1AE56C 8027FC8C 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,109 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_800511BC
|
||||
/* 2C5BC 800511BC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 2C5C0 800511C0 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 2C5C4 800511C4 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 2C5C8 800511C8 0000382D */ daddu $a3, $zero, $zero
|
||||
/* 2C5CC 800511CC 24080001 */ addiu $t0, $zero, 1
|
||||
/* 2C5D0 800511D0 00E0302D */ daddu $a2, $a3, $zero
|
||||
/* 2C5D4 800511D4 240507B4 */ addiu $a1, $zero, 0x7b4
|
||||
/* 2C5D8 800511D8 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 2C5DC 800511DC AFB40020 */ sw $s4, 0x20($sp)
|
||||
/* 2C5E0 800511E0 AFB3001C */ sw $s3, 0x1c($sp)
|
||||
/* 2C5E4 800511E4 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 2C5E8 800511E8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
.L800511EC:
|
||||
/* 2C5EC 800511EC 02252021 */ addu $a0, $s1, $a1
|
||||
/* 2C5F0 800511F0 90820003 */ lbu $v0, 3($a0)
|
||||
/* 2C5F4 800511F4 54480008 */ bnel $v0, $t0, .L80051218
|
||||
/* 2C5F8 800511F8 24C60048 */ addiu $a2, $a2, 0x48
|
||||
/* 2C5FC 800511FC 8E220000 */ lw $v0, ($s1)
|
||||
/* 2C600 80051200 00461021 */ addu $v0, $v0, $a2
|
||||
/* 2C604 80051204 90431365 */ lbu $v1, 0x1365($v0)
|
||||
/* 2C608 80051208 92220022 */ lbu $v0, 0x22($s1)
|
||||
/* 2C60C 8005120C 54620001 */ bnel $v1, $v0, .L80051214
|
||||
/* 2C610 80051210 AC800000 */ sw $zero, ($a0)
|
||||
.L80051214:
|
||||
/* 2C614 80051214 24C60048 */ addiu $a2, $a2, 0x48
|
||||
.L80051218:
|
||||
/* 2C618 80051218 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 2C61C 8005121C 2CE20010 */ sltiu $v0, $a3, 0x10
|
||||
/* 2C620 80051220 1440FFF2 */ bnez $v0, .L800511EC
|
||||
/* 2C624 80051224 24A50008 */ addiu $a1, $a1, 8
|
||||
/* 2C628 80051228 0000982D */ daddu $s3, $zero, $zero
|
||||
/* 2C62C 8005122C 24140001 */ addiu $s4, $zero, 1
|
||||
/* 2C630 80051230 24120024 */ addiu $s2, $zero, 0x24
|
||||
/* 2C634 80051234 02328021 */ addu $s0, $s1, $s2
|
||||
.L80051238:
|
||||
/* 2C638 80051238 8E020008 */ lw $v0, 8($s0)
|
||||
/* 2C63C 8005123C 50400030 */ beql $v0, $zero, .L80051300
|
||||
/* 2C640 80051240 265201E4 */ addiu $s2, $s2, 0x1e4
|
||||
/* 2C644 80051244 92220021 */ lbu $v0, 0x21($s1)
|
||||
/* 2C648 80051248 10400003 */ beqz $v0, .L80051258
|
||||
/* 2C64C 8005124C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 2C650 80051250 0C0144CD */ jal func_80051334
|
||||
/* 2C654 80051254 0200282D */ daddu $a1, $s0, $zero
|
||||
.L80051258:
|
||||
/* 2C658 80051258 92030024 */ lbu $v1, 0x24($s0)
|
||||
/* 2C65C 8005125C 10600018 */ beqz $v1, .L800512C0
|
||||
/* 2C660 80051260 24020003 */ addiu $v0, $zero, 3
|
||||
/* 2C664 80051264 1462000A */ bne $v1, $v0, .L80051290
|
||||
/* 2C668 80051268 24020002 */ addiu $v0, $zero, 2
|
||||
/* 2C66C 8005126C A2020024 */ sb $v0, 0x24($s0)
|
||||
/* 2C670 80051270 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 2C674 80051274 0C0148AA */ jal func_800522A8
|
||||
/* 2C678 80051278 0200282D */ daddu $a1, $s0, $zero
|
||||
/* 2C67C 8005127C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 2C680 80051280 0C01487A */ jal func_800521E8
|
||||
/* 2C684 80051284 0200282D */ daddu $a1, $s0, $zero
|
||||
/* 2C688 80051288 080144C0 */ j .L80051300
|
||||
/* 2C68C 8005128C 265201E4 */ addiu $s2, $s2, 0x1e4
|
||||
.L80051290:
|
||||
/* 2C690 80051290 5474001B */ bnel $v1, $s4, .L80051300
|
||||
/* 2C694 80051294 265201E4 */ addiu $s2, $s2, 0x1e4
|
||||
/* 2C698 80051298 96020028 */ lhu $v0, 0x28($s0)
|
||||
/* 2C69C 8005129C 10400003 */ beqz $v0, .L800512AC
|
||||
/* 2C6A0 800512A0 A2000024 */ sb $zero, 0x24($s0)
|
||||
/* 2C6A4 800512A4 0C014354 */ jal func_80050D50
|
||||
/* 2C6A8 800512A8 0200202D */ daddu $a0, $s0, $zero
|
||||
.L800512AC:
|
||||
/* 2C6AC 800512AC 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 2C6B0 800512B0 0C0148CB */ jal func_8005232C
|
||||
/* 2C6B4 800512B4 0200282D */ daddu $a1, $s0, $zero
|
||||
/* 2C6B8 800512B8 080144C0 */ j .L80051300
|
||||
/* 2C6BC 800512BC 265201E4 */ addiu $s2, $s2, 0x1e4
|
||||
.L800512C0:
|
||||
/* 2C6C0 800512C0 96020028 */ lhu $v0, 0x28($s0)
|
||||
/* 2C6C4 800512C4 10400003 */ beqz $v0, .L800512D4
|
||||
/* 2C6C8 800512C8 00000000 */ nop
|
||||
/* 2C6CC 800512CC 0C014354 */ jal func_80050D50
|
||||
/* 2C6D0 800512D0 0200202D */ daddu $a0, $s0, $zero
|
||||
.L800512D4:
|
||||
/* 2C6D4 800512D4 92030025 */ lbu $v1, 0x25($s0)
|
||||
/* 2C6D8 800512D8 24020002 */ addiu $v0, $zero, 2
|
||||
/* 2C6DC 800512DC 14620005 */ bne $v1, $v0, .L800512F4
|
||||
/* 2C6E0 800512E0 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 2C6E4 800512E4 0C01487A */ jal func_800521E8
|
||||
/* 2C6E8 800512E8 0200282D */ daddu $a1, $s0, $zero
|
||||
/* 2C6EC 800512EC A2140025 */ sb $s4, 0x25($s0)
|
||||
/* 2C6F0 800512F0 0220202D */ daddu $a0, $s1, $zero
|
||||
.L800512F4:
|
||||
/* 2C6F4 800512F4 0C01450D */ jal func_80051434
|
||||
/* 2C6F8 800512F8 0200282D */ daddu $a1, $s0, $zero
|
||||
/* 2C6FC 800512FC 265201E4 */ addiu $s2, $s2, 0x1e4
|
||||
.L80051300:
|
||||
/* 2C700 80051300 26730001 */ addiu $s3, $s3, 1
|
||||
/* 2C704 80051304 2A620004 */ slti $v0, $s3, 4
|
||||
/* 2C708 80051308 1440FFCB */ bnez $v0, .L80051238
|
||||
/* 2C70C 8005130C 02328021 */ addu $s0, $s1, $s2
|
||||
/* 2C710 80051310 A2200021 */ sb $zero, 0x21($s1)
|
||||
/* 2C714 80051314 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 2C718 80051318 8FB40020 */ lw $s4, 0x20($sp)
|
||||
/* 2C71C 8005131C 8FB3001C */ lw $s3, 0x1c($sp)
|
||||
/* 2C720 80051320 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 2C724 80051324 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 2C728 80051328 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 2C72C 8005132C 03E00008 */ jr $ra
|
||||
/* 2C730 80051330 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,68 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel input_to_move_vector
|
||||
/* 7B7B4 800E2304 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 7B7B8 800E2308 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 7B7BC 800E230C 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 7B7C0 800E2310 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 7B7C4 800E2314 00A0902D */ daddu $s2, $a1, $zero
|
||||
/* 7B7C8 800E2318 3C038011 */ lui $v1, %hi(gPlayerStatus)
|
||||
/* 7B7CC 800E231C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
|
||||
/* 7B7D0 800E2320 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 7B7D4 800E2324 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 7B7D8 800E2328 F7BC0040 */ sdc1 $f28, 0x40($sp)
|
||||
/* 7B7DC 800E232C F7BA0038 */ sdc1 $f26, 0x38($sp)
|
||||
/* 7B7E0 800E2330 F7B80030 */ sdc1 $f24, 0x30($sp)
|
||||
/* 7B7E4 800E2334 F7B60028 */ sdc1 $f22, 0x28($sp)
|
||||
/* 7B7E8 800E2338 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* 7B7EC 800E233C C47C00E8 */ lwc1 $f28, 0xe8($v1)
|
||||
/* 7B7F0 800E2340 4680E720 */ cvt.s.w $f28, $f28
|
||||
/* 7B7F4 800E2344 0060802D */ daddu $s0, $v1, $zero
|
||||
/* 7B7F8 800E2348 4480D000 */ mtc1 $zero, $f26
|
||||
/* 7B7FC 800E234C 4406E000 */ mfc1 $a2, $f28
|
||||
/* 7B800 800E2350 8C6200EC */ lw $v0, 0xec($v1)
|
||||
/* 7B804 800E2354 4600D306 */ mov.s $f12, $f26
|
||||
/* 7B808 800E2358 00021023 */ negu $v0, $v0
|
||||
/* 7B80C 800E235C 4482C000 */ mtc1 $v0, $f24
|
||||
/* 7B810 800E2360 00000000 */ nop
|
||||
/* 7B814 800E2364 4680C620 */ cvt.s.w $f24, $f24
|
||||
/* 7B818 800E2368 4407C000 */ mfc1 $a3, $f24
|
||||
/* 7B81C 800E236C 0C00A7B5 */ jal dist2D
|
||||
/* 7B820 800E2370 4600D386 */ mov.s $f14, $f26
|
||||
/* 7B824 800E2374 3C01428C */ lui $at, 0x428c
|
||||
/* 7B828 800E2378 4481B000 */ mtc1 $at, $f22
|
||||
/* 7B82C 800E237C 46000506 */ mov.s $f20, $f0
|
||||
/* 7B830 800E2380 4614B03E */ c.le.s $f22, $f20
|
||||
/* 7B834 800E2384 00000000 */ nop
|
||||
/* 7B838 800E2388 45030001 */ bc1tl .L800E2390
|
||||
/* 7B83C 800E238C 4600B506 */ mov.s $f20, $f22
|
||||
.L800E2390:
|
||||
/* 7B840 800E2390 4600D306 */ mov.s $f12, $f26
|
||||
/* 7B844 800E2394 4406E000 */ mfc1 $a2, $f28
|
||||
/* 7B848 800E2398 4407C000 */ mfc1 $a3, $f24
|
||||
/* 7B84C 800E239C 0C00A720 */ jal atan2
|
||||
/* 7B850 800E23A0 4600D386 */ mov.s $f14, $f26
|
||||
/* 7B854 800E23A4 3C01800B */ lui $at, %hi(gCameras+0x6C)
|
||||
/* 7B858 800E23A8 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at)
|
||||
/* 7B85C 800E23AC 0C00A6C9 */ jal clamp_angle
|
||||
/* 7B860 800E23B0 460C0300 */ add.s $f12, $f0, $f12
|
||||
/* 7B864 800E23B4 461AA032 */ c.eq.s $f20, $f26
|
||||
/* 7B868 800E23B8 00000000 */ nop
|
||||
/* 7B86C 800E23BC 45020003 */ bc1fl .L800E23CC
|
||||
/* 7B870 800E23C0 E6200000 */ swc1 $f0, ($s1)
|
||||
/* 7B874 800E23C4 C6000080 */ lwc1 $f0, 0x80($s0)
|
||||
/* 7B878 800E23C8 E6200000 */ swc1 $f0, ($s1)
|
||||
.L800E23CC:
|
||||
/* 7B87C 800E23CC E6540000 */ swc1 $f20, ($s2)
|
||||
/* 7B880 800E23D0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 7B884 800E23D4 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 7B888 800E23D8 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 7B88C 800E23DC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 7B890 800E23E0 D7BC0040 */ ldc1 $f28, 0x40($sp)
|
||||
/* 7B894 800E23E4 D7BA0038 */ ldc1 $f26, 0x38($sp)
|
||||
/* 7B898 800E23E8 D7B80030 */ ldc1 $f24, 0x30($sp)
|
||||
/* 7B89C 800E23EC D7B60028 */ ldc1 $f22, 0x28($sp)
|
||||
/* 7B8A0 800E23F0 D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* 7B8A4 800E23F4 03E00008 */ jr $ra
|
||||
/* 7B8A8 800E23F8 27BD0048 */ addiu $sp, $sp, 0x48
|
@ -1,72 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel check_input_spin
|
||||
/* 7F718 800E6268 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 7F71C 800E626C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 7F720 800E6270 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* 7F724 800E6274 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* 7F728 800E6278 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 7F72C 800E627C 3C118011 */ lui $s1, %hi(D_8010F250)
|
||||
/* 7F730 800E6280 2631F250 */ addiu $s1, $s1, %lo(D_8010F250)
|
||||
/* 7F734 800E6284 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 7F738 800E6288 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 7F73C 800E628C 8E020000 */ lw $v0, ($s0)
|
||||
/* 7F740 800E6290 30425000 */ andi $v0, $v0, 0x5000
|
||||
/* 7F744 800E6294 1440002F */ bnez $v0, .L800E6354
|
||||
/* 7F748 800E6298 0220902D */ daddu $s2, $s1, $zero
|
||||
/* 7F74C 800E629C 8E020004 */ lw $v0, 4($s0)
|
||||
/* 7F750 800E62A0 30420001 */ andi $v0, $v0, 1
|
||||
/* 7F754 800E62A4 1440002B */ bnez $v0, .L800E6354
|
||||
/* 7F758 800E62A8 00000000 */ nop
|
||||
/* 7F75C 800E62AC 8E0200DC */ lw $v0, 0xdc($s0)
|
||||
/* 7F760 800E62B0 30420004 */ andi $v0, $v0, 4
|
||||
/* 7F764 800E62B4 14400027 */ bnez $v0, .L800E6354
|
||||
/* 7F768 800E62B8 00000000 */ nop
|
||||
/* 7F76C 800E62BC 0C03A752 */ jal is_ability_active
|
||||
/* 7F770 800E62C0 2404000B */ addiu $a0, $zero, 0xb
|
||||
/* 7F774 800E62C4 14400023 */ bnez $v0, .L800E6354
|
||||
/* 7F778 800E62C8 00000000 */ nop
|
||||
/* 7F77C 800E62CC 8E0200E0 */ lw $v0, 0xe0($s0)
|
||||
/* 7F780 800E62D0 820300B4 */ lb $v1, 0xb4($s0)
|
||||
/* 7F784 800E62D4 30442000 */ andi $a0, $v0, 0x2000
|
||||
/* 7F788 800E62D8 24020021 */ addiu $v0, $zero, 0x21
|
||||
/* 7F78C 800E62DC 1062001D */ beq $v1, $v0, .L800E6354
|
||||
/* 7F790 800E62E0 28620022 */ slti $v0, $v1, 0x22
|
||||
/* 7F794 800E62E4 1040001B */ beqz $v0, .L800E6354
|
||||
/* 7F798 800E62E8 28620003 */ slti $v0, $v1, 3
|
||||
/* 7F79C 800E62EC 10400019 */ beqz $v0, .L800E6354
|
||||
/* 7F7A0 800E62F0 00000000 */ nop
|
||||
/* 7F7A4 800E62F4 04600017 */ bltz $v1, .L800E6354
|
||||
/* 7F7A8 800E62F8 3C030001 */ lui $v1, 1
|
||||
/* 7F7AC 800E62FC 8E020004 */ lw $v0, 4($s0)
|
||||
/* 7F7B0 800E6300 00431024 */ and $v0, $v0, $v1
|
||||
/* 7F7B4 800E6304 14400013 */ bnez $v0, .L800E6354
|
||||
/* 7F7B8 800E6308 00000000 */ nop
|
||||
/* 7F7BC 800E630C 14800004 */ bnez $a0, .L800E6320
|
||||
/* 7F7C0 800E6310 00000000 */ nop
|
||||
/* 7F7C4 800E6314 82220001 */ lb $v0, 1($s1)
|
||||
/* 7F7C8 800E6318 1040000E */ beqz $v0, .L800E6354
|
||||
/* 7F7CC 800E631C 00000000 */ nop
|
||||
.L800E6320:
|
||||
/* 7F7D0 800E6320 0C039769 */ jal set_action_state
|
||||
/* 7F7D4 800E6324 2404001A */ addiu $a0, $zero, 0x1a
|
||||
/* 7F7D8 800E6328 82220001 */ lb $v0, 1($s1)
|
||||
/* 7F7DC 800E632C 10400009 */ beqz $v0, .L800E6354
|
||||
/* 7F7E0 800E6330 00000000 */ nop
|
||||
/* 7F7E4 800E6334 8E220008 */ lw $v0, 8($s1)
|
||||
/* 7F7E8 800E6338 14400004 */ bnez $v0, .L800E634C
|
||||
/* 7F7EC 800E633C 00000000 */ nop
|
||||
/* 7F7F0 800E6340 8E22000C */ lw $v0, 0xc($s1)
|
||||
/* 7F7F4 800E6344 50400003 */ beql $v0, $zero, .L800E6354
|
||||
/* 7F7F8 800E6348 A20000B5 */ sb $zero, 0xb5($s0)
|
||||
.L800E634C:
|
||||
/* 7F7FC 800E634C 92420007 */ lbu $v0, 7($s2)
|
||||
/* 7F800 800E6350 A20200B5 */ sb $v0, 0xb5($s0)
|
||||
.L800E6354:
|
||||
/* 7F804 800E6354 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 7F808 800E6358 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 7F80C 800E635C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 7F810 800E6360 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 7F814 800E6364 03E00008 */ jr $ra
|
||||
/* 7F818 800E6368 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,60 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_800E6428
|
||||
/* 7F8D8 800E6428 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 7F8DC 800E642C 3C048011 */ lui $a0, %hi(gPlayerStatus)
|
||||
/* 7F8E0 800E6430 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
|
||||
/* 7F8E4 800E6434 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 7F8E8 800E6438 808200B4 */ lb $v0, 0xb4($a0)
|
||||
/* 7F8EC 800E643C 2C420003 */ sltiu $v0, $v0, 3
|
||||
/* 7F8F0 800E6440 1040002C */ beqz $v0, .L800E64F4
|
||||
/* 7F8F4 800E6444 0080282D */ daddu $a1, $a0, $zero
|
||||
/* 7F8F8 800E6448 3C038011 */ lui $v1, %hi(D_8010C92C)
|
||||
/* 7F8FC 800E644C 2463C92C */ addiu $v1, $v1, %lo(D_8010C92C)
|
||||
/* 7F900 800E6450 8C620000 */ lw $v0, ($v1)
|
||||
/* 7F904 800E6454 1040001B */ beqz $v0, .L800E64C4
|
||||
/* 7F908 800E6458 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* 7F90C 800E645C 14400025 */ bnez $v0, .L800E64F4
|
||||
/* 7F910 800E6460 AC620000 */ sw $v0, ($v1)
|
||||
/* 7F914 800E6464 3C058007 */ lui $a1, %hi(gGameStatusPtr)
|
||||
/* 7F918 800E6468 24A5419C */ addiu $a1, $a1, %lo(gGameStatusPtr)
|
||||
/* 7F91C 800E646C 8CA30000 */ lw $v1, ($a1)
|
||||
/* 7F920 800E6470 9062007E */ lbu $v0, 0x7e($v1)
|
||||
/* 7F924 800E6474 30420002 */ andi $v0, $v0, 2
|
||||
/* 7F928 800E6478 1040001E */ beqz $v0, .L800E64F4
|
||||
/* 7F92C 800E647C 00000000 */ nop
|
||||
/* 7F930 800E6480 8C820004 */ lw $v0, 4($a0)
|
||||
/* 7F934 800E6484 34422000 */ ori $v0, $v0, 0x2000
|
||||
/* 7F938 800E6488 AC820004 */ sw $v0, 4($a0)
|
||||
/* 7F93C 800E648C 9062007E */ lbu $v0, 0x7e($v1)
|
||||
/* 7F940 800E6490 34420002 */ ori $v0, $v0, 2
|
||||
/* 7F944 800E6494 A062007E */ sb $v0, 0x7e($v1)
|
||||
/* 7F948 800E6498 8CA20000 */ lw $v0, ($a1)
|
||||
/* 7F94C 800E649C 0C03995F */ jal make_disguise_npc
|
||||
/* 7F950 800E64A0 8044007F */ lb $a0, 0x7f($v0)
|
||||
/* 7F954 800E64A4 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 7F958 800E64A8 10800012 */ beqz $a0, .L800E64F4
|
||||
/* 7F95C 800E64AC 3C03FFFB */ lui $v1, 0xfffb
|
||||
/* 7F960 800E64B0 8C820000 */ lw $v0, ($a0)
|
||||
/* 7F964 800E64B4 3463FFFF */ ori $v1, $v1, 0xffff
|
||||
/* 7F968 800E64B8 00431024 */ and $v0, $v0, $v1
|
||||
/* 7F96C 800E64BC 0803993D */ j .L800E64F4
|
||||
/* 7F970 800E64C0 AC820000 */ sw $v0, ($a0)
|
||||
.L800E64C4:
|
||||
/* 7F974 800E64C4 3C028007 */ lui $v0, %hi(gGameStatusPtr)
|
||||
/* 7F978 800E64C8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
|
||||
/* 7F97C 800E64CC 9042007E */ lbu $v0, 0x7e($v0)
|
||||
/* 7F980 800E64D0 30420004 */ andi $v0, $v0, 4
|
||||
/* 7F984 800E64D4 10400007 */ beqz $v0, .L800E64F4
|
||||
/* 7F988 800E64D8 00000000 */ nop
|
||||
/* 7F98C 800E64DC 8CA200E0 */ lw $v0, 0xe0($a1)
|
||||
/* 7F990 800E64E0 30424000 */ andi $v0, $v0, 0x4000
|
||||
/* 7F994 800E64E4 10400003 */ beqz $v0, .L800E64F4
|
||||
/* 7F998 800E64E8 00000000 */ nop
|
||||
/* 7F99C 800E64EC 0C039769 */ jal set_action_state
|
||||
/* 7F9A0 800E64F0 24040019 */ addiu $a0, $zero, 0x19
|
||||
.L800E64F4:
|
||||
/* 7F9A4 800E64F4 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 7F9A8 800E64F8 03E00008 */ jr $ra
|
||||
/* 7F9AC 800E64FC 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,93 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel sort_scripts
|
||||
/* E79B0 802C3000 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* E79B4 802C3004 0000682D */ daddu $t5, $zero, $zero
|
||||
/* E79B8 802C3008 01A0482D */ daddu $t1, $t5, $zero
|
||||
/* E79BC 802C300C 3C05802E */ lui $a1, %hi(gScriptIdList)
|
||||
/* E79C0 802C3010 24A5AA98 */ addiu $a1, $a1, %lo(gScriptIdList)
|
||||
/* E79C4 802C3014 3C06802E */ lui $a2, %hi(gCurrentScriptListPtr)
|
||||
/* E79C8 802C3018 8CC6A890 */ lw $a2, %lo(gCurrentScriptListPtr)($a2)
|
||||
/* E79CC 802C301C 3C04802E */ lui $a0, %hi(gScriptIndexList)
|
||||
/* E79D0 802C3020 2484A898 */ addiu $a0, $a0, %lo(gScriptIndexList)
|
||||
/* E79D4 802C3024 AFB00000 */ sw $s0, ($sp)
|
||||
.L802C3028:
|
||||
/* E79D8 802C3028 8CC30000 */ lw $v1, ($a2)
|
||||
/* E79DC 802C302C 5060000B */ beql $v1, $zero, .L802C305C
|
||||
/* E79E0 802C3030 25290001 */ addiu $t1, $t1, 1
|
||||
/* E79E4 802C3034 90620000 */ lbu $v0, ($v1)
|
||||
/* E79E8 802C3038 50400008 */ beql $v0, $zero, .L802C305C
|
||||
/* E79EC 802C303C 25290001 */ addiu $t1, $t1, 1
|
||||
/* E79F0 802C3040 AC890000 */ sw $t1, ($a0)
|
||||
/* E79F4 802C3044 24840004 */ addiu $a0, $a0, 4
|
||||
/* E79F8 802C3048 8C620144 */ lw $v0, 0x144($v1)
|
||||
/* E79FC 802C304C 25AD0001 */ addiu $t5, $t5, 1
|
||||
/* E7A00 802C3050 ACA20000 */ sw $v0, ($a1)
|
||||
/* E7A04 802C3054 24A50004 */ addiu $a1, $a1, 4
|
||||
/* E7A08 802C3058 25290001 */ addiu $t1, $t1, 1
|
||||
.L802C305C:
|
||||
/* E7A0C 802C305C 29220080 */ slti $v0, $t1, 0x80
|
||||
/* E7A10 802C3060 1440FFF1 */ bnez $v0, .L802C3028
|
||||
/* E7A14 802C3064 24C60004 */ addiu $a2, $a2, 4
|
||||
/* E7A18 802C3068 3C01802E */ lui $at, %hi(gScriptListCount)
|
||||
/* E7A1C 802C306C AC2DAC98 */ sw $t5, %lo(gScriptListCount)($at)
|
||||
/* E7A20 802C3070 25A2FFFF */ addiu $v0, $t5, -1
|
||||
/* E7A24 802C3074 18400031 */ blez $v0, .L802C313C
|
||||
/* E7A28 802C3078 0000482D */ daddu $t1, $zero, $zero
|
||||
/* E7A2C 802C307C 3C10802E */ lui $s0, %hi(gCurrentScriptListPtr)
|
||||
/* E7A30 802C3080 2610A890 */ addiu $s0, $s0, %lo(gCurrentScriptListPtr)
|
||||
/* E7A34 802C3084 3C0E802E */ lui $t6, %hi(gScriptIdList)
|
||||
/* E7A38 802C3088 25CEAA98 */ addiu $t6, $t6, %lo(gScriptIdList)
|
||||
/* E7A3C 802C308C 01C0C82D */ daddu $t9, $t6, $zero
|
||||
/* E7A40 802C3090 3C18802E */ lui $t8, %hi(gScriptIndexList)
|
||||
/* E7A44 802C3094 2718A898 */ addiu $t8, $t8, %lo(gScriptIndexList)
|
||||
/* E7A48 802C3098 0300782D */ daddu $t7, $t8, $zero
|
||||
.L802C309C:
|
||||
/* E7A4C 802C309C 25280001 */ addiu $t0, $t1, 1
|
||||
/* E7A50 802C30A0 010D102A */ slt $v0, $t0, $t5
|
||||
/* E7A54 802C30A4 50400020 */ beql $v0, $zero, .L802C3128
|
||||
/* E7A58 802C30A8 25CE0004 */ addiu $t6, $t6, 4
|
||||
/* E7A5C 802C30AC 01E0602D */ daddu $t4, $t7, $zero
|
||||
/* E7A60 802C30B0 8E0B0000 */ lw $t3, ($s0)
|
||||
/* E7A64 802C30B4 01C0502D */ daddu $t2, $t6, $zero
|
||||
/* E7A68 802C30B8 00081080 */ sll $v0, $t0, 2
|
||||
/* E7A6C 802C30BC 00593821 */ addu $a3, $v0, $t9
|
||||
/* E7A70 802C30C0 00583021 */ addu $a2, $v0, $t8
|
||||
.L802C30C4:
|
||||
/* E7A74 802C30C4 8D850000 */ lw $a1, ($t4)
|
||||
/* E7A78 802C30C8 8CC40000 */ lw $a0, ($a2)
|
||||
/* E7A7C 802C30CC 00051880 */ sll $v1, $a1, 2
|
||||
/* E7A80 802C30D0 006B1821 */ addu $v1, $v1, $t3
|
||||
/* E7A84 802C30D4 00041080 */ sll $v0, $a0, 2
|
||||
/* E7A88 802C30D8 004B1021 */ addu $v0, $v0, $t3
|
||||
/* E7A8C 802C30DC 8C630000 */ lw $v1, ($v1)
|
||||
/* E7A90 802C30E0 8C420000 */ lw $v0, ($v0)
|
||||
/* E7A94 802C30E4 90630003 */ lbu $v1, 3($v1)
|
||||
/* E7A98 802C30E8 90420003 */ lbu $v0, 3($v0)
|
||||
/* E7A9C 802C30EC 0043102B */ sltu $v0, $v0, $v1
|
||||
/* E7AA0 802C30F0 50400008 */ beql $v0, $zero, .L802C3114
|
||||
/* E7AA4 802C30F4 24E70004 */ addiu $a3, $a3, 4
|
||||
/* E7AA8 802C30F8 AD840000 */ sw $a0, ($t4)
|
||||
/* E7AAC 802C30FC ACC50000 */ sw $a1, ($a2)
|
||||
/* E7AB0 802C3100 8CE20000 */ lw $v0, ($a3)
|
||||
/* E7AB4 802C3104 8D430000 */ lw $v1, ($t2)
|
||||
/* E7AB8 802C3108 AD420000 */ sw $v0, ($t2)
|
||||
/* E7ABC 802C310C ACE30000 */ sw $v1, ($a3)
|
||||
/* E7AC0 802C3110 24E70004 */ addiu $a3, $a3, 4
|
||||
.L802C3114:
|
||||
/* E7AC4 802C3114 25080001 */ addiu $t0, $t0, 1
|
||||
/* E7AC8 802C3118 010D102A */ slt $v0, $t0, $t5
|
||||
/* E7ACC 802C311C 1440FFE9 */ bnez $v0, .L802C30C4
|
||||
/* E7AD0 802C3120 24C60004 */ addiu $a2, $a2, 4
|
||||
/* E7AD4 802C3124 25CE0004 */ addiu $t6, $t6, 4
|
||||
.L802C3128:
|
||||
/* E7AD8 802C3128 25290001 */ addiu $t1, $t1, 1
|
||||
/* E7ADC 802C312C 25A2FFFF */ addiu $v0, $t5, -1
|
||||
/* E7AE0 802C3130 0122102A */ slt $v0, $t1, $v0
|
||||
/* E7AE4 802C3134 1440FFD9 */ bnez $v0, .L802C309C
|
||||
/* E7AE8 802C3138 25EF0004 */ addiu $t7, $t7, 4
|
||||
.L802C313C:
|
||||
/* E7AEC 802C313C 8FB00000 */ lw $s0, ($sp)
|
||||
/* E7AF0 802C3140 03E00008 */ jr $ra
|
||||
/* E7AF4 802C3144 27BD0008 */ addiu $sp, $sp, 8
|
@ -1,56 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80240034_7EAD44
|
||||
/* 7EAD44 80240034 3C038016 */ lui $v1, 0x8016
|
||||
/* 7EAD48 80240038 8463A552 */ lh $v1, -0x5aae($v1)
|
||||
/* 7EAD4C 8024003C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 7EAD50 80240040 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 7EAD54 80240044 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 7EAD58 80240048 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 7EAD5C 8024004C 8E0200B0 */ lw $v0, 0xb0($s0)
|
||||
/* 7EAD60 80240050 10620003 */ beq $v1, $v0, .L80240060
|
||||
/* 7EAD64 80240054 24020002 */ addiu $v0, $zero, 2
|
||||
/* 7EAD68 80240058 08090038 */ j .L802400E0
|
||||
/* 7EAD6C 8024005C AE000084 */ sw $zero, 0x84($s0)
|
||||
.L80240060:
|
||||
/* 7EAD70 80240060 3C038007 */ lui $v1, %hi(gGameStatusPtr)
|
||||
/* 7EAD74 80240064 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
|
||||
/* 7EAD78 80240068 80620040 */ lb $v0, 0x40($v1)
|
||||
/* 7EAD7C 8024006C 80670044 */ lb $a3, 0x44($v1)
|
||||
/* 7EAD80 80240070 04420001 */ bltzl $v0, .L80240078
|
||||
/* 7EAD84 80240074 00021023 */ negu $v0, $v0
|
||||
.L80240078:
|
||||
/* 7EAD88 80240078 14400003 */ bnez $v0, .L80240088
|
||||
/* 7EAD8C 8024007C 00000000 */ nop
|
||||
/* 7EAD90 80240080 50E00017 */ beql $a3, $zero, .L802400E0
|
||||
/* 7EAD94 80240084 0000102D */ daddu $v0, $zero, $zero
|
||||
.L80240088:
|
||||
/* 7EAD98 80240088 44822000 */ mtc1 $v0, $f4
|
||||
/* 7EAD9C 8024008C 00000000 */ nop
|
||||
/* 7EADA0 80240090 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 7EADA4 80240094 44062000 */ mfc1 $a2, $f4
|
||||
/* 7EADA8 80240098 44872000 */ mtc1 $a3, $f4
|
||||
/* 7EADAC 8024009C 00000000 */ nop
|
||||
/* 7EADB0 802400A0 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 7EADB4 802400A4 44806000 */ mtc1 $zero, $f12
|
||||
/* 7EADB8 802400A8 44072000 */ mfc1 $a3, $f4
|
||||
/* 7EADBC 802400AC 0C00A720 */ jal atan2
|
||||
/* 7EADC0 802400B0 46006386 */ mov.s $f14, $f12
|
||||
/* 7EADC4 802400B4 3C014270 */ lui $at, 0x4270
|
||||
/* 7EADC8 802400B8 44811000 */ mtc1 $at, $f2
|
||||
/* 7EADCC 802400BC 00000000 */ nop
|
||||
/* 7EADD0 802400C0 4602003C */ c.lt.s $f0, $f2
|
||||
/* 7EADD4 802400C4 00000000 */ nop
|
||||
/* 7EADD8 802400C8 45000004 */ bc1f .L802400DC
|
||||
/* 7EADDC 802400CC 24020001 */ addiu $v0, $zero, 1
|
||||
/* 7EADE0 802400D0 AE020084 */ sw $v0, 0x84($s0)
|
||||
/* 7EADE4 802400D4 08090038 */ j .L802400E0
|
||||
/* 7EADE8 802400D8 24020002 */ addiu $v0, $zero, 2
|
||||
.L802400DC:
|
||||
/* 7EADEC 802400DC 0000102D */ daddu $v0, $zero, $zero
|
||||
.L802400E0:
|
||||
/* 7EADF0 802400E0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 7EADF4 802400E4 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 7EADF8 802400E8 03E00008 */ jr $ra
|
||||
/* 7EADFC 802400EC 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,18 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel world_goombario_can_pause
|
||||
/* 3174C8 802BD5A8 3C028011 */ lui $v0, %hi(D_8010EBB0)
|
||||
/* 3174CC 802BD5AC 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0)
|
||||
/* 3174D0 802BD5B0 14400005 */ bnez $v0, .L802BD5C8
|
||||
/* 3174D4 802BD5B4 24031000 */ addiu $v1, $zero, 0x1000
|
||||
/* 3174D8 802BD5B8 8C820000 */ lw $v0, ($a0)
|
||||
/* 3174DC 802BD5BC 30421800 */ andi $v0, $v0, 0x1800
|
||||
/* 3174E0 802BD5C0 10430003 */ beq $v0, $v1, .L802BD5D0
|
||||
/* 3174E4 802BD5C4 00000000 */ nop
|
||||
.L802BD5C8:
|
||||
/* 3174E8 802BD5C8 03E00008 */ jr $ra
|
||||
/* 3174EC 802BD5CC 0000102D */ daddu $v0, $zero, $zero
|
||||
.L802BD5D0:
|
||||
/* 3174F0 802BD5D0 03E00008 */ jr $ra
|
||||
/* 3174F4 802BD5D4 24020001 */ addiu $v0, $zero, 1
|
@ -1,25 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel partner_player_can_pause
|
||||
/* 84890 800EB3E0 3C028011 */ lui $v0, %hi(wPartner)
|
||||
/* 84894 800EB3E4 8C42CFEC */ lw $v0, %lo(wPartner)($v0)
|
||||
/* 84898 800EB3E8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 8489C 800EB3EC 1040000B */ beqz $v0, .L800EB41C
|
||||
/* 848A0 800EB3F0 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 848A4 800EB3F4 8C420030 */ lw $v0, 0x30($v0)
|
||||
/* 848A8 800EB3F8 50400009 */ beql $v0, $zero, .L800EB420
|
||||
/* 848AC 800EB3FC 24020001 */ addiu $v0, $zero, 1
|
||||
/* 848B0 800EB400 3C048011 */ lui $a0, %hi(wPartnerNpc)
|
||||
/* 848B4 800EB404 8C84C930 */ lw $a0, %lo(wPartnerNpc)($a0)
|
||||
/* 848B8 800EB408 0040F809 */ jalr $v0
|
||||
/* 848BC 800EB40C 00000000 */ nop
|
||||
/* 848C0 800EB410 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 848C4 800EB414 10600002 */ beqz $v1, .L800EB420
|
||||
/* 848C8 800EB418 0000102D */ daddu $v0, $zero, $zero
|
||||
.L800EB41C:
|
||||
/* 848CC 800EB41C 24020001 */ addiu $v0, $zero, 1
|
||||
.L800EB420:
|
||||
/* 848D0 800EB420 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 848D4 800EB424 03E00008 */ jr $ra
|
||||
/* 848D8 800EB428 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,74 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel partner_reset_data
|
||||
/* 84924 800EB474 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 84928 800EB478 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 8492C 800EB47C 3C118011 */ lui $s1, %hi(D_8010EBB0)
|
||||
/* 84930 800EB480 2631EBB0 */ addiu $s1, $s1, %lo(D_8010EBB0)
|
||||
/* 84934 800EB484 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 84938 800EB488 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 8493C 800EB48C 3C108011 */ lui $s0, %hi(gPlayerData+0x12)
|
||||
/* 84940 800EB490 8210F2A2 */ lb $s0, %lo(gPlayerData+0x12)($s0)
|
||||
/* 84944 800EB494 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 84948 800EB498 0C00A580 */ jal mem_clear
|
||||
/* 8494C 800EB49C 24050360 */ addiu $a1, $zero, 0x360
|
||||
/* 84950 800EB4A0 3C04800F */ lui $a0, %hi(_use_partner_ability)
|
||||
/* 84954 800EB4A4 2484A6CC */ addiu $a0, $a0, %lo(_use_partner_ability)
|
||||
/* 84958 800EB4A8 0C048C8F */ jal bind_dynamic_entity_7
|
||||
/* 8495C 800EB4AC 0000282D */ daddu $a1, $zero, $zero
|
||||
/* 84960 800EB4B0 0C048D8F */ jal get_dynamic_entity
|
||||
/* 84964 800EB4B4 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 84968 800EB4B8 24040001 */ addiu $a0, $zero, 1
|
||||
/* 8496C 800EB4BC 3C068011 */ lui $a2, %hi(D_8010CFE8)
|
||||
/* 84970 800EB4C0 24C6CFE8 */ addiu $a2, $a2, %lo(D_8010CFE8)
|
||||
/* 84974 800EB4C4 24020009 */ addiu $v0, $zero, 9
|
||||
/* 84978 800EB4C8 3C018011 */ lui $at, %hi(D_8010CFE0)
|
||||
/* 8497C 800EB4CC AC24CFE0 */ sw $a0, %lo(D_8010CFE0)($at)
|
||||
/* 84980 800EB4D0 ACC20000 */ sw $v0, ($a2)
|
||||
/* 84984 800EB4D4 3C038007 */ lui $v1, %hi(gGameStatusPtr)
|
||||
/* 84988 800EB4D8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
|
||||
/* 8498C 800EB4DC 3C058011 */ lui $a1, %hi(D_8010CFD8)
|
||||
/* 84990 800EB4E0 24A5CFD8 */ addiu $a1, $a1, %lo(D_8010CFD8)
|
||||
/* 84994 800EB4E4 ACB00000 */ sw $s0, ($a1)
|
||||
/* 84998 800EB4E8 8062007D */ lb $v0, 0x7d($v1)
|
||||
/* 8499C 800EB4EC 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* 849A0 800EB4F0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* 849A4 800EB4F4 10400003 */ beqz $v0, .L800EB504
|
||||
/* 849A8 800EB4F8 00000000 */ nop
|
||||
/* 849AC 800EB4FC A2240000 */ sb $a0, ($s1)
|
||||
/* 849B0 800EB500 A060007D */ sb $zero, 0x7d($v1)
|
||||
.L800EB504:
|
||||
/* 849B4 800EB504 C6000028 */ lwc1 $f0, 0x28($s0)
|
||||
/* 849B8 800EB508 C602002C */ lwc1 $f2, 0x2c($s0)
|
||||
/* 849BC 800EB50C C6040030 */ lwc1 $f4, 0x30($s0)
|
||||
/* 849C0 800EB510 8CA20000 */ lw $v0, ($a1)
|
||||
/* 849C4 800EB514 3C018011 */ lui $at, %hi(wPartner)
|
||||
/* 849C8 800EB518 AC20CFEC */ sw $zero, %lo(wPartner)($at)
|
||||
/* 849CC 800EB51C 3C018010 */ lui $at, %hi(D_800F833C)
|
||||
/* 849D0 800EB520 E420833C */ swc1 $f0, %lo(D_800F833C)($at)
|
||||
/* 849D4 800EB524 3C018010 */ lui $at, %hi(D_800F8340)
|
||||
/* 849D8 800EB528 E4228340 */ swc1 $f2, %lo(D_800F8340)($at)
|
||||
/* 849DC 800EB52C 3C018010 */ lui $at, %hi(D_800F8344)
|
||||
/* 849E0 800EB530 14400003 */ bnez $v0, .L800EB540
|
||||
/* 849E4 800EB534 E4248344 */ swc1 $f4, %lo(D_800F8344)($at)
|
||||
/* 849E8 800EB538 0803AD5B */ j .L800EB56C
|
||||
/* 849EC 800EB53C ACC40000 */ sw $a0, ($a2)
|
||||
.L800EB540:
|
||||
/* 849F0 800EB540 0C03A974 */ jal load_partner_npc
|
||||
/* 849F4 800EB544 00000000 */ nop
|
||||
/* 849F8 800EB548 3C028011 */ lui $v0, %hi(wPartnerNpc)
|
||||
/* 849FC 800EB54C 8C42C930 */ lw $v0, %lo(wPartnerNpc)($v0)
|
||||
/* 84A00 800EB550 3C013F80 */ lui $at, 0x3f80
|
||||
/* 84A04 800EB554 44810000 */ mtc1 $at, $f0
|
||||
/* 84A08 800EB558 00000000 */ nop
|
||||
/* 84A0C 800EB55C E4400054 */ swc1 $f0, 0x54($v0)
|
||||
/* 84A10 800EB560 E4400058 */ swc1 $f0, 0x58($v0)
|
||||
/* 84A14 800EB564 0C03A9B3 */ jal _use_partner_ability
|
||||
/* 84A18 800EB568 E440005C */ swc1 $f0, 0x5c($v0)
|
||||
.L800EB56C:
|
||||
/* 84A1C 800EB56C 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 84A20 800EB570 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 84A24 800EB574 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 84A28 800EB578 03E00008 */ jr $ra
|
||||
/* 84A2C 800EB57C 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,35 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel use_consumable
|
||||
/* 838B0 800EA400 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 838B4 800EA404 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 838B8 800EA408 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 838BC 800EA40C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 838C0 800EA410 3C108010 */ lui $s0, %hi(D_800F8010)
|
||||
/* 838C4 800EA414 26108010 */ addiu $s0, $s0, %lo(D_800F8010)
|
||||
/* 838C8 800EA418 3C06802C */ lui $a2, %hi(D_802C0000)
|
||||
/* 838CC 800EA41C 24C60000 */ addiu $a2, $a2, %lo(D_802C0000)
|
||||
/* 838D0 800EA420 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 838D4 800EA424 8E040000 */ lw $a0, ($s0)
|
||||
/* 838D8 800EA428 8E050004 */ lw $a1, 4($s0)
|
||||
/* 838DC 800EA42C 00111040 */ sll $v0, $s1, 1
|
||||
/* 838E0 800EA430 3C018011 */ lui $at, %hi(D_8010CD20)
|
||||
/* 838E4 800EA434 AC31CD20 */ sw $s1, %lo(D_8010CD20)($at)
|
||||
/* 838E8 800EA438 3C118011 */ lui $s1, %hi(gPlayerData+0x1B4)
|
||||
/* 838EC 800EA43C 02228821 */ addu $s1, $s1, $v0
|
||||
/* 838F0 800EA440 8631F444 */ lh $s1, %lo(gPlayerData+0x1B4)($s1)
|
||||
/* 838F4 800EA444 0C00A5CF */ jal dma_copy
|
||||
/* 838F8 800EA448 00000000 */ nop
|
||||
/* 838FC 800EA44C 24050001 */ addiu $a1, $zero, 1
|
||||
/* 83900 800EA450 8E040008 */ lw $a0, 8($s0)
|
||||
/* 83904 800EA454 0C0B0CF8 */ jal start_script
|
||||
/* 83908 800EA458 0000302D */ daddu $a2, $zero, $zero
|
||||
/* 8390C 800EA45C 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 83910 800EA460 8C620144 */ lw $v0, 0x144($v1)
|
||||
/* 83914 800EA464 AC7100AC */ sw $s1, 0xac($v1)
|
||||
/* 83918 800EA468 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 8391C 800EA46C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 83920 800EA470 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 83924 800EA474 03E00008 */ jr $ra
|
||||
/* 83928 800EA478 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1338,6 +1338,8 @@ __osRunQueue = 0x80094658; // type:data rom:0x6FA58
|
||||
__osActiveQueue = 0x8009465C; // type:data rom:0x6FA5C
|
||||
__osRunningThread = 0x80094660; // type:data rom:0x6FA60
|
||||
osViModeTable = 0x800946A0; // rom:0x6FAA0
|
||||
_osViModeNtscLan1 = 0x80095820; // type:data rom:0x70C20
|
||||
_osViModeMPalLan1 = 0x80095870; // type:data rom:0x70C70
|
||||
D_80097DC8 = 0x80097DC8; // type:data rom:0x731C8
|
||||
D_80097DD0 = 0x80097DD0; // type:data rom:0x731D0
|
||||
D_80097DD8 = 0x80097DD8; // type:data rom:0x731D8
|
||||
|
@ -48,3 +48,5 @@ nusched = 0x800DA440;
|
||||
D_800F7BE8 = 0x800F7BE8;
|
||||
D_800F7BBC = 0x800F7BBC;
|
||||
D_802C05CC = 0x802C05CC;
|
||||
_osViModeNtscLan1 = 0x80095820;
|
||||
_osViModeMPalLan1 = 0x80095870;
|
||||
|
Loading…
Reference in New Issue
Block a user