From d86d15bfd51c2e957ad9e89a6415470f7ce1381b Mon Sep 17 00:00:00 2001 From: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com> Date: Thu, 24 Feb 2022 10:12:33 -0500 Subject: [PATCH] Match a number of functions and introduce anon unions (#655) * Match a number of functions and introduce anon unions * Fix warnings * Ethan's comments --- include/PR/guint.h | 42 ++++ include/common_structs.h | 18 +- include/enums.h | 5 +- include/functions.h | 1 + include/script_api/battle.h | 1 - include/variables.h | 2 +- src/190B20.c | 2 +- src/196AA0.c | 145 +++++++++---- src/1A5830.c | 14 +- src/7B440.c | 59 ++--- src/actor_api.c | 20 +- src/battle/action_cmd/07.h | 8 + src/battle/action_cmd/0A.h | 8 + src/battle/action_cmd/air_lift.h | 8 + src/battle/action_cmd/air_raid.h | 8 + src/battle/action_cmd/body_slam.h | 2 + src/battle/action_cmd/bomb.h | 2 + src/battle/action_cmd/break_free.h | 2 + src/battle/action_cmd/dizzy_shell.h | 2 + src/battle/action_cmd/fire_shell.h | 2 + src/battle/action_cmd/flee.h | 8 + src/battle/action_cmd/hammer.h | 2 + src/battle/action_cmd/hurricane.h | 8 + src/battle/action_cmd/jump.h | 2 + src/battle/action_cmd/mega_shock.h | 8 + src/battle/action_cmd/power_shock.h | 8 + src/battle/action_cmd/smack.h | 8 + src/battle/action_cmd/spiny_surge.h | 8 + src/battle/action_cmd/spook.h | 8 + src/battle/action_cmd/squirt.h | 8 + src/battle/action_cmd/stop_leech.h | 2 + src/battle/action_cmd/tidal_wave.h | 8 + src/battle/action_cmd/water_block.h | 8 + src/battle/action_cmd/whirlwind.h | 2 + src/battle/partner/bow.c | 1 - src/battle/partner/sushie.c | 2 +- src/evt/cam_api.c | 74 ++++++- src/evt/npc_api.c | 38 ++-- src/evt/player_api.c | 14 +- src/os/coss.c | 2 +- src/os/guFrustum.c | 6 +- src/os/guLookAt.c | 6 +- src/os/guMtxCat.c | 2 +- src/os/guMtxXFMF.c | 2 +- src/os/guMtxXFML.c | 2 +- src/os/guRotate.c | 7 +- src/os/lookathil.c | 6 +- src/os/lookatref.c | 6 +- src/os/osCreateMesgQueue.c | 1 - src/os/osJamMesg.c | 1 - src/os/osRecvMesg.c | 1 - src/os/perspective.c | 9 +- src/os/position.c | 7 +- src/os/rotateRPY.c | 9 +- src/os/sendmesg.c | 1 - src/os/seteventmesg.c | 1 - src/os/sins.c | 2 +- src/os/sqrtf.c | 2 +- src/os/string.c | 2 +- src/os/visetmode.c | 1 - src/world/area_kmr/kmr_12/header.c | 2 +- src/world/common/Bandit_DropCoin.inc.c | 4 +- .../196AA0/CloseActionCommandInfo.s | 31 --- .../asm/nonmatchings/196AA0/func_80268938.s | 148 ------------- .../asm/nonmatchings/196AA0/func_80268E88.s | 21 -- .../asm/nonmatchings/196AA0/func_80269344.s | 15 -- .../asm/nonmatchings/196AA0/func_80269470.s | 19 -- ver/us/asm/nonmatchings/7B440/func_800E24F8.s | 135 ------------ .../asm/nonmatchings/evt/cam_api/ShakeCam.s | 202 ------------------ 69 files changed, 483 insertions(+), 738 deletions(-) create mode 100644 include/PR/guint.h create mode 100644 src/battle/action_cmd/07.h create mode 100644 src/battle/action_cmd/0A.h create mode 100644 src/battle/action_cmd/air_lift.h create mode 100644 src/battle/action_cmd/air_raid.h create mode 100644 src/battle/action_cmd/flee.h create mode 100644 src/battle/action_cmd/hurricane.h create mode 100644 src/battle/action_cmd/mega_shock.h create mode 100644 src/battle/action_cmd/power_shock.h create mode 100644 src/battle/action_cmd/smack.h create mode 100644 src/battle/action_cmd/spiny_surge.h create mode 100644 src/battle/action_cmd/spook.h create mode 100644 src/battle/action_cmd/squirt.h create mode 100644 src/battle/action_cmd/tidal_wave.h create mode 100644 src/battle/action_cmd/water_block.h delete mode 100644 ver/us/asm/nonmatchings/196AA0/CloseActionCommandInfo.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80268938.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80268E88.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80269344.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80269470.s delete mode 100644 ver/us/asm/nonmatchings/7B440/func_800E24F8.s delete mode 100644 ver/us/asm/nonmatchings/evt/cam_api/ShakeCam.s diff --git a/include/PR/guint.h b/include/PR/guint.h new file mode 100644 index 0000000000..c3206dd589 --- /dev/null +++ b/include/PR/guint.h @@ -0,0 +1,42 @@ +/************************************************************************** + * * + * Copyright (C) 1994, Silicon Graphics, Inc. * + * * + * These coded instructions, statements, and computer programs contain * + * unpublished proprietary information of Silicon Graphics, Inc., and * + * are protected by Federal copyright law. They may not be disclosed * + * to third parties or copied or duplicated in any form, in whole or * + * in part, without the prior written consent of Silicon Graphics, Inc. * + * * + **************************************************************************/ + +#include "mbi.h" +#include "gu.h" + +typedef union +{ + struct + { + unsigned int hi; + unsigned int lo; + } word; + + double d; +} du; + +typedef union +{ + unsigned int i; + float f; +} fu; + +#ifndef __GL_GL_H__ + +typedef float Matrix[4][4]; + +#endif + +#define ROUND(d) (int)(((d) >= 0.0) ? ((d) + 0.5) : ((d) - 0.5)) +#define ABS(d) ((d) > 0) ? (d) : -(d) + +extern float __libm_qnan_f; diff --git a/include/common_structs.h b/include/common_structs.h index 5af9819add..6c0d5ee6be 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -141,8 +141,8 @@ typedef struct Npc { /* 0x020 */ struct BlurBuffer* blurBuf; ///< Null unless flag 0x100000 is set. /* 0x024 */ s32 spriteInstanceID; /* 0x028 */ union { - /* */ u16 h; - /* */ u32 w; + /* */ u16 h; + /* */ u32 w; /* */ } currentAnim; /* 0x02C */ s32 unk_2C; /* 0x030 */ f32 animationSpeed; @@ -343,9 +343,19 @@ typedef struct Evt { /* 0x064 */ struct Evt* blockingParent; /* parent? */ /* 0x068 */ struct Evt* childScript; /* 0x06C */ struct Evt* parentScript; /* brother? */ - /* 0x070 */ s32 functionTemp[4]; + /* 0x070 */ union { + /* */ s32 functionTemp[4]; + /* */ f32 functionTempF[4]; + /* */ struct Npc* functionTempNpc[4]; + /* */ struct Actor* functionTempActor[4]; + /* */ struct ActorPart* functionTempActorPart[4]; + /* */ }; /* 0x080 */ ApiFunc callFunction; - /* 0x084 */ s32 varTable[16]; + /* 0x084 */ union { + /* */ s32 varTable[16]; + /* */ struct Actor* varTableActor[4]; + /* */ struct Enemy* varTableEnemy[4]; + /* */ }; /* 0x0C4 */ s32 varFlags[3]; /* 0x0D0 */ s32 loopStartTable[8]; /* 0x0F0 */ s32 loopCounterTable[8]; diff --git a/include/enums.h b/include/enums.h index 9b48d81f63..d8f07d8262 100644 --- a/include/enums.h +++ b/include/enums.h @@ -2047,16 +2047,17 @@ enum TimeFreezeMode { }; enum ActionCommand { + ACTION_COMMAND_NONE = 0x00000000, ACTION_COMMAND_JUMP = 0x00000001, ACTION_COMMAND_SMASH = 0x00000002, ACTION_COMMAND_FLEE = 0x00000003, ACTION_COMMAND_BREAK_FREE = 0x00000004, ACTION_COMMAND_WHIRLWIND = 0x00000005, ACTION_COMMAND_STOP_LEECH = 0x00000006, - ACTION__COMMAND_07 = 0x00000007, + ACTION_COMMAND_07 = 0x00000007, ACTION_COMMAND_DIZZY_SHELL = 0x00000008, ACTION_COMMAND_FIRE_SHELL = 0x00000009, - ACTION__COMMAND_0A = 0x0000000A, + ACTION_COMMAND_0A = 0x0000000A, ACTION_COMMAND_BOMB = 0x0000000B, ACTION_COMMAND_BODY_SLAM = 0x0000000C, ACTION_COMMAND_AIR_LIFT = 0x0000000D, diff --git a/include/functions.h b/include/functions.h index 277c3daa67..5e2ed20ec5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -851,6 +851,7 @@ void update_merlee_messages(void); void draw_merlee_messages(void); void show_merlee_message(s16, s16); s32 is_merlee_message_done(void); +void close_action_command_instruction_popup(void); void draw_encounters_conversation(void); void draw_encounters_post_battle(void); void draw_encounters_pre_battle(void); diff --git a/include/script_api/battle.h b/include/script_api/battle.h index af70e0146b..8bfb128df9 100644 --- a/include/script_api/battle.h +++ b/include/script_api/battle.h @@ -18,7 +18,6 @@ ApiStatus MoveBattleCamOver(Evt* script, s32 isInitialCall); ApiStatus SetBattleCamZoom(Evt* script, s32 isInitialCall); ApiStatus AddBattleCamZoom(Evt* script, s32 isInitialCall); ApiStatus FreezeBattleCam(Evt* script, s32 isInitialCall); -ApiStatus close_action_command_instruction_popup(Evt* script, s32 isInitialCall); ApiStatus ShowMessageBox(Evt* script, s32 isInitialCall); ApiStatus ShowVariableMessageBox(Evt* script, s32 isInitialCall); ApiStatus IsMessageBoxDisplayed(Evt* script, s32 isInitialCall); diff --git a/include/variables.h b/include/variables.h index 069df7364f..34a9b6de76 100644 --- a/include/variables.h +++ b/include/variables.h @@ -311,7 +311,7 @@ extern HeapNode heap_collisionHead; extern HeapNode heap_generalHead; extern HeapNode heap_battleHead; -extern s32 bMarioIdleAnims[]; +extern u32 bMarioIdleAnims[]; extern s32 bMarioDefendAnims[]; extern s32 bPeachIdleAnims[]; diff --git a/src/190B20.c b/src/190B20.c index c4240307f9..608ccb443a 100644 --- a/src/190B20.c +++ b/src/190B20.c @@ -889,7 +889,7 @@ ActorOffsets bActorOffsets[ACTOR_TYPE_COUNT] = { [ACTOR_TYPE_SLOT_MACHINE_START_DUP3] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 }, }; -s32 bMarioIdleAnims[] = { +u32 bMarioIdleAnims[] = { STATUS_NORMAL, ANIM_WALKING, STATUS_DANGER, ANIM_PANTING, STATUS_STONE, 0x00050001, diff --git a/src/196AA0.c b/src/196AA0.c index dac0da2326..210790e6ff 100644 --- a/src/196AA0.c +++ b/src/196AA0.c @@ -1,9 +1,33 @@ #include "common.h" +#include "battle/action_cmd/jump.h" +#include "battle/action_cmd/hammer.h" +#include "battle/action_cmd/flee.h" +#include "battle/action_cmd/break_free.h" +#include "battle/action_cmd/whirlwind.h" +#include "battle/action_cmd/stop_leech.h" +#include "battle/action_cmd/07.h" +#include "battle/action_cmd/dizzy_shell.h" +#include "battle/action_cmd/fire_shell.h" +#include "battle/action_cmd/0A.h" +#include "battle/action_cmd/bomb.h" +#include "battle/action_cmd/body_slam.h" +#include "battle/action_cmd/air_lift.h" +#include "battle/action_cmd/air_raid.h" +#include "battle/action_cmd/squirt.h" +#include "battle/action_cmd/power_shock.h" +#include "battle/action_cmd/mega_shock.h" +#include "battle/action_cmd/smack.h" +#include "battle/action_cmd/spiny_surge.h" +#include "battle/action_cmd/hurricane.h" +#include "battle/action_cmd/spook.h" +#include "battle/action_cmd/water_block.h" +#include "battle/action_cmd/tidal_wave.h" // TODO: move to src/battle/action_cmd.c extern void* actionCommandDmaTable[23]; extern s32 D_8029FBC0; +extern s16 D_8029FC4C; ApiStatus LoadActionCommand(Evt* script, s32 isInitialCall) { s32 cmd = evt_get_variable(script, *script->ptrReadPos); @@ -90,98 +114,100 @@ void func_80268858(void) { } } -// action_cmd_current_main - calls current action command's main func -#ifdef NON_EQUIVALENT void func_80268938(void) { - enum ActionCommand ac; + ActionCommandStatus* actionCommandStatus = &gActionCommandStatus; - if (gBattleStatus.flags1 & 0x8000) { + if (gBattleStatus.flags1 & BS_FLAGS1_8000) { func_80268C9C(); } - ac = gActionCommandStatus.actionCommandID; - - switch (ac) { + switch (actionCommandStatus->actionCommandID) { + case ACTION_COMMAND_NONE: + break; case ACTION_COMMAND_JUMP: action_command_jump_update(); - return; + break; case ACTION_COMMAND_SMASH: func_802A936C_42236C(); - return; + break; case ACTION_COMMAND_FLEE: func_802A9378_422E48(); - return; + break; case ACTION_COMMAND_BREAK_FREE: func_802A92DC_4236CC(); - return; + break; case ACTION_COMMAND_WHIRLWIND: func_802A92F0_423F60(); - return; + break; case ACTION_COMMAND_STOP_LEECH: func_802A91F8_425788(); - return; + break; case ACTION_COMMAND_07: func_802A9228_425D78(); - return; + break; case ACTION_COMMAND_DIZZY_SHELL: func_802A928C_4263FC(); - return; + break; case ACTION_COMMAND_FIRE_SHELL: func_802A9294_426C64(); - return; + break; case ACTION_COMMAND_0A: - func_802A928C_4263FC(); - return; + func_802A928C_42763C(); + break; case ACTION_COMMAND_BOMB: - func_802A928C_4263FC(); - return; + func_802A928C_427CFC(); + break; case ACTION_COMMAND_BODY_SLAM: func_802A92D4_4285B4(); - return; + break; case ACTION_COMMAND_AIR_LIFT: func_802A9278_428CE8(); - return; + break; case ACTION_COMMAND_AIR_RAID: - func_802A9294_426C64(); - return; + func_802A9294_4295B4(); + break; case ACTION_COMMAND_SQUIRT: func_802A9208_429F28(); - return; + break; case ACTION_COMMAND_POWER_SHOCK: func_802A9310_42D220(); - return; + break; case ACTION_COMMAND_MEGA_SHOCK: - func_802A92A0_422D70(); - return; + func_802A92A0_42DCB0(); + break; case ACTION_COMMAND_SMACK: func_802A9298_42E638(); - return; + break; case ACTION_COMMAND_SPINY_SURGE: func_802A9254_42F074(); - return; + break; case ACTION_COMMAND_HURRICANE: - func_802A92A0_422D70(); - return; + func_802A92A0_42F980(); + break; case ACTION_COMMAND_SPOOK: - func_802A9298_42E638(); - return; + func_802A9298_4302B8(); + break; case ACTION_COMMAND_WATER_BLOCK: func_802A948C_42A97C(); - return; + break; case ACTION_COMMAND_TIDAL_WAVE: - func_802A9228_425D78(); - return; + action_command_tidal_wave_update(); + break; + default: + break; } } -#else -INCLUDE_ASM(s32, "196AA0", func_80268938); -#endif +void func_80268AF8(void); INCLUDE_ASM(s32, "196AA0", func_80268AF8); INCLUDE_ASM(s32, "196AA0", func_80268C9C); -INCLUDE_ASM(s32, "196AA0", func_80268E88); +void func_80268E88(void) { + ActionCommandStatus* actionCmdStatus = &gActionCommandStatus; + actionCmdStatus->unk_00 = create_generic_entity_frontUI(func_80268938, func_80268AF8); + actionCmdStatus->actionCommandID = 0; +} s32 check_block_input(s32 buttonMask) { BattleStatus* battleStatus = &gBattleStatus; @@ -310,7 +336,7 @@ void func_80269160(void) { } ApiStatus func_8026919C(Evt* script, s32 isInitialCall) { - gBattleStatus.unk_434 = evt_get_variable(script, *script->ptrReadPos); + gBattleStatus.unk_434 = (s32*) evt_get_variable(script, *script->ptrReadPos); return ApiStatus_DONE2; } @@ -346,7 +372,10 @@ ApiStatus GetActionCommandMode(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "196AA0", func_80269344); +ApiStatus func_80269344(Evt* script, s32 isInitialCall) { + D_8029FC4C = evt_get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} ApiStatus GetCommandAutoSuccess(Evt* script, s32 isInitialCall) { evt_set_variable(script, *script->ptrReadPos, gActionCommandStatus.autoSucceed); @@ -369,9 +398,35 @@ ApiStatus func_802693F0(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "196AA0", CloseActionCommandInfo); +ApiStatus CloseActionCommandInfo(Evt* script, s32 isInitialCall) { + ActionCommandStatus* actionCommandStatus = &gActionCommandStatus; -INCLUDE_ASM(s32, "196AA0", func_80269470); + if (isInitialCall) { + switch (actionCommandStatus->actionCommandID) { + case ACTION_COMMAND_WHIRLWIND: + case ACTION_COMMAND_STOP_LEECH: + return ApiStatus_DONE2; + default: + func_80268C9C(); + return ApiStatus_BLOCK; + } + } + + sfx_stop_sound(0x80000041); + close_action_command_instruction_popup(); + + return ApiStatus_DONE2; +} + +ApiStatus func_80269470(Evt* script, s32 isInitialCall) { + if (isInitialCall) { + func_80268C9C(); + return ApiStatus_BLOCK; + } + + close_action_command_instruction_popup(); + return ApiStatus_DONE2; +} ApiStatus func_802694A4(Evt* script, s32 isInitialCall) { ActionCommandStatus* actionCommandStatus = &gActionCommandStatus; diff --git a/src/1A5830.c b/src/1A5830.c index 73b17d1f84..fe08427c0e 100644 --- a/src/1A5830.c +++ b/src/1A5830.c @@ -758,7 +758,7 @@ s32 calc_enemy_damage_target(Actor* attacker) { script->varTable[0] = state->goalPos.x; script->varTable[1] = state->goalPos.y; script->varTable[2] = state->goalPos.z; - script->varTable[3] = (s32) target; + script->varTableActor[3] = target; sfx_play_sound_at_position(SOUND_HIT_ICE, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } if ((battleStatus->currentAttackStatus & STATUS_FLAG_SHRINK) && statusInflicted) { @@ -766,7 +766,7 @@ s32 calc_enemy_damage_target(Actor* attacker) { script->varTable[0] = state->goalPos.x; script->varTable[1] = state->goalPos.y; script->varTable[2] = state->goalPos.z; - script->varTable[3] = (s32) target; + script->varTableActor[3] = target; sfx_play_sound_at_position(SOUND_INFLICT_STATUS, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -1029,14 +1029,14 @@ ApiStatus LandJump(Evt* script, s32 isInitialCall) { } actor = get_actor(actorID); - script->functionTemp[1] = (s32)actor; + script->functionTempActor[1] = actor; actor->state.currentPos.x = actor->currentPos.x; actor->state.currentPos.y = actor->currentPos.y; actor->state.currentPos.z = actor->currentPos.z; script->functionTemp[0] = 1; } - actor = (Actor*)script->functionTemp[1]; + actor = script->functionTempActor[1]; actor->state.currentPos.y += actor->state.velocity; actor->state.velocity -= actor->state.acceleration; @@ -1084,8 +1084,8 @@ s32 LandJumpPart(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); part = get_actor_part(actor, partIndex); - script->functionTemp[1] = (s32) actor; - script->functionTemp[2] = (s32) part; + script->functionTempActor[1] = actor; + script->functionTempActorPart[2] = part; movement = part->movement; movement->unk_00.x = part->absolutePosition.x; movement->unk_00.y = part->absolutePosition.y; @@ -1093,7 +1093,7 @@ s32 LandJumpPart(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; } - part = (ActorPart*)script->functionTemp[2]; + part = script->functionTempActorPart[2]; movement = part->movement; movement->unk_00.y += movement->unk_2C; movement->unk_2C -= movement->jumpScale; diff --git a/src/7B440.c b/src/7B440.c index 3327b44c14..d281aa1488 100644 --- a/src/7B440.c +++ b/src/7B440.c @@ -179,60 +179,61 @@ void game_input_to_move_vector(f32* arg0, f32* arg1) { *arg1 = temp1; } -// tail merge crap -#ifdef NON_EQUIVALENT void func_800E24F8(void) { - Shadow* playerShadow = get_shadow_by_index(gPlayerStatus.shadowID); + Shadow* shadow = get_shadow_by_index(gPlayerStatus.shadowID); + f32 x = shadow->rotation.x + 180.0; + f32 z = shadow->rotation.z + 180.0; Camera* camera = &gCameras[CAM_DEFAULT]; - f32 x = playerShadow->rotation.x + 180.0; - f32 z = playerShadow->rotation.z + 180.0; + f32 temp; if (x != 0.0f || z != 0.0f) { switch (gPlayerStatus.actionState) { - case 3: - case 8: - camera->unk_49C = 32.0f; + case ACTION_STATE_JUMP: + case ACTION_STATE_FALLING: + temp = 32.0f; + camera->unk_49C = temp; break; - case 1: - case 2: - if (camera->targetScreenCoords[1] < 130) { + case ACTION_STATE_WALK: + case ACTION_STATE_RUN: + if (camera->targetScreenCoords.y < 130) { camera->unk_49C = 3.0f; - return; + break; } - + temp = 3.0f; if (D_8010C9A0++ > 10) { D_8010C9A0 = 10; camera->unk_49C -= 2.0f; - if (camera->unk_49C < 3.0f) { - camera->unk_49C = 3.0f; + if (camera->unk_49C < temp) { + camera->unk_49C = temp; } } break; - case 17: - camera->unk_49C = 3.0f; + case ACTION_STATE_SLIDING: + temp = 3.0f; + camera->unk_49C = temp; break; default: + temp = 3.0f; D_8010C9A0 = 0; camera->unk_49C -= 2.0f; - if (camera->unk_49C < 3.0f) { - camera->unk_49C = 3.0f; + if (camera->unk_49C < temp) { + camera->unk_49C = temp; } break; } } else { - switch (gPlayerStatus.actionState) { - case 1: - case 2: - case 3: - case 0x11: - camera->unk_49C = 7.2f; + switch(gPlayerStatus.actionState) { + case ACTION_STATE_WALK: + case ACTION_STATE_RUN: + case ACTION_STATE_JUMP: + case ACTION_STATE_SLIDING: + temp = 7.2f; break; default: - camera->unk_49C = 24.0f; + temp = 24.0f; break; } + + camera->unk_49C = temp; } } -#else -INCLUDE_ASM(s32, "7B440", func_800E24F8); -#endif diff --git a/src/actor_api.c b/src/actor_api.c index 8446b5b2fb..fbf7b31b71 100644 --- a/src/actor_api.c +++ b/src/actor_api.c @@ -2036,7 +2036,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; break; case 1: - actor2 = (Actor*) script->functionTemp[1]; + actor2 = script->functionTempActor[1]; if (does_script_exist(actor2->takeTurnID) == FALSE) { enemyIDs = battleStatus->enemyIDs; if (battleStatus->nextEnemyIndex == 0) { @@ -3164,7 +3164,7 @@ ApiStatus BoostAttack(Evt* script, s32 isInitialCall) { } attackBoost = evt_get_variable(script, *args++); actor = get_actor(actorID); - script->functionTemp[1] = (s32) actor; + script->functionTempActor[1] = actor; script->functionTemp[2] = attackBoost; func_8024E40C(8); @@ -3181,7 +3181,7 @@ ApiStatus BoostAttack(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; } get_actor(script->owner1.actorID); - actor = (Actor*) script->functionTemp[1]; + actor = script->functionTempActor[1]; attackBoost = script->functionTemp[2]; flags = actor->flags; @@ -3287,7 +3287,7 @@ ApiStatus BoostDefense(Evt* script, s32 isInitialCall) { } defenseBoost = evt_get_variable(script, *args++); actor = get_actor(actorID); - script->functionTemp[1] = (s32) actor; + script->functionTempActor[1] = actor; script->functionTemp[2] = defenseBoost; func_8024E40C(8); @@ -3305,7 +3305,7 @@ ApiStatus BoostDefense(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; } get_actor(script->owner1.actorID); - actor = (Actor*) script->functionTemp[1]; + actor = script->functionTempActor[1]; defenseBoost = script->functionTemp[2]; flags = actor->flags; @@ -3427,7 +3427,7 @@ ApiStatus VanishActor(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; } get_actor(script->owner1.actorID); - actor = (Actor*) script->functionTemp[1]; + actor = script->functionTempActor[1]; vanished = script->functionTemp[2]; flags = actor->flags; @@ -3515,7 +3515,7 @@ ApiStatus ElectrifyActor(Evt* script, s32 isInitialCall) { } electrified = evt_get_variable(script, *args++); actor = get_actor(actorID); - script->functionTemp[1] = (s32) actor; + script->functionTempActor[1] = actor; script->functionTemp[2] = electrified; func_8024E40C(8); @@ -3533,7 +3533,7 @@ ApiStatus ElectrifyActor(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; } get_actor(script->owner1.actorID); - actor = (Actor*) script->functionTemp[1]; + actor = script->functionTempActor[1]; electrified = script->functionTemp[2]; flags = actor->flags; @@ -3625,7 +3625,7 @@ ApiStatus HealActor(Evt* script, s32 isInitialCall) { hpBoost = evt_get_variable(script, *args++); D_8029FBD0 = evt_get_variable(script, *args++); actor = get_actor(actorID); - script->functionTemp[1] = (s32) actor; + script->functionTempActor[1] = actor; script->functionTemp[2] = hpBoost; func_8024E40C(8); @@ -3639,7 +3639,7 @@ ApiStatus HealActor(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; } get_actor(script->owner1.enemyID); - actor = (Actor*) script->functionTemp[1]; + actor = script->functionTempActor[1]; hpBoost = script->functionTemp[2]; flags = actor->flags; diff --git a/src/battle/action_cmd/07.h b/src/battle/action_cmd/07.h new file mode 100644 index 0000000000..a2bd4807df --- /dev/null +++ b/src/battle/action_cmd/07.h @@ -0,0 +1,8 @@ +#ifndef _07_H_ +#define _07_H_ + +#include "common_structs.h" + +void func_802A9228_425D78(void); + +#endif diff --git a/src/battle/action_cmd/0A.h b/src/battle/action_cmd/0A.h new file mode 100644 index 0000000000..e8cbeccb50 --- /dev/null +++ b/src/battle/action_cmd/0A.h @@ -0,0 +1,8 @@ +#ifndef _0A_H_ +#define _0A_H_ + +#include "common_structs.h" + +void func_802A928C_42763C(void); + +#endif diff --git a/src/battle/action_cmd/air_lift.h b/src/battle/action_cmd/air_lift.h new file mode 100644 index 0000000000..790ec2dd19 --- /dev/null +++ b/src/battle/action_cmd/air_lift.h @@ -0,0 +1,8 @@ +#ifndef _AIR_LIFT_H_ +#define _AIR_LIFT_H_ + +#include "common_structs.h" + +void func_802A9278_428CE8(void); + +#endif diff --git a/src/battle/action_cmd/air_raid.h b/src/battle/action_cmd/air_raid.h new file mode 100644 index 0000000000..a80da4100c --- /dev/null +++ b/src/battle/action_cmd/air_raid.h @@ -0,0 +1,8 @@ +#ifndef _AIR_RAID_H_ +#define _AIR_RAID_H_ + +#include "common_structs.h" + +void func_802A9294_4295B4(void); + +#endif diff --git a/src/battle/action_cmd/body_slam.h b/src/battle/action_cmd/body_slam.h index 573dada7c4..2bdd2c5fcb 100644 --- a/src/battle/action_cmd/body_slam.h +++ b/src/battle/action_cmd/body_slam.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A92D4_4285B4(void); + ApiStatus action_command_body_slam_CreateHudElements(Evt* script, s32 isInitialCall); ApiStatus action_command_body_slam_MashActionCommandInit(Evt* script, s32 isInitialCall); diff --git a/src/battle/action_cmd/bomb.h b/src/battle/action_cmd/bomb.h index f5c8ae42be..7ed3f280c3 100644 --- a/src/battle/action_cmd/bomb.h +++ b/src/battle/action_cmd/bomb.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A928C_427CFC(void); + ApiStatus func_802A9000_427A70(Evt* script, s32 isInitialCall); ApiStatus action_command_bomb_MashActionCommandInit(Evt* script, s32 isInitialCall); diff --git a/src/battle/action_cmd/break_free.h b/src/battle/action_cmd/break_free.h index 2f63daed50..248e226744 100644 --- a/src/battle/action_cmd/break_free.h +++ b/src/battle/action_cmd/break_free.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A92DC_4236CC(void); + ApiStatus func_802A91B0_4235A0(Evt* script, s32 isInitialCall); #endif diff --git a/src/battle/action_cmd/dizzy_shell.h b/src/battle/action_cmd/dizzy_shell.h index c3cfeb5a20..66db396082 100644 --- a/src/battle/action_cmd/dizzy_shell.h +++ b/src/battle/action_cmd/dizzy_shell.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A928C_4263FC(void); + ApiStatus func_802A9000_426170(Evt* script, s32 isInitialCall); ApiStatus action_command_dizzy_shell_MashActionCommandInit(Evt* script, s32 isInitialCall); diff --git a/src/battle/action_cmd/fire_shell.h b/src/battle/action_cmd/fire_shell.h index 9502da4b67..aeccc6c34d 100644 --- a/src/battle/action_cmd/fire_shell.h +++ b/src/battle/action_cmd/fire_shell.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A9294_426C64(void); + ApiStatus func_802A9000_4269D0(Evt* script, s32 isInitialCall); ApiStatus action_command_fire_shell_MashActionCommandInit(Evt* script, s32 isInitialCall); diff --git a/src/battle/action_cmd/flee.h b/src/battle/action_cmd/flee.h new file mode 100644 index 0000000000..228b60bef5 --- /dev/null +++ b/src/battle/action_cmd/flee.h @@ -0,0 +1,8 @@ +#ifndef _FLEE_H_ +#define _FLEE_H_ + +#include "common_structs.h" + +void func_802A9378_422E48(void); + +#endif diff --git a/src/battle/action_cmd/hammer.h b/src/battle/action_cmd/hammer.h index 6d1e114590..352fb92281 100644 --- a/src/battle/action_cmd/hammer.h +++ b/src/battle/action_cmd/hammer.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A936C_42236C(void); + ApiStatus action_command_hammer_CreateHudElements(Evt* script, s32 isInitialCall); ApiStatus func_802A9258_422258(Evt* script, s32 isInitialCall); diff --git a/src/battle/action_cmd/hurricane.h b/src/battle/action_cmd/hurricane.h new file mode 100644 index 0000000000..71620e9af5 --- /dev/null +++ b/src/battle/action_cmd/hurricane.h @@ -0,0 +1,8 @@ +#ifndef _HURRICANE_H_ +#define _HURRICANE_H_ + +#include "common_structs.h" + +void func_802A92A0_42F980(void); + +#endif diff --git a/src/battle/action_cmd/jump.h b/src/battle/action_cmd/jump.h index 4bda8e57b4..0587976d7c 100644 --- a/src/battle/action_cmd/jump.h +++ b/src/battle/action_cmd/jump.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void action_command_jump_update(void); + ApiStatus action_command_jump_CreateHudElements(Evt* script, s32 isInitialCall); #endif diff --git a/src/battle/action_cmd/mega_shock.h b/src/battle/action_cmd/mega_shock.h new file mode 100644 index 0000000000..d823f7da12 --- /dev/null +++ b/src/battle/action_cmd/mega_shock.h @@ -0,0 +1,8 @@ +#ifndef _MEGA_SHOCK_H_ +#define _MEGA_SHOCK_H_ + +#include "common_structs.h" + +void func_802A92A0_42DCB0(void); + +#endif diff --git a/src/battle/action_cmd/power_shock.h b/src/battle/action_cmd/power_shock.h new file mode 100644 index 0000000000..35341ff803 --- /dev/null +++ b/src/battle/action_cmd/power_shock.h @@ -0,0 +1,8 @@ +#ifndef _POWER_SHOCK_H_ +#define _POWER_SHOCK_H_ + +#include "common_structs.h" + +void func_802A9310_42D220(void); + +#endif diff --git a/src/battle/action_cmd/smack.h b/src/battle/action_cmd/smack.h new file mode 100644 index 0000000000..b0635f6f82 --- /dev/null +++ b/src/battle/action_cmd/smack.h @@ -0,0 +1,8 @@ +#ifndef _SMACK_H_ +#define _SMACK_H_ + +#include "common_structs.h" + +void func_802A9298_42E638(void); + +#endif diff --git a/src/battle/action_cmd/spiny_surge.h b/src/battle/action_cmd/spiny_surge.h new file mode 100644 index 0000000000..06579c81c6 --- /dev/null +++ b/src/battle/action_cmd/spiny_surge.h @@ -0,0 +1,8 @@ +#ifndef _SPINY_SURGE_H_ +#define _SPINY_SURGE_H_ + +#include "common_structs.h" + +void func_802A9254_42F074(void); + +#endif diff --git a/src/battle/action_cmd/spook.h b/src/battle/action_cmd/spook.h new file mode 100644 index 0000000000..0c460024c2 --- /dev/null +++ b/src/battle/action_cmd/spook.h @@ -0,0 +1,8 @@ +#ifndef _SPOOK_H_ +#define _SPOOK_H_ + +#include "common_structs.h" + +void func_802A9298_4302B8(void); + +#endif diff --git a/src/battle/action_cmd/squirt.h b/src/battle/action_cmd/squirt.h new file mode 100644 index 0000000000..e965ccc257 --- /dev/null +++ b/src/battle/action_cmd/squirt.h @@ -0,0 +1,8 @@ +#ifndef _SQUIRT_H_ +#define _SQUIRT_H_ + +#include "common_structs.h" + +void func_802A9208_429F28(void); + +#endif diff --git a/src/battle/action_cmd/stop_leech.h b/src/battle/action_cmd/stop_leech.h index 96fc26ee02..f062e25334 100644 --- a/src/battle/action_cmd/stop_leech.h +++ b/src/battle/action_cmd/stop_leech.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A91F8_425788(void); + ApiStatus func_802A9000_425590(Evt* script, s32 isInitialCall); ApiStatus func_802A9110_4256A0(Evt* script, s32 isInitialCall); diff --git a/src/battle/action_cmd/tidal_wave.h b/src/battle/action_cmd/tidal_wave.h new file mode 100644 index 0000000000..d44dc3257e --- /dev/null +++ b/src/battle/action_cmd/tidal_wave.h @@ -0,0 +1,8 @@ +#ifndef _TIDAL_WAVE_H_ +#define _TIDAL_WAVE_H_ + +#include "common_structs.h" + +void action_command_tidal_wave_update(void); + +#endif diff --git a/src/battle/action_cmd/water_block.h b/src/battle/action_cmd/water_block.h new file mode 100644 index 0000000000..d0a133cf03 --- /dev/null +++ b/src/battle/action_cmd/water_block.h @@ -0,0 +1,8 @@ +#ifndef _WATER_BLOCK_H_ +#define _WATER_BLOCK_H_ + +#include "common_structs.h" + +void func_802A948C_42A97C(void); + +#endif diff --git a/src/battle/action_cmd/whirlwind.h b/src/battle/action_cmd/whirlwind.h index 62e88139ce..a0eba8e51e 100644 --- a/src/battle/action_cmd/whirlwind.h +++ b/src/battle/action_cmd/whirlwind.h @@ -3,6 +3,8 @@ #include "common_structs.h" +void func_802A92F0_423F60(void); + ApiStatus func_802A9000_423C70(Evt* script, s32 isInitialCall); ApiStatus func_802A91E0_423E50(Evt* script, s32 isInitialCall); diff --git a/src/battle/partner/bow.c b/src/battle/partner/bow.c index 3e6d0ba319..b3d60cef76 100644 --- a/src/battle/partner/bow.c +++ b/src/battle/partner/bow.c @@ -3,7 +3,6 @@ #include "common.h" #include "battle/battle.h" -extern s32 bMarioIdleAnims[]; extern s32 bMarioHideAnims[]; ApiStatus func_80238000_710EF0(Evt* script, s32 isInitialCall) { diff --git a/src/battle/partner/sushie.c b/src/battle/partner/sushie.c index dabede442b..721941f5dc 100644 --- a/src/battle/partner/sushie.c +++ b/src/battle/partner/sushie.c @@ -64,7 +64,7 @@ ApiStatus func_802381EC_707E8C(Evt* script, s32 isInitialCall) { temp_v0 = script->functionTemp[1]; if (temp_v0) { - script->functionTemp[1] = (s32) (temp_v0 - 1); + script->functionTemp[1] = temp_v0 - 1; return ApiStatus_BLOCK; } diff --git a/src/evt/cam_api.c b/src/evt/cam_api.c index 3e4440ce20..4ae38aed6e 100644 --- a/src/evt/cam_api.c +++ b/src/evt/cam_api.c @@ -189,7 +189,79 @@ ApiStatus SetCamTarget(Evt* script, s32 isInitialCall) { INCLUDE_ASM(s32, "evt/cam_api", func_802CB008, Evt* script, s32 isInitialCall); -INCLUDE_ASM(s32, "evt/cam_api", ShakeCam, Evt* script, s32 isInitialCall); +ApiStatus ShakeCam(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 camIndex = evt_get_variable(script, *args++); + s32 temp_s3 = evt_get_variable(script, *args++); + s32 temp_s4 = evt_get_variable(script, *args++); + f32 temp_f20 = 2.0f * evt_get_float_variable(script, *args++); + Camera* camera = &gCameras[camIndex]; + f32 temp_f2; + f32 phi_f2; + s32 temp_a1; + + if (isInitialCall) { + switch (temp_s3){ + case 0: + case 1: + break; + case 2: + temp_s4 *= 4; + break; + default: + break; + } + + *(f32*)&script->functionTemp[3] = 1.0f; + script->functionTemp[1] = temp_s4; + + if (!gGameStatusPtr->isBattle) { + if (temp_f20 > 10.0f) { + temp_f20 = 10.0f; + } + + phi_f2 = temp_f20; + if (temp_f20 > 6.0f) { + phi_f2 = 6.0f; + } + phi_f2 = phi_f2 * 32.0f + 64.0f; + + temp_a1 = temp_s4; + if (temp_a1 < 5) { + temp_a1 = 5; + } + start_rumble(phi_f2, (temp_a1 & 0xFFFF) * 2); + } + } + + camera->flags |= CAM_FLAG_SHAKING; + temp_f2 = script->functionTempF[3]; + switch (temp_s3) { + case 0: + guTranslateF(camera->viewMtxShaking, 0.0f, -temp_f2 * temp_f20, 0.0f); + script->functionTempF[3] = -script->functionTempF[3]; + break; + case 1: + guRotateF(camera->viewMtxShaking, temp_f2 * temp_f20, 0.0f, 0.0f, 1.0f); + script->functionTempF[3] = -script->functionTempF[3]; + break; + case 2: + guTranslateF(camera->viewMtxShaking, 0.0f, -temp_f2 * temp_f20, 0.0f); + if ((script->functionTemp[1] < (temp_s4 * 2)) && (temp_s4 < script->functionTemp[1])) { + script->functionTempF[3] = script->functionTempF[3] * -0.8; + } else { + script->functionTempF[3] = -script->functionTempF[3]; + } + break; + } + + if (script->functionTemp[1] == 0) { + camera->flags &= ~CAM_FLAG_SHAKING; + return ApiStatus_DONE2; + } + script->functionTemp[1]--; + return ApiStatus_BLOCK; +} void exec_ShakeCam1(s32 arg0, s32 arg1, s32 arg2) { Evt* script; diff --git a/src/evt/npc_api.c b/src/evt/npc_api.c index c2fe012cfc..b3e10332ad 100644 --- a/src/evt/npc_api.c +++ b/src/evt/npc_api.c @@ -246,7 +246,7 @@ ApiStatus NpcMoveTo(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - script->functionTemp[1] = (s32)npc; + script->functionTempNpc[1] = npc; npc->moveToPos.x = goalX; npc->moveToPos.z = goalZ; npc->duration = duration; @@ -263,7 +263,7 @@ ApiStatus NpcMoveTo(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 1; } - npc = (Npc*)script->functionTemp[1]; + npc = script->functionTempNpc[1]; npc->yaw = atan2(npc->pos.x, npc->pos.z, npc->moveToPos.x, npc->moveToPos.z); npc_move_heading(npc, npc->moveSpeed, npc->yaw); @@ -288,7 +288,7 @@ ApiStatus NpcMoveTo(Evt* script, s32 isInitialCall) { ApiStatus _npc_jump_to(Evt* script, s32 isInitialCall, s32 snapYaw) { Bytecode* args = script->ptrReadPos; - f32* yaw = (f32*) &script->functionTemp[2]; + f32* yaw = &script->functionTempF[2]; Npc* npc; if (isInitialCall) { @@ -309,7 +309,7 @@ ApiStatus _npc_jump_to(Evt* script, s32 isInitialCall, s32 snapYaw) { return ApiStatus_DONE2; } - script->functionTemp[1] = (s32)npc; + script->functionTempNpc[1] = npc; npc->moveToPos.x = goalX; npc->moveToPos.y = goalY; npc->moveToPos.z = goalZ; @@ -337,7 +337,7 @@ ApiStatus _npc_jump_to(Evt* script, s32 isInitialCall, s32 snapYaw) { script->functionTemp[0] =1; } - npc = (Npc*)script->functionTemp[1]; + npc = script->functionTempNpc[1]; npc_move_heading(npc, npc->moveSpeed, *yaw); npc->pos.y += npc->jumpVelocity; @@ -379,7 +379,7 @@ ApiStatus NpcFlyTo(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - script->functionTemp[1] = (s32)npc; + script->functionTempNpc[1] = npc; npc->moveToPos.x = evt_get_float_variable(script, *args++); npc->moveToPos.y = evt_get_float_variable(script, *args++); npc->moveToPos.z = evt_get_float_variable(script, *args++); @@ -401,7 +401,7 @@ ApiStatus NpcFlyTo(Evt* script, s32 isInitialCall) { } } - npc = (Npc*)script->functionTemp[1]; + npc = script->functionTempNpc[1]; npc->pos.x = update_lerp(script->functionTemp[3], *outX, npc->moveToPos.x, npc->duration, script->varTable[6]); npc->pos.y = update_lerp(script->functionTemp[3], *outY, npc->moveToPos.y, npc->duration, script->varTable[6]); npc->pos.z = update_lerp(script->functionTemp[3], *outZ, npc->moveToPos.z, npc->duration, script->varTable[6]); @@ -466,8 +466,8 @@ ApiStatus SetNpcYaw(Evt* script, s32 isInitialCall) { ApiStatus InterpNpcYaw(Evt* script, s32 isInitialCall) { PlayerStatus* playerStatus = &gPlayerStatus; Bytecode* args = script->ptrReadPos; - f32* initialYaw = (f32*) &script->functionTemp[1]; - f32* deltaYaw = (f32*) &script->functionTemp[2]; + f32* initialYaw = &script->functionTempF[1]; + f32* deltaYaw = &script->functionTempF[2]; s32* turnTime = &script->functionTemp[3]; Npc* npc; @@ -481,7 +481,7 @@ ApiStatus InterpNpcYaw(Evt* script, s32 isInitialCall) { *initialYaw = npc->yaw; *deltaYaw = evt_get_variable(script, *args++) - *initialYaw; - script->functionTemp[0] = (s32)npc; + script->functionTempNpc[0] = npc; *turnTime = evt_get_variable(script, *args++); if (*turnTime == 0) { @@ -499,7 +499,7 @@ ApiStatus InterpNpcYaw(Evt* script, s32 isInitialCall) { } } - npc = (Npc*)script->functionTemp[0]; + npc = script->functionTempNpc[0]; if (*turnTime > 0) { npc->duration++; npc->yaw = *initialYaw + ((*deltaYaw * npc->duration) / *turnTime); @@ -514,8 +514,8 @@ ApiStatus InterpNpcYaw(Evt* script, s32 isInitialCall) { ApiStatus NpcFacePlayer(Evt* script, s32 isInitialCall) { PlayerStatus* playerStatus = &gPlayerStatus; Bytecode* args = script->ptrReadPos; - f32* initialYaw = (f32*) &script->functionTemp[1]; - f32* deltaYaw = (f32*) &script->functionTemp[2]; + f32* initialYaw = &script->functionTempF[1]; + f32* deltaYaw = &script->functionTempF[2]; s32* turnTime = &script->functionTemp[3]; Npc* npc; @@ -529,7 +529,7 @@ ApiStatus NpcFacePlayer(Evt* script, s32 isInitialCall) { *initialYaw = npc->yaw; *deltaYaw = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z) - *initialYaw; - script->functionTemp[0] = (s32)npc; + script->functionTempNpc[0] = npc; *turnTime = evt_get_variable(script, *args++); npc->duration = 0; @@ -541,7 +541,7 @@ ApiStatus NpcFacePlayer(Evt* script, s32 isInitialCall) { } } - npc = (Npc*)script->functionTemp[0]; + npc = script->functionTempNpc[0]; if (*turnTime > 0) { npc->duration++; npc->yaw = *initialYaw + ((*deltaYaw * npc->duration) / *turnTime); @@ -555,8 +555,8 @@ ApiStatus NpcFacePlayer(Evt* script, s32 isInitialCall) { ApiStatus NpcFaceNpc(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - f32* initialYaw = (f32*) &script->functionTemp[1]; - f32* deltaYaw = (f32*) &script->functionTemp[2]; + f32* initialYaw = &script->functionTempF[1]; + f32* deltaYaw = &script->functionTempF[2]; s32* turnTime = &script->functionTemp[3]; Npc* targetNpc; Npc* turningNpc; @@ -577,7 +577,7 @@ ApiStatus NpcFaceNpc(Evt* script, s32 isInitialCall) { *initialYaw = turningNpc->yaw; *deltaYaw = atan2(turningNpc->pos.x, turningNpc->pos.z, targetNpc->pos.x, targetNpc->pos.z) - *initialYaw; - script->functionTemp[0] = (s32)turningNpc; + script->functionTempNpc[0] = turningNpc; *turnTime = evt_get_variable(script, *args++); turningNpc->duration = 0; @@ -589,7 +589,7 @@ ApiStatus NpcFaceNpc(Evt* script, s32 isInitialCall) { } } - turningNpc = (Npc*)script->functionTemp[0]; + turningNpc = script->functionTempNpc[0]; if (*turnTime > 0) { turningNpc->duration++; turningNpc->yaw = *initialYaw + ((*deltaYaw * turningNpc->duration) / *turnTime); diff --git a/src/evt/player_api.c b/src/evt/player_api.c index 8c9a0227c8..1fbcd4224e 100644 --- a/src/evt/player_api.c +++ b/src/evt/player_api.c @@ -2,7 +2,7 @@ #include "npc.h" #include "sprite.h" -Npc* playerNpc = (Npc*) 0x802DB270; // XXX: raw ptr +Npc* playerNpc = (Npc*) 0x802DB270; // TODO: raw ptr, shiftability extern s16 D_802DB5B0; extern VirtualEntityList D_802DB5C0; @@ -347,8 +347,8 @@ ApiStatus PlayerJump2(Evt* script, s32 isInitialCall) { ApiStatus InterpPlayerYaw(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; PlayerStatus* playerStatus = &gPlayerStatus; - f32* initialYaw = (f32*) &script->functionTemp[1]; - f32* deltaYaw = (f32*) &script->functionTemp[2]; + f32* initialYaw = &script->functionTempF[1]; + f32* deltaYaw = &script->functionTempF[2]; s32* time = &script->functionTemp[3]; if (isInitialCall) { @@ -385,8 +385,8 @@ ApiStatus InterpPlayerYaw(Evt* script, s32 isInitialCall) { ApiStatus PlayerFaceNpc(Evt* script, s32 isInitialCall) { PlayerStatus* playerStatus = &gPlayerStatus; s32* args = script->ptrReadPos; - f32* playerTargetYaw = (f32*) &script->functionTemp[1]; - f32* angle = (f32*) &script->functionTemp[2]; + f32* playerTargetYaw = &script->functionTempF[1]; + f32* angle = &script->functionTempF[2]; s32* ft3 = &script->functionTemp[3]; if (isInitialCall) { @@ -698,8 +698,8 @@ ApiStatus func_802D286C(Evt* script, s32 isInitialCall) { ApiStatus func_802D2884(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; PlayerStatus* playerStatus = &gPlayerStatus; - f32* ft1 = (f32*) &script->functionTemp[1]; - f32* angle = (f32*) &script->functionTemp[2]; + f32* ft1 = &script->functionTempF[1]; + f32* angle = &script->functionTempF[2]; s32* ft3 = &script->functionTemp[3]; if (isInitialCall) { diff --git a/src/os/coss.c b/src/os/coss.c index 3b832951ce..b1a60034b1 100644 --- a/src/os/coss.c +++ b/src/os/coss.c @@ -1,4 +1,4 @@ -#include "common.h" +#include "PR/guint.h" s16 coss(u16 angle) { return sins(angle + 0x4000); diff --git a/src/os/guFrustum.c b/src/os/guFrustum.c index c88f88f063..0f3712d029 100644 --- a/src/os/guFrustum.c +++ b/src/os/guFrustum.c @@ -1,6 +1,6 @@ -#include "common.h" +#include "PR/guint.h" -void guFrustumF(Matrix4f mf, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) { +void guFrustumF(f32 mf[4][4], f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) { s32 i, j; guMtxIdentF(mf); @@ -22,7 +22,7 @@ void guFrustumF(Matrix4f mf, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale } void guFrustum(Mtx* m, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale) { - Matrix4f mf; + f32 mf[4][4]; guFrustumF(mf, l, r, b, t, n, f, scale); diff --git a/src/os/guLookAt.c b/src/os/guLookAt.c index 339affb9ec..813aa2482c 100644 --- a/src/os/guLookAt.c +++ b/src/os/guLookAt.c @@ -1,6 +1,6 @@ -#include "common.h" +#include "PR/guint.h" -void guLookAtF(Matrix4f mf, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, +void guLookAtF(f32 mf[4][4], f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp) { f32 len, xLook, yLook, zLook, xRight, yRight, zRight; @@ -57,7 +57,7 @@ void guLookAtF(Matrix4f mf, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 void guLookAt(Mtx *m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp) { - Matrix4f mf; + f32 mf[4][4]; guLookAtF(mf, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp); diff --git a/src/os/guMtxCat.c b/src/os/guMtxCat.c index 599fbfac9a..e5772f5e6e 100644 --- a/src/os/guMtxCat.c +++ b/src/os/guMtxCat.c @@ -1,4 +1,4 @@ -#include "common.h" +#include "PR/guint.h" void guMtxCatL(Mtx *m, Mtx *n, Mtx *res) { float mf[4][4], nf[4][4], resf[4][4]; diff --git a/src/os/guMtxXFMF.c b/src/os/guMtxXFMF.c index 27e50212f4..85487c4fcc 100644 --- a/src/os/guMtxXFMF.c +++ b/src/os/guMtxXFMF.c @@ -1,4 +1,4 @@ -#include "common.h" +#include "PR/guint.h" void guMtxXFMF(f32 mf[4][4], f32 x, f32 y, f32 z, f32 *ox, f32 *oy, f32 *oz) { *ox = mf[0][0]*x + mf[1][0]*y + mf[2][0]*z + mf[3][0]; diff --git a/src/os/guMtxXFML.c b/src/os/guMtxXFML.c index 7b0733333d..940280b4f8 100644 --- a/src/os/guMtxXFML.c +++ b/src/os/guMtxXFML.c @@ -1,4 +1,4 @@ -#include "common.h" +#include "PR/guint.h" void guMtxXFML(Mtx *m, float x, float y, float z, float *ox, float *oy, float *oz) { diff --git a/src/os/guRotate.c b/src/os/guRotate.c index 5fc33bc38c..acff531d50 100644 --- a/src/os/guRotate.c +++ b/src/os/guRotate.c @@ -1,9 +1,12 @@ -#include "common.h" +#include "PR/guint.h" + +f32 sin_rad(f32 x); +f32 cos_rad(f32 x); extern float D_800958C0; void guRotateF(float mf[4][4], float a, float x, float y, float z) { - static float dtor = PI_D / 180.0; + static float dtor = 3.1415926 / 180.0; float sine; float cosine; float ab, bc, ca, t; diff --git a/src/os/lookathil.c b/src/os/lookathil.c index e968d6d554..8e5cc8a1a5 100644 --- a/src/os/lookathil.c +++ b/src/os/lookathil.c @@ -1,6 +1,6 @@ -#include "common.h" +#include "PR/guint.h" -void guLookAtHiliteF(Matrix4f mf, LookAt *l, Hilite *h, +void guLookAtHiliteF(f32 mf[4][4], LookAt *l, Hilite *h, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp, @@ -142,7 +142,7 @@ void guLookAtHilite (Mtx *m, LookAt *l, Hilite *h, f32 xl1, f32 yl1, f32 zl1, /* light 1 direction */ f32 xl2, f32 yl2, f32 zl2, /* light 2 direction */ int twidth, int theight) { /* highlight txtr size*/ - Matrix4f mf; + f32 mf[4][4]; guLookAtHiliteF(mf, l, h, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp, xl1, yl1, zl1, xl2, yl2, zl2, diff --git a/src/os/lookatref.c b/src/os/lookatref.c index 620f812cfa..38765087d1 100644 --- a/src/os/lookatref.c +++ b/src/os/lookatref.c @@ -1,6 +1,6 @@ -#include "common.h" +#include "PR/guint.h" -void guLookAtReflectF(Matrix4f mf, LookAt *l, +void guLookAtReflectF(f32 mf[4][4], LookAt *l, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp) { @@ -86,7 +86,7 @@ void guLookAtReflect(Mtx *m, LookAt *l, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp) { - Matrix4f mf; + f32 mf[4][4]; guLookAtReflectF(mf, l, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp); diff --git a/src/os/osCreateMesgQueue.c b/src/os/osCreateMesgQueue.c index 55495a4ea0..73ce55d713 100644 --- a/src/os/osCreateMesgQueue.c +++ b/src/os/osCreateMesgQueue.c @@ -1,4 +1,3 @@ -#include "common.h" #include void osCreateMesgQueue(OSMesgQueue *mq, OSMesg *msg, s32 msgCount) { diff --git a/src/os/osJamMesg.c b/src/os/osJamMesg.c index ab40543aee..6132b0fa6b 100644 --- a/src/os/osJamMesg.c +++ b/src/os/osJamMesg.c @@ -1,4 +1,3 @@ -#include "common.h" #include s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag) { diff --git a/src/os/osRecvMesg.c b/src/os/osRecvMesg.c index c8ebf1559c..a2356959cb 100644 --- a/src/os/osRecvMesg.c +++ b/src/os/osRecvMesg.c @@ -1,4 +1,3 @@ -#include "common.h" #include s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flags) { diff --git a/src/os/perspective.c b/src/os/perspective.c index 71c8d8f071..8b9e92f999 100644 --- a/src/os/perspective.c +++ b/src/os/perspective.c @@ -1,6 +1,9 @@ -#include "common.h" +#include "PR/guint.h" -void guPerspectiveF(Matrix4f mf, u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale) { +f32 sin_rad(f32 x); +f32 cos_rad(f32 x); + +void guPerspectiveF(f32 mf[4][4], u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale) { f32 cot; s32 i, j; @@ -35,7 +38,7 @@ void guPerspectiveF(Matrix4f mf, u16 *perspNorm, f32 fovy, f32 aspect, f32 near, } void guPerspective(Mtx *m, u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale) { - Matrix4f mf; + f32 mf[4][4]; guPerspectiveF(mf, perspNorm, fovy, aspect, near, far, scale); diff --git a/src/os/position.c b/src/os/position.c index 4ecc0901ce..02b1f4f836 100644 --- a/src/os/position.c +++ b/src/os/position.c @@ -1,6 +1,9 @@ -#include "common.h" +#include "PR/guint.h" -void guPositionF(Matrix4f mf, f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z) { +f32 sin_rad(f32 x); +f32 cos_rad(f32 x); + +void guPositionF(f32 mf[4][4], f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z) { static f32 dtor = 3.1415926 / 180.0; f32 sinr, sinp, sinh; f32 cosr, cosp, cosh; diff --git a/src/os/rotateRPY.c b/src/os/rotateRPY.c index c747cd1fe8..6918bea717 100644 --- a/src/os/rotateRPY.c +++ b/src/os/rotateRPY.c @@ -1,6 +1,9 @@ -#include "common.h" +#include "PR/guint.h" -void guRotateRPYF(Matrix4f mf, f32 r, f32 p, f32 h) { +f32 sin_rad(f32 x); +f32 cos_rad(f32 x); + +void guRotateRPYF(float mf[4][4], f32 r, f32 p, f32 h) { static f32 dtor = 3.1415926 / 180.0; f32 sinr, sinp, sinh; f32 cosr, cosp, cosh; @@ -31,7 +34,7 @@ void guRotateRPYF(Matrix4f mf, f32 r, f32 p, f32 h) { } void guRotateRPY(Mtx *m, f32 r, f32 p, f32 h) { - Matrix4f mf; + Matrix mf; guRotateRPYF(mf, r, p, h); diff --git a/src/os/sendmesg.c b/src/os/sendmesg.c index 78e372e69b..368a491b46 100644 --- a/src/os/sendmesg.c +++ b/src/os/sendmesg.c @@ -1,4 +1,3 @@ -#include "common.h" #include s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flags) diff --git a/src/os/seteventmesg.c b/src/os/seteventmesg.c index a07fa9cc1f..76237ec5ee 100644 --- a/src/os/seteventmesg.c +++ b/src/os/seteventmesg.c @@ -1,4 +1,3 @@ -#include "common.h" #include u32 __osPreNMI = 0; diff --git a/src/os/sins.c b/src/os/sins.c index e9d87f3956..fe45be424e 100644 --- a/src/os/sins.c +++ b/src/os/sins.c @@ -1,4 +1,4 @@ -#include "common.h" +#include "PR/guint.h" #include "sintable.inc.c" diff --git a/src/os/sqrtf.c b/src/os/sqrtf.c index 04ed5bc029..d6fd0216a6 100644 --- a/src/os/sqrtf.c +++ b/src/os/sqrtf.c @@ -1,4 +1,4 @@ -#include "common.h" +#include "ultra64.h" f32 sqrtf(f32 f) { return __builtin_sqrtf(f); diff --git a/src/os/string.c b/src/os/string.c index c1b477dc80..ae02a3db32 100644 --- a/src/os/string.c +++ b/src/os/string.c @@ -1,4 +1,4 @@ -#include "common.h" +#include "ultra64.h" char* strchr(const char* s, int c) { const char ch = c; diff --git a/src/os/visetmode.c b/src/os/visetmode.c index 754aed487e..33bf03ed7f 100644 --- a/src/os/visetmode.c +++ b/src/os/visetmode.c @@ -1,4 +1,3 @@ -#include "common.h" #include "PR/viint.h" void osViSetMode(OSViMode *modep) { diff --git a/src/world/area_kmr/kmr_12/header.c b/src/world/area_kmr/kmr_12/header.c index e8307ab367..9647073b19 100644 --- a/src/world/area_kmr/kmr_12/header.c +++ b/src/world/area_kmr/kmr_12/header.c @@ -21,6 +21,6 @@ EvtScript N(PlayMusic) = { }; ApiStatus GetGoomba(Evt* script, s32 isInitialCall) { - script->varTable[0] = get_enemy_safe(NPC_GOOMBA); + script->varTableEnemy[0] = get_enemy_safe(NPC_GOOMBA); return ApiStatus_DONE2; } diff --git a/src/world/common/Bandit_DropCoin.inc.c b/src/world/common/Bandit_DropCoin.inc.c index 1f8e53cef0..9e564ed30e 100644 --- a/src/world/common/Bandit_DropCoin.inc.c +++ b/src/world/common/Bandit_DropCoin.inc.c @@ -21,12 +21,12 @@ ApiStatus N(Bandit_DropCoin)(Evt* script, s32 isInitialCall) { npc = (Npc*)npcID; } - script->functionTemp[0] = (s32)npc; + script->functionTempNpc[0] = npc; script->functionTemp[1] = itemEntityIndex; script->functionTemp[2] = areaFlag; } - npc = (Npc*)script->functionTemp[0]; + npc = script->functionTempNpc[0]; itemEntityIndex = script->functionTemp[1]; areaFlag = script->functionTemp[2]; diff --git a/ver/us/asm/nonmatchings/196AA0/CloseActionCommandInfo.s b/ver/us/asm/nonmatchings/196AA0/CloseActionCommandInfo.s deleted file mode 100644 index e89728e76a..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/CloseActionCommandInfo.s +++ /dev/null @@ -1,31 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel CloseActionCommandInfo -/* 197CF0 80269410 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197CF4 80269414 10A0000D */ beqz $a1, .L8026944C -/* 197CF8 80269418 AFBF0010 */ sw $ra, 0x10($sp) -/* 197CFC 8026941C 3C02802A */ lui $v0, %hi(gActionCommandStatus) -/* 197D00 80269420 2442FBE0 */ addiu $v0, $v0, %lo(gActionCommandStatus) -/* 197D04 80269424 8443004A */ lh $v1, 0x4a($v0) -/* 197D08 80269428 28620007 */ slti $v0, $v1, 7 -/* 197D0C 8026942C 10400003 */ beqz $v0, .L8026943C -/* 197D10 80269430 28620005 */ slti $v0, $v1, 5 -/* 197D14 80269434 1040000B */ beqz $v0, .L80269464 -/* 197D18 80269438 24020002 */ addiu $v0, $zero, 2 -.L8026943C: -/* 197D1C 8026943C 0C09A327 */ jal func_80268C9C -/* 197D20 80269440 00000000 */ nop -/* 197D24 80269444 0809A519 */ j .L80269464 -/* 197D28 80269448 0000102D */ daddu $v0, $zero, $zero -.L8026944C: -/* 197D2C 8026944C 3C048000 */ lui $a0, 0x8000 -/* 197D30 80269450 0C05271B */ jal sfx_stop_sound -/* 197D34 80269454 34840041 */ ori $a0, $a0, 0x41 -/* 197D38 80269458 0C093EC3 */ jal close_action_command_instruction_popup -/* 197D3C 8026945C 00000000 */ nop -/* 197D40 80269460 24020002 */ addiu $v0, $zero, 2 -.L80269464: -/* 197D44 80269464 8FBF0010 */ lw $ra, 0x10($sp) -/* 197D48 80269468 03E00008 */ jr $ra -/* 197D4C 8026946C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80268938.s b/ver/us/asm/nonmatchings/196AA0/func_80268938.s deleted file mode 100644 index e5fbce870c..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80268938.s +++ /dev/null @@ -1,148 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_8029D6A0 -.word .L80268AEC_1973CC, .L80268984_197264, .L80268994_197274, .L802689A4_197284, .L802689B4_197294, .L802689C4_1972A4, .L802689D4_1972B4, .L802689E4_1972C4, .L802689F4_1972D4, .L80268A04_1972E4, .L80268A14_1972F4, .L80268A24_197304, .L80268A34_197314, .L80268A44_197324, .L80268A54_197334, .L80268A64_197344, .L80268A74_197354, .L80268A84_197364, .L80268A94_197374, .L80268AA4_197384, .L80268AB4_197394, .L80268AC4_1973A4, .L80268AD4_1973B4, .L80268AE4_1973C4 - -.section .text - -glabel func_80268938 -/* 197218 80268938 3C02800E */ lui $v0, %hi(gBattleStatus) -/* 19721C 8026893C 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0) -/* 197220 80268940 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197224 80268944 30428000 */ andi $v0, $v0, 0x8000 -/* 197228 80268948 10400003 */ beqz $v0, .L80268958 -/* 19722C 8026894C AFBF0010 */ sw $ra, 0x10($sp) -/* 197230 80268950 0C09A327 */ jal func_80268C9C -/* 197234 80268954 00000000 */ nop -.L80268958: -/* 197238 80268958 3C02802A */ lui $v0, %hi(gActionCommandStatus) -/* 19723C 8026895C 2442FBE0 */ addiu $v0, $v0, %lo(gActionCommandStatus) -/* 197240 80268960 8443004A */ lh $v1, 0x4a($v0) -/* 197244 80268964 2C620018 */ sltiu $v0, $v1, 0x18 -/* 197248 80268968 10400060 */ beqz $v0, .L80268AEC_1973CC -/* 19724C 8026896C 00031080 */ sll $v0, $v1, 2 -/* 197250 80268970 3C01802A */ lui $at, %hi(jtbl_8029D6A0) -/* 197254 80268974 00220821 */ addu $at, $at, $v0 -/* 197258 80268978 8C22D6A0 */ lw $v0, %lo(jtbl_8029D6A0)($at) -/* 19725C 8026897C 00400008 */ jr $v0 -/* 197260 80268980 00000000 */ nop -.L80268984_197264: -/* 197264 80268984 0C0AA48D */ jal action_command_jump_update -/* 197268 80268988 00000000 */ nop -/* 19726C 8026898C 0809A2BB */ j .L80268AEC_1973CC -/* 197270 80268990 00000000 */ nop -.L80268994_197274: -/* 197274 80268994 0C0AA4DB */ jal func_802A936C_42236C -/* 197278 80268998 00000000 */ nop -/* 19727C 8026899C 0809A2BB */ j .L80268AEC_1973CC -/* 197280 802689A0 00000000 */ nop -.L802689A4_197284: -/* 197284 802689A4 0C0AA4DE */ jal func_802A9378_422E48 -/* 197288 802689A8 00000000 */ nop -/* 19728C 802689AC 0809A2BB */ j .L80268AEC_1973CC -/* 197290 802689B0 00000000 */ nop -.L802689B4_197294: -/* 197294 802689B4 0C0AA4B7 */ jal func_802A92DC_4236CC -/* 197298 802689B8 00000000 */ nop -/* 19729C 802689BC 0809A2BB */ j .L80268AEC_1973CC -/* 1972A0 802689C0 00000000 */ nop -.L802689C4_1972A4: -/* 1972A4 802689C4 0C0AA4BC */ jal func_802A92F0_423F60 -/* 1972A8 802689C8 00000000 */ nop -/* 1972AC 802689CC 0809A2BB */ j .L80268AEC_1973CC -/* 1972B0 802689D0 00000000 */ nop -.L802689D4_1972B4: -/* 1972B4 802689D4 0C0AA47E */ jal func_802A91F8_425788 -/* 1972B8 802689D8 00000000 */ nop -/* 1972BC 802689DC 0809A2BB */ j .L80268AEC_1973CC -/* 1972C0 802689E0 00000000 */ nop -.L802689E4_1972C4: -/* 1972C4 802689E4 0C0AA48A */ jal func_802A9228_425D78 -/* 1972C8 802689E8 00000000 */ nop -/* 1972CC 802689EC 0809A2BB */ j .L80268AEC_1973CC -/* 1972D0 802689F0 00000000 */ nop -.L802689F4_1972D4: -/* 1972D4 802689F4 0C0AA4A3 */ jal func_802A928C_4263FC -/* 1972D8 802689F8 00000000 */ nop -/* 1972DC 802689FC 0809A2BB */ j .L80268AEC_1973CC -/* 1972E0 80268A00 00000000 */ nop -.L80268A04_1972E4: -/* 1972E4 80268A04 0C0AA4A5 */ jal func_802A9294_426C64 -/* 1972E8 80268A08 00000000 */ nop -/* 1972EC 80268A0C 0809A2BB */ j .L80268AEC_1973CC -/* 1972F0 80268A10 00000000 */ nop -.L80268A14_1972F4: -/* 1972F4 80268A14 0C0AA4A3 */ jal func_802A928C_4263FC -/* 1972F8 80268A18 00000000 */ nop -/* 1972FC 80268A1C 0809A2BB */ j .L80268AEC_1973CC -/* 197300 80268A20 00000000 */ nop -.L80268A24_197304: -/* 197304 80268A24 0C0AA4A3 */ jal func_802A928C_4263FC -/* 197308 80268A28 00000000 */ nop -/* 19730C 80268A2C 0809A2BB */ j .L80268AEC_1973CC -/* 197310 80268A30 00000000 */ nop -.L80268A34_197314: -/* 197314 80268A34 0C0AA4B5 */ jal func_802A92D4_4285B4 -/* 197318 80268A38 00000000 */ nop -/* 19731C 80268A3C 0809A2BB */ j .L80268AEC_1973CC -/* 197320 80268A40 00000000 */ nop -.L80268A44_197324: -/* 197324 80268A44 0C0AA49E */ jal func_802A9278_428CE8 -/* 197328 80268A48 00000000 */ nop -/* 19732C 80268A4C 0809A2BB */ j .L80268AEC_1973CC -/* 197330 80268A50 00000000 */ nop -.L80268A54_197334: -/* 197334 80268A54 0C0AA4A5 */ jal func_802A9294_426C64 -/* 197338 80268A58 00000000 */ nop -/* 19733C 80268A5C 0809A2BB */ j .L80268AEC_1973CC -/* 197340 80268A60 00000000 */ nop -.L80268A64_197344: -/* 197344 80268A64 0C0AA482 */ jal func_802A9208_429F28 -/* 197348 80268A68 00000000 */ nop -/* 19734C 80268A6C 0809A2BB */ j .L80268AEC_1973CC -/* 197350 80268A70 00000000 */ nop -.L80268A74_197354: -/* 197354 80268A74 0C0AA4C4 */ jal func_802A9310_42D220 -/* 197358 80268A78 00000000 */ nop -/* 19735C 80268A7C 0809A2BB */ j .L80268AEC_1973CC -/* 197360 80268A80 00000000 */ nop -.L80268A84_197364: -/* 197364 80268A84 0C0AA4A8 */ jal func_802A92A0_422D70 -/* 197368 80268A88 00000000 */ nop -/* 19736C 80268A8C 0809A2BB */ j .L80268AEC_1973CC -/* 197370 80268A90 00000000 */ nop -.L80268A94_197374: -/* 197374 80268A94 0C0AA4A6 */ jal func_802A9298_42E638 -/* 197378 80268A98 00000000 */ nop -/* 19737C 80268A9C 0809A2BB */ j .L80268AEC_1973CC -/* 197380 80268AA0 00000000 */ nop -.L80268AA4_197384: -/* 197384 80268AA4 0C0AA495 */ jal func_802A9254_42F074 -/* 197388 80268AA8 00000000 */ nop -/* 19738C 80268AAC 0809A2BB */ j .L80268AEC_1973CC -/* 197390 80268AB0 00000000 */ nop -.L80268AB4_197394: -/* 197394 80268AB4 0C0AA4A8 */ jal func_802A92A0_422D70 -/* 197398 80268AB8 00000000 */ nop -/* 19739C 80268ABC 0809A2BB */ j .L80268AEC_1973CC -/* 1973A0 80268AC0 00000000 */ nop -.L80268AC4_1973A4: -/* 1973A4 80268AC4 0C0AA4A6 */ jal func_802A9298_42E638 -/* 1973A8 80268AC8 00000000 */ nop -/* 1973AC 80268ACC 0809A2BB */ j .L80268AEC_1973CC -/* 1973B0 80268AD0 00000000 */ nop -.L80268AD4_1973B4: -/* 1973B4 80268AD4 0C0AA523 */ jal func_802A948C_42A97C -/* 1973B8 80268AD8 00000000 */ nop -/* 1973BC 80268ADC 0809A2BB */ j .L80268AEC_1973CC -/* 1973C0 80268AE0 00000000 */ nop -.L80268AE4_1973C4: -/* 1973C4 80268AE4 0C0AA48A */ jal func_802A9228_425D78 -/* 1973C8 80268AE8 00000000 */ nop -.L80268AEC_1973CC: -/* 1973CC 80268AEC 8FBF0010 */ lw $ra, 0x10($sp) -/* 1973D0 80268AF0 03E00008 */ jr $ra -/* 1973D4 80268AF4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80268E88.s b/ver/us/asm/nonmatchings/196AA0/func_80268E88.s deleted file mode 100644 index 83cda466dc..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80268E88.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80268E88 -/* 197768 80268E88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 19776C 80268E8C AFB00010 */ sw $s0, 0x10($sp) -/* 197770 80268E90 3C10802A */ lui $s0, %hi(gActionCommandStatus) -/* 197774 80268E94 2610FBE0 */ addiu $s0, $s0, %lo(gActionCommandStatus) -/* 197778 80268E98 3C048027 */ lui $a0, %hi(func_80268938) -/* 19777C 80268E9C 24848938 */ addiu $a0, $a0, %lo(func_80268938) -/* 197780 80268EA0 3C058027 */ lui $a1, %hi(func_80268AF8) -/* 197784 80268EA4 24A58AF8 */ addiu $a1, $a1, %lo(func_80268AF8) -/* 197788 80268EA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 19778C 80268EAC 0C048C8F */ jal create_generic_entity_frontUI -/* 197790 80268EB0 00000000 */ nop -/* 197794 80268EB4 AE020000 */ sw $v0, ($s0) -/* 197798 80268EB8 A600004A */ sh $zero, 0x4a($s0) -/* 19779C 80268EBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 1977A0 80268EC0 8FB00010 */ lw $s0, 0x10($sp) -/* 1977A4 80268EC4 03E00008 */ jr $ra -/* 1977A8 80268EC8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80269344.s b/ver/us/asm/nonmatchings/196AA0/func_80269344.s deleted file mode 100644 index 73b6fe5c70..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80269344.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80269344 -/* 197C24 80269344 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197C28 80269348 AFBF0010 */ sw $ra, 0x10($sp) -/* 197C2C 8026934C 8C82000C */ lw $v0, 0xc($a0) -/* 197C30 80269350 0C0B1EAF */ jal evt_get_variable -/* 197C34 80269354 8C450000 */ lw $a1, ($v0) -/* 197C38 80269358 8FBF0010 */ lw $ra, 0x10($sp) -/* 197C3C 8026935C 3C01802A */ lui $at, %hi(D_8029FC4C) -/* 197C40 80269360 A422FC4C */ sh $v0, %lo(D_8029FC4C)($at) -/* 197C44 80269364 24020002 */ addiu $v0, $zero, 2 -/* 197C48 80269368 03E00008 */ jr $ra -/* 197C4C 8026936C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80269470.s b/ver/us/asm/nonmatchings/196AA0/func_80269470.s deleted file mode 100644 index e51c8c1ff9..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80269470.s +++ /dev/null @@ -1,19 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80269470 -/* 197D50 80269470 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197D54 80269474 14A00005 */ bnez $a1, .L8026948C -/* 197D58 80269478 AFBF0010 */ sw $ra, 0x10($sp) -/* 197D5C 8026947C 0C093EC3 */ jal close_action_command_instruction_popup -/* 197D60 80269480 00000000 */ nop -/* 197D64 80269484 0809A526 */ j .L80269498 -/* 197D68 80269488 24020002 */ addiu $v0, $zero, 2 -.L8026948C: -/* 197D6C 8026948C 0C09A327 */ jal func_80268C9C -/* 197D70 80269490 00000000 */ nop -/* 197D74 80269494 0000102D */ daddu $v0, $zero, $zero -.L80269498: -/* 197D78 80269498 8FBF0010 */ lw $ra, 0x10($sp) -/* 197D7C 8026949C 03E00008 */ jr $ra -/* 197D80 802694A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/7B440/func_800E24F8.s b/ver/us/asm/nonmatchings/7B440/func_800E24F8.s deleted file mode 100644 index 6298951654..0000000000 --- a/ver/us/asm/nonmatchings/7B440/func_800E24F8.s +++ /dev/null @@ -1,135 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_8010BD30 -.double 180.0 - -dlabel jtbl_8010BD38 -.word .L800E25A4_7BA54, .L800E25A4_7BA54, .L800E2594_7BA44, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2594_7BA44, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2630_7BAE0, .L800E2620_7BAD0, 0 - -.section .text - -glabel func_800E24F8 -/* 7B9A8 800E24F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 7B9AC 800E24FC AFB00010 */ sw $s0, 0x10($sp) -/* 7B9B0 800E2500 3C108011 */ lui $s0, %hi(gPlayerStatus) -/* 7B9B4 800E2504 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) -/* 7B9B8 800E2508 AFBF0014 */ sw $ra, 0x14($sp) -/* 7B9BC 800E250C 0C044181 */ jal get_shadow_by_index -/* 7B9C0 800E2510 8E0400CC */ lw $a0, 0xcc($s0) -/* 7B9C4 800E2514 C4400028 */ lwc1 $f0, 0x28($v0) -/* 7B9C8 800E2518 3C018011 */ lui $at, %hi(D_8010BD30) -/* 7B9CC 800E251C D424BD30 */ ldc1 $f4, %lo(D_8010BD30)($at) -/* 7B9D0 800E2520 C4420030 */ lwc1 $f2, 0x30($v0) -/* 7B9D4 800E2524 46000021 */ cvt.d.s $f0, $f0 -/* 7B9D8 800E2528 46240000 */ add.d $f0, $f0, $f4 -/* 7B9DC 800E252C 3C05800B */ lui $a1, %hi(gCameras) -/* 7B9E0 800E2530 24A51D80 */ addiu $a1, $a1, %lo(gCameras) -/* 7B9E4 800E2534 460010A1 */ cvt.d.s $f2, $f2 -/* 7B9E8 800E2538 46241080 */ add.d $f2, $f2, $f4 -/* 7B9EC 800E253C 44802000 */ mtc1 $zero, $f4 -/* 7B9F0 800E2540 46200020 */ cvt.s.d $f0, $f0 -/* 7B9F4 800E2544 46040032 */ c.eq.s $f0, $f4 -/* 7B9F8 800E2548 00000000 */ nop -/* 7B9FC 800E254C 45000005 */ bc1f .L800E2564 -/* 7BA00 800E2550 462010A0 */ cvt.s.d $f2, $f2 -/* 7BA04 800E2554 46041032 */ c.eq.s $f2, $f4 -/* 7BA08 800E2558 00000000 */ nop -/* 7BA0C 800E255C 4501003D */ bc1t .L800E2654 -/* 7BA10 800E2560 00000000 */ nop -.L800E2564: -/* 7BA14 800E2564 920200B4 */ lbu $v0, 0xb4($s0) -/* 7BA18 800E2568 2442FFFF */ addiu $v0, $v0, -1 -/* 7BA1C 800E256C 00021600 */ sll $v0, $v0, 0x18 -/* 7BA20 800E2570 00021E03 */ sra $v1, $v0, 0x18 -/* 7BA24 800E2574 2C620011 */ sltiu $v0, $v1, 0x11 -/* 7BA28 800E2578 1040002D */ beqz $v0, .L800E2630_7BAE0 -/* 7BA2C 800E257C 00031080 */ sll $v0, $v1, 2 -/* 7BA30 800E2580 3C018011 */ lui $at, %hi(jtbl_8010BD38) -/* 7BA34 800E2584 00220821 */ addu $at, $at, $v0 -/* 7BA38 800E2588 8C22BD38 */ lw $v0, %lo(jtbl_8010BD38)($at) -/* 7BA3C 800E258C 00400008 */ jr $v0 -/* 7BA40 800E2590 00000000 */ nop -.L800E2594_7BA44: -/* 7BA44 800E2594 3C014200 */ lui $at, 0x4200 -/* 7BA48 800E2598 44812000 */ mtc1 $at, $f4 -/* 7BA4C 800E259C 080389A5 */ j .L800E2694 -/* 7BA50 800E25A0 E4A4049C */ swc1 $f4, 0x49c($a1) -.L800E25A4_7BA54: -/* 7BA54 800E25A4 84A20034 */ lh $v0, 0x34($a1) -/* 7BA58 800E25A8 28420082 */ slti $v0, $v0, 0x82 -/* 7BA5C 800E25AC 10400005 */ beqz $v0, .L800E25C4 -/* 7BA60 800E25B0 00000000 */ nop -/* 7BA64 800E25B4 3C014040 */ lui $at, 0x4040 -/* 7BA68 800E25B8 44810000 */ mtc1 $at, $f0 -/* 7BA6C 800E25BC 080389A5 */ j .L800E2694 -/* 7BA70 800E25C0 E4A0049C */ swc1 $f0, 0x49c($a1) -.L800E25C4: -/* 7BA74 800E25C4 3C048011 */ lui $a0, %hi(D_8010C9A0) -/* 7BA78 800E25C8 2484C9A0 */ addiu $a0, $a0, %lo(D_8010C9A0) -/* 7BA7C 800E25CC 8C820000 */ lw $v0, ($a0) -/* 7BA80 800E25D0 3C014040 */ lui $at, 0x4040 -/* 7BA84 800E25D4 44812000 */ mtc1 $at, $f4 -/* 7BA88 800E25D8 0040182D */ daddu $v1, $v0, $zero -/* 7BA8C 800E25DC 24420001 */ addiu $v0, $v0, 1 -/* 7BA90 800E25E0 2863000B */ slti $v1, $v1, 0xb -/* 7BA94 800E25E4 1460002B */ bnez $v1, .L800E2694 -/* 7BA98 800E25E8 AC820000 */ sw $v0, ($a0) -/* 7BA9C 800E25EC C4A0049C */ lwc1 $f0, 0x49c($a1) -/* 7BAA0 800E25F0 3C014000 */ lui $at, 0x4000 -/* 7BAA4 800E25F4 44811000 */ mtc1 $at, $f2 -/* 7BAA8 800E25F8 00000000 */ nop -/* 7BAAC 800E25FC 46020001 */ sub.s $f0, $f0, $f2 -/* 7BAB0 800E2600 2402000A */ addiu $v0, $zero, 0xa -/* 7BAB4 800E2604 AC820000 */ sw $v0, ($a0) -.L800E2608: -/* 7BAB8 800E2608 4604003C */ c.lt.s $f0, $f4 -/* 7BABC 800E260C 00000000 */ nop -/* 7BAC0 800E2610 45000020 */ bc1f .L800E2694 -/* 7BAC4 800E2614 E4A0049C */ swc1 $f0, 0x49c($a1) -/* 7BAC8 800E2618 080389A5 */ j .L800E2694 -/* 7BACC 800E261C E4A4049C */ swc1 $f4, 0x49c($a1) -.L800E2620_7BAD0: -/* 7BAD0 800E2620 3C014040 */ lui $at, 0x4040 -/* 7BAD4 800E2624 44812000 */ mtc1 $at, $f4 -/* 7BAD8 800E2628 080389A5 */ j .L800E2694 -/* 7BADC 800E262C E4A4049C */ swc1 $f4, 0x49c($a1) -.L800E2630_7BAE0: -/* 7BAE0 800E2630 C4A0049C */ lwc1 $f0, 0x49c($a1) -/* 7BAE4 800E2634 3C014000 */ lui $at, 0x4000 -/* 7BAE8 800E2638 44811000 */ mtc1 $at, $f2 -/* 7BAEC 800E263C 3C014040 */ lui $at, 0x4040 -/* 7BAF0 800E2640 44812000 */ mtc1 $at, $f4 -/* 7BAF4 800E2644 3C018011 */ lui $at, %hi(D_8010C9A0) -/* 7BAF8 800E2648 AC20C9A0 */ sw $zero, %lo(D_8010C9A0)($at) -/* 7BAFC 800E264C 08038982 */ j .L800E2608 -/* 7BB00 800E2650 46020001 */ sub.s $f0, $f0, $f2 -.L800E2654: -/* 7BB04 800E2654 820300B4 */ lb $v1, 0xb4($s0) -/* 7BB08 800E2658 1860000A */ blez $v1, .L800E2684 -/* 7BB0C 800E265C 28620004 */ slti $v0, $v1, 4 -/* 7BB10 800E2660 14400003 */ bnez $v0, .L800E2670 -/* 7BB14 800E2664 24020011 */ addiu $v0, $zero, 0x11 -/* 7BB18 800E2668 14620006 */ bne $v1, $v0, .L800E2684 -/* 7BB1C 800E266C 00000000 */ nop -.L800E2670: -/* 7BB20 800E2670 3C0140E6 */ lui $at, 0x40e6 -/* 7BB24 800E2674 34216666 */ ori $at, $at, 0x6666 -/* 7BB28 800E2678 44812000 */ mtc1 $at, $f4 -/* 7BB2C 800E267C 080389A5 */ j .L800E2694 -/* 7BB30 800E2680 E4A4049C */ swc1 $f4, 0x49c($a1) -.L800E2684: -/* 7BB34 800E2684 3C0141C0 */ lui $at, 0x41c0 -/* 7BB38 800E2688 44812000 */ mtc1 $at, $f4 -/* 7BB3C 800E268C 00000000 */ nop -/* 7BB40 800E2690 E4A4049C */ swc1 $f4, 0x49c($a1) -.L800E2694: -/* 7BB44 800E2694 8FBF0014 */ lw $ra, 0x14($sp) -/* 7BB48 800E2698 8FB00010 */ lw $s0, 0x10($sp) -/* 7BB4C 800E269C 03E00008 */ jr $ra -/* 7BB50 800E26A0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 7BB54 800E26A4 00000000 */ nop -/* 7BB58 800E26A8 00000000 */ nop -/* 7BB5C 800E26AC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/evt/cam_api/ShakeCam.s b/ver/us/asm/nonmatchings/evt/cam_api/ShakeCam.s deleted file mode 100644 index 3f110d2e37..0000000000 --- a/ver/us/asm/nonmatchings/evt/cam_api/ShakeCam.s +++ /dev/null @@ -1,202 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_802DA1D0 -.double -0.8, 0.0 - -.section .text - -glabel ShakeCam -/* EFC58 802CB2A8 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* EFC5C 802CB2AC AFB5002C */ sw $s5, 0x2c($sp) -/* EFC60 802CB2B0 0080A82D */ daddu $s5, $a0, $zero -/* EFC64 802CB2B4 AFB20020 */ sw $s2, 0x20($sp) -/* EFC68 802CB2B8 00A0902D */ daddu $s2, $a1, $zero -/* EFC6C 802CB2BC AFBF0030 */ sw $ra, 0x30($sp) -/* EFC70 802CB2C0 AFB40028 */ sw $s4, 0x28($sp) -/* EFC74 802CB2C4 AFB30024 */ sw $s3, 0x24($sp) -/* EFC78 802CB2C8 AFB1001C */ sw $s1, 0x1c($sp) -/* EFC7C 802CB2CC AFB00018 */ sw $s0, 0x18($sp) -/* EFC80 802CB2D0 F7B40038 */ sdc1 $f20, 0x38($sp) -/* EFC84 802CB2D4 8EB0000C */ lw $s0, 0xc($s5) -/* EFC88 802CB2D8 8E050000 */ lw $a1, ($s0) -/* EFC8C 802CB2DC 0C0B1EAF */ jal evt_get_variable -/* EFC90 802CB2E0 26100004 */ addiu $s0, $s0, 4 -/* EFC94 802CB2E4 8E050000 */ lw $a1, ($s0) -/* EFC98 802CB2E8 26100004 */ addiu $s0, $s0, 4 -/* EFC9C 802CB2EC 02A0202D */ daddu $a0, $s5, $zero -/* EFCA0 802CB2F0 0C0B1EAF */ jal evt_get_variable -/* EFCA4 802CB2F4 0040882D */ daddu $s1, $v0, $zero -/* EFCA8 802CB2F8 8E050000 */ lw $a1, ($s0) -/* EFCAC 802CB2FC 26100004 */ addiu $s0, $s0, 4 -/* EFCB0 802CB300 02A0202D */ daddu $a0, $s5, $zero -/* EFCB4 802CB304 0C0B1EAF */ jal evt_get_variable -/* EFCB8 802CB308 0040982D */ daddu $s3, $v0, $zero -/* EFCBC 802CB30C 0040A02D */ daddu $s4, $v0, $zero -/* EFCC0 802CB310 8E050000 */ lw $a1, ($s0) -/* EFCC4 802CB314 0C0B210B */ jal evt_get_float_variable -/* EFCC8 802CB318 02A0202D */ daddu $a0, $s5, $zero -/* EFCCC 802CB31C 3C04800B */ lui $a0, %hi(gCameras) -/* EFCD0 802CB320 24841D80 */ addiu $a0, $a0, %lo(gCameras) -/* EFCD4 802CB324 00111080 */ sll $v0, $s1, 2 -/* EFCD8 802CB328 00511021 */ addu $v0, $v0, $s1 -/* EFCDC 802CB32C 00021080 */ sll $v0, $v0, 2 -/* EFCE0 802CB330 00511023 */ subu $v0, $v0, $s1 -/* EFCE4 802CB334 000218C0 */ sll $v1, $v0, 3 -/* EFCE8 802CB338 00431021 */ addu $v0, $v0, $v1 -/* EFCEC 802CB33C 000210C0 */ sll $v0, $v0, 3 -/* EFCF0 802CB340 00448021 */ addu $s0, $v0, $a0 -/* EFCF4 802CB344 12400031 */ beqz $s2, .L802CB40C -/* EFCF8 802CB348 46000500 */ add.s $f20, $f0, $f0 -/* EFCFC 802CB34C 06600005 */ bltz $s3, .L802CB364 -/* EFD00 802CB350 2A620002 */ slti $v0, $s3, 2 -/* EFD04 802CB354 14400003 */ bnez $v0, .L802CB364 -/* EFD08 802CB358 24020002 */ addiu $v0, $zero, 2 -/* EFD0C 802CB35C 52620001 */ beql $s3, $v0, .L802CB364 -/* EFD10 802CB360 0054A004 */ sllv $s4, $s4, $v0 -.L802CB364: -/* EFD14 802CB364 3C013F80 */ lui $at, 0x3f80 -/* EFD18 802CB368 44810000 */ mtc1 $at, $f0 -/* EFD1C 802CB36C 00000000 */ nop -/* EFD20 802CB370 E6A0007C */ swc1 $f0, 0x7c($s5) -/* EFD24 802CB374 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* EFD28 802CB378 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* EFD2C 802CB37C AEB40074 */ sw $s4, 0x74($s5) -/* EFD30 802CB380 80420070 */ lb $v0, 0x70($v0) -/* EFD34 802CB384 14400021 */ bnez $v0, .L802CB40C -/* EFD38 802CB388 00000000 */ nop -/* EFD3C 802CB38C 3C014120 */ lui $at, 0x4120 -/* EFD40 802CB390 44810000 */ mtc1 $at, $f0 -/* EFD44 802CB394 00000000 */ nop -/* EFD48 802CB398 4614003C */ c.lt.s $f0, $f20 -/* EFD4C 802CB39C 00000000 */ nop -/* EFD50 802CB3A0 45030001 */ bc1tl .L802CB3A8 -/* EFD54 802CB3A4 46000506 */ mov.s $f20, $f0 -.L802CB3A8: -/* EFD58 802CB3A8 3C0140C0 */ lui $at, 0x40c0 -/* EFD5C 802CB3AC 44810000 */ mtc1 $at, $f0 -/* EFD60 802CB3B0 00000000 */ nop -/* EFD64 802CB3B4 4614003C */ c.lt.s $f0, $f20 -/* EFD68 802CB3B8 00000000 */ nop -/* EFD6C 802CB3BC 45000002 */ bc1f .L802CB3C8 -/* EFD70 802CB3C0 4600A086 */ mov.s $f2, $f20 -/* EFD74 802CB3C4 46000086 */ mov.s $f2, $f0 -.L802CB3C8: -/* EFD78 802CB3C8 3C014200 */ lui $at, 0x4200 -/* EFD7C 802CB3CC 44810000 */ mtc1 $at, $f0 -/* EFD80 802CB3D0 00000000 */ nop -/* EFD84 802CB3D4 46001002 */ mul.s $f0, $f2, $f0 -/* EFD88 802CB3D8 00000000 */ nop -/* EFD8C 802CB3DC 0280282D */ daddu $a1, $s4, $zero -/* EFD90 802CB3E0 3C014280 */ lui $at, 0x4280 -/* EFD94 802CB3E4 44811000 */ mtc1 $at, $f2 -/* EFD98 802CB3E8 2A820005 */ slti $v0, $s4, 5 -/* EFD9C 802CB3EC 10400002 */ beqz $v0, .L802CB3F8 -/* EFDA0 802CB3F0 46020080 */ add.s $f2, $f0, $f2 -/* EFDA4 802CB3F4 24050005 */ addiu $a1, $zero, 5 -.L802CB3F8: -/* EFDA8 802CB3F8 4600110D */ trunc.w.s $f4, $f2 -/* EFDAC 802CB3FC 44042000 */ mfc1 $a0, $f4 -/* EFDB0 802CB400 30A5FFFF */ andi $a1, $a1, 0xffff -/* EFDB4 802CB404 0C00A3C2 */ jal start_rumble -/* EFDB8 802CB408 00052840 */ sll $a1, $a1, 1 -.L802CB40C: -/* EFDBC 802CB40C 96020000 */ lhu $v0, ($s0) -/* EFDC0 802CB410 34420008 */ ori $v0, $v0, 8 -/* EFDC4 802CB414 A6020000 */ sh $v0, ($s0) -/* EFDC8 802CB418 24020001 */ addiu $v0, $zero, 1 -/* EFDCC 802CB41C C6A2007C */ lwc1 $f2, 0x7c($s5) -/* EFDD0 802CB420 12620016 */ beq $s3, $v0, .L802CB47C -/* EFDD4 802CB424 2A620002 */ slti $v0, $s3, 2 -/* EFDD8 802CB428 10400005 */ beqz $v0, .L802CB440 -/* EFDDC 802CB42C 24020002 */ addiu $v0, $zero, 2 -/* EFDE0 802CB430 52600007 */ beql $s3, $zero, .L802CB450 -/* EFDE4 802CB434 46001007 */ neg.s $f0, $f2 -/* EFDE8 802CB438 080B2D47 */ j .L802CB51C -/* EFDEC 802CB43C 00000000 */ nop -.L802CB440: -/* EFDF0 802CB440 5262001B */ beql $s3, $v0, .L802CB4B0 -/* EFDF4 802CB444 46001007 */ neg.s $f0, $f2 -/* EFDF8 802CB448 080B2D47 */ j .L802CB51C -/* EFDFC 802CB44C 00000000 */ nop -.L802CB450: -/* EFE00 802CB450 46140002 */ mul.s $f0, $f0, $f20 -/* EFE04 802CB454 00000000 */ nop -/* EFE08 802CB458 44060000 */ mfc1 $a2, $f0 -/* EFE0C 802CB45C 44800000 */ mtc1 $zero, $f0 -/* EFE10 802CB460 00000000 */ nop -/* EFE14 802CB464 44050000 */ mfc1 $a1, $f0 -/* EFE18 802CB468 26040194 */ addiu $a0, $s0, 0x194 -/* EFE1C 802CB46C 0C019E40 */ jal guTranslateF -/* EFE20 802CB470 00A0382D */ daddu $a3, $a1, $zero -/* EFE24 802CB474 080B2D44 */ j .L802CB510 -/* EFE28 802CB478 00000000 */ nop -.L802CB47C: -/* EFE2C 802CB47C 46141082 */ mul.s $f2, $f2, $f20 -/* EFE30 802CB480 00000000 */ nop -/* EFE34 802CB484 44800000 */ mtc1 $zero, $f0 -/* EFE38 802CB488 26040194 */ addiu $a0, $s0, 0x194 -/* EFE3C 802CB48C 44060000 */ mfc1 $a2, $f0 -/* EFE40 802CB490 3C013F80 */ lui $at, 0x3f80 -/* EFE44 802CB494 44810000 */ mtc1 $at, $f0 -/* EFE48 802CB498 44051000 */ mfc1 $a1, $f2 -/* EFE4C 802CB49C 00C0382D */ daddu $a3, $a2, $zero -/* EFE50 802CB4A0 0C019EC8 */ jal guRotateF -/* EFE54 802CB4A4 E7A00010 */ swc1 $f0, 0x10($sp) -/* EFE58 802CB4A8 080B2D44 */ j .L802CB510 -/* EFE5C 802CB4AC 00000000 */ nop -.L802CB4B0: -/* EFE60 802CB4B0 46140002 */ mul.s $f0, $f0, $f20 -/* EFE64 802CB4B4 00000000 */ nop -/* EFE68 802CB4B8 44060000 */ mfc1 $a2, $f0 -/* EFE6C 802CB4BC 44800000 */ mtc1 $zero, $f0 -/* EFE70 802CB4C0 00000000 */ nop -/* EFE74 802CB4C4 44050000 */ mfc1 $a1, $f0 -/* EFE78 802CB4C8 26040194 */ addiu $a0, $s0, 0x194 -/* EFE7C 802CB4CC 0C019E40 */ jal guTranslateF -/* EFE80 802CB4D0 00A0382D */ daddu $a3, $a1, $zero -/* EFE84 802CB4D4 8EA30074 */ lw $v1, 0x74($s5) -/* EFE88 802CB4D8 00141040 */ sll $v0, $s4, 1 -/* EFE8C 802CB4DC 0062102A */ slt $v0, $v1, $v0 -/* EFE90 802CB4E0 1040000B */ beqz $v0, .L802CB510 -/* EFE94 802CB4E4 0283102A */ slt $v0, $s4, $v1 -/* EFE98 802CB4E8 10400009 */ beqz $v0, .L802CB510 -/* EFE9C 802CB4EC 00000000 */ nop -/* EFEA0 802CB4F0 C6A0007C */ lwc1 $f0, 0x7c($s5) -/* EFEA4 802CB4F4 3C01802E */ lui $at, %hi(D_802DA1D0) -/* EFEA8 802CB4F8 D422A1D0 */ ldc1 $f2, %lo(D_802DA1D0)($at) -/* EFEAC 802CB4FC 46000021 */ cvt.d.s $f0, $f0 -/* EFEB0 802CB500 46220002 */ mul.d $f0, $f0, $f2 -/* EFEB4 802CB504 00000000 */ nop -/* EFEB8 802CB508 080B2D46 */ j .L802CB518 -/* EFEBC 802CB50C 46200020 */ cvt.s.d $f0, $f0 -.L802CB510: -/* EFEC0 802CB510 C6A0007C */ lwc1 $f0, 0x7c($s5) -/* EFEC4 802CB514 46000007 */ neg.s $f0, $f0 -.L802CB518: -/* EFEC8 802CB518 E6A0007C */ swc1 $f0, 0x7c($s5) -.L802CB51C: -/* EFECC 802CB51C 8EA20074 */ lw $v0, 0x74($s5) -/* EFED0 802CB520 10400004 */ beqz $v0, .L802CB534 -/* EFED4 802CB524 2442FFFF */ addiu $v0, $v0, -1 -/* EFED8 802CB528 AEA20074 */ sw $v0, 0x74($s5) -/* EFEDC 802CB52C 080B2D51 */ j .L802CB544 -/* EFEE0 802CB530 0000102D */ daddu $v0, $zero, $zero -.L802CB534: -/* EFEE4 802CB534 96030000 */ lhu $v1, ($s0) -/* EFEE8 802CB538 24020002 */ addiu $v0, $zero, 2 -/* EFEEC 802CB53C 3063FFF7 */ andi $v1, $v1, 0xfff7 -/* EFEF0 802CB540 A6030000 */ sh $v1, ($s0) -.L802CB544: -/* EFEF4 802CB544 8FBF0030 */ lw $ra, 0x30($sp) -/* EFEF8 802CB548 8FB5002C */ lw $s5, 0x2c($sp) -/* EFEFC 802CB54C 8FB40028 */ lw $s4, 0x28($sp) -/* EFF00 802CB550 8FB30024 */ lw $s3, 0x24($sp) -/* EFF04 802CB554 8FB20020 */ lw $s2, 0x20($sp) -/* EFF08 802CB558 8FB1001C */ lw $s1, 0x1c($sp) -/* EFF0C 802CB55C 8FB00018 */ lw $s0, 0x18($sp) -/* EFF10 802CB560 D7B40038 */ ldc1 $f20, 0x38($sp) -/* EFF14 802CB564 03E00008 */ jr $ra -/* EFF18 802CB568 27BD0040 */ addiu $sp, $sp, 0x40