Various funcs in 77480, 1A5830, 1776B0 (#328)

* 2 funcs in 77480
* SetPartSize
* 2 funcs in 1A5830
* 34 funcs in 1776B0
This commit is contained in:
Ethan Roseman 2021-07-20 06:51:11 -04:00 committed by GitHub
parent 186ceb8eb0
commit ed2665a934
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 947 additions and 1913 deletions

View File

@ -706,7 +706,7 @@ typedef struct BattleStatus {
/* 0x0E0 */ struct Actor* enemyActors[24];
/* 0x140 */ s16 enemyIDs[24];
/* 0x170 */ char unk_170;
/* 0x171 */ u8 numEnemyActors;
/* 0x171 */ s8 numEnemyActors;
/* 0x172 */ char unk_172[6];
/* 0x178 */ s8 moveCategory;
/* 0x179 */ char unk_179;
@ -1288,7 +1288,8 @@ typedef struct GameStatus {
/* 0x0B8 */ s16 bootBlue;
/* 0x0BA */ s16 bootGreen;
/* 0x0BC */ s16 bootRed;
/* 0x0BE */ char unk_BE[106];
/* 0x0BE */ char unk_BE[94];
/* 0x11C */ Vec3f unk_11C;
/* 0x128 */ Vec3f playerTraceNormal;
/* 0x134 */ u16 frameCounter;
/* 0x136 */ char unk_136[2];
@ -1411,7 +1412,7 @@ typedef struct ActorPart {
/* 0x68 */ s16 unkOffset[2];
/* 0x6C */ Vec2s targetOffset;
/* 0x70 */ s16 unk_70;
/* 0x72 */ u8 size[2];
/* 0x72 */ Vec2bu size;
/* 0x74 */ u8 verticalStretch;
/* 0x75 */ s8 unk_75;
/* 0x76 */ s8 unk_76;
@ -1759,7 +1760,7 @@ typedef struct Actor {
/* 0x1FE */ char unk_1FE[2];
/* 0x200 */ s32** unk_200; // Probably a struct but not sure what yet
/* 0x204 */ char unk_204[3];
/* 0x207 */ u8 extraCoinBonus;
/* 0x207 */ s8 extraCoinBonus;
/* 0x208 */ s8 unk_208;
/* 0x209 */ char unk_209[3];
/* 0x20C */ u32* statusTable;

View File

@ -512,6 +512,14 @@ enum SoundIDs {
SOUND_MENU_CHANGE_TAB,
SOUND_MENU_NEXT,
SOUND_MENU_BACK,
SOUND_E1 = 225,
SOUND_E2,
SOUND_E3,
SOUND_E9 = 233,
SOUND_EA,
SOUND_EB,
SOUND_10C = 268,
SOUND_10D,
SOUND_STEP1 = 321,
SOUND_STEP2,
SOUND_TORNADO_JUMP = 327,
@ -568,6 +576,8 @@ enum SoundIDs {
SOUND_UNKNOWN_376,
SOUND_UNKNOWN_377,
SOUND_UNKNOWN_379 = 889,
SOUND_37A = 890,
SOUND_37B,
SOUND_GENERAL_WHISTLE = 917,
SOUND_OPEN_SHELL = 980,
SOUND_JUMP_3E2 = 994,

View File

@ -232,7 +232,9 @@ s32 does_script_exist(s32 id);
s32 does_script_exist_by_ref(ScriptInstance* script);
ScriptInstance* start_script(Script* source, s32 priority, s32 initialState);
ScriptInstance* start_script_in_group(Script* source, u8 priority, u8 initialState, u8 groupFlags);
f32 get_player_normal_yaw(void);
void set_standard_shadow_scale(Shadow* shadow, f32 scale);
void set_peach_shadow_scale(Shadow* shadow, f32 scale);
void set_animation_rate(ActorID actorID, s32 partIndex, f32 rate);
void func_8011B7C0(u16, s32, s32);
AnimatedMesh* get_animator_by_index(s32 arg0);

View File

@ -114,6 +114,7 @@ typedef enum ScriptOpcode {
#define SI_ARRAY(v) ((v - 190000000))
#define SI_ARRAY_FLAG(v) ((v - 210000000))
#define SI_FIXED(v) (((v * 1024.0f) + -230000000)) // See float_to_fixed_var
#define SI_LIMIT -250000000 // TODO better name
#define MAKE_ENTITY_END 0x80000000
#define STORY_PROGRESS SI_SAVE_VAR(0)

View File

@ -1,6 +1,35 @@
#include "common.h"
INCLUDE_ASM(ApiStatus, "1776B0", func_80248DD0, ScriptInstance* script, s32 isInitialCall);
extern s8 D_80280CE0;
extern s32 D_80280CE4;
// battle cam
extern f32 D_8029F270; // pos x
extern f32 D_8029F274; // pos y
extern f32 D_8029F278; // pos z
extern s16 D_8029F27C; // actor ID
extern s16 D_8029F27E;
extern s16 D_8029F280; // radial distance from target
extern s16 D_8029F282; // yaw
extern s16 D_8029F284; // pitch
extern s16 D_8029F286;
extern f32 D_8029F288;
extern f32 D_8029F28C;
extern f32 D_8029F290;
extern f32 D_8029F294;
extern f32 D_8029F298;
extern s8 D_8029F29C;
extern s16 D_8029F29E;
extern s8 D_8029F2A2;
extern s8 D_8029F2A3;
extern s8 D_8029F2A4;
extern s8 D_8029F2A5;
extern s8 D_8029F2A6;
ApiStatus func_80248DD0(ScriptInstance* script, s32 isInitialCall) {
D_8029F29C = 1;
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "1776B0", func_80248DE4);
@ -22,74 +51,471 @@ INCLUDE_ASM(s32, "1776B0", func_8024C180);
INCLUDE_ASM(s32, "1776B0", func_8024C570);
INCLUDE_ASM(s32, "1776B0", func_8024C944);
ApiStatus func_8024C944(ScriptInstance* script, s32 isInitialCall) {
Camera* camera = &gCameras[1];
BattleStatus* battleStatus = &gBattleStatus;
PlayerStatus* playerStatus = &gPlayerStatus;
s32 screenX, screenY, screenZ;
f32 deltaY;
f32 y;
s32 actorID;
s32 actorType;
if (isInitialCall) {
D_8029F270 = camera->unk_54;
D_8029F274 = camera->unk_58;
D_8029F278 = camera->unk_5C;
D_8029F288 = camera->unk_1E;
D_8029F290 = camera->unk_24;
D_8029F294 = camera->unk_22;
}
y = 0.0f;
actorType = D_8029F27C & 0x700;
actorID = D_8029F27C & 0xFF;
switch (actorType) {
case 0:
if (battleStatus->playerActor == NULL) {
return ApiStatus_BLOCK;
}
y = battleStatus->playerActor->currentPos.y + (playerStatus->colliderHeight / 2);
break;
case 0x100:
if (battleStatus->partnerActor == NULL) {
return ApiStatus_BLOCK;
}
y = battleStatus->partnerActor->currentPos.y;
break;
case 0x200:
if (battleStatus->enemyActors[actorID] == NULL) {
return ApiStatus_BLOCK;
}
y = battleStatus->enemyActors[actorID]->currentPos.y;
break;
}
get_screen_coords(1, D_8029F270, y, D_8029F278, &screenX, &screenY, &screenZ);
if (screenY < 100) {
y += 25.0f;
}
if (y < D_8029F274) {
y = D_8029F274;
}
deltaY = y - camera->unk_58;
if (fabsf(deltaY) < 0.01) {
if (deltaY != 0.0f) {
camera->unk_58 = y;
}
} else {
camera->unk_58 += deltaY / 5.0f;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "1776B0", func_8024CB68);
INCLUDE_ASM(s32, "1776B0", func_8024CE9C);
ApiStatus func_8024CE9C(ScriptInstance* script, s32 isInitialCall) {
Camera* camera = &gCameras[1];
D_8029F284 = 8;
camera->unk_24 = 0;
camera->unk_26 = 0;
D_8029F282 = D_8029F286 = 0;
D_80280CE0 = 0;
D_8029F288 = camera->unk_1C;
D_8029F28C = camera->unk_1E;
D_8029F294 = camera->unk_22;
D_8029F298 = D_8029F290 = 0.0f;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", btl_cam_use_preset);
INCLUDE_ASM(s32, "1776B0", func_8024E3D8);
void func_8024E3D8(arg0) {
if (D_80280CE0 == 0) {
D_8029F2A4 = 1;
btl_cam_use_preset(arg0);
}
}
INCLUDE_ASM(s32, "1776B0", func_8024E40C);
void func_8024E40C(s32 arg0) {
if (D_80280CE0 == 0) {
D_8029F2A4 = 0;
btl_cam_use_preset(arg0);
}
}
INCLUDE_ASM(s32, "1776B0", btl_cam_target_actor);
void btl_cam_target_actor(ActorID actorID) {
if (D_80280CE0 == 0) {
D_8029F27C = actorID;
}
}
INCLUDE_ASM(s32, "1776B0", func_8024E45C);
void func_8024E45C(ActorID actorID, s32 arg1) {
if (D_80280CE0 == 0) {
D_8029F27C = actorID;
D_8029F27E = arg1;
}
}
INCLUDE_ASM(s32, "1776B0", func_8024E484);
void func_8024E484(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4, s32 arg5, s32 arg6, s32 zoomPercent) {
Camera* camera = &gCameras[1];
INCLUDE_ASM(s32, "1776B0", btl_cam_move);
if (D_80280CE0 == 0) {
camera->unk_1C = arg0;
camera->unk_1E = arg1;
camera->unk_20 = arg2;
camera->unk_22 = arg3;
camera->unk_24 = arg4;
camera->unk_26 = arg5 * 256;
camera->unk_28 = arg6;
camera->zoomPercent = zoomPercent;
}
}
INCLUDE_ASM(s32, "1776B0", btl_cam_set_target_pos);
void btl_cam_move(s16 arg0) {
BattleStatus* battleStatus = &gBattleStatus;
INCLUDE_ASM(s32, "1776B0", func_8024E554);
if (D_80280CE0 == 0) {
D_8029F29E = arg0;
if (battleStatus->camMovementScript != NULL) {
restart_script(battleStatus->camMovementScript);
}
}
}
INCLUDE_ASM(s32, "1776B0", func_8024E584);
void btl_cam_set_target_pos(f32 x, f32 y, f32 z) {
if (D_80280CE0 == 0) {
D_8029F270 = x;
D_8029F274 = y;
D_8029F278 = z;
}
}
INCLUDE_ASM(s32, "1776B0", btl_cam_set_zoom);
void func_8024E554(f32 arg0, f32 arg1, f32 arg2) {
Camera* camera = &gCameras[1];
INCLUDE_ASM(s32, "1776B0", btl_cam_add_zoom);
if (D_80280CE0 == 0) {
camera->unk_54 = arg0;
camera->unk_58 = arg1;
camera->unk_5C = arg2;
}
}
INCLUDE_ASM(s32, "1776B0", btl_cam_set_zoffset);
s32 func_8024E584(void) {
return D_8029F29C;
}
void btl_cam_set_zoom(s16 zoom) {
if (D_80280CE0 == 0) {
D_8029F280 = zoom;
}
}
void btl_cam_add_zoom(s32 zoom) {
if (D_80280CE0 == 0) {
D_8029F280 += zoom;
}
}
void btl_cam_set_zoffset(s16 zOffset) {
if (D_80280CE0 == 0) {
D_8029F286 = zOffset;
}
}
#ifdef NON_MATCHING
void btl_cam_unfreeze(void) {
D_80280CE0 = 0;
}
#else
INCLUDE_ASM(s32, "1776B0", btl_cam_unfreeze);
#endif
INCLUDE_ASM(s32, "1776B0", func_8024E60C);
void func_8024E60C(void) {
D_8029F2A6 = 0;
}
INCLUDE_ASM(s32, "1776B0", UseBattleCamPreset);
ApiStatus UseBattleCamPreset(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 preset;
INCLUDE_ASM(s32, "1776B0", func_8024E664);
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", func_8024E6B4);
preset = get_variable(script, *args++);
D_8029F2A4 = 0;
btl_cam_use_preset(preset);
INCLUDE_ASM(s32, "1776B0", func_8024E748);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", func_8024E820);
ApiStatus func_8024E664(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 preset;
INCLUDE_ASM(s32, "1776B0", SetBattleCamTarget);
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", func_8024E9B0);
preset = get_variable(script, *args++);
D_8029F2A4 = 1;
btl_cam_use_preset(preset);
INCLUDE_ASM(s32, "1776B0", SetBattleCamOffsetZ);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", AddBattleCamOffsetZ);
ApiStatus func_8024E6B4(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
INCLUDE_ASM(s32, "1776B0", SetBattleCamYaw);
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", BattleCamTargetActor);
if (isInitialCall) {
script->functionTemp[0] = 0;
}
INCLUDE_ASM(s32, "1776B0", func_8024EB84);
switch (script->functionTemp[0]) {
case 0:
func_8024E40C(get_variable(script, *args++));
script->functionTemp[0] = 1;
break;
case 1:
if (func_8024E584() != 0) {
return ApiStatus_DONE2;
}
break;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "1776B0", MoveBattleCamOver);
ApiStatus func_8024E748(ScriptInstance* script, s32 isInitialCall) {
Camera* camera = &gCameras[1];
Bytecode* args = script->ptrReadPos;
s32 mode;
s32 val;
INCLUDE_ASM(s32, "1776B0", SetBattleCamZoom);
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", AddBattleCamZoom);
mode = get_variable(script, *args++);
val = get_variable(script, *args++);
INCLUDE_ASM(ApiStatus, "1776B0", func_8024ECF8, ScriptInstance* script, s32 isInitialCall);
switch (mode) {
case 1:
camera->unk_1C = val;
break;
case 2:
camera->unk_1E = val;
break;
case 3:
camera->unk_20 = val;
break;
case 4:
camera->unk_22 = val;
break;
case 5:
camera->unk_24 = val;
break;
case 6:
camera->unk_26 = val * 256;
break;
case 7:
camera->unk_28 = val;
break;
case 8:
camera->zoomPercent = val;
break;
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1776B0", FreezeBattleCam);
ApiStatus func_8024E820(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Camera* camera = &gCameras[1];
INCLUDE_ASM(s32, "1776B0", func_8024EDA4);
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
camera->unk_1C = get_variable(script, *args++);
camera->unk_1E = get_variable(script, *args++);
camera->unk_20 = get_variable(script, *args++);
camera->unk_22 = get_variable(script, *args++);
camera->unk_24 = get_variable(script, *args++);
camera->unk_26 = get_variable(script, *args++) * 256;
camera->unk_28 = get_variable(script, *args++);
camera->zoomPercent = get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus SetBattleCamTarget(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F270 = get_variable(script, *args++);
D_8029F274 = get_variable(script, *args++);
D_8029F278 = get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_8024E9B0(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Camera* camera = &gCameras[1];
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
camera->unk_54 = get_variable(script, *args++);
camera->unk_58 = get_variable(script, *args++);
camera->unk_5C = get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus SetBattleCamOffsetZ(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F286 = get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus AddBattleCamOffsetZ(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F286 += get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus SetBattleCamYaw(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F282 = get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus BattleCamTargetActor(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
actorID = get_variable(script, *args++);
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
btl_cam_target_actor(actorID);
return ApiStatus_DONE2;
}
ApiStatus func_8024EB84(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
actorID = get_variable(script, *args++);
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
func_8024E45C(actorID, get_variable(script, *args++));
return ApiStatus_DONE2;
}
ApiStatus MoveBattleCamOver(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F29E = get_variable(script, *args++);
D_80280CE4 = 0;
if (battleStatus->camMovementScript != NULL) {
restart_script(battleStatus->camMovementScript);
}
return ApiStatus_DONE2;
}
ApiStatus SetBattleCamZoom(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F280 = get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus AddBattleCamZoom(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F280 += get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_8024ECF8(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (D_80280CE0 != 0) {
return ApiStatus_DONE2;
}
D_8029F2A2 = get_variable(script, *args++);
D_8029F2A3 = get_variable(script, *args++);
D_8029F2A5 = get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus FreezeBattleCam(ScriptInstance* script, s32 isInitialCall) {
D_80280CE0 = get_variable(script, *script->ptrReadPos);
return ApiStatus_DONE2;
}
ApiStatus func_8024EDA4(ScriptInstance* script, s32 isInitialCall) {
D_8029F2A6 = 0;
return ApiStatus_DONE2;
}

View File

@ -1385,7 +1385,7 @@ void create_part_shadow(ActorID actorID, s32 partIndex) {
part->flags &= ~4;
part->shadow = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z);
part->shadowScale = part->size[0] / 24.0;
part->shadowScale = part->size.x / 24.0;
}
void remove_part_shadow(ActorID actorID, s32 partIndex) {
@ -1398,7 +1398,7 @@ void remove_part_shadow(ActorID actorID, s32 partIndex) {
void create_part_shadow_by_ref(UNK_TYPE arg0, ActorPart* part) {
part->flags &= ~4;
part->shadow = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z);
part->shadowScale = part->size[0] / 24.0;
part->shadowScale = part->size.x / 24.0;
}
EffectInstance* playFX_5A(s32, f32 x, f32 y, f32 z, f32 scale /* maybe */, s32);

View File

@ -1224,15 +1224,15 @@ ApiStatus SetActorRotation(ScriptInstance* script, s32 isInitialCall) {
actor = get_actor(actorID);
if (x != -250000000) {
if (x != SI_LIMIT) {
actor->rotation.x = x;
}
if (y != -250000000) {
if (y != SI_LIMIT) {
actor->rotation.y = y;
}
if (z != -250000000) {
if (z != SI_LIMIT) {
actor->rotation.z = z;
}

View File

@ -33,7 +33,70 @@ void dispatch_event_general(Actor* actor, Event event) {
}
}
INCLUDE_ASM(s32, "1A5830", play_hit_sound);
void play_hit_sound(Actor* actor, f32 x, f32 y, f32 z, u32 hitSound) {
s32 actorType = actor->actorID & 0x700;
switch (hitSound) {
case 0:
sfx_play_sound_at_position(SOUND_10C, 0, x, y, z);
break;
case 1:
sfx_play_sound_at_position(SOUND_10D, 0, x, y, z);
break;
case 2:
switch (actorType) {
case 0:
sfx_play_sound_at_position(SOUND_E1, 0, x, y, z);
break;
case 0x100:
sfx_play_sound_at_position(SOUND_E9, 0, x, y, z);
break;
case 0x200:
sfx_play_sound_at_position(SOUND_E9, 0, x, y, z);
break;
}
break;
case 3:
switch (actorType) {
case 0:
sfx_play_sound_at_position(SOUND_E2, 0, x, y, z);
break;
case 0x100:
sfx_play_sound_at_position(SOUND_EA, 0, x, y, z);
break;
case 0x200:
sfx_play_sound_at_position(SOUND_EA, 0, x, y, z);
break;
}
break;
case 4:
switch (actorType) {
case 0:
sfx_play_sound_at_position(SOUND_E3, 0, x, y, z);
break;
case 0x100:
sfx_play_sound_at_position(SOUND_EB, 0, x, y, z);
break;
case 0x200:
sfx_play_sound_at_position(SOUND_EB, 0, x, y, z);
break;
}
break;
case 5:
switch (actorType) {
case 0:
sfx_play_sound_at_position(SOUND_37A, 0, x, y, z);
break;
case 0x100:
sfx_play_sound_at_position(SOUND_37B, 0, x, y, z);
break;
case 0x200:
sfx_play_sound_at_position(SOUND_37B, 0, x, y, z);
break;
}
break;
}
}
void dispatch_event_actor(Actor* actor, Event event) {
ScriptInstance* onHitScript = actor->onHitScript;
@ -208,7 +271,46 @@ INCLUDE_ASM(s32, "1A5830", JumpToGoalSimple2);
INCLUDE_ASM(s32, "1A5830", JumpWithBounce);
INCLUDE_ASM(s32, "1A5830", LandJump);
ApiStatus LandJump(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Actor* actor;
if (isInitialCall) {
script->functionTemp[0] = 0;
}
if (script->functionTemp[0] == 0) {
s32 actorID = get_variable(script, *args++);
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
actor = get_actor(actorID);
script->functionTemp[1] = (s32)actor;
actor->walk.currentPos.x = actor->currentPos.x;
actor->walk.currentPos.y = actor->currentPos.y;
actor->walk.currentPos.z = actor->currentPos.z;
script->functionTemp[0] = 1;
}
actor = (Actor*)script->functionTemp[1];
actor->walk.currentPos.y += actor->walk.velocity;
actor->walk.velocity -= actor->walk.acceleration;
add_xz_vec3f(&actor->walk.currentPos, actor->walk.speed, actor->walk.angle);
actor->currentPos.x = actor->walk.currentPos.x;
actor->currentPos.y = actor->walk.currentPos.y;
actor->currentPos.z = actor->walk.currentPos.z;
if (actor->currentPos.y < 0.0f) {
actor->currentPos.y = 0.0f;
play_movement_dust_effects(2, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z, actor->yaw);
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "1A5830", FallToGoal);
@ -331,7 +433,38 @@ ApiStatus GetEnemyMaxHP(ScriptInstance* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
// battlestatus shtuff
#ifdef NON_MATCHING
ApiStatus RemoveActor(ScriptInstance* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
EncounterStatus* currentEncounter = &gCurrentEncounter;
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
Actor* actor;
s32 i;
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
actor = get_actor(actorID);
for (i = 0; i < battleStatus->numEnemyActors; i++) {
if (actor == battleStatus->enemyActors[(u8)battleStatus->enemyIDs[i]]) {
battleStatus->enemyIDs[i] = -1;
}
}
currentEncounter->coinsEarned += actor->extraCoinBonus;
currentEncounter->coinsEarned += actor->staticActorData->coinReward;
btl_delete_actor(actor);
battleStatus->enemyActors[(u8)actorID] = NULL;
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "1A5830", RemoveActor);
#endif
INCLUDE_ASM(s32, "1A5830", DropStarPoints);
@ -813,10 +946,10 @@ ApiStatus SetActorSize(ScriptInstance* script, s32 isInitialCall) {
actor = get_actor(actorID);
if (y != -250000000) {
if (y != SI_LIMIT) {
actor->size.y = y;
}
if (x != -250000000) {
if (x != SI_LIMIT) {
actor->size.x = x;
}
actor->shadowScale = actor->size.x / 24.0;
@ -841,7 +974,32 @@ ApiStatus GetActorSize(ScriptInstance* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "1A5830", SetPartSize);
ApiStatus SetPartSize(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
s32 partIndex = get_variable(script, *args++);
s32 sizeY = get_variable(script, *args++);
s32 sizeX = get_variable(script, *args++);
ActorPart* part;
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
part = get_actor_part(get_actor(actorID), partIndex);
if (sizeY != SI_LIMIT) {
part->size.y = sizeY;
}
if (sizeX != SI_LIMIT) {
part->size.x = sizeX;
}
part->shadowScale = part->size.x / 24.0;
return ApiStatus_DONE2;
}
ApiStatus GetOriginalActorType(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;

View File

@ -13,7 +13,125 @@ void func_802B72C0_E22870();
void func_800E0514(void);
INCLUDE_ASM(s32, "77480", player_raycast_below);
s32 player_raycast_below(f32 yaw, f32 diameter, f32* outX, f32* outY, f32* outZ, f32* outLength, f32* hitRx, f32* hitRz,
f32* hitDirX, f32* hitDirZ) {
f32 x, y, z, length;
f32 inputX, inputY, inputZ, inputLength;
f32 cosTheta;
f32 sinTheta;
f32 temp_f20;
f32 cosTemp;
f32 sinTemp;
s32 hitObjectID;
s32 ret;
*hitRx = 0.0f;
*hitRz = 0.0f;
*hitDirX = 0.0f;
*hitDirZ = 0.0f;
inputLength = *outLength;
temp_f20 = diameter * 0.28f;
sin_cos_rad(yaw * TAU / 360.0f, &sinTheta, &cosTheta);
sinTemp = temp_f20 * sinTheta;
cosTemp = -temp_f20 * cosTheta;
inputX = *outX;
inputY = *outY;
inputZ = *outZ;
x = inputX + sinTemp;
y = inputY;
z = inputZ + cosTemp;
length = inputLength;
hitObjectID = player_raycast_down(&x, &y, &z, &length);
ret = -1;
if (hitObjectID >= 0 && length <= fabsf(*outLength)) {
*hitRx = -gGameStatusPtr->unk_11C.x;
*hitRz = -gGameStatusPtr->unk_11C.z;
*outX = x;
*outY = y;
*outZ = z;
*outLength = length;
*hitDirX = sinTemp;
*hitDirZ = cosTemp;
ret = hitObjectID;
}
x = inputX - sinTemp;
y = inputY;
z = inputZ - cosTemp;
length = inputLength;
hitObjectID = player_raycast_down(&x, &y, &z, &length);
if (hitObjectID >= 0 && length <= fabsf(*outLength)) {
*hitRx = -gGameStatusPtr->unk_11C.x;
*hitRz = -gGameStatusPtr->unk_11C.z;
*outX = x;
*outY = y;
*outZ = z;
*outLength = length;
*hitDirX = -sinTemp;
*hitDirZ = -cosTemp;
ret = hitObjectID;
}
x = inputX + cosTemp;
y = inputY;
z = inputZ + sinTemp;
length = inputLength;
hitObjectID = player_raycast_down(&x, &y, &z, &length);
if (hitObjectID >= 0 && length <= fabsf(*outLength)) {
*hitRx = -gGameStatusPtr->unk_11C.x;
*hitRz = -gGameStatusPtr->unk_11C.z;
*outX = x;
*outY = y;
*outZ = z;
*outLength = length;
*hitDirX = sinTemp;
*hitDirZ = cosTemp;
ret = hitObjectID;
}
x = inputX - cosTemp;
y = inputY;
z = inputZ - sinTemp;
length = inputLength;
hitObjectID = player_raycast_down(&x, &y, &z, &length);
if (hitObjectID >= 0 && length <= fabsf(*outLength)) {
*hitRx = -gGameStatusPtr->unk_11C.x;
*hitRz = -gGameStatusPtr->unk_11C.z;
*outX = x;
*outY = y;
*outZ = z;
*outLength = length;
*hitDirX = -sinTemp;
*hitDirZ = -cosTemp;
ret = hitObjectID;
}
x = inputX;
y = inputY;
z = inputZ;
length = inputLength;
hitObjectID = player_raycast_down(&x, &y, &z, &length);
if (hitObjectID >= 0 && length <= fabsf(*outLength)) {
*hitRx = -gGameStatusPtr->unk_11C.x;
*hitRz = -gGameStatusPtr->unk_11C.z;
*outX = x;
*outY = y;
*outZ = z;
*outLength = length;
*hitDirX = 0.0f;
*hitDirZ = 0.0f;
ret = hitObjectID;
}
if (ret < 0) {
*outX = x;
*outY = y;
*outZ = z;
}
return ret;
}
INCLUDE_ASM(s32, "77480", player_raycast_below_cam_relative);
@ -359,20 +477,16 @@ void check_for_ispy(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
if (D_8015A57A != 0) {
UnkFunc* temp8010C93C = &D_8010C93C;
if (*temp8010C93C == NULL) {
if (D_8010C93C == 0) {
if (!(playerStatus->animFlags & 0x30)) {
dma_copy(E225B0_ROM_START, E225B0_ROM_END, E225B0_VRAM);
*temp8010C93C = func_802B72C0_E22870;
D_8010C93C = func_802B72C0_E22870;
}
} else {
(*temp8010C93C)();
} if (D_8010C93C == 0) {
return;
}
}
if (D_8010C93C != NULL) {
if (D_8010C93C != 0) {
D_8010C93C();
}
}
@ -478,7 +592,167 @@ INCLUDE_ASM(void, "77480", render_player_model);
INCLUDE_ASM(s32, "77480", appendGfx_player);
/// Only used when speedy spinning.
// Close-ish, but needs work. Started and then got intimidated - Ethan
#ifdef NON_MATCHING
void func_802DDEE4(s32, s32, s32, s32, s32, s32, s32, s32); // extern
void func_802DDFF8(s32, s32, s32, s32, s32, s32, s32); // extern
void appendGfx_player_spin(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
s32 z;
s32 y;
s32 x;
Matrix4f sp20;
Matrix4f sp60;
Matrix4f spA0;
Matrix4f spE0;
f32 temp_f0;
f32 temp_f20;
f32 temp_f26;
f32 temp_f28;
f32 temp_f2;
f32 temp_f2_2;
f32 temp_f30;
s32 temp_a2;
s32 i;
s32 i;
f32 phi_f20;
s32 phi_a2;
f32 phi_f20_2;
f32 phi_f30;
f32 phi_f24;
f32 phi_f28;
s32 phi_a0;
i = 0;
do {
temp_f20 = -gCameras[gCurrentCamID].currentYaw;
phi_f20_2 = temp_f20;
if (i == 0) {
temp_f2 = playerStatus->spriteFacingAngle;
if ((temp_f2 > 90.0f) && (temp_f2 <= 180.0f)) {
phi_f20 = 180.0f - temp_f2;
} else {
temp_f0 = playerStatus->spriteFacingAngle;
if (temp_f0 > 180.0f) {
if (temp_f0 <= 270.0f) {
phi_f20 = temp_f0 - 180.0f;
} else {
goto block_9;
}
} else {
block_9:
if ((temp_f0 > 270.0f) && (temp_f0 <= 360.0f)) {
phi_f20 = 360.0f - temp_f0;
} else {
phi_f20 = playerStatus->spriteFacingAngle;
}
}
}
temp_a2 = 0xFF - ((s32) (phi_f20 / 25.0f) * 60);
phi_a2 = temp_a2;
phi_f20_2 = phi_f20;
if (temp_a2 < 100) {
phi_a2 = 100;
}
func_802DDFF8(0, 6, phi_a2, phi_a2, phi_a2, 0xFF, 0);
guRotateF(spA0, phi_f20, 0.0f, -1.0f, 0.0f);
guRotateF(sp20, clamp_angle(playerStatus->unk_8C), 0.0f, 0.0f, 1.0f);
guMtxCatF(spA0, sp20, sp20);
phi_f30 = playerStatus->position.x;
phi_f24 = playerStatus->position.y;
phi_f28 = playerStatus->position.z;
} else {
temp_f26 = phys_get_spin_history(i, &x, &y, &z);
if (y == 0x80000000) {
phi_f24 = playerStatus->position.y;
} else {
phi_f24 = (f32) y;
}
temp_f30 = playerStatus->position.x;
temp_f28 = playerStatus->position.z;
func_802DDEE4(0, -1, 7, 0, 0, 0, 0x40, 0);
guRotateF(sp20, temp_f20, 0.0f, -1.0f, 0.0f);
guRotateF(spA0, temp_f20, 0.0f, -1.0f, 0.0f);
guRotateF(sp20, temp_f26, 0.0f, 1.0f, 0.0f);
guMtxCatF(spA0, sp20, sp20);
phi_f30 = temp_f30;
phi_f28 = temp_f28;
}
guTranslateF(sp60, 0.0f, -playerStatus->colliderHeight * 0.5f, 0.0f);
guMtxCatF(sp60, sp20, sp20);
guRotateF(spA0, phi_f20_2, 0.0f, 1.0f, 0.0f);
guMtxCatF(sp20, spA0, sp20);
guRotateF(spA0, playerStatus->spriteFacingAngle, 0.0f, 1.0f, 0.0f);
guMtxCatF(sp20, spA0, sp20);
guTranslateF(sp60, 0.0f, playerStatus->colliderHeight * 0.5f, 0.0f);
guMtxCatF(sp20, sp60, sp20);
guScaleF(spE0, 0.71428573f, 0.71428573f, 0.71428573f);
guMtxCatF(sp20, spE0, sp20);
guTranslateF(sp60, phi_f30, phi_f24, phi_f28);
guMtxCatF(sp20, sp60, sp20);
temp_f2_2 = playerStatus->spriteFacingAngle;
phi_a0 = 0;
if (temp_f2_2 >= 90.0f && (temp_f2_2 < 270.0f)) {
phi_a0 = 0x10000000;
}
spr_draw_player_sprite(phi_a0, 0, 0, 0, &sp20);
i++;
} while (i < 2);
}
#else
INCLUDE_ASM(s32, "77480", appendGfx_player_spin);
#endif
INCLUDE_ASM(s32, "77480", update_player_shadow);
void update_player_shadow(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
Shadow* shadow = get_shadow_by_index(gPlayerStatusPtr->shadowID);
Camera* camera = &gCameras[gCurrentCameraID];
f32 shadowScale = 0.0f;
f32 yawTemp = 0.0f;
f32 hitDirX, hitDirZ;
f32 hitRx, hitRz;
f32 x, y, z;
f32 playerX, playerZ;
s32 dist;
f32 raycastYaw;
if (playerStatus->spriteFacingAngle >= 90.0f && playerStatus->spriteFacingAngle < 270.0f) {
yawTemp = 180.0f;
}
raycastYaw = (yawTemp - 90.0f) + gCameras[gCurrentCameraID].currentYaw;
shadow->position.x = playerX = playerStatus->position.x;
shadow->position.z = playerZ = playerStatus->position.z;
x = playerX;
y = playerStatus->position.y + (playerStatus->colliderHeight / 3.5f);
z = playerZ;
shadowScale = 1024.0f;
gCollisionStatus.floorBelow = player_raycast_below(raycastYaw, playerStatus->colliderDiameter, &x, &y, &z,
&shadowScale, &hitRx, &hitRz, &hitDirX, &hitDirZ);
shadow->rotation.x = hitRx;
shadow->rotation.z = hitRz;
shadow->rotation.y = clamp_angle(-camera->currentYaw);
hitRx += 180.0f;
hitRz += 180.0f;
if (hitRx != 0.0f || hitRz != 0.0f) {
s32 dist = dist2D(x, z, playerStatus->position.x, playerStatus->position.z);
f32 tan = atan2(playerStatus->position.x, playerStatus->position.z, x, z);
s32 angleTemp = clamp_angle((-90.0f - tan) + get_player_normal_yaw());
if (gGameStatusPtr->playerTraceNormal.y != 0.0f) {
y -= sqrtf(SQ(gGameStatusPtr->playerTraceNormal.x) + SQ(gGameStatusPtr->playerTraceNormal.z)) /
gGameStatusPtr->playerTraceNormal.y * dist * sin_deg(angleTemp);
}
}
shadow->position.y = y;
shadow->unk_05 = (f64)playerStatus->alpha1 / 2;
if (!(gGameStatusPtr->peachFlags & 1)) {
set_standard_shadow_scale(shadow, shadowScale);
} else {
set_peach_shadow_scale(shadow, shadowScale);
}
}

View File

@ -914,11 +914,11 @@ INCLUDE_ASM(void, "a5dd0_len_114e0", update_entity_shadow_position, Entity* enti
INCLUDE_ASM(s32, "a5dd0_len_114e0", entity_raycast_down);
INCLUDE_ASM(s32, "a5dd0_len_114e0", set_standard_shadow_scale);
INCLUDE_ASM(void, "a5dd0_len_114e0", set_standard_shadow_scale, Shadow* shadow, f32 scale);
INCLUDE_ASM(s32, "a5dd0_len_114e0", set_npc_shadow_scale);
INCLUDE_ASM(s32, "a5dd0_len_114e0", set_peach_shadow_scale);
INCLUDE_ASM(void, "a5dd0_len_114e0", set_peach_shadow_scale, Shadow* shadow, f32 scale);
INCLUDE_ASM(s32, "a5dd0_len_114e0", is_block_on_ground);

View File

@ -908,7 +908,7 @@ Script N(8023B45C) = {
SI_CMD(ScriptOpcode_SET, SI_VAR(0), 0),
SI_CMD(ScriptOpcode_LOOP, 6),
SI_CMD(ScriptOpcode_ADD, SI_VAR(0), -30),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, 0, -250000000, SI_VAR(0)),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, 0, SI_LIMIT, SI_VAR(0)),
SI_CMD(ScriptOpcode_SLEEP_FRAMES, 1),
SI_CMD(ScriptOpcode_END_LOOP),
SI_CMD(ScriptOpcode_CALL, SetAnimation, -127, 1, 589830),
@ -917,7 +917,7 @@ Script N(8023B45C) = {
SI_CMD(ScriptOpcode_SET, SI_VAR(0), 0),
SI_CMD(ScriptOpcode_LOOP, SI_VAR(10)),
SI_CMD(ScriptOpcode_ADD, SI_VAR(0), 133),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, -250000000, SI_VAR(0), -250000000),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, SI_LIMIT, SI_VAR(0), SI_LIMIT),
SI_CMD(ScriptOpcode_SLEEP_FRAMES, 1),
SI_CMD(ScriptOpcode_END_LOOP),
SI_CMD(ScriptOpcode_END_SPAWN_THREAD),
@ -1053,7 +1053,7 @@ Script N(8023BB9C) = {
SI_CMD(ScriptOpcode_SET, SI_VAR(0), 0),
SI_CMD(ScriptOpcode_LOOP, 6),
SI_CMD(ScriptOpcode_ADD, SI_VAR(0), -30),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, 0, -250000000, SI_VAR(0)),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, 0, SI_LIMIT, SI_VAR(0)),
SI_CMD(ScriptOpcode_SLEEP_FRAMES, 1),
SI_CMD(ScriptOpcode_END_LOOP),
SI_CMD(ScriptOpcode_CALL, SetAnimation, -127, 1, 589830),
@ -1062,7 +1062,7 @@ Script N(8023BB9C) = {
SI_CMD(ScriptOpcode_SET, SI_VAR(0), 0),
SI_CMD(ScriptOpcode_LOOP, SI_VAR(10)),
SI_CMD(ScriptOpcode_ADD, SI_VAR(0), 133),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, -250000000, SI_VAR(0), -250000000),
SI_CMD(ScriptOpcode_CALL, SetActorRotation, -127, SI_LIMIT, SI_VAR(0), SI_LIMIT),
SI_CMD(ScriptOpcode_SLEEP_FRAMES, 1),
SI_CMD(ScriptOpcode_END_LOOP),
SI_CMD(ScriptOpcode_END_SPAWN_THREAD),

View File

@ -1520,7 +1520,7 @@ s32 get_variable(ScriptInstance* script, Bytecode var) {
if (var <= -270000000) {
return var;
} else if (var <= -250000000) {
} else if (var <= SI_LIMIT) {
return var;
} else if (var <= -220000000) {
return fixed_var_to_float(var);
@ -1575,7 +1575,7 @@ s32 get_variable_index(ScriptInstance* script, s32 var) {
if (-270000000 >= var) {
return var;
}
if (-250000000 >= var) {
if (SI_LIMIT >= var) {
return var;
}
if (-220000000 >= var) {
@ -1618,7 +1618,7 @@ s32 get_variable_index_alt(s32 var) {
if (-270000000 >= var) {
return var;
}
if (-250000000 >= var) {
if (SI_LIMIT >= var) {
return var;
}
if (-220000000 >= var) {
@ -1666,7 +1666,7 @@ f32 get_float_variable(ScriptInstance* script, Bytecode var) {
if (var <= -270000000) {
return var;
} else if (var <= -250000000) {
} else if (var <= SI_LIMIT) {
return var;
} else if (var <= -220000000) {
return fixed_var_to_float(var);

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel AddBattleCamOffsetZ
/* 17D378 8024EA98 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D37C 8024EA9C 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D380 8024EAA0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D384 8024EAA4 AFBF0010 */ sw $ra, 0x10($sp)
/* 17D388 8024EAA8 8C85000C */ lw $a1, 0xc($a0)
/* 17D38C 8024EAAC 1440000A */ bnez $v0, .L8024EAD8
/* 17D390 8024EAB0 24020002 */ addiu $v0, $zero, 2
/* 17D394 8024EAB4 8CA50000 */ lw $a1, ($a1)
/* 17D398 8024EAB8 0C0B1EAF */ jal get_variable
/* 17D39C 8024EABC 00000000 */ nop
/* 17D3A0 8024EAC0 3C04802A */ lui $a0, %hi(D_8029F286)
/* 17D3A4 8024EAC4 2484F286 */ addiu $a0, $a0, %lo(D_8029F286)
/* 17D3A8 8024EAC8 94830000 */ lhu $v1, ($a0)
/* 17D3AC 8024EACC 00621821 */ addu $v1, $v1, $v0
/* 17D3B0 8024EAD0 24020002 */ addiu $v0, $zero, 2
/* 17D3B4 8024EAD4 A4830000 */ sh $v1, ($a0)
.L8024EAD8:
/* 17D3B8 8024EAD8 8FBF0010 */ lw $ra, 0x10($sp)
/* 17D3BC 8024EADC 03E00008 */ jr $ra
/* 17D3C0 8024EAE0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel AddBattleCamZoom
/* 17D58C 8024ECAC 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D590 8024ECB0 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D594 8024ECB4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D598 8024ECB8 AFBF0010 */ sw $ra, 0x10($sp)
/* 17D59C 8024ECBC 8C85000C */ lw $a1, 0xc($a0)
/* 17D5A0 8024ECC0 1440000A */ bnez $v0, .L8024ECEC
/* 17D5A4 8024ECC4 24020002 */ addiu $v0, $zero, 2
/* 17D5A8 8024ECC8 8CA50000 */ lw $a1, ($a1)
/* 17D5AC 8024ECCC 0C0B1EAF */ jal get_variable
/* 17D5B0 8024ECD0 00000000 */ nop
/* 17D5B4 8024ECD4 3C04802A */ lui $a0, %hi(D_8029F280)
/* 17D5B8 8024ECD8 2484F280 */ addiu $a0, $a0, %lo(D_8029F280)
/* 17D5BC 8024ECDC 94830000 */ lhu $v1, ($a0)
/* 17D5C0 8024ECE0 00621821 */ addu $v1, $v1, $v0
/* 17D5C4 8024ECE4 24020002 */ addiu $v0, $zero, 2
/* 17D5C8 8024ECE8 A4830000 */ sh $v1, ($a0)
.L8024ECEC:
/* 17D5CC 8024ECEC 8FBF0010 */ lw $ra, 0x10($sp)
/* 17D5D0 8024ECF0 03E00008 */ jr $ra
/* 17D5D4 8024ECF4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel BattleCamTargetActor
/* 17D404 8024EB24 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D408 8024EB28 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D40C 8024EB2C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D410 8024EB30 AFB00010 */ sw $s0, 0x10($sp)
/* 17D414 8024EB34 0080802D */ daddu $s0, $a0, $zero
/* 17D418 8024EB38 AFBF0014 */ sw $ra, 0x14($sp)
/* 17D41C 8024EB3C 8E05000C */ lw $a1, 0xc($s0)
/* 17D420 8024EB40 1440000C */ bnez $v0, .L8024EB74
/* 17D424 8024EB44 24020002 */ addiu $v0, $zero, 2
/* 17D428 8024EB48 8CA50000 */ lw $a1, ($a1)
/* 17D42C 8024EB4C 0C0B1EAF */ jal get_variable
/* 17D430 8024EB50 0200202D */ daddu $a0, $s0, $zero
/* 17D434 8024EB54 0040202D */ daddu $a0, $v0, $zero
/* 17D438 8024EB58 2402FF81 */ addiu $v0, $zero, -0x7f
/* 17D43C 8024EB5C 14820002 */ bne $a0, $v0, .L8024EB68
/* 17D440 8024EB60 00000000 */ nop
/* 17D444 8024EB64 8E040148 */ lw $a0, 0x148($s0)
.L8024EB68:
/* 17D448 8024EB68 0C09390F */ jal btl_cam_target_actor
/* 17D44C 8024EB6C 00000000 */ nop
/* 17D450 8024EB70 24020002 */ addiu $v0, $zero, 2
.L8024EB74:
/* 17D454 8024EB74 8FBF0014 */ lw $ra, 0x14($sp)
/* 17D458 8024EB78 8FB00010 */ lw $s0, 0x10($sp)
/* 17D45C 8024EB7C 03E00008 */ jr $ra
/* 17D460 8024EB80 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel FreezeBattleCam
/* 17D658 8024ED78 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D65C 8024ED7C AFBF0010 */ sw $ra, 0x10($sp)
/* 17D660 8024ED80 8C82000C */ lw $v0, 0xc($a0)
/* 17D664 8024ED84 0C0B1EAF */ jal get_variable
/* 17D668 8024ED88 8C450000 */ lw $a1, ($v0)
/* 17D66C 8024ED8C 8FBF0010 */ lw $ra, 0x10($sp)
/* 17D670 8024ED90 3C018028 */ lui $at, %hi(D_80280CE0)
/* 17D674 8024ED94 A0220CE0 */ sb $v0, %lo(D_80280CE0)($at)
/* 17D678 8024ED98 24020002 */ addiu $v0, $zero, 2
/* 17D67C 8024ED9C 03E00008 */ jr $ra
/* 17D680 8024EDA0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel MoveBattleCamOver
/* 17D4E8 8024EC08 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D4EC 8024EC0C 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D4F0 8024EC10 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D4F4 8024EC14 AFBF0010 */ sw $ra, 0x10($sp)
/* 17D4F8 8024EC18 8C85000C */ lw $a1, 0xc($a0)
/* 17D4FC 8024EC1C 14400010 */ bnez $v0, .L8024EC60
/* 17D500 8024EC20 24020002 */ addiu $v0, $zero, 2
/* 17D504 8024EC24 8CA50000 */ lw $a1, ($a1)
/* 17D508 8024EC28 0C0B1EAF */ jal get_variable
/* 17D50C 8024EC2C 00000000 */ nop
/* 17D510 8024EC30 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 17D514 8024EC34 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 17D518 8024EC38 8C6400C4 */ lw $a0, 0xc4($v1)
/* 17D51C 8024EC3C 3C01802A */ lui $at, %hi(D_8029F29E)
/* 17D520 8024EC40 A422F29E */ sh $v0, %lo(D_8029F29E)($at)
/* 17D524 8024EC44 3C018028 */ lui $at, %hi(D_80280CE4)
/* 17D528 8024EC48 AC200CE4 */ sw $zero, %lo(D_80280CE4)($at)
/* 17D52C 8024EC4C 10800004 */ beqz $a0, .L8024EC60
/* 17D530 8024EC50 24020002 */ addiu $v0, $zero, 2
/* 17D534 8024EC54 0C0B0F41 */ jal restart_script
/* 17D538 8024EC58 00000000 */ nop
/* 17D53C 8024EC5C 24020002 */ addiu $v0, $zero, 2
.L8024EC60:
/* 17D540 8024EC60 8FBF0010 */ lw $ra, 0x10($sp)
/* 17D544 8024EC64 03E00008 */ jr $ra
/* 17D548 8024EC68 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetBattleCamOffsetZ
/* 17D338 8024EA58 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D33C 8024EA5C 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D340 8024EA60 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D344 8024EA64 AFBF0010 */ sw $ra, 0x10($sp)
/* 17D348 8024EA68 8C85000C */ lw $a1, 0xc($a0)
/* 17D34C 8024EA6C 14400007 */ bnez $v0, .L8024EA8C
/* 17D350 8024EA70 24020002 */ addiu $v0, $zero, 2
/* 17D354 8024EA74 8CA50000 */ lw $a1, ($a1)
/* 17D358 8024EA78 0C0B1EAF */ jal get_variable
/* 17D35C 8024EA7C 00000000 */ nop
/* 17D360 8024EA80 3C01802A */ lui $at, %hi(D_8029F286)
/* 17D364 8024EA84 A422F286 */ sh $v0, %lo(D_8029F286)($at)
/* 17D368 8024EA88 24020002 */ addiu $v0, $zero, 2
.L8024EA8C:
/* 17D36C 8024EA8C 8FBF0010 */ lw $ra, 0x10($sp)
/* 17D370 8024EA90 03E00008 */ jr $ra
/* 17D374 8024EA94 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,46 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetBattleCamTarget
/* 17D1EC 8024E90C 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D1F0 8024E910 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D1F4 8024E914 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 17D1F8 8024E918 AFB10014 */ sw $s1, 0x14($sp)
/* 17D1FC 8024E91C 0080882D */ daddu $s1, $a0, $zero
/* 17D200 8024E920 AFBF0018 */ sw $ra, 0x18($sp)
/* 17D204 8024E924 AFB00010 */ sw $s0, 0x10($sp)
/* 17D208 8024E928 8E30000C */ lw $s0, 0xc($s1)
/* 17D20C 8024E92C 5440001B */ bnel $v0, $zero, .L8024E99C
/* 17D210 8024E930 24020002 */ addiu $v0, $zero, 2
/* 17D214 8024E934 8E050000 */ lw $a1, ($s0)
/* 17D218 8024E938 0C0B1EAF */ jal get_variable
/* 17D21C 8024E93C 26100004 */ addiu $s0, $s0, 4
/* 17D220 8024E940 44820000 */ mtc1 $v0, $f0
/* 17D224 8024E944 00000000 */ nop
/* 17D228 8024E948 46800020 */ cvt.s.w $f0, $f0
/* 17D22C 8024E94C 3C01802A */ lui $at, %hi(D_8029F270)
/* 17D230 8024E950 E420F270 */ swc1 $f0, %lo(D_8029F270)($at)
/* 17D234 8024E954 8E050000 */ lw $a1, ($s0)
/* 17D238 8024E958 26100004 */ addiu $s0, $s0, 4
/* 17D23C 8024E95C 0C0B1EAF */ jal get_variable
/* 17D240 8024E960 0220202D */ daddu $a0, $s1, $zero
/* 17D244 8024E964 44820000 */ mtc1 $v0, $f0
/* 17D248 8024E968 00000000 */ nop
/* 17D24C 8024E96C 46800020 */ cvt.s.w $f0, $f0
/* 17D250 8024E970 3C01802A */ lui $at, %hi(D_8029F274)
/* 17D254 8024E974 E420F274 */ swc1 $f0, %lo(D_8029F274)($at)
/* 17D258 8024E978 8E050000 */ lw $a1, ($s0)
/* 17D25C 8024E97C 0C0B1EAF */ jal get_variable
/* 17D260 8024E980 0220202D */ daddu $a0, $s1, $zero
/* 17D264 8024E984 44820000 */ mtc1 $v0, $f0
/* 17D268 8024E988 00000000 */ nop
/* 17D26C 8024E98C 46800020 */ cvt.s.w $f0, $f0
/* 17D270 8024E990 3C01802A */ lui $at, %hi(D_8029F278)
/* 17D274 8024E994 E420F278 */ swc1 $f0, %lo(D_8029F278)($at)
/* 17D278 8024E998 24020002 */ addiu $v0, $zero, 2
.L8024E99C:
/* 17D27C 8024E99C 8FBF0018 */ lw $ra, 0x18($sp)
/* 17D280 8024E9A0 8FB10014 */ lw $s1, 0x14($sp)
/* 17D284 8024E9A4 8FB00010 */ lw $s0, 0x10($sp)
/* 17D288 8024E9A8 03E00008 */ jr $ra
/* 17D28C 8024E9AC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetBattleCamYaw
/* 17D3C4 8024EAE4 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D3C8 8024EAE8 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D3CC 8024EAEC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D3D0 8024EAF0 AFBF0010 */ sw $ra, 0x10($sp)
/* 17D3D4 8024EAF4 8C85000C */ lw $a1, 0xc($a0)
/* 17D3D8 8024EAF8 14400007 */ bnez $v0, .L8024EB18
/* 17D3DC 8024EAFC 24020002 */ addiu $v0, $zero, 2
/* 17D3E0 8024EB00 8CA50000 */ lw $a1, ($a1)
/* 17D3E4 8024EB04 0C0B1EAF */ jal get_variable
/* 17D3E8 8024EB08 00000000 */ nop
/* 17D3EC 8024EB0C 3C01802A */ lui $at, %hi(D_8029F282)
/* 17D3F0 8024EB10 A422F282 */ sh $v0, %lo(D_8029F282)($at)
/* 17D3F4 8024EB14 24020002 */ addiu $v0, $zero, 2
.L8024EB18:
/* 17D3F8 8024EB18 8FBF0010 */ lw $ra, 0x10($sp)
/* 17D3FC 8024EB1C 03E00008 */ jr $ra
/* 17D400 8024EB20 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetBattleCamZoom
/* 17D54C 8024EC6C 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D550 8024EC70 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D554 8024EC74 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17D558 8024EC78 AFBF0010 */ sw $ra, 0x10($sp)
/* 17D55C 8024EC7C 8C85000C */ lw $a1, 0xc($a0)
/* 17D560 8024EC80 14400007 */ bnez $v0, .L8024ECA0
/* 17D564 8024EC84 24020002 */ addiu $v0, $zero, 2
/* 17D568 8024EC88 8CA50000 */ lw $a1, ($a1)
/* 17D56C 8024EC8C 0C0B1EAF */ jal get_variable
/* 17D570 8024EC90 00000000 */ nop
/* 17D574 8024EC94 3C01802A */ lui $at, %hi(D_8029F280)
/* 17D578 8024EC98 A422F280 */ sh $v0, %lo(D_8029F280)($at)
/* 17D57C 8024EC9C 24020002 */ addiu $v0, $zero, 2
.L8024ECA0:
/* 17D580 8024ECA0 8FBF0010 */ lw $ra, 0x10($sp)
/* 17D584 8024ECA4 03E00008 */ jr $ra
/* 17D588 8024ECA8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel UseBattleCamPreset
/* 17CEFC 8024E61C 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CF00 8024E620 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CF04 8024E624 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17CF08 8024E628 AFBF0010 */ sw $ra, 0x10($sp)
/* 17CF0C 8024E62C 8C85000C */ lw $a1, 0xc($a0)
/* 17CF10 8024E630 14400009 */ bnez $v0, .L8024E658
/* 17CF14 8024E634 24020002 */ addiu $v0, $zero, 2
/* 17CF18 8024E638 8CA50000 */ lw $a1, ($a1)
/* 17CF1C 8024E63C 0C0B1EAF */ jal get_variable
/* 17CF20 8024E640 00000000 */ nop
/* 17CF24 8024E644 3C01802A */ lui $at, %hi(D_8029F2A4)
/* 17CF28 8024E648 A020F2A4 */ sb $zero, %lo(D_8029F2A4)($at)
/* 17CF2C 8024E64C 0C0933CD */ jal btl_cam_use_preset
/* 17CF30 8024E650 0040202D */ daddu $a0, $v0, $zero
/* 17CF34 8024E654 24020002 */ addiu $v0, $zero, 2
.L8024E658:
/* 17CF38 8024E658 8FBF0010 */ lw $ra, 0x10($sp)
/* 17CF3C 8024E65C 03E00008 */ jr $ra
/* 17CF40 8024E660 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_cam_add_zoom
/* 17CE94 8024E5B4 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CE98 8024E5B8 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CE9C 8024E5BC 14400006 */ bnez $v0, .L8024E5D8
/* 17CEA0 8024E5C0 00000000 */ nop
/* 17CEA4 8024E5C4 3C03802A */ lui $v1, %hi(D_8029F280)
/* 17CEA8 8024E5C8 2463F280 */ addiu $v1, $v1, %lo(D_8029F280)
/* 17CEAC 8024E5CC 94620000 */ lhu $v0, ($v1)
/* 17CEB0 8024E5D0 00441021 */ addu $v0, $v0, $a0
/* 17CEB4 8024E5D4 A4620000 */ sh $v0, ($v1)
.L8024E5D8:
/* 17CEB8 8024E5D8 03E00008 */ jr $ra
/* 17CEBC 8024E5DC 00000000 */ nop

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_cam_move
/* 17CDB8 8024E4D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17CDBC 8024E4DC 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CDC0 8024E4E0 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CDC4 8024E4E4 0080182D */ daddu $v1, $a0, $zero
/* 17CDC8 8024E4E8 1440000A */ bnez $v0, .L8024E514
/* 17CDCC 8024E4EC AFBF0010 */ sw $ra, 0x10($sp)
/* 17CDD0 8024E4F0 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 17CDD4 8024E4F4 2442C070 */ addiu $v0, $v0, %lo(gBattleStatus)
/* 17CDD8 8024E4F8 8C4400C4 */ lw $a0, 0xc4($v0)
/* 17CDDC 8024E4FC 3C01802A */ lui $at, %hi(D_8029F29E)
/* 17CDE0 8024E500 A423F29E */ sh $v1, %lo(D_8029F29E)($at)
/* 17CDE4 8024E504 10800003 */ beqz $a0, .L8024E514
/* 17CDE8 8024E508 00000000 */ nop
/* 17CDEC 8024E50C 0C0B0F41 */ jal restart_script
/* 17CDF0 8024E510 00000000 */ nop
.L8024E514:
/* 17CDF4 8024E514 8FBF0010 */ lw $ra, 0x10($sp)
/* 17CDF8 8024E518 03E00008 */ jr $ra
/* 17CDFC 8024E51C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_cam_set_target_pos
/* 17CE00 8024E520 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CE04 8024E524 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CE08 8024E528 44860000 */ mtc1 $a2, $f0
/* 17CE0C 8024E52C 14400007 */ bnez $v0, .L8024E54C
/* 17CE10 8024E530 00000000 */ nop
/* 17CE14 8024E534 3C01802A */ lui $at, %hi(D_8029F270)
/* 17CE18 8024E538 E42CF270 */ swc1 $f12, %lo(D_8029F270)($at)
/* 17CE1C 8024E53C 3C01802A */ lui $at, %hi(D_8029F274)
/* 17CE20 8024E540 E42EF274 */ swc1 $f14, %lo(D_8029F274)($at)
/* 17CE24 8024E544 3C01802A */ lui $at, %hi(D_8029F278)
/* 17CE28 8024E548 E420F278 */ swc1 $f0, %lo(D_8029F278)($at)
.L8024E54C:
/* 17CE2C 8024E54C 03E00008 */ jr $ra
/* 17CE30 8024E550 00000000 */ nop

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_cam_set_zoffset
/* 17CEC0 8024E5E0 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CEC4 8024E5E4 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CEC8 8024E5E8 14400003 */ bnez $v0, .L8024E5F8
/* 17CECC 8024E5EC 00000000 */ nop
/* 17CED0 8024E5F0 3C01802A */ lui $at, %hi(D_8029F286)
/* 17CED4 8024E5F4 A424F286 */ sh $a0, %lo(D_8029F286)($at)
.L8024E5F8:
/* 17CED8 8024E5F8 03E00008 */ jr $ra
/* 17CEDC 8024E5FC 00000000 */ nop

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_cam_set_zoom
/* 17CE74 8024E594 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CE78 8024E598 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CE7C 8024E59C 14400003 */ bnez $v0, .L8024E5AC
/* 17CE80 8024E5A0 00000000 */ nop
/* 17CE84 8024E5A4 3C01802A */ lui $at, %hi(D_8029F280)
/* 17CE88 8024E5A8 A424F280 */ sh $a0, %lo(D_8029F280)($at)
.L8024E5AC:
/* 17CE8C 8024E5AC 03E00008 */ jr $ra
/* 17CE90 8024E5B0 00000000 */ nop

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_cam_target_actor
/* 17CD1C 8024E43C 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CD20 8024E440 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CD24 8024E444 14400003 */ bnez $v0, .L8024E454
/* 17CD28 8024E448 00000000 */ nop
/* 17CD2C 8024E44C 3C01802A */ lui $at, %hi(D_8029F27C)
/* 17CD30 8024E450 A424F27C */ sh $a0, %lo(D_8029F27C)($at)
.L8024E454:
/* 17CD34 8024E454 03E00008 */ jr $ra
/* 17CD38 8024E458 00000000 */ nop

View File

@ -1,9 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80248DD0
/* 1776B0 80248DD0 24020001 */ addiu $v0, $zero, 1
/* 1776B4 80248DD4 3C01802A */ lui $at, %hi(D_8029F29C)
/* 1776B8 80248DD8 A022F29C */ sb $v0, %lo(D_8029F29C)($at)
/* 1776BC 80248DDC 03E00008 */ jr $ra
/* 1776C0 80248DE0 0000102D */ daddu $v0, $zero, $zero

View File

@ -1,161 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_8029CC28
.double 0.01
.section .text
glabel func_8024C944
/* 17B224 8024C944 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 17B228 8024C948 AFB00030 */ sw $s0, 0x30($sp)
/* 17B22C 8024C94C 3C10800B */ lui $s0, %hi(gCameras+0x558)
/* 17B230 8024C950 261022D8 */ addiu $s0, $s0, %lo(gCameras+0x558)
/* 17B234 8024C954 3C06800E */ lui $a2, %hi(gBattleStatus)
/* 17B238 8024C958 24C6C070 */ addiu $a2, $a2, %lo(gBattleStatus)
/* 17B23C 8024C95C AFBF0034 */ sw $ra, 0x34($sp)
/* 17B240 8024C960 10A0001C */ beqz $a1, .L8024C9D4
/* 17B244 8024C964 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 17B248 8024C968 C6000054 */ lwc1 $f0, 0x54($s0)
/* 17B24C 8024C96C C6020058 */ lwc1 $f2, 0x58($s0)
/* 17B250 8024C970 C604005C */ lwc1 $f4, 0x5c($s0)
/* 17B254 8024C974 8602001E */ lh $v0, 0x1e($s0)
/* 17B258 8024C978 86030022 */ lh $v1, 0x22($s0)
/* 17B25C 8024C97C 3C01802A */ lui $at, %hi(D_8029F270)
/* 17B260 8024C980 E420F270 */ swc1 $f0, %lo(D_8029F270)($at)
/* 17B264 8024C984 44820000 */ mtc1 $v0, $f0
/* 17B268 8024C988 00000000 */ nop
/* 17B26C 8024C98C 46800020 */ cvt.s.w $f0, $f0
/* 17B270 8024C990 86020024 */ lh $v0, 0x24($s0)
/* 17B274 8024C994 3C01802A */ lui $at, %hi(D_8029F274)
/* 17B278 8024C998 E422F274 */ swc1 $f2, %lo(D_8029F274)($at)
/* 17B27C 8024C99C 3C01802A */ lui $at, %hi(D_8029F278)
/* 17B280 8024C9A0 E424F278 */ swc1 $f4, %lo(D_8029F278)($at)
/* 17B284 8024C9A4 3C01802A */ lui $at, %hi(D_8029F288)
/* 17B288 8024C9A8 E420F288 */ swc1 $f0, %lo(D_8029F288)($at)
/* 17B28C 8024C9AC 44820000 */ mtc1 $v0, $f0
/* 17B290 8024C9B0 00000000 */ nop
/* 17B294 8024C9B4 46800020 */ cvt.s.w $f0, $f0
/* 17B298 8024C9B8 3C01802A */ lui $at, %hi(D_8029F290)
/* 17B29C 8024C9BC E420F290 */ swc1 $f0, %lo(D_8029F290)($at)
/* 17B2A0 8024C9C0 44830000 */ mtc1 $v1, $f0
/* 17B2A4 8024C9C4 00000000 */ nop
/* 17B2A8 8024C9C8 46800020 */ cvt.s.w $f0, $f0
/* 17B2AC 8024C9CC 3C01802A */ lui $at, %hi(D_8029F294)
/* 17B2B0 8024C9D0 E420F294 */ swc1 $f0, %lo(D_8029F294)($at)
.L8024C9D4:
/* 17B2B4 8024C9D4 3C02802A */ lui $v0, %hi(D_8029F27C)
/* 17B2B8 8024C9D8 9442F27C */ lhu $v0, %lo(D_8029F27C)($v0)
/* 17B2BC 8024C9DC 4480A000 */ mtc1 $zero, $f20
/* 17B2C0 8024C9E0 30430700 */ andi $v1, $v0, 0x700
/* 17B2C4 8024C9E4 304400FF */ andi $a0, $v0, 0xff
/* 17B2C8 8024C9E8 24020100 */ addiu $v0, $zero, 0x100
/* 17B2CC 8024C9EC 1062001C */ beq $v1, $v0, .L8024CA60
/* 17B2D0 8024C9F0 28620101 */ slti $v0, $v1, 0x101
/* 17B2D4 8024C9F4 50400005 */ beql $v0, $zero, .L8024CA0C
/* 17B2D8 8024C9F8 24020200 */ addiu $v0, $zero, 0x200
/* 17B2DC 8024C9FC 10600007 */ beqz $v1, .L8024CA1C
/* 17B2E0 8024CA00 27A20020 */ addiu $v0, $sp, 0x20
/* 17B2E4 8024CA04 080932A3 */ j .L8024CA8C
/* 17B2E8 8024CA08 AFA20010 */ sw $v0, 0x10($sp)
.L8024CA0C:
/* 17B2EC 8024CA0C 10620017 */ beq $v1, $v0, .L8024CA6C
/* 17B2F0 8024CA10 27A20020 */ addiu $v0, $sp, 0x20
/* 17B2F4 8024CA14 080932A3 */ j .L8024CA8C
/* 17B2F8 8024CA18 AFA20010 */ sw $v0, 0x10($sp)
.L8024CA1C:
/* 17B2FC 8024CA1C 8CC400D8 */ lw $a0, 0xd8($a2)
/* 17B300 8024CA20 1080004C */ beqz $a0, .L8024CB54
/* 17B304 8024CA24 0000102D */ daddu $v0, $zero, $zero
/* 17B308 8024CA28 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 17B30C 8024CA2C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 17B310 8024CA30 944200B0 */ lhu $v0, 0xb0($v0)
/* 17B314 8024CA34 C4820148 */ lwc1 $f2, 0x148($a0)
/* 17B318 8024CA38 00021400 */ sll $v0, $v0, 0x10
/* 17B31C 8024CA3C 00021C03 */ sra $v1, $v0, 0x10
/* 17B320 8024CA40 000217C2 */ srl $v0, $v0, 0x1f
/* 17B324 8024CA44 00621821 */ addu $v1, $v1, $v0
/* 17B328 8024CA48 00031843 */ sra $v1, $v1, 1
/* 17B32C 8024CA4C 44830000 */ mtc1 $v1, $f0
/* 17B330 8024CA50 00000000 */ nop
/* 17B334 8024CA54 46800020 */ cvt.s.w $f0, $f0
/* 17B338 8024CA58 080932A1 */ j .L8024CA84
/* 17B33C 8024CA5C 46001500 */ add.s $f20, $f2, $f0
.L8024CA60:
/* 17B340 8024CA60 8CC600DC */ lw $a2, 0xdc($a2)
/* 17B344 8024CA64 0809329E */ j .L8024CA78
/* 17B348 8024CA68 00000000 */ nop
.L8024CA6C:
/* 17B34C 8024CA6C 00041080 */ sll $v0, $a0, 2
/* 17B350 8024CA70 00461021 */ addu $v0, $v0, $a2
/* 17B354 8024CA74 8C4600E0 */ lw $a2, 0xe0($v0)
.L8024CA78:
/* 17B358 8024CA78 10C00036 */ beqz $a2, .L8024CB54
/* 17B35C 8024CA7C 0000102D */ daddu $v0, $zero, $zero
/* 17B360 8024CA80 C4D40148 */ lwc1 $f20, 0x148($a2)
.L8024CA84:
/* 17B364 8024CA84 27A20020 */ addiu $v0, $sp, 0x20
/* 17B368 8024CA88 AFA20010 */ sw $v0, 0x10($sp)
.L8024CA8C:
/* 17B36C 8024CA8C 27A20024 */ addiu $v0, $sp, 0x24
/* 17B370 8024CA90 AFA20014 */ sw $v0, 0x14($sp)
/* 17B374 8024CA94 27A20028 */ addiu $v0, $sp, 0x28
/* 17B378 8024CA98 3C05802A */ lui $a1, %hi(D_8029F270)
/* 17B37C 8024CA9C 8CA5F270 */ lw $a1, %lo(D_8029F270)($a1)
/* 17B380 8024CAA0 4406A000 */ mfc1 $a2, $f20
/* 17B384 8024CAA4 3C07802A */ lui $a3, %hi(D_8029F278)
/* 17B388 8024CAA8 8CE7F278 */ lw $a3, %lo(D_8029F278)($a3)
/* 17B38C 8024CAAC 24040001 */ addiu $a0, $zero, 1
/* 17B390 8024CAB0 0C00B94E */ jal get_screen_coords
/* 17B394 8024CAB4 AFA20018 */ sw $v0, 0x18($sp)
/* 17B398 8024CAB8 8FA20024 */ lw $v0, 0x24($sp)
/* 17B39C 8024CABC 28420064 */ slti $v0, $v0, 0x64
/* 17B3A0 8024CAC0 10400005 */ beqz $v0, .L8024CAD8
/* 17B3A4 8024CAC4 00000000 */ nop
/* 17B3A8 8024CAC8 3C0141C8 */ lui $at, 0x41c8
/* 17B3AC 8024CACC 44810000 */ mtc1 $at, $f0
/* 17B3B0 8024CAD0 00000000 */ nop
/* 17B3B4 8024CAD4 4600A500 */ add.s $f20, $f20, $f0
.L8024CAD8:
/* 17B3B8 8024CAD8 3C01802A */ lui $at, %hi(D_8029F274)
/* 17B3BC 8024CADC C420F274 */ lwc1 $f0, %lo(D_8029F274)($at)
/* 17B3C0 8024CAE0 4600A03C */ c.lt.s $f20, $f0
/* 17B3C4 8024CAE4 00000000 */ nop
/* 17B3C8 8024CAE8 45030001 */ bc1tl .L8024CAF0
/* 17B3CC 8024CAEC 46000506 */ mov.s $f20, $f0
.L8024CAF0:
/* 17B3D0 8024CAF0 C6060058 */ lwc1 $f6, 0x58($s0)
/* 17B3D4 8024CAF4 4606A101 */ sub.s $f4, $f20, $f6
/* 17B3D8 8024CAF8 3C01802A */ lui $at, %hi(D_8029CC28)
/* 17B3DC 8024CAFC D422CC28 */ ldc1 $f2, %lo(D_8029CC28)($at)
/* 17B3E0 8024CB00 46002005 */ abs.s $f0, $f4
/* 17B3E4 8024CB04 46000021 */ cvt.d.s $f0, $f0
/* 17B3E8 8024CB08 4622003C */ c.lt.d $f0, $f2
/* 17B3EC 8024CB0C 00000000 */ nop
/* 17B3F0 8024CB10 45000009 */ bc1f .L8024CB38
/* 17B3F4 8024CB14 00000000 */ nop
/* 17B3F8 8024CB18 44800000 */ mtc1 $zero, $f0
/* 17B3FC 8024CB1C 00000000 */ nop
/* 17B400 8024CB20 46002032 */ c.eq.s $f4, $f0
/* 17B404 8024CB24 00000000 */ nop
/* 17B408 8024CB28 45020009 */ bc1fl .L8024CB50
/* 17B40C 8024CB2C E6140058 */ swc1 $f20, 0x58($s0)
/* 17B410 8024CB30 080932D5 */ j .L8024CB54
/* 17B414 8024CB34 0000102D */ daddu $v0, $zero, $zero
.L8024CB38:
/* 17B418 8024CB38 3C0140A0 */ lui $at, 0x40a0
/* 17B41C 8024CB3C 44810000 */ mtc1 $at, $f0
/* 17B420 8024CB40 00000000 */ nop
/* 17B424 8024CB44 46002003 */ div.s $f0, $f4, $f0
/* 17B428 8024CB48 46003000 */ add.s $f0, $f6, $f0
/* 17B42C 8024CB4C E6000058 */ swc1 $f0, 0x58($s0)
.L8024CB50:
/* 17B430 8024CB50 0000102D */ daddu $v0, $zero, $zero
.L8024CB54:
/* 17B434 8024CB54 8FBF0034 */ lw $ra, 0x34($sp)
/* 17B438 8024CB58 8FB00030 */ lw $s0, 0x30($sp)
/* 17B43C 8024CB5C D7B40038 */ ldc1 $f20, 0x38($sp)
/* 17B440 8024CB60 03E00008 */ jr $ra
/* 17B444 8024CB64 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,42 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024CE9C
/* 17B77C 8024CE9C 24020008 */ addiu $v0, $zero, 8
/* 17B780 8024CEA0 3C01802A */ lui $at, %hi(D_8029F284)
/* 17B784 8024CEA4 A422F284 */ sh $v0, %lo(D_8029F284)($at)
/* 17B788 8024CEA8 3C02800B */ lui $v0, %hi(gCameras+0x558)
/* 17B78C 8024CEAC 244222D8 */ addiu $v0, $v0, %lo(gCameras+0x558)
/* 17B790 8024CEB0 8443001C */ lh $v1, 0x1c($v0)
/* 17B794 8024CEB4 8444001E */ lh $a0, 0x1e($v0)
/* 17B798 8024CEB8 A4400024 */ sh $zero, 0x24($v0)
/* 17B79C 8024CEBC A4400026 */ sh $zero, 0x26($v0)
/* 17B7A0 8024CEC0 84420022 */ lh $v0, 0x22($v0)
/* 17B7A4 8024CEC4 44801000 */ mtc1 $zero, $f2
/* 17B7A8 8024CEC8 3C01802A */ lui $at, %hi(D_8029F286)
/* 17B7AC 8024CECC A420F286 */ sh $zero, %lo(D_8029F286)($at)
/* 17B7B0 8024CED0 3C01802A */ lui $at, %hi(D_8029F282)
/* 17B7B4 8024CED4 A420F282 */ sh $zero, %lo(D_8029F282)($at)
/* 17B7B8 8024CED8 3C018028 */ lui $at, %hi(D_80280CE0)
/* 17B7BC 8024CEDC A0200CE0 */ sb $zero, %lo(D_80280CE0)($at)
/* 17B7C0 8024CEE0 44830000 */ mtc1 $v1, $f0
/* 17B7C4 8024CEE4 00000000 */ nop
/* 17B7C8 8024CEE8 46800020 */ cvt.s.w $f0, $f0
/* 17B7CC 8024CEEC 3C01802A */ lui $at, %hi(D_8029F288)
/* 17B7D0 8024CEF0 E420F288 */ swc1 $f0, %lo(D_8029F288)($at)
/* 17B7D4 8024CEF4 44840000 */ mtc1 $a0, $f0
/* 17B7D8 8024CEF8 00000000 */ nop
/* 17B7DC 8024CEFC 46800020 */ cvt.s.w $f0, $f0
/* 17B7E0 8024CF00 3C01802A */ lui $at, %hi(D_8029F28C)
/* 17B7E4 8024CF04 E420F28C */ swc1 $f0, %lo(D_8029F28C)($at)
/* 17B7E8 8024CF08 44820000 */ mtc1 $v0, $f0
/* 17B7EC 8024CF0C 00000000 */ nop
/* 17B7F0 8024CF10 46800020 */ cvt.s.w $f0, $f0
/* 17B7F4 8024CF14 3C01802A */ lui $at, %hi(D_8029F294)
/* 17B7F8 8024CF18 E420F294 */ swc1 $f0, %lo(D_8029F294)($at)
/* 17B7FC 8024CF1C 3C01802A */ lui $at, %hi(D_8029F290)
/* 17B800 8024CF20 E422F290 */ swc1 $f2, %lo(D_8029F290)($at)
/* 17B804 8024CF24 3C01802A */ lui $at, %hi(D_8029F298)
/* 17B808 8024CF28 E422F298 */ swc1 $f2, %lo(D_8029F298)($at)
/* 17B80C 8024CF2C 03E00008 */ jr $ra
/* 17B810 8024CF30 24020002 */ addiu $v0, $zero, 2

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E3D8
/* 17CCB8 8024E3D8 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CCBC 8024E3DC 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CCC0 8024E3E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17CCC4 8024E3E4 14400006 */ bnez $v0, .L8024E400
/* 17CCC8 8024E3E8 AFBF0010 */ sw $ra, 0x10($sp)
/* 17CCCC 8024E3EC 24020001 */ addiu $v0, $zero, 1
/* 17CCD0 8024E3F0 3C01802A */ lui $at, %hi(D_8029F2A4)
/* 17CCD4 8024E3F4 A022F2A4 */ sb $v0, %lo(D_8029F2A4)($at)
/* 17CCD8 8024E3F8 0C0933CD */ jal btl_cam_use_preset
/* 17CCDC 8024E3FC 00000000 */ nop
.L8024E400:
/* 17CCE0 8024E400 8FBF0010 */ lw $ra, 0x10($sp)
/* 17CCE4 8024E404 03E00008 */ jr $ra
/* 17CCE8 8024E408 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E40C
/* 17CCEC 8024E40C 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CCF0 8024E410 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CCF4 8024E414 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17CCF8 8024E418 14400005 */ bnez $v0, .L8024E430
/* 17CCFC 8024E41C AFBF0010 */ sw $ra, 0x10($sp)
/* 17CD00 8024E420 3C01802A */ lui $at, %hi(D_8029F2A4)
/* 17CD04 8024E424 A020F2A4 */ sb $zero, %lo(D_8029F2A4)($at)
/* 17CD08 8024E428 0C0933CD */ jal btl_cam_use_preset
/* 17CD0C 8024E42C 00000000 */ nop
.L8024E430:
/* 17CD10 8024E430 8FBF0010 */ lw $ra, 0x10($sp)
/* 17CD14 8024E434 03E00008 */ jr $ra
/* 17CD18 8024E438 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E45C
/* 17CD3C 8024E45C 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CD40 8024E460 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CD44 8024E464 14400005 */ bnez $v0, .L8024E47C
/* 17CD48 8024E468 00000000 */ nop
/* 17CD4C 8024E46C 3C01802A */ lui $at, %hi(D_8029F27C)
/* 17CD50 8024E470 A424F27C */ sh $a0, %lo(D_8029F27C)($at)
/* 17CD54 8024E474 3C01802A */ lui $at, %hi(D_8029F27E)
/* 17CD58 8024E478 A425F27E */ sh $a1, %lo(D_8029F27E)($at)
.L8024E47C:
/* 17CD5C 8024E47C 03E00008 */ jr $ra
/* 17CD60 8024E480 00000000 */ nop

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E484
/* 17CD64 8024E484 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CD68 8024E488 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CD6C 8024E48C 3C03800B */ lui $v1, %hi(gCameras+0x558)
/* 17CD70 8024E490 246322D8 */ addiu $v1, $v1, %lo(gCameras+0x558)
/* 17CD74 8024E494 1440000E */ bnez $v0, .L8024E4D0
/* 17CD78 8024E498 00000000 */ nop
/* 17CD7C 8024E49C A464001C */ sh $a0, 0x1c($v1)
/* 17CD80 8024E4A0 A465001E */ sh $a1, 0x1e($v1)
/* 17CD84 8024E4A4 A4660020 */ sh $a2, 0x20($v1)
/* 17CD88 8024E4A8 A4670022 */ sh $a3, 0x22($v1)
/* 17CD8C 8024E4AC 8FA20010 */ lw $v0, 0x10($sp)
/* 17CD90 8024E4B0 A4620024 */ sh $v0, 0x24($v1)
/* 17CD94 8024E4B4 8FA20014 */ lw $v0, 0x14($sp)
/* 17CD98 8024E4B8 00021200 */ sll $v0, $v0, 8
/* 17CD9C 8024E4BC A4620026 */ sh $v0, 0x26($v1)
/* 17CDA0 8024E4C0 8FA20018 */ lw $v0, 0x18($sp)
/* 17CDA4 8024E4C4 A4620028 */ sh $v0, 0x28($v1)
/* 17CDA8 8024E4C8 8FA2001C */ lw $v0, 0x1c($sp)
/* 17CDAC 8024E4CC A462002A */ sh $v0, 0x2a($v1)
.L8024E4D0:
/* 17CDB0 8024E4D0 03E00008 */ jr $ra
/* 17CDB4 8024E4D4 00000000 */ nop

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E554
/* 17CE34 8024E554 3C03800B */ lui $v1, %hi(gCameras+0x558)
/* 17CE38 8024E558 246322D8 */ addiu $v1, $v1, %lo(gCameras+0x558)
/* 17CE3C 8024E55C 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CE40 8024E560 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CE44 8024E564 44860000 */ mtc1 $a2, $f0
/* 17CE48 8024E568 14400004 */ bnez $v0, .L8024E57C
/* 17CE4C 8024E56C 00000000 */ nop
/* 17CE50 8024E570 E46C0054 */ swc1 $f12, 0x54($v1)
/* 17CE54 8024E574 E46E0058 */ swc1 $f14, 0x58($v1)
/* 17CE58 8024E578 E460005C */ swc1 $f0, 0x5c($v1)
.L8024E57C:
/* 17CE5C 8024E57C 03E00008 */ jr $ra
/* 17CE60 8024E580 00000000 */ nop

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E584
/* 17CE64 8024E584 3C02802A */ lui $v0, %hi(D_8029F29C)
/* 17CE68 8024E588 8042F29C */ lb $v0, %lo(D_8029F29C)($v0)
/* 17CE6C 8024E58C 03E00008 */ jr $ra
/* 17CE70 8024E590 00000000 */ nop

View File

@ -1,8 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E60C
/* 17CEEC 8024E60C 3C01802A */ lui $at, %hi(D_8029F2A6)
/* 17CEF0 8024E610 A020F2A6 */ sb $zero, %lo(D_8029F2A6)($at)
/* 17CEF4 8024E614 03E00008 */ jr $ra
/* 17CEF8 8024E618 00000000 */ nop

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E664
/* 17CF44 8024E664 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CF48 8024E668 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CF4C 8024E66C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17CF50 8024E670 AFBF0010 */ sw $ra, 0x10($sp)
/* 17CF54 8024E674 8C85000C */ lw $a1, 0xc($a0)
/* 17CF58 8024E678 1440000B */ bnez $v0, .L8024E6A8
/* 17CF5C 8024E67C 24020002 */ addiu $v0, $zero, 2
/* 17CF60 8024E680 8CA50000 */ lw $a1, ($a1)
/* 17CF64 8024E684 0C0B1EAF */ jal get_variable
/* 17CF68 8024E688 00000000 */ nop
/* 17CF6C 8024E68C 0040202D */ daddu $a0, $v0, $zero
/* 17CF70 8024E690 24020001 */ addiu $v0, $zero, 1
/* 17CF74 8024E694 3C01802A */ lui $at, %hi(D_8029F2A4)
/* 17CF78 8024E698 A022F2A4 */ sb $v0, %lo(D_8029F2A4)($at)
/* 17CF7C 8024E69C 0C0933CD */ jal btl_cam_use_preset
/* 17CF80 8024E6A0 00000000 */ nop
/* 17CF84 8024E6A4 24020002 */ addiu $v0, $zero, 2
.L8024E6A8:
/* 17CF88 8024E6A8 8FBF0010 */ lw $ra, 0x10($sp)
/* 17CF8C 8024E6AC 03E00008 */ jr $ra
/* 17CF90 8024E6B0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,46 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E6B4
/* 17CF94 8024E6B4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 17CF98 8024E6B8 AFB00010 */ sw $s0, 0x10($sp)
/* 17CF9C 8024E6BC 0080802D */ daddu $s0, $a0, $zero
/* 17CFA0 8024E6C0 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17CFA4 8024E6C4 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17CFA8 8024E6C8 00A0182D */ daddu $v1, $a1, $zero
/* 17CFAC 8024E6CC AFBF0014 */ sw $ra, 0x14($sp)
/* 17CFB0 8024E6D0 8E05000C */ lw $a1, 0xc($s0)
/* 17CFB4 8024E6D4 14400018 */ bnez $v0, .L8024E738
/* 17CFB8 8024E6D8 24020002 */ addiu $v0, $zero, 2
/* 17CFBC 8024E6DC 54600001 */ bnel $v1, $zero, .L8024E6E4
/* 17CFC0 8024E6E0 AE000070 */ sw $zero, 0x70($s0)
.L8024E6E4:
/* 17CFC4 8024E6E4 8E030070 */ lw $v1, 0x70($s0)
/* 17CFC8 8024E6E8 10600005 */ beqz $v1, .L8024E700
/* 17CFCC 8024E6EC 24020001 */ addiu $v0, $zero, 1
/* 17CFD0 8024E6F0 1062000B */ beq $v1, $v0, .L8024E720
/* 17CFD4 8024E6F4 00000000 */ nop
/* 17CFD8 8024E6F8 080939CE */ j .L8024E738
/* 17CFDC 8024E6FC 0000102D */ daddu $v0, $zero, $zero
.L8024E700:
/* 17CFE0 8024E700 8CA50000 */ lw $a1, ($a1)
/* 17CFE4 8024E704 0C0B1EAF */ jal get_variable
/* 17CFE8 8024E708 0200202D */ daddu $a0, $s0, $zero
/* 17CFEC 8024E70C 0C093903 */ jal func_8024E40C
/* 17CFF0 8024E710 0040202D */ daddu $a0, $v0, $zero
/* 17CFF4 8024E714 24020001 */ addiu $v0, $zero, 1
/* 17CFF8 8024E718 080939CD */ j .L8024E734
/* 17CFFC 8024E71C AE020070 */ sw $v0, 0x70($s0)
.L8024E720:
/* 17D000 8024E720 0C093961 */ jal func_8024E584
/* 17D004 8024E724 00000000 */ nop
/* 17D008 8024E728 0040182D */ daddu $v1, $v0, $zero
/* 17D00C 8024E72C 14600002 */ bnez $v1, .L8024E738
/* 17D010 8024E730 24020002 */ addiu $v0, $zero, 2
.L8024E734:
/* 17D014 8024E734 0000102D */ daddu $v0, $zero, $zero
.L8024E738:
/* 17D018 8024E738 8FBF0014 */ lw $ra, 0x14($sp)
/* 17D01C 8024E73C 8FB00010 */ lw $s0, 0x10($sp)
/* 17D020 8024E740 03E00008 */ jr $ra
/* 17D024 8024E744 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,75 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_8029CD70
.word L8024E7C4_17D0A4, L8024E7CC_17D0AC, L8024E7D4_17D0B4, L8024E7DC_17D0BC, L8024E7E4_17D0C4, L8024E7EC_17D0CC, L8024E7F8_17D0D8, L8024E800_17D0E0
.section .text
glabel func_8024E748
/* 17D028 8024E748 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D02C 8024E74C 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D030 8024E750 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 17D034 8024E754 AFB20018 */ sw $s2, 0x18($sp)
/* 17D038 8024E758 0080902D */ daddu $s2, $a0, $zero
/* 17D03C 8024E75C AFB10014 */ sw $s1, 0x14($sp)
/* 17D040 8024E760 3C11800B */ lui $s1, %hi(gCameras+0x558)
/* 17D044 8024E764 263122D8 */ addiu $s1, $s1, %lo(gCameras+0x558)
/* 17D048 8024E768 AFBF001C */ sw $ra, 0x1c($sp)
/* 17D04C 8024E76C AFB00010 */ sw $s0, 0x10($sp)
/* 17D050 8024E770 8E50000C */ lw $s0, 0xc($s2)
/* 17D054 8024E774 14400024 */ bnez $v0, .L8024E808
/* 17D058 8024E778 24020002 */ addiu $v0, $zero, 2
/* 17D05C 8024E77C 8E050000 */ lw $a1, ($s0)
/* 17D060 8024E780 26100004 */ addiu $s0, $s0, 4
/* 17D064 8024E784 0C0B1EAF */ jal get_variable
/* 17D068 8024E788 0240202D */ daddu $a0, $s2, $zero
/* 17D06C 8024E78C 0240202D */ daddu $a0, $s2, $zero
/* 17D070 8024E790 8E050000 */ lw $a1, ($s0)
/* 17D074 8024E794 0C0B1EAF */ jal get_variable
/* 17D078 8024E798 0040802D */ daddu $s0, $v0, $zero
/* 17D07C 8024E79C 0040182D */ daddu $v1, $v0, $zero
/* 17D080 8024E7A0 2610FFFF */ addiu $s0, $s0, -1
/* 17D084 8024E7A4 2E020008 */ sltiu $v0, $s0, 8
/* 17D088 8024E7A8 10400016 */ beqz $v0, .L8024E804
/* 17D08C 8024E7AC 00101080 */ sll $v0, $s0, 2
/* 17D090 8024E7B0 3C01802A */ lui $at, %hi(jtbl_8029CD70)
/* 17D094 8024E7B4 00220821 */ addu $at, $at, $v0
/* 17D098 8024E7B8 8C22CD70 */ lw $v0, %lo(jtbl_8029CD70)($at)
/* 17D09C 8024E7BC 00400008 */ jr $v0
/* 17D0A0 8024E7C0 00000000 */ nop
glabel L8024E7C4_17D0A4
/* 17D0A4 8024E7C4 08093A01 */ j .L8024E804
/* 17D0A8 8024E7C8 A623001C */ sh $v1, 0x1c($s1)
glabel L8024E7CC_17D0AC
/* 17D0AC 8024E7CC 08093A01 */ j .L8024E804
/* 17D0B0 8024E7D0 A623001E */ sh $v1, 0x1e($s1)
glabel L8024E7D4_17D0B4
/* 17D0B4 8024E7D4 08093A01 */ j .L8024E804
/* 17D0B8 8024E7D8 A6230020 */ sh $v1, 0x20($s1)
glabel L8024E7DC_17D0BC
/* 17D0BC 8024E7DC 08093A01 */ j .L8024E804
/* 17D0C0 8024E7E0 A6230022 */ sh $v1, 0x22($s1)
glabel L8024E7E4_17D0C4
/* 17D0C4 8024E7E4 08093A01 */ j .L8024E804
/* 17D0C8 8024E7E8 A6230024 */ sh $v1, 0x24($s1)
glabel L8024E7EC_17D0CC
/* 17D0CC 8024E7EC 00031200 */ sll $v0, $v1, 8
/* 17D0D0 8024E7F0 08093A01 */ j .L8024E804
/* 17D0D4 8024E7F4 A6220026 */ sh $v0, 0x26($s1)
glabel L8024E7F8_17D0D8
/* 17D0D8 8024E7F8 08093A01 */ j .L8024E804
/* 17D0DC 8024E7FC A6230028 */ sh $v1, 0x28($s1)
glabel L8024E800_17D0E0
/* 17D0E0 8024E800 A623002A */ sh $v1, 0x2a($s1)
.L8024E804:
/* 17D0E4 8024E804 24020002 */ addiu $v0, $zero, 2
.L8024E808:
/* 17D0E8 8024E808 8FBF001C */ lw $ra, 0x1c($sp)
/* 17D0EC 8024E80C 8FB20018 */ lw $s2, 0x18($sp)
/* 17D0F0 8024E810 8FB10014 */ lw $s1, 0x14($sp)
/* 17D0F4 8024E814 8FB00010 */ lw $s0, 0x10($sp)
/* 17D0F8 8024E818 03E00008 */ jr $ra
/* 17D0FC 8024E81C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,64 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E820
/* 17D100 8024E820 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D104 8024E824 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D108 8024E828 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 17D10C 8024E82C AFB10014 */ sw $s1, 0x14($sp)
/* 17D110 8024E830 0080882D */ daddu $s1, $a0, $zero
/* 17D114 8024E834 AFB20018 */ sw $s2, 0x18($sp)
/* 17D118 8024E838 3C12800B */ lui $s2, %hi(gCameras+0x558)
/* 17D11C 8024E83C 265222D8 */ addiu $s2, $s2, %lo(gCameras+0x558)
/* 17D120 8024E840 AFBF001C */ sw $ra, 0x1c($sp)
/* 17D124 8024E844 AFB00010 */ sw $s0, 0x10($sp)
/* 17D128 8024E848 8E30000C */ lw $s0, 0xc($s1)
/* 17D12C 8024E84C 14400029 */ bnez $v0, .L8024E8F4
/* 17D130 8024E850 24020002 */ addiu $v0, $zero, 2
/* 17D134 8024E854 8E050000 */ lw $a1, ($s0)
/* 17D138 8024E858 0C0B1EAF */ jal get_variable
/* 17D13C 8024E85C 26100004 */ addiu $s0, $s0, 4
/* 17D140 8024E860 A642001C */ sh $v0, 0x1c($s2)
/* 17D144 8024E864 8E050000 */ lw $a1, ($s0)
/* 17D148 8024E868 26100004 */ addiu $s0, $s0, 4
/* 17D14C 8024E86C 0C0B1EAF */ jal get_variable
/* 17D150 8024E870 0220202D */ daddu $a0, $s1, $zero
/* 17D154 8024E874 A642001E */ sh $v0, 0x1e($s2)
/* 17D158 8024E878 8E050000 */ lw $a1, ($s0)
/* 17D15C 8024E87C 26100004 */ addiu $s0, $s0, 4
/* 17D160 8024E880 0C0B1EAF */ jal get_variable
/* 17D164 8024E884 0220202D */ daddu $a0, $s1, $zero
/* 17D168 8024E888 A6420020 */ sh $v0, 0x20($s2)
/* 17D16C 8024E88C 8E050000 */ lw $a1, ($s0)
/* 17D170 8024E890 26100004 */ addiu $s0, $s0, 4
/* 17D174 8024E894 0C0B1EAF */ jal get_variable
/* 17D178 8024E898 0220202D */ daddu $a0, $s1, $zero
/* 17D17C 8024E89C A6420022 */ sh $v0, 0x22($s2)
/* 17D180 8024E8A0 8E050000 */ lw $a1, ($s0)
/* 17D184 8024E8A4 26100004 */ addiu $s0, $s0, 4
/* 17D188 8024E8A8 0C0B1EAF */ jal get_variable
/* 17D18C 8024E8AC 0220202D */ daddu $a0, $s1, $zero
/* 17D190 8024E8B0 A6420024 */ sh $v0, 0x24($s2)
/* 17D194 8024E8B4 8E050000 */ lw $a1, ($s0)
/* 17D198 8024E8B8 26100004 */ addiu $s0, $s0, 4
/* 17D19C 8024E8BC 0C0B1EAF */ jal get_variable
/* 17D1A0 8024E8C0 0220202D */ daddu $a0, $s1, $zero
/* 17D1A4 8024E8C4 00021200 */ sll $v0, $v0, 8
/* 17D1A8 8024E8C8 A6420026 */ sh $v0, 0x26($s2)
/* 17D1AC 8024E8CC 8E050000 */ lw $a1, ($s0)
/* 17D1B0 8024E8D0 26100004 */ addiu $s0, $s0, 4
/* 17D1B4 8024E8D4 0C0B1EAF */ jal get_variable
/* 17D1B8 8024E8D8 0220202D */ daddu $a0, $s1, $zero
/* 17D1BC 8024E8DC A6420028 */ sh $v0, 0x28($s2)
/* 17D1C0 8024E8E0 8E050000 */ lw $a1, ($s0)
/* 17D1C4 8024E8E4 0C0B1EAF */ jal get_variable
/* 17D1C8 8024E8E8 0220202D */ daddu $a0, $s1, $zero
/* 17D1CC 8024E8EC A642002A */ sh $v0, 0x2a($s2)
/* 17D1D0 8024E8F0 24020002 */ addiu $v0, $zero, 2
.L8024E8F4:
/* 17D1D4 8024E8F4 8FBF001C */ lw $ra, 0x1c($sp)
/* 17D1D8 8024E8F8 8FB20018 */ lw $s2, 0x18($sp)
/* 17D1DC 8024E8FC 8FB10014 */ lw $s1, 0x14($sp)
/* 17D1E0 8024E900 8FB00010 */ lw $s0, 0x10($sp)
/* 17D1E4 8024E904 03E00008 */ jr $ra
/* 17D1E8 8024E908 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,47 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024E9B0
/* 17D290 8024E9B0 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D294 8024E9B4 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D298 8024E9B8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 17D29C 8024E9BC AFB10014 */ sw $s1, 0x14($sp)
/* 17D2A0 8024E9C0 0080882D */ daddu $s1, $a0, $zero
/* 17D2A4 8024E9C4 AFB20018 */ sw $s2, 0x18($sp)
/* 17D2A8 8024E9C8 3C12800B */ lui $s2, %hi(gCameras+0x558)
/* 17D2AC 8024E9CC 265222D8 */ addiu $s2, $s2, %lo(gCameras+0x558)
/* 17D2B0 8024E9D0 AFBF001C */ sw $ra, 0x1c($sp)
/* 17D2B4 8024E9D4 AFB00010 */ sw $s0, 0x10($sp)
/* 17D2B8 8024E9D8 8E30000C */ lw $s0, 0xc($s1)
/* 17D2BC 8024E9DC 14400018 */ bnez $v0, .L8024EA40
/* 17D2C0 8024E9E0 24020002 */ addiu $v0, $zero, 2
/* 17D2C4 8024E9E4 8E050000 */ lw $a1, ($s0)
/* 17D2C8 8024E9E8 0C0B1EAF */ jal get_variable
/* 17D2CC 8024E9EC 26100004 */ addiu $s0, $s0, 4
/* 17D2D0 8024E9F0 44820000 */ mtc1 $v0, $f0
/* 17D2D4 8024E9F4 00000000 */ nop
/* 17D2D8 8024E9F8 46800020 */ cvt.s.w $f0, $f0
/* 17D2DC 8024E9FC E6400054 */ swc1 $f0, 0x54($s2)
/* 17D2E0 8024EA00 8E050000 */ lw $a1, ($s0)
/* 17D2E4 8024EA04 26100004 */ addiu $s0, $s0, 4
/* 17D2E8 8024EA08 0C0B1EAF */ jal get_variable
/* 17D2EC 8024EA0C 0220202D */ daddu $a0, $s1, $zero
/* 17D2F0 8024EA10 44820000 */ mtc1 $v0, $f0
/* 17D2F4 8024EA14 00000000 */ nop
/* 17D2F8 8024EA18 46800020 */ cvt.s.w $f0, $f0
/* 17D2FC 8024EA1C E6400058 */ swc1 $f0, 0x58($s2)
/* 17D300 8024EA20 8E050000 */ lw $a1, ($s0)
/* 17D304 8024EA24 0C0B1EAF */ jal get_variable
/* 17D308 8024EA28 0220202D */ daddu $a0, $s1, $zero
/* 17D30C 8024EA2C 44820000 */ mtc1 $v0, $f0
/* 17D310 8024EA30 00000000 */ nop
/* 17D314 8024EA34 46800020 */ cvt.s.w $f0, $f0
/* 17D318 8024EA38 24020002 */ addiu $v0, $zero, 2
/* 17D31C 8024EA3C E640005C */ swc1 $f0, 0x5c($s2)
.L8024EA40:
/* 17D320 8024EA40 8FBF001C */ lw $ra, 0x1c($sp)
/* 17D324 8024EA44 8FB20018 */ lw $s2, 0x18($sp)
/* 17D328 8024EA48 8FB10014 */ lw $s1, 0x14($sp)
/* 17D32C 8024EA4C 8FB00010 */ lw $s0, 0x10($sp)
/* 17D330 8024EA50 03E00008 */ jr $ra
/* 17D334 8024EA54 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,39 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024EB84
/* 17D464 8024EB84 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D468 8024EB88 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D46C 8024EB8C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 17D470 8024EB90 AFB20018 */ sw $s2, 0x18($sp)
/* 17D474 8024EB94 0080902D */ daddu $s2, $a0, $zero
/* 17D478 8024EB98 AFBF001C */ sw $ra, 0x1c($sp)
/* 17D47C 8024EB9C AFB10014 */ sw $s1, 0x14($sp)
/* 17D480 8024EBA0 AFB00010 */ sw $s0, 0x10($sp)
/* 17D484 8024EBA4 8E51000C */ lw $s1, 0xc($s2)
/* 17D488 8024EBA8 14400011 */ bnez $v0, .L8024EBF0
/* 17D48C 8024EBAC 24020002 */ addiu $v0, $zero, 2
/* 17D490 8024EBB0 8E250000 */ lw $a1, ($s1)
/* 17D494 8024EBB4 26310004 */ addiu $s1, $s1, 4
/* 17D498 8024EBB8 0C0B1EAF */ jal get_variable
/* 17D49C 8024EBBC 0240202D */ daddu $a0, $s2, $zero
/* 17D4A0 8024EBC0 0040802D */ daddu $s0, $v0, $zero
/* 17D4A4 8024EBC4 2402FF81 */ addiu $v0, $zero, -0x7f
/* 17D4A8 8024EBC8 16020002 */ bne $s0, $v0, .L8024EBD4
/* 17D4AC 8024EBCC 00000000 */ nop
/* 17D4B0 8024EBD0 8E500148 */ lw $s0, 0x148($s2)
.L8024EBD4:
/* 17D4B4 8024EBD4 8E250000 */ lw $a1, ($s1)
/* 17D4B8 8024EBD8 0C0B1EAF */ jal get_variable
/* 17D4BC 8024EBDC 0240202D */ daddu $a0, $s2, $zero
/* 17D4C0 8024EBE0 0200202D */ daddu $a0, $s0, $zero
/* 17D4C4 8024EBE4 0C093917 */ jal func_8024E45C
/* 17D4C8 8024EBE8 0040282D */ daddu $a1, $v0, $zero
/* 17D4CC 8024EBEC 24020002 */ addiu $v0, $zero, 2
.L8024EBF0:
/* 17D4D0 8024EBF0 8FBF001C */ lw $ra, 0x1c($sp)
/* 17D4D4 8024EBF4 8FB20018 */ lw $s2, 0x18($sp)
/* 17D4D8 8024EBF8 8FB10014 */ lw $s1, 0x14($sp)
/* 17D4DC 8024EBFC 8FB00010 */ lw $s0, 0x10($sp)
/* 17D4E0 8024EC00 03E00008 */ jr $ra
/* 17D4E4 8024EC04 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,37 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024ECF8
/* 17D5D8 8024ECF8 3C028028 */ lui $v0, %hi(D_80280CE0)
/* 17D5DC 8024ECFC 80420CE0 */ lb $v0, %lo(D_80280CE0)($v0)
/* 17D5E0 8024ED00 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 17D5E4 8024ED04 AFB10014 */ sw $s1, 0x14($sp)
/* 17D5E8 8024ED08 0080882D */ daddu $s1, $a0, $zero
/* 17D5EC 8024ED0C AFBF0018 */ sw $ra, 0x18($sp)
/* 17D5F0 8024ED10 AFB00010 */ sw $s0, 0x10($sp)
/* 17D5F4 8024ED14 8E30000C */ lw $s0, 0xc($s1)
/* 17D5F8 8024ED18 14400012 */ bnez $v0, .L8024ED64
/* 17D5FC 8024ED1C 24020002 */ addiu $v0, $zero, 2
/* 17D600 8024ED20 8E050000 */ lw $a1, ($s0)
/* 17D604 8024ED24 0C0B1EAF */ jal get_variable
/* 17D608 8024ED28 26100004 */ addiu $s0, $s0, 4
/* 17D60C 8024ED2C 3C01802A */ lui $at, %hi(D_8029F2A2)
/* 17D610 8024ED30 A022F2A2 */ sb $v0, %lo(D_8029F2A2)($at)
/* 17D614 8024ED34 8E050000 */ lw $a1, ($s0)
/* 17D618 8024ED38 26100004 */ addiu $s0, $s0, 4
/* 17D61C 8024ED3C 0C0B1EAF */ jal get_variable
/* 17D620 8024ED40 0220202D */ daddu $a0, $s1, $zero
/* 17D624 8024ED44 3C01802A */ lui $at, %hi(D_8029F2A3)
/* 17D628 8024ED48 A022F2A3 */ sb $v0, %lo(D_8029F2A3)($at)
/* 17D62C 8024ED4C 8E050000 */ lw $a1, ($s0)
/* 17D630 8024ED50 0C0B1EAF */ jal get_variable
/* 17D634 8024ED54 0220202D */ daddu $a0, $s1, $zero
/* 17D638 8024ED58 3C01802A */ lui $at, %hi(D_8029F2A5)
/* 17D63C 8024ED5C A022F2A5 */ sb $v0, %lo(D_8029F2A5)($at)
/* 17D640 8024ED60 24020002 */ addiu $v0, $zero, 2
.L8024ED64:
/* 17D644 8024ED64 8FBF0018 */ lw $ra, 0x18($sp)
/* 17D648 8024ED68 8FB10014 */ lw $s1, 0x14($sp)
/* 17D64C 8024ED6C 8FB00010 */ lw $s0, 0x10($sp)
/* 17D650 8024ED70 03E00008 */ jr $ra
/* 17D654 8024ED74 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024EDA4
/* 17D684 8024EDA4 3C01802A */ lui $at, %hi(D_8029F2A6)
/* 17D688 8024EDA8 A020F2A6 */ sb $zero, %lo(D_8029F2A6)($at)
/* 17D68C 8024EDAC 03E00008 */ jr $ra
/* 17D690 8024EDB0 24020002 */ addiu $v0, $zero, 2
/* 17D694 8024EDB4 00000000 */ nop
/* 17D698 8024EDB8 00000000 */ nop
/* 17D69C 8024EDBC 00000000 */ nop

View File

@ -1,79 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel LandJump
/* 1A83B4 80279AD4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1A83B8 80279AD8 AFB1001C */ sw $s1, 0x1c($sp)
/* 1A83BC 80279ADC 0080882D */ daddu $s1, $a0, $zero
/* 1A83C0 80279AE0 AFBF0020 */ sw $ra, 0x20($sp)
/* 1A83C4 80279AE4 AFB00018 */ sw $s0, 0x18($sp)
/* 1A83C8 80279AE8 8E23000C */ lw $v1, 0xc($s1)
/* 1A83CC 80279AEC 54A00001 */ bnel $a1, $zero, .L80279AF4
/* 1A83D0 80279AF0 AE200070 */ sw $zero, 0x70($s1)
.L80279AF4:
/* 1A83D4 80279AF4 8E220070 */ lw $v0, 0x70($s1)
/* 1A83D8 80279AF8 14400015 */ bnez $v0, .L80279B50
/* 1A83DC 80279AFC 00000000 */ nop
/* 1A83E0 80279B00 8C650000 */ lw $a1, ($v1)
/* 1A83E4 80279B04 0C0B1EAF */ jal get_variable
/* 1A83E8 80279B08 0220202D */ daddu $a0, $s1, $zero
/* 1A83EC 80279B0C 0040202D */ daddu $a0, $v0, $zero
/* 1A83F0 80279B10 2402FF81 */ addiu $v0, $zero, -0x7f
/* 1A83F4 80279B14 14820002 */ bne $a0, $v0, .L80279B20
/* 1A83F8 80279B18 00000000 */ nop
/* 1A83FC 80279B1C 8E240148 */ lw $a0, 0x148($s1)
.L80279B20:
/* 1A8400 80279B20 0C09A75B */ jal get_actor
/* 1A8404 80279B24 00000000 */ nop
/* 1A8408 80279B28 0040802D */ daddu $s0, $v0, $zero
/* 1A840C 80279B2C AE300074 */ sw $s0, 0x74($s1)
/* 1A8410 80279B30 C6000144 */ lwc1 $f0, 0x144($s0)
/* 1A8414 80279B34 C6020148 */ lwc1 $f2, 0x148($s0)
/* 1A8418 80279B38 C604014C */ lwc1 $f4, 0x14c($s0)
/* 1A841C 80279B3C 24020001 */ addiu $v0, $zero, 1
/* 1A8420 80279B40 E600000C */ swc1 $f0, 0xc($s0)
/* 1A8424 80279B44 E6020010 */ swc1 $f2, 0x10($s0)
/* 1A8428 80279B48 E6040014 */ swc1 $f4, 0x14($s0)
/* 1A842C 80279B4C AE220070 */ sw $v0, 0x70($s1)
.L80279B50:
/* 1A8430 80279B50 8E300074 */ lw $s0, 0x74($s1)
/* 1A8434 80279B54 C6040010 */ lwc1 $f4, 0x10($s0)
/* 1A8438 80279B58 C6000050 */ lwc1 $f0, 0x50($s0)
/* 1A843C 80279B5C 8E05004C */ lw $a1, 0x4c($s0)
/* 1A8440 80279B60 46002100 */ add.s $f4, $f4, $f0
/* 1A8444 80279B64 C6020048 */ lwc1 $f2, 0x48($s0)
/* 1A8448 80279B68 8E060054 */ lw $a2, 0x54($s0)
/* 1A844C 80279B6C 46020001 */ sub.s $f0, $f0, $f2
/* 1A8450 80279B70 2604000C */ addiu $a0, $s0, 0xc
/* 1A8454 80279B74 E6040010 */ swc1 $f4, 0x10($s0)
/* 1A8458 80279B78 0C09904A */ jal add_xz_vec3f
/* 1A845C 80279B7C E6000050 */ swc1 $f0, 0x50($s0)
/* 1A8460 80279B80 C6000010 */ lwc1 $f0, 0x10($s0)
/* 1A8464 80279B84 C6020014 */ lwc1 $f2, 0x14($s0)
/* 1A8468 80279B88 44803000 */ mtc1 $zero, $f6
/* 1A846C 80279B8C E6000148 */ swc1 $f0, 0x148($s0)
/* 1A8470 80279B90 C600000C */ lwc1 $f0, 0xc($s0)
/* 1A8474 80279B94 C6040148 */ lwc1 $f4, 0x148($s0)
/* 1A8478 80279B98 E602014C */ swc1 $f2, 0x14c($s0)
/* 1A847C 80279B9C 4606203C */ c.lt.s $f4, $f6
/* 1A8480 80279BA0 00000000 */ nop
/* 1A8484 80279BA4 45010003 */ bc1t .L80279BB4
/* 1A8488 80279BA8 E6000144 */ swc1 $f0, 0x144($s0)
/* 1A848C 80279BAC 0809E6F6 */ j .L80279BD8
/* 1A8490 80279BB0 0000102D */ daddu $v0, $zero, $zero
.L80279BB4:
/* 1A8494 80279BB4 C600018C */ lwc1 $f0, 0x18c($s0)
/* 1A8498 80279BB8 E6060148 */ swc1 $f6, 0x148($s0)
/* 1A849C 80279BBC E7A00010 */ swc1 $f0, 0x10($sp)
/* 1A84A0 80279BC0 8E050144 */ lw $a1, 0x144($s0)
/* 1A84A4 80279BC4 8E060148 */ lw $a2, 0x148($s0)
/* 1A84A8 80279BC8 8E07014C */ lw $a3, 0x14c($s0)
/* 1A84AC 80279BCC 0C0990BC */ jal play_movement_dust_effects
/* 1A84B0 80279BD0 24040002 */ addiu $a0, $zero, 2
/* 1A84B4 80279BD4 24020001 */ addiu $v0, $zero, 1
.L80279BD8:
/* 1A84B8 80279BD8 8FBF0020 */ lw $ra, 0x20($sp)
/* 1A84BC 80279BDC 8FB1001C */ lw $s1, 0x1c($sp)
/* 1A84C0 80279BE0 8FB00018 */ lw $s0, 0x18($sp)
/* 1A84C4 80279BE4 03E00008 */ jr $ra
/* 1A84C8 80279BE8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,69 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetPartSize
/* 1AC250 8027D970 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1AC254 8027D974 AFB20018 */ sw $s2, 0x18($sp)
/* 1AC258 8027D978 0080902D */ daddu $s2, $a0, $zero
/* 1AC25C 8027D97C AFBF0024 */ sw $ra, 0x24($sp)
/* 1AC260 8027D980 AFB40020 */ sw $s4, 0x20($sp)
/* 1AC264 8027D984 AFB3001C */ sw $s3, 0x1c($sp)
/* 1AC268 8027D988 AFB10014 */ sw $s1, 0x14($sp)
/* 1AC26C 8027D98C AFB00010 */ sw $s0, 0x10($sp)
/* 1AC270 8027D990 8E50000C */ lw $s0, 0xc($s2)
/* 1AC274 8027D994 8E050000 */ lw $a1, ($s0)
/* 1AC278 8027D998 0C0B1EAF */ jal get_variable
/* 1AC27C 8027D99C 26100004 */ addiu $s0, $s0, 4
/* 1AC280 8027D9A0 0040882D */ daddu $s1, $v0, $zero
/* 1AC284 8027D9A4 8E050000 */ lw $a1, ($s0)
/* 1AC288 8027D9A8 26100004 */ addiu $s0, $s0, 4
/* 1AC28C 8027D9AC 0C0B1EAF */ jal get_variable
/* 1AC290 8027D9B0 0240202D */ daddu $a0, $s2, $zero
/* 1AC294 8027D9B4 8E050000 */ lw $a1, ($s0)
/* 1AC298 8027D9B8 26100004 */ addiu $s0, $s0, 4
/* 1AC29C 8027D9BC 0240202D */ daddu $a0, $s2, $zero
/* 1AC2A0 8027D9C0 0C0B1EAF */ jal get_variable
/* 1AC2A4 8027D9C4 0040A02D */ daddu $s4, $v0, $zero
/* 1AC2A8 8027D9C8 0240202D */ daddu $a0, $s2, $zero
/* 1AC2AC 8027D9CC 8E050000 */ lw $a1, ($s0)
/* 1AC2B0 8027D9D0 0C0B1EAF */ jal get_variable
/* 1AC2B4 8027D9D4 0040802D */ daddu $s0, $v0, $zero
/* 1AC2B8 8027D9D8 0040982D */ daddu $s3, $v0, $zero
/* 1AC2BC 8027D9DC 2402FF81 */ addiu $v0, $zero, -0x7f
/* 1AC2C0 8027D9E0 16220002 */ bne $s1, $v0, .L8027D9EC
/* 1AC2C4 8027D9E4 00000000 */ nop
/* 1AC2C8 8027D9E8 8E510148 */ lw $s1, 0x148($s2)
.L8027D9EC:
/* 1AC2CC 8027D9EC 0C09A75B */ jal get_actor
/* 1AC2D0 8027D9F0 0220202D */ daddu $a0, $s1, $zero
/* 1AC2D4 8027D9F4 0040202D */ daddu $a0, $v0, $zero
/* 1AC2D8 8027D9F8 0C099117 */ jal get_actor_part
/* 1AC2DC 8027D9FC 0280282D */ daddu $a1, $s4, $zero
/* 1AC2E0 8027DA00 3C03F119 */ lui $v1, 0xf119
/* 1AC2E4 8027DA04 34634D80 */ ori $v1, $v1, 0x4d80
/* 1AC2E8 8027DA08 12030002 */ beq $s0, $v1, .L8027DA14
/* 1AC2EC 8027DA0C 0040202D */ daddu $a0, $v0, $zero
/* 1AC2F0 8027DA10 A0900073 */ sb $s0, 0x73($a0)
.L8027DA14:
/* 1AC2F4 8027DA14 56630001 */ bnel $s3, $v1, .L8027DA1C
/* 1AC2F8 8027DA18 A0930072 */ sb $s3, 0x72($a0)
.L8027DA1C:
/* 1AC2FC 8027DA1C 90830072 */ lbu $v1, 0x72($a0)
/* 1AC300 8027DA20 3C014038 */ lui $at, 0x4038
/* 1AC304 8027DA24 44811800 */ mtc1 $at, $f3
/* 1AC308 8027DA28 44801000 */ mtc1 $zero, $f2
/* 1AC30C 8027DA2C 44830000 */ mtc1 $v1, $f0
/* 1AC310 8027DA30 00000000 */ nop
/* 1AC314 8027DA34 46800021 */ cvt.d.w $f0, $f0
/* 1AC318 8027DA38 46220003 */ div.d $f0, $f0, $f2
/* 1AC31C 8027DA3C 46200020 */ cvt.s.d $f0, $f0
/* 1AC320 8027DA40 E48000A0 */ swc1 $f0, 0xa0($a0)
/* 1AC324 8027DA44 8FBF0024 */ lw $ra, 0x24($sp)
/* 1AC328 8027DA48 8FB40020 */ lw $s4, 0x20($sp)
/* 1AC32C 8027DA4C 8FB3001C */ lw $s3, 0x1c($sp)
/* 1AC330 8027DA50 8FB20018 */ lw $s2, 0x18($sp)
/* 1AC334 8027DA54 8FB10014 */ lw $s1, 0x14($sp)
/* 1AC338 8027DA58 8FB00010 */ lw $s0, 0x10($sp)
/* 1AC33C 8027DA5C 24020002 */ addiu $v0, $zero, 2
/* 1AC340 8027DA60 03E00008 */ jr $ra
/* 1AC344 8027DA64 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,114 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_8029D990
.word L80277044_1A5924, L8027704C_1A592C, L80277054_1A5934, L80277090_1A5970, L802770CC_1A59AC, L80277108_1A59E8
.section .text
glabel play_hit_sound
/* 1A58E4 80277004 44850000 */ mtc1 $a1, $f0
/* 1A58E8 80277008 44861000 */ mtc1 $a2, $f2
/* 1A58EC 8027700C 44872000 */ mtc1 $a3, $f4
/* 1A58F0 80277010 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1A58F4 80277014 AFBF0018 */ sw $ra, 0x18($sp)
/* 1A58F8 80277018 94820192 */ lhu $v0, 0x192($a0)
/* 1A58FC 8027701C 8FA40030 */ lw $a0, 0x30($sp)
/* 1A5900 80277020 30430700 */ andi $v1, $v0, 0x700
/* 1A5904 80277024 2C820006 */ sltiu $v0, $a0, 6
/* 1A5908 80277028 1040004A */ beqz $v0, .L80277154
/* 1A590C 8027702C 00041080 */ sll $v0, $a0, 2
/* 1A5910 80277030 3C01802A */ lui $at, %hi(jtbl_8029D990)
/* 1A5914 80277034 00220821 */ addu $at, $at, $v0
/* 1A5918 80277038 8C22D990 */ lw $v0, %lo(jtbl_8029D990)($at)
/* 1A591C 8027703C 00400008 */ jr $v0
/* 1A5920 80277040 00000000 */ nop
glabel L80277044_1A5924
/* 1A5924 80277044 0809DC50 */ j .L80277140
/* 1A5928 80277048 2404010C */ addiu $a0, $zero, 0x10c
glabel L8027704C_1A592C
/* 1A592C 8027704C 0809DC50 */ j .L80277140
/* 1A5930 80277050 2404010D */ addiu $a0, $zero, 0x10d
glabel L80277054_1A5934
/* 1A5934 80277054 24020100 */ addiu $v0, $zero, 0x100
/* 1A5938 80277058 1062000B */ beq $v1, $v0, .L80277088
/* 1A593C 8027705C 28620101 */ slti $v0, $v1, 0x101
/* 1A5940 80277060 50400005 */ beql $v0, $zero, .L80277078
/* 1A5944 80277064 24020200 */ addiu $v0, $zero, 0x200
/* 1A5948 80277068 10600035 */ beqz $v1, .L80277140
/* 1A594C 8027706C 240400E1 */ addiu $a0, $zero, 0xe1
/* 1A5950 80277070 0809DC55 */ j .L80277154
/* 1A5954 80277074 00000000 */ nop
.L80277078:
/* 1A5958 80277078 10620031 */ beq $v1, $v0, .L80277140
/* 1A595C 8027707C 240400E9 */ addiu $a0, $zero, 0xe9
/* 1A5960 80277080 0809DC55 */ j .L80277154
/* 1A5964 80277084 00000000 */ nop
.L80277088:
/* 1A5968 80277088 0809DC50 */ j .L80277140
/* 1A596C 8027708C 240400E9 */ addiu $a0, $zero, 0xe9
glabel L80277090_1A5970
/* 1A5970 80277090 24020100 */ addiu $v0, $zero, 0x100
/* 1A5974 80277094 1062000B */ beq $v1, $v0, .L802770C4
/* 1A5978 80277098 28620101 */ slti $v0, $v1, 0x101
/* 1A597C 8027709C 50400005 */ beql $v0, $zero, .L802770B4
/* 1A5980 802770A0 24020200 */ addiu $v0, $zero, 0x200
/* 1A5984 802770A4 10600026 */ beqz $v1, .L80277140
/* 1A5988 802770A8 240400E2 */ addiu $a0, $zero, 0xe2
/* 1A598C 802770AC 0809DC55 */ j .L80277154
/* 1A5990 802770B0 00000000 */ nop
.L802770B4:
/* 1A5994 802770B4 10620022 */ beq $v1, $v0, .L80277140
/* 1A5998 802770B8 240400EA */ addiu $a0, $zero, 0xea
/* 1A599C 802770BC 0809DC55 */ j .L80277154
/* 1A59A0 802770C0 00000000 */ nop
.L802770C4:
/* 1A59A4 802770C4 0809DC50 */ j .L80277140
/* 1A59A8 802770C8 240400EA */ addiu $a0, $zero, 0xea
glabel L802770CC_1A59AC
/* 1A59AC 802770CC 24020100 */ addiu $v0, $zero, 0x100
/* 1A59B0 802770D0 1062000B */ beq $v1, $v0, .L80277100
/* 1A59B4 802770D4 28620101 */ slti $v0, $v1, 0x101
/* 1A59B8 802770D8 50400005 */ beql $v0, $zero, .L802770F0
/* 1A59BC 802770DC 24020200 */ addiu $v0, $zero, 0x200
/* 1A59C0 802770E0 10600017 */ beqz $v1, .L80277140
/* 1A59C4 802770E4 240400E3 */ addiu $a0, $zero, 0xe3
/* 1A59C8 802770E8 0809DC55 */ j .L80277154
/* 1A59CC 802770EC 00000000 */ nop
.L802770F0:
/* 1A59D0 802770F0 10620013 */ beq $v1, $v0, .L80277140
/* 1A59D4 802770F4 240400EB */ addiu $a0, $zero, 0xeb
/* 1A59D8 802770F8 0809DC55 */ j .L80277154
/* 1A59DC 802770FC 00000000 */ nop
.L80277100:
/* 1A59E0 80277100 0809DC50 */ j .L80277140
/* 1A59E4 80277104 240400EB */ addiu $a0, $zero, 0xeb
glabel L80277108_1A59E8
/* 1A59E8 80277108 24020100 */ addiu $v0, $zero, 0x100
/* 1A59EC 8027710C 1062000B */ beq $v1, $v0, .L8027713C
/* 1A59F0 80277110 28620101 */ slti $v0, $v1, 0x101
/* 1A59F4 80277114 50400005 */ beql $v0, $zero, .L8027712C
/* 1A59F8 80277118 24020200 */ addiu $v0, $zero, 0x200
/* 1A59FC 8027711C 10600008 */ beqz $v1, .L80277140
/* 1A5A00 80277120 2404037A */ addiu $a0, $zero, 0x37a
/* 1A5A04 80277124 0809DC55 */ j .L80277154
/* 1A5A08 80277128 00000000 */ nop
.L8027712C:
/* 1A5A0C 8027712C 10620004 */ beq $v1, $v0, .L80277140
/* 1A5A10 80277130 2404037B */ addiu $a0, $zero, 0x37b
/* 1A5A14 80277134 0809DC55 */ j .L80277154
/* 1A5A18 80277138 00000000 */ nop
.L8027713C:
/* 1A5A1C 8027713C 2404037B */ addiu $a0, $zero, 0x37b
.L80277140:
/* 1A5A20 80277140 44060000 */ mfc1 $a2, $f0
/* 1A5A24 80277144 44071000 */ mfc1 $a3, $f2
/* 1A5A28 80277148 0000282D */ daddu $a1, $zero, $zero
/* 1A5A2C 8027714C 0C052757 */ jal sfx_play_sound_at_position
/* 1A5A30 80277150 E7A40010 */ swc1 $f4, 0x10($sp)
.L80277154:
/* 1A5A34 80277154 8FBF0018 */ lw $ra, 0x18($sp)
/* 1A5A38 80277158 03E00008 */ jr $ra
/* 1A5A3C 8027715C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,305 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel player_raycast_below
/* 77480 800DDFD0 27BDFF80 */ addiu $sp, $sp, -0x80
/* 77484 800DDFD4 AFB40038 */ sw $s4, 0x38($sp)
/* 77488 800DDFD8 8FB40090 */ lw $s4, 0x90($sp)
/* 7748C 800DDFDC AFB1002C */ sw $s1, 0x2c($sp)
/* 77490 800DDFE0 8FB10094 */ lw $s1, 0x94($sp)
/* 77494 800DDFE4 AFB5003C */ sw $s5, 0x3c($sp)
/* 77498 800DDFE8 8FB50098 */ lw $s5, 0x98($sp)
/* 7749C 800DDFEC AFB60040 */ sw $s6, 0x40($sp)
/* 774A0 800DDFF0 8FB6009C */ lw $s6, 0x9c($sp)
/* 774A4 800DDFF4 AFB20030 */ sw $s2, 0x30($sp)
/* 774A8 800DDFF8 00C0902D */ daddu $s2, $a2, $zero
/* 774AC 800DDFFC AFB30034 */ sw $s3, 0x34($sp)
/* 774B0 800DE000 00E0982D */ daddu $s3, $a3, $zero
/* 774B4 800DE004 AFB70044 */ sw $s7, 0x44($sp)
/* 774B8 800DE008 8FB700A0 */ lw $s7, 0xa0($sp)
/* 774BC 800DE00C 3C0140C9 */ lui $at, 0x40c9
/* 774C0 800DE010 34210FD0 */ ori $at, $at, 0xfd0
/* 774C4 800DE014 44810000 */ mtc1 $at, $f0
/* 774C8 800DE018 27A50010 */ addiu $a1, $sp, 0x10
/* 774CC 800DE01C AFBE0048 */ sw $fp, 0x48($sp)
/* 774D0 800DE020 8FBE00A4 */ lw $fp, 0xa4($sp)
/* 774D4 800DE024 46006082 */ mul.s $f2, $f12, $f0
/* 774D8 800DE028 00000000 */ nop
/* 774DC 800DE02C 3C0143B4 */ lui $at, 0x43b4
/* 774E0 800DE030 44816000 */ mtc1 $at, $f12
/* 774E4 800DE034 3C013E8F */ lui $at, 0x3e8f
/* 774E8 800DE038 34215C29 */ ori $at, $at, 0x5c29
/* 774EC 800DE03C 44810000 */ mtc1 $at, $f0
/* 774F0 800DE040 27A60014 */ addiu $a2, $sp, 0x14
/* 774F4 800DE044 AFBF004C */ sw $ra, 0x4c($sp)
/* 774F8 800DE048 AFB00028 */ sw $s0, 0x28($sp)
/* 774FC 800DE04C F7BE0078 */ sdc1 $f30, 0x78($sp)
/* 77500 800DE050 F7BC0070 */ sdc1 $f28, 0x70($sp)
/* 77504 800DE054 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* 77508 800DE058 F7B80060 */ sdc1 $f24, 0x60($sp)
/* 7750C 800DE05C F7B60058 */ sdc1 $f22, 0x58($sp)
/* 77510 800DE060 F7B40050 */ sdc1 $f20, 0x50($sp)
/* 77514 800DE064 AEA00000 */ sw $zero, ($s5)
/* 77518 800DE068 AEC00000 */ sw $zero, ($s6)
/* 7751C 800DE06C AEE00000 */ sw $zero, ($s7)
/* 77520 800DE070 AFC00000 */ sw $zero, ($fp)
/* 77524 800DE074 C63E0000 */ lwc1 $f30, ($s1)
/* 77528 800DE078 46007502 */ mul.s $f20, $f14, $f0
/* 7752C 800DE07C 00000000 */ nop
/* 77530 800DE080 0C00A82D */ jal sin_cos_rad
/* 77534 800DE084 460C1303 */ div.s $f12, $f2, $f12
/* 77538 800DE088 C7A00010 */ lwc1 $f0, 0x10($sp)
/* 7753C 800DE08C 4600A582 */ mul.s $f22, $f20, $f0
/* 77540 800DE090 00000000 */ nop
/* 77544 800DE094 2410FFFF */ addiu $s0, $zero, -1
/* 77548 800DE098 27A40018 */ addiu $a0, $sp, 0x18
/* 7754C 800DE09C 27A5001C */ addiu $a1, $sp, 0x1c
/* 77550 800DE0A0 C7A00014 */ lwc1 $f0, 0x14($sp)
/* 77554 800DE0A4 4600A507 */ neg.s $f20, $f20
/* 77558 800DE0A8 4600A502 */ mul.s $f20, $f20, $f0
/* 7755C 800DE0AC 00000000 */ nop
/* 77560 800DE0B0 27A60020 */ addiu $a2, $sp, 0x20
/* 77564 800DE0B4 C65C0000 */ lwc1 $f28, ($s2)
/* 77568 800DE0B8 C6780000 */ lwc1 $f24, ($s3)
/* 7756C 800DE0BC C69A0000 */ lwc1 $f26, ($s4)
/* 77570 800DE0C0 4616E080 */ add.s $f2, $f28, $f22
/* 77574 800DE0C4 27A70024 */ addiu $a3, $sp, 0x24
/* 77578 800DE0C8 E7BE0024 */ swc1 $f30, 0x24($sp)
/* 7757C 800DE0CC 4614D000 */ add.s $f0, $f26, $f20
/* 77580 800DE0D0 E7B8001C */ swc1 $f24, 0x1c($sp)
/* 77584 800DE0D4 E7A20018 */ swc1 $f2, 0x18($sp)
/* 77588 800DE0D8 0C037953 */ jal player_raycast_down
/* 7758C 800DE0DC E7A00020 */ swc1 $f0, 0x20($sp)
/* 77590 800DE0E0 0040202D */ daddu $a0, $v0, $zero
/* 77594 800DE0E4 0482001E */ bltzl $a0, .L800DE160
/* 77598 800DE0E8 27A40018 */ addiu $a0, $sp, 0x18
/* 7759C 800DE0EC C6200000 */ lwc1 $f0, ($s1)
/* 775A0 800DE0F0 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 775A4 800DE0F4 46000005 */ abs.s $f0, $f0
/* 775A8 800DE0F8 4600103E */ c.le.s $f2, $f0
/* 775AC 800DE0FC 00000000 */ nop
/* 775B0 800DE100 45020017 */ bc1fl .L800DE160
/* 775B4 800DE104 27A40018 */ addiu $a0, $sp, 0x18
/* 775B8 800DE108 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 775BC 800DE10C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 775C0 800DE110 8C620000 */ lw $v0, ($v1)
/* 775C4 800DE114 C440011C */ lwc1 $f0, 0x11c($v0)
/* 775C8 800DE118 46000007 */ neg.s $f0, $f0
/* 775CC 800DE11C E6A00000 */ swc1 $f0, ($s5)
/* 775D0 800DE120 8C620000 */ lw $v0, ($v1)
/* 775D4 800DE124 C4400124 */ lwc1 $f0, 0x124($v0)
/* 775D8 800DE128 46000007 */ neg.s $f0, $f0
/* 775DC 800DE12C E6C00000 */ swc1 $f0, ($s6)
/* 775E0 800DE130 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 775E4 800DE134 E6400000 */ swc1 $f0, ($s2)
/* 775E8 800DE138 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 775EC 800DE13C E6600000 */ swc1 $f0, ($s3)
/* 775F0 800DE140 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 775F4 800DE144 E6800000 */ swc1 $f0, ($s4)
/* 775F8 800DE148 C7A00024 */ lwc1 $f0, 0x24($sp)
/* 775FC 800DE14C 0080802D */ daddu $s0, $a0, $zero
/* 77600 800DE150 E6200000 */ swc1 $f0, ($s1)
/* 77604 800DE154 E6F60000 */ swc1 $f22, ($s7)
/* 77608 800DE158 E7D40000 */ swc1 $f20, ($fp)
/* 7760C 800DE15C 27A40018 */ addiu $a0, $sp, 0x18
.L800DE160:
/* 77610 800DE160 27A5001C */ addiu $a1, $sp, 0x1c
/* 77614 800DE164 4616E081 */ sub.s $f2, $f28, $f22
/* 77618 800DE168 27A60020 */ addiu $a2, $sp, 0x20
/* 7761C 800DE16C 27A70024 */ addiu $a3, $sp, 0x24
/* 77620 800DE170 4614D001 */ sub.s $f0, $f26, $f20
/* 77624 800DE174 E7B8001C */ swc1 $f24, 0x1c($sp)
/* 77628 800DE178 E7BE0024 */ swc1 $f30, 0x24($sp)
/* 7762C 800DE17C E7A20018 */ swc1 $f2, 0x18($sp)
/* 77630 800DE180 0C037953 */ jal player_raycast_down
/* 77634 800DE184 E7A00020 */ swc1 $f0, 0x20($sp)
/* 77638 800DE188 0040202D */ daddu $a0, $v0, $zero
/* 7763C 800DE18C 04820020 */ bltzl $a0, .L800DE210
/* 77640 800DE190 27A40018 */ addiu $a0, $sp, 0x18
/* 77644 800DE194 C6200000 */ lwc1 $f0, ($s1)
/* 77648 800DE198 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 7764C 800DE19C 46000005 */ abs.s $f0, $f0
/* 77650 800DE1A0 4600103E */ c.le.s $f2, $f0
/* 77654 800DE1A4 00000000 */ nop
/* 77658 800DE1A8 45020019 */ bc1fl .L800DE210
/* 7765C 800DE1AC 27A40018 */ addiu $a0, $sp, 0x18
/* 77660 800DE1B0 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 77664 800DE1B4 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 77668 800DE1B8 8C620000 */ lw $v0, ($v1)
/* 7766C 800DE1BC C440011C */ lwc1 $f0, 0x11c($v0)
/* 77670 800DE1C0 46000007 */ neg.s $f0, $f0
/* 77674 800DE1C4 E6A00000 */ swc1 $f0, ($s5)
/* 77678 800DE1C8 8C620000 */ lw $v0, ($v1)
/* 7767C 800DE1CC C4400124 */ lwc1 $f0, 0x124($v0)
/* 77680 800DE1D0 46000007 */ neg.s $f0, $f0
/* 77684 800DE1D4 E6C00000 */ swc1 $f0, ($s6)
/* 77688 800DE1D8 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 7768C 800DE1DC E6400000 */ swc1 $f0, ($s2)
/* 77690 800DE1E0 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 77694 800DE1E4 E6600000 */ swc1 $f0, ($s3)
/* 77698 800DE1E8 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 7769C 800DE1EC E6800000 */ swc1 $f0, ($s4)
/* 776A0 800DE1F0 C7A00024 */ lwc1 $f0, 0x24($sp)
/* 776A4 800DE1F4 0080802D */ daddu $s0, $a0, $zero
/* 776A8 800DE1F8 E6200000 */ swc1 $f0, ($s1)
/* 776AC 800DE1FC 4600B007 */ neg.s $f0, $f22
/* 776B0 800DE200 E6E00000 */ swc1 $f0, ($s7)
/* 776B4 800DE204 4600A007 */ neg.s $f0, $f20
/* 776B8 800DE208 E7C00000 */ swc1 $f0, ($fp)
/* 776BC 800DE20C 27A40018 */ addiu $a0, $sp, 0x18
.L800DE210:
/* 776C0 800DE210 27A5001C */ addiu $a1, $sp, 0x1c
/* 776C4 800DE214 4614E080 */ add.s $f2, $f28, $f20
/* 776C8 800DE218 27A60020 */ addiu $a2, $sp, 0x20
/* 776CC 800DE21C 27A70024 */ addiu $a3, $sp, 0x24
/* 776D0 800DE220 4616D000 */ add.s $f0, $f26, $f22
/* 776D4 800DE224 E7B8001C */ swc1 $f24, 0x1c($sp)
/* 776D8 800DE228 E7BE0024 */ swc1 $f30, 0x24($sp)
/* 776DC 800DE22C E7A20018 */ swc1 $f2, 0x18($sp)
/* 776E0 800DE230 0C037953 */ jal player_raycast_down
/* 776E4 800DE234 E7A00020 */ swc1 $f0, 0x20($sp)
/* 776E8 800DE238 0040202D */ daddu $a0, $v0, $zero
/* 776EC 800DE23C 0482001E */ bltzl $a0, .L800DE2B8
/* 776F0 800DE240 27A40018 */ addiu $a0, $sp, 0x18
/* 776F4 800DE244 C6200000 */ lwc1 $f0, ($s1)
/* 776F8 800DE248 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 776FC 800DE24C 46000005 */ abs.s $f0, $f0
/* 77700 800DE250 4600103E */ c.le.s $f2, $f0
/* 77704 800DE254 00000000 */ nop
/* 77708 800DE258 45020017 */ bc1fl .L800DE2B8
/* 7770C 800DE25C 27A40018 */ addiu $a0, $sp, 0x18
/* 77710 800DE260 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 77714 800DE264 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 77718 800DE268 8C620000 */ lw $v0, ($v1)
/* 7771C 800DE26C C440011C */ lwc1 $f0, 0x11c($v0)
/* 77720 800DE270 46000007 */ neg.s $f0, $f0
/* 77724 800DE274 E6A00000 */ swc1 $f0, ($s5)
/* 77728 800DE278 8C620000 */ lw $v0, ($v1)
/* 7772C 800DE27C C4400124 */ lwc1 $f0, 0x124($v0)
/* 77730 800DE280 46000007 */ neg.s $f0, $f0
/* 77734 800DE284 E6C00000 */ swc1 $f0, ($s6)
/* 77738 800DE288 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 7773C 800DE28C E6400000 */ swc1 $f0, ($s2)
/* 77740 800DE290 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 77744 800DE294 E6600000 */ swc1 $f0, ($s3)
/* 77748 800DE298 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 7774C 800DE29C E6800000 */ swc1 $f0, ($s4)
/* 77750 800DE2A0 C7A00024 */ lwc1 $f0, 0x24($sp)
/* 77754 800DE2A4 0080802D */ daddu $s0, $a0, $zero
/* 77758 800DE2A8 E6200000 */ swc1 $f0, ($s1)
/* 7775C 800DE2AC E6F60000 */ swc1 $f22, ($s7)
/* 77760 800DE2B0 E7D40000 */ swc1 $f20, ($fp)
/* 77764 800DE2B4 27A40018 */ addiu $a0, $sp, 0x18
.L800DE2B8:
/* 77768 800DE2B8 27A5001C */ addiu $a1, $sp, 0x1c
/* 7776C 800DE2BC 4614E081 */ sub.s $f2, $f28, $f20
/* 77770 800DE2C0 27A60020 */ addiu $a2, $sp, 0x20
/* 77774 800DE2C4 27A70024 */ addiu $a3, $sp, 0x24
/* 77778 800DE2C8 4616D001 */ sub.s $f0, $f26, $f22
/* 7777C 800DE2CC E7B8001C */ swc1 $f24, 0x1c($sp)
/* 77780 800DE2D0 E7BE0024 */ swc1 $f30, 0x24($sp)
/* 77784 800DE2D4 E7A20018 */ swc1 $f2, 0x18($sp)
/* 77788 800DE2D8 0C037953 */ jal player_raycast_down
/* 7778C 800DE2DC E7A00020 */ swc1 $f0, 0x20($sp)
/* 77790 800DE2E0 0040202D */ daddu $a0, $v0, $zero
/* 77794 800DE2E4 04820020 */ bltzl $a0, .L800DE368
/* 77798 800DE2E8 27A40018 */ addiu $a0, $sp, 0x18
/* 7779C 800DE2EC C6200000 */ lwc1 $f0, ($s1)
/* 777A0 800DE2F0 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 777A4 800DE2F4 46000005 */ abs.s $f0, $f0
/* 777A8 800DE2F8 4600103E */ c.le.s $f2, $f0
/* 777AC 800DE2FC 00000000 */ nop
/* 777B0 800DE300 45020019 */ bc1fl .L800DE368
/* 777B4 800DE304 27A40018 */ addiu $a0, $sp, 0x18
/* 777B8 800DE308 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 777BC 800DE30C 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 777C0 800DE310 8C620000 */ lw $v0, ($v1)
/* 777C4 800DE314 C440011C */ lwc1 $f0, 0x11c($v0)
/* 777C8 800DE318 46000007 */ neg.s $f0, $f0
/* 777CC 800DE31C E6A00000 */ swc1 $f0, ($s5)
/* 777D0 800DE320 8C620000 */ lw $v0, ($v1)
/* 777D4 800DE324 C4400124 */ lwc1 $f0, 0x124($v0)
/* 777D8 800DE328 46000007 */ neg.s $f0, $f0
/* 777DC 800DE32C E6C00000 */ swc1 $f0, ($s6)
/* 777E0 800DE330 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 777E4 800DE334 E6400000 */ swc1 $f0, ($s2)
/* 777E8 800DE338 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 777EC 800DE33C E6600000 */ swc1 $f0, ($s3)
/* 777F0 800DE340 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 777F4 800DE344 E6800000 */ swc1 $f0, ($s4)
/* 777F8 800DE348 C7A00024 */ lwc1 $f0, 0x24($sp)
/* 777FC 800DE34C 0080802D */ daddu $s0, $a0, $zero
/* 77800 800DE350 E6200000 */ swc1 $f0, ($s1)
/* 77804 800DE354 4600B007 */ neg.s $f0, $f22
/* 77808 800DE358 E6E00000 */ swc1 $f0, ($s7)
/* 7780C 800DE35C 4600A007 */ neg.s $f0, $f20
/* 77810 800DE360 E7C00000 */ swc1 $f0, ($fp)
/* 77814 800DE364 27A40018 */ addiu $a0, $sp, 0x18
.L800DE368:
/* 77818 800DE368 27A5001C */ addiu $a1, $sp, 0x1c
/* 7781C 800DE36C 27A60020 */ addiu $a2, $sp, 0x20
/* 77820 800DE370 27A70024 */ addiu $a3, $sp, 0x24
/* 77824 800DE374 E7BC0018 */ swc1 $f28, 0x18($sp)
/* 77828 800DE378 E7B8001C */ swc1 $f24, 0x1c($sp)
/* 7782C 800DE37C E7BA0020 */ swc1 $f26, 0x20($sp)
/* 77830 800DE380 0C037953 */ jal player_raycast_down
/* 77834 800DE384 E7BE0024 */ swc1 $f30, 0x24($sp)
/* 77838 800DE388 0040202D */ daddu $a0, $v0, $zero
/* 7783C 800DE38C 0480001D */ bltz $a0, .L800DE404
/* 77840 800DE390 00000000 */ nop
/* 77844 800DE394 C6200000 */ lwc1 $f0, ($s1)
/* 77848 800DE398 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 7784C 800DE39C 46000005 */ abs.s $f0, $f0
/* 77850 800DE3A0 4600103E */ c.le.s $f2, $f0
/* 77854 800DE3A4 00000000 */ nop
/* 77858 800DE3A8 45000016 */ bc1f .L800DE404
/* 7785C 800DE3AC 00000000 */ nop
/* 77860 800DE3B0 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 77864 800DE3B4 2463419C */ addiu $v1, $v1, %lo(gGameStatusPtr)
/* 77868 800DE3B8 8C620000 */ lw $v0, ($v1)
/* 7786C 800DE3BC C440011C */ lwc1 $f0, 0x11c($v0)
/* 77870 800DE3C0 46000007 */ neg.s $f0, $f0
/* 77874 800DE3C4 E6A00000 */ swc1 $f0, ($s5)
/* 77878 800DE3C8 8C620000 */ lw $v0, ($v1)
/* 7787C 800DE3CC C4400124 */ lwc1 $f0, 0x124($v0)
/* 77880 800DE3D0 46000007 */ neg.s $f0, $f0
/* 77884 800DE3D4 E6C00000 */ swc1 $f0, ($s6)
/* 77888 800DE3D8 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 7788C 800DE3DC E6400000 */ swc1 $f0, ($s2)
/* 77890 800DE3E0 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 77894 800DE3E4 E6600000 */ swc1 $f0, ($s3)
/* 77898 800DE3E8 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 7789C 800DE3EC E6800000 */ swc1 $f0, ($s4)
/* 778A0 800DE3F0 C7A00024 */ lwc1 $f0, 0x24($sp)
/* 778A4 800DE3F4 0080802D */ daddu $s0, $a0, $zero
/* 778A8 800DE3F8 E6200000 */ swc1 $f0, ($s1)
/* 778AC 800DE3FC AEE00000 */ sw $zero, ($s7)
/* 778B0 800DE400 AFC00000 */ sw $zero, ($fp)
.L800DE404:
/* 778B4 800DE404 06010007 */ bgez $s0, .L800DE424
/* 778B8 800DE408 0200102D */ daddu $v0, $s0, $zero
/* 778BC 800DE40C C7A00018 */ lwc1 $f0, 0x18($sp)
/* 778C0 800DE410 E6400000 */ swc1 $f0, ($s2)
/* 778C4 800DE414 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 778C8 800DE418 E6600000 */ swc1 $f0, ($s3)
/* 778CC 800DE41C C7A00020 */ lwc1 $f0, 0x20($sp)
/* 778D0 800DE420 E6800000 */ swc1 $f0, ($s4)
.L800DE424:
/* 778D4 800DE424 8FBF004C */ lw $ra, 0x4c($sp)
/* 778D8 800DE428 8FBE0048 */ lw $fp, 0x48($sp)
/* 778DC 800DE42C 8FB70044 */ lw $s7, 0x44($sp)
/* 778E0 800DE430 8FB60040 */ lw $s6, 0x40($sp)
/* 778E4 800DE434 8FB5003C */ lw $s5, 0x3c($sp)
/* 778E8 800DE438 8FB40038 */ lw $s4, 0x38($sp)
/* 778EC 800DE43C 8FB30034 */ lw $s3, 0x34($sp)
/* 778F0 800DE440 8FB20030 */ lw $s2, 0x30($sp)
/* 778F4 800DE444 8FB1002C */ lw $s1, 0x2c($sp)
/* 778F8 800DE448 8FB00028 */ lw $s0, 0x28($sp)
/* 778FC 800DE44C D7BE0078 */ ldc1 $f30, 0x78($sp)
/* 77900 800DE450 D7BC0070 */ ldc1 $f28, 0x70($sp)
/* 77904 800DE454 D7BA0068 */ ldc1 $f26, 0x68($sp)
/* 77908 800DE458 D7B80060 */ ldc1 $f24, 0x60($sp)
/* 7790C 800DE45C D7B60058 */ ldc1 $f22, 0x58($sp)
/* 77910 800DE460 D7B40050 */ ldc1 $f20, 0x50($sp)
/* 77914 800DE464 03E00008 */ jr $ra
/* 77918 800DE468 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -1,255 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_player_shadow
/* 7B074 800E1BC4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 7B078 800E1BC8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 7B07C 800E1BCC 27BDFF90 */ addiu $sp, $sp, -0x70
/* 7B080 800E1BD0 AFBF0058 */ sw $ra, 0x58($sp)
/* 7B084 800E1BD4 AFB30054 */ sw $s3, 0x54($sp)
/* 7B088 800E1BD8 AFB20050 */ sw $s2, 0x50($sp)
/* 7B08C 800E1BDC AFB1004C */ sw $s1, 0x4c($sp)
/* 7B090 800E1BE0 AFB00048 */ sw $s0, 0x48($sp)
/* 7B094 800E1BE4 F7B60068 */ sdc1 $f22, 0x68($sp)
/* 7B098 800E1BE8 F7B40060 */ sdc1 $f20, 0x60($sp)
/* 7B09C 800E1BEC 0C044181 */ jal get_shadow_by_index
/* 7B0A0 800E1BF0 8C4400CC */ lw $a0, 0xcc($v0)
/* 7B0A4 800E1BF4 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 7B0A8 800E1BF8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 7B0AC 800E1BFC 0040802D */ daddu $s0, $v0, $zero
/* 7B0B0 800E1C00 3C04800B */ lui $a0, %hi(gCameras)
/* 7B0B4 800E1C04 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* 7B0B8 800E1C08 44801000 */ mtc1 $zero, $f2
/* 7B0BC 800E1C0C C64400A8 */ lwc1 $f4, 0xa8($s2)
/* 7B0C0 800E1C10 3C0142B4 */ lui $at, 0x42b4
/* 7B0C4 800E1C14 44810000 */ mtc1 $at, $f0
/* 7B0C8 800E1C18 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 7B0CC 800E1C1C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 7B0D0 800E1C20 46001206 */ mov.s $f8, $f2
/* 7B0D4 800E1C24 00031080 */ sll $v0, $v1, 2
/* 7B0D8 800E1C28 00431021 */ addu $v0, $v0, $v1
/* 7B0DC 800E1C2C 00021080 */ sll $v0, $v0, 2
/* 7B0E0 800E1C30 00431023 */ subu $v0, $v0, $v1
/* 7B0E4 800E1C34 000218C0 */ sll $v1, $v0, 3
/* 7B0E8 800E1C38 00431021 */ addu $v0, $v0, $v1
/* 7B0EC 800E1C3C 000210C0 */ sll $v0, $v0, 3
/* 7B0F0 800E1C40 00448821 */ addu $s1, $v0, $a0
/* 7B0F4 800E1C44 4604003E */ c.le.s $f0, $f4
/* 7B0F8 800E1C48 00000000 */ nop
/* 7B0FC 800E1C4C 4500000A */ bc1f .L800E1C78
/* 7B100 800E1C50 E7A80034 */ swc1 $f8, 0x34($sp)
/* 7B104 800E1C54 3C014387 */ lui $at, 0x4387
/* 7B108 800E1C58 44810000 */ mtc1 $at, $f0
/* 7B10C 800E1C5C 00000000 */ nop
/* 7B110 800E1C60 4600203C */ c.lt.s $f4, $f0
/* 7B114 800E1C64 00000000 */ nop
/* 7B118 800E1C68 45000003 */ bc1f .L800E1C78
/* 7B11C 800E1C6C 00000000 */ nop
/* 7B120 800E1C70 3C014334 */ lui $at, 0x4334
/* 7B124 800E1C74 44814000 */ mtc1 $at, $f8
.L800E1C78:
/* 7B128 800E1C78 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 7B12C 800E1C7C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 7B130 800E1C80 C6420028 */ lwc1 $f2, 0x28($s2)
/* 7B134 800E1C84 3C014480 */ lui $at, 0x4480
/* 7B138 800E1C88 44810000 */ mtc1 $at, $f0
/* 7B13C 800E1C8C 3C0142B4 */ lui $at, 0x42b4
/* 7B140 800E1C90 44816000 */ mtc1 $at, $f12
/* 7B144 800E1C94 00031080 */ sll $v0, $v1, 2
/* 7B148 800E1C98 00431021 */ addu $v0, $v0, $v1
/* 7B14C 800E1C9C 00021080 */ sll $v0, $v0, 2
/* 7B150 800E1CA0 00431023 */ subu $v0, $v0, $v1
/* 7B154 800E1CA4 000218C0 */ sll $v1, $v0, 3
/* 7B158 800E1CA8 00431021 */ addu $v0, $v0, $v1
/* 7B15C 800E1CAC 000210C0 */ sll $v0, $v0, 3
/* 7B160 800E1CB0 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 7B164 800E1CB4 00220821 */ addu $at, $at, $v0
/* 7B168 800E1CB8 C4261DEC */ lwc1 $f6, %lo(gCameras+0x6C)($at)
/* 7B16C 800E1CBC E6020010 */ swc1 $f2, 0x10($s0)
/* 7B170 800E1CC0 C6440030 */ lwc1 $f4, 0x30($s2)
/* 7B174 800E1CC4 E6040018 */ swc1 $f4, 0x18($s0)
/* 7B178 800E1CC8 864200B0 */ lh $v0, 0xb0($s2)
/* 7B17C 800E1CCC 27A60028 */ addiu $a2, $sp, 0x28
/* 7B180 800E1CD0 E7A00034 */ swc1 $f0, 0x34($sp)
/* 7B184 800E1CD4 3C014060 */ lui $at, 0x4060
/* 7B188 800E1CD8 44810000 */ mtc1 $at, $f0
/* 7B18C 800E1CDC 460C4301 */ sub.s $f12, $f8, $f12
/* 7B190 800E1CE0 E7A20028 */ swc1 $f2, 0x28($sp)
/* 7B194 800E1CE4 44821000 */ mtc1 $v0, $f2
/* 7B198 800E1CE8 00000000 */ nop
/* 7B19C 800E1CEC 468010A0 */ cvt.s.w $f2, $f2
/* 7B1A0 800E1CF0 46001083 */ div.s $f2, $f2, $f0
/* 7B1A4 800E1CF4 46066300 */ add.s $f12, $f12, $f6
/* 7B1A8 800E1CF8 C640002C */ lwc1 $f0, 0x2c($s2)
/* 7B1AC 800E1CFC 864200B2 */ lh $v0, 0xb2($s2)
/* 7B1B0 800E1D00 27A7002C */ addiu $a3, $sp, 0x2c
/* 7B1B4 800E1D04 E7A40030 */ swc1 $f4, 0x30($sp)
/* 7B1B8 800E1D08 46020000 */ add.s $f0, $f0, $f2
/* 7B1BC 800E1D0C 44827000 */ mtc1 $v0, $f14
/* 7B1C0 800E1D10 00000000 */ nop
/* 7B1C4 800E1D14 468073A0 */ cvt.s.w $f14, $f14
/* 7B1C8 800E1D18 27A20030 */ addiu $v0, $sp, 0x30
/* 7B1CC 800E1D1C E7A0002C */ swc1 $f0, 0x2c($sp)
/* 7B1D0 800E1D20 AFA20010 */ sw $v0, 0x10($sp)
/* 7B1D4 800E1D24 27A20034 */ addiu $v0, $sp, 0x34
/* 7B1D8 800E1D28 AFA20014 */ sw $v0, 0x14($sp)
/* 7B1DC 800E1D2C 27A20038 */ addiu $v0, $sp, 0x38
/* 7B1E0 800E1D30 AFA20018 */ sw $v0, 0x18($sp)
/* 7B1E4 800E1D34 27A2003C */ addiu $v0, $sp, 0x3c
/* 7B1E8 800E1D38 AFA2001C */ sw $v0, 0x1c($sp)
/* 7B1EC 800E1D3C 27A20040 */ addiu $v0, $sp, 0x40
/* 7B1F0 800E1D40 AFA20020 */ sw $v0, 0x20($sp)
/* 7B1F4 800E1D44 27A20044 */ addiu $v0, $sp, 0x44
/* 7B1F8 800E1D48 0C0377F4 */ jal player_raycast_below
/* 7B1FC 800E1D4C AFA20024 */ sw $v0, 0x24($sp)
/* 7B200 800E1D50 C7A00038 */ lwc1 $f0, 0x38($sp)
/* 7B204 800E1D54 C7A2003C */ lwc1 $f2, 0x3c($sp)
/* 7B208 800E1D58 3C018016 */ lui $at, %hi(gCollisionStatus+0x6)
/* 7B20C 800E1D5C A422A556 */ sh $v0, %lo(gCollisionStatus+0x6)($at)
/* 7B210 800E1D60 E6000028 */ swc1 $f0, 0x28($s0)
/* 7B214 800E1D64 E6020030 */ swc1 $f2, 0x30($s0)
/* 7B218 800E1D68 C62C006C */ lwc1 $f12, 0x6c($s1)
/* 7B21C 800E1D6C 0C00A6C9 */ jal clamp_angle
/* 7B220 800E1D70 46006307 */ neg.s $f12, $f12
/* 7B224 800E1D74 C7A40038 */ lwc1 $f4, 0x38($sp)
/* 7B228 800E1D78 3C014334 */ lui $at, 0x4334
/* 7B22C 800E1D7C 44813000 */ mtc1 $at, $f6
/* 7B230 800E1D80 00000000 */ nop
/* 7B234 800E1D84 46062100 */ add.s $f4, $f4, $f6
/* 7B238 800E1D88 C7A2003C */ lwc1 $f2, 0x3c($sp)
/* 7B23C 800E1D8C 4480B000 */ mtc1 $zero, $f22
/* 7B240 800E1D90 46061080 */ add.s $f2, $f2, $f6
/* 7B244 800E1D94 E600002C */ swc1 $f0, 0x2c($s0)
/* 7B248 800E1D98 46162032 */ c.eq.s $f4, $f22
/* 7B24C 800E1D9C E7A40038 */ swc1 $f4, 0x38($sp)
/* 7B250 800E1DA0 45000005 */ bc1f .L800E1DB8
/* 7B254 800E1DA4 E7A2003C */ swc1 $f2, 0x3c($sp)
/* 7B258 800E1DA8 46161032 */ c.eq.s $f2, $f22
/* 7B25C 800E1DAC 00000000 */ nop
/* 7B260 800E1DB0 45010041 */ bc1t .L800E1EB8
/* 7B264 800E1DB4 00000000 */ nop
.L800E1DB8:
/* 7B268 800E1DB8 C7AC0028 */ lwc1 $f12, 0x28($sp)
/* 7B26C 800E1DBC C7AE0030 */ lwc1 $f14, 0x30($sp)
/* 7B270 800E1DC0 8E460028 */ lw $a2, 0x28($s2)
/* 7B274 800E1DC4 0C00A7B5 */ jal dist2D
/* 7B278 800E1DC8 8E470030 */ lw $a3, 0x30($s2)
/* 7B27C 800E1DCC C64C0028 */ lwc1 $f12, 0x28($s2)
/* 7B280 800E1DD0 C64E0030 */ lwc1 $f14, 0x30($s2)
/* 7B284 800E1DD4 8FA60028 */ lw $a2, 0x28($sp)
/* 7B288 800E1DD8 8FA70030 */ lw $a3, 0x30($sp)
/* 7B28C 800E1DDC 4600028D */ trunc.w.s $f10, $f0
/* 7B290 800E1DE0 44135000 */ mfc1 $s3, $f10
/* 7B294 800E1DE4 0C00A720 */ jal atan2
/* 7B298 800E1DE8 00000000 */ nop
/* 7B29C 800E1DEC 0C00A788 */ jal get_player_normal_yaw
/* 7B2A0 800E1DF0 46000506 */ mov.s $f20, $f0
/* 7B2A4 800E1DF4 3C01C2B4 */ lui $at, 0xc2b4
/* 7B2A8 800E1DF8 44816000 */ mtc1 $at, $f12
/* 7B2AC 800E1DFC 00000000 */ nop
/* 7B2B0 800E1E00 46146301 */ sub.s $f12, $f12, $f20
/* 7B2B4 800E1E04 0C00A6C9 */ jal clamp_angle
/* 7B2B8 800E1E08 46006300 */ add.s $f12, $f12, $f0
/* 7B2BC 800E1E0C 3C118007 */ lui $s1, %hi(gGameStatusPtr)
/* 7B2C0 800E1E10 2631419C */ addiu $s1, $s1, %lo(gGameStatusPtr)
/* 7B2C4 800E1E14 8E220000 */ lw $v0, ($s1)
/* 7B2C8 800E1E18 C442012C */ lwc1 $f2, 0x12c($v0)
/* 7B2CC 800E1E1C 4600028D */ trunc.w.s $f10, $f0
/* 7B2D0 800E1E20 44025000 */ mfc1 $v0, $f10
/* 7B2D4 800E1E24 46161032 */ c.eq.s $f2, $f22
/* 7B2D8 800E1E28 00000000 */ nop
/* 7B2DC 800E1E2C 45010022 */ bc1t .L800E1EB8
/* 7B2E0 800E1E30 00000000 */ nop
/* 7B2E4 800E1E34 44826000 */ mtc1 $v0, $f12
/* 7B2E8 800E1E38 00000000 */ nop
/* 7B2EC 800E1E3C 0C00A8BB */ jal sin_deg
/* 7B2F0 800E1E40 46806320 */ cvt.s.w $f12, $f12
/* 7B2F4 800E1E44 8E220000 */ lw $v0, ($s1)
/* 7B2F8 800E1E48 C4440128 */ lwc1 $f4, 0x128($v0)
/* 7B2FC 800E1E4C 46042102 */ mul.s $f4, $f4, $f4
/* 7B300 800E1E50 00000000 */ nop
/* 7B304 800E1E54 C4420130 */ lwc1 $f2, 0x130($v0)
/* 7B308 800E1E58 46021082 */ mul.s $f2, $f2, $f2
/* 7B30C 800E1E5C 00000000 */ nop
/* 7B310 800E1E60 46022300 */ add.s $f12, $f4, $f2
/* 7B314 800E1E64 46006084 */ sqrt.s $f2, $f12
/* 7B318 800E1E68 46021032 */ c.eq.s $f2, $f2
/* 7B31C 800E1E6C 00000000 */ nop
/* 7B320 800E1E70 45010005 */ bc1t .L800E1E88
/* 7B324 800E1E74 46000506 */ mov.s $f20, $f0
/* 7B328 800E1E78 0C0187BC */ jal sqrtf
/* 7B32C 800E1E7C 00000000 */ nop
/* 7B330 800E1E80 46000086 */ mov.s $f2, $f0
/* 7B334 800E1E84 8E220000 */ lw $v0, ($s1)
.L800E1E88:
/* 7B338 800E1E88 C440012C */ lwc1 $f0, 0x12c($v0)
/* 7B33C 800E1E8C 46001003 */ div.s $f0, $f2, $f0
/* 7B340 800E1E90 44931000 */ mtc1 $s3, $f2
/* 7B344 800E1E94 00000000 */ nop
/* 7B348 800E1E98 468010A0 */ cvt.s.w $f2, $f2
/* 7B34C 800E1E9C 46020002 */ mul.s $f0, $f0, $f2
/* 7B350 800E1EA0 00000000 */ nop
/* 7B354 800E1EA4 46140002 */ mul.s $f0, $f0, $f20
/* 7B358 800E1EA8 00000000 */ nop
/* 7B35C 800E1EAC C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 7B360 800E1EB0 46001081 */ sub.s $f2, $f2, $f0
/* 7B364 800E1EB4 E7A2002C */ swc1 $f2, 0x2c($sp)
.L800E1EB8:
/* 7B368 800E1EB8 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 7B36C 800E1EBC E6000014 */ swc1 $f0, 0x14($s0)
/* 7B370 800E1EC0 9242000E */ lbu $v0, 0xe($s2)
/* 7B374 800E1EC4 3C013FE0 */ lui $at, 0x3fe0
/* 7B378 800E1EC8 44811800 */ mtc1 $at, $f3
/* 7B37C 800E1ECC 44801000 */ mtc1 $zero, $f2
/* 7B380 800E1ED0 44820000 */ mtc1 $v0, $f0
/* 7B384 800E1ED4 00000000 */ nop
/* 7B388 800E1ED8 46800021 */ cvt.d.w $f0, $f0
/* 7B38C 800E1EDC 46220002 */ mul.d $f0, $f0, $f2
/* 7B390 800E1EE0 00000000 */ nop
/* 7B394 800E1EE4 3C0141E0 */ lui $at, 0x41e0
/* 7B398 800E1EE8 44811800 */ mtc1 $at, $f3
/* 7B39C 800E1EEC 44801000 */ mtc1 $zero, $f2
/* 7B3A0 800E1EF0 00000000 */ nop
/* 7B3A4 800E1EF4 4620103E */ c.le.d $f2, $f0
/* 7B3A8 800E1EF8 00000000 */ nop
/* 7B3AC 800E1EFC 45010005 */ bc1t .L800E1F14
/* 7B3B0 800E1F00 26040005 */ addiu $a0, $s0, 5
/* 7B3B4 800E1F04 4620028D */ trunc.w.d $f10, $f0
/* 7B3B8 800E1F08 44035000 */ mfc1 $v1, $f10
/* 7B3BC 800E1F0C 080387CC */ j .L800E1F30
/* 7B3C0 800E1F10 A0830000 */ sb $v1, ($a0)
.L800E1F14:
/* 7B3C4 800E1F14 46220001 */ sub.d $f0, $f0, $f2
/* 7B3C8 800E1F18 3C028000 */ lui $v0, 0x8000
/* 7B3CC 800E1F1C 4620028D */ trunc.w.d $f10, $f0
/* 7B3D0 800E1F20 44035000 */ mfc1 $v1, $f10
/* 7B3D4 800E1F24 00000000 */ nop
/* 7B3D8 800E1F28 00621825 */ or $v1, $v1, $v0
/* 7B3DC 800E1F2C A0830000 */ sb $v1, ($a0)
.L800E1F30:
/* 7B3E0 800E1F30 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 7B3E4 800E1F34 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 7B3E8 800E1F38 9042007E */ lbu $v0, 0x7e($v0)
/* 7B3EC 800E1F3C 30420001 */ andi $v0, $v0, 1
/* 7B3F0 800E1F40 14400006 */ bnez $v0, .L800E1F5C
/* 7B3F4 800E1F44 00000000 */ nop
/* 7B3F8 800E1F48 8FA50034 */ lw $a1, 0x34($sp)
/* 7B3FC 800E1F4C 0C044A17 */ jal set_standard_shadow_scale
/* 7B400 800E1F50 0200202D */ daddu $a0, $s0, $zero
/* 7B404 800E1F54 080387DA */ j .L800E1F68
/* 7B408 800E1F58 00000000 */ nop
.L800E1F5C:
/* 7B40C 800E1F5C 8FA50034 */ lw $a1, 0x34($sp)
/* 7B410 800E1F60 0C044A75 */ jal set_peach_shadow_scale
/* 7B414 800E1F64 0200202D */ daddu $a0, $s0, $zero
.L800E1F68:
/* 7B418 800E1F68 8FBF0058 */ lw $ra, 0x58($sp)
/* 7B41C 800E1F6C 8FB30054 */ lw $s3, 0x54($sp)
/* 7B420 800E1F70 8FB20050 */ lw $s2, 0x50($sp)
/* 7B424 800E1F74 8FB1004C */ lw $s1, 0x4c($sp)
/* 7B428 800E1F78 8FB00048 */ lw $s0, 0x48($sp)
/* 7B42C 800E1F7C D7B60068 */ ldc1 $f22, 0x68($sp)
/* 7B430 800E1F80 D7B40060 */ ldc1 $f20, 0x60($sp)
/* 7B434 800E1F84 03E00008 */ jr $ra
/* 7B438 800E1F88 27BD0070 */ addiu $sp, $sp, 0x70
/* 7B43C 800E1F8C 00000000 */ nop