mirror of
https://github.com/pmret/papermario.git
synced 2024-11-09 12:32:38 +01:00
Match world/action/jump funcs (#352)
* Match all funcs * Update common_structs.h func_802B6000_E24040 was attempting to assign an f32 to a char[], so I updated these * Added a couple of flags * Some requested changes I couldn't figure out how to get Kelebek1's suggestions for the suggest_player_anim_clearUnkFlag to work, but I managed to do it for sfx_play_sound_at_player * Update enums.h Removed unnecessary flag that I previously added * Update functions.h * Update 7bb60_len_41b0.c There were some conflicting declarations so I changed them * Delete ver/us/asm/nonmatchings/world/action/jump directory * Update jump.c
This commit is contained in:
parent
7a6368c960
commit
f23045e775
@ -1873,9 +1873,11 @@ typedef struct PlayerStatus {
|
||||
/* 0x016 */ Vec3s lastGoodPosition;
|
||||
/* 0x01C */ Vec3f extraVelocity;
|
||||
/* 0x028 */ Vec3f position;
|
||||
/* 0x034 */ char unk_34[16];
|
||||
/* 0x034 */ char unk_34[8];
|
||||
/* 0x03C */ f32 unk_3C;
|
||||
/* 0x040 */ f32 unk_40;
|
||||
/* 0x044 */ f32 decorationPos[2];
|
||||
/* 0x04C */ char unk_4C[4];
|
||||
/* 0x04C */ f32 unk_4C;
|
||||
/* 0x050 */ f32 jumpApexHeight;
|
||||
/* 0x054 */ f32 currentSpeed;
|
||||
/* 0x058 */ f32 walkSpeed;
|
||||
|
@ -607,6 +607,7 @@ enum SoundIDs {
|
||||
SOUND_UNKNOWN_2039,
|
||||
SOUND_BOMB_BLAST = 8310,
|
||||
SOUND_JUMP_2081 = 8321,
|
||||
SOUND_JUMP_8BIT_MARIO = 8322,
|
||||
SOUND_UNKNOWN_208C = 8332,
|
||||
SOUND_UNKNOWN_208D,
|
||||
SOUND_UNKNOWN_208E,
|
||||
|
@ -150,6 +150,8 @@ void get_dpad_input_radial(f32* angle, f32* magnitude);
|
||||
void transform_point(Matrix4f mtx, f32 inX, f32 inY, f32 inZ, f32 inS, f32* outX, f32* outY, f32* outZ, f32* outS);
|
||||
void try_player_footstep_sounds(s32 arg0);
|
||||
void phys_update_interact_collider(void);
|
||||
void phys_adjust_cam_on_landing();
|
||||
void phys_init_integrator_for_current_state();
|
||||
|
||||
void create_popup_menu(void*);
|
||||
s32 npc_test_move_simple_without_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
||||
@ -221,6 +223,7 @@ void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32
|
||||
|
||||
s32 npc_raycast_down_ahead(s32, f32*, f32*, f32*, f32*, f32, f32);
|
||||
s32 npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*);
|
||||
s32 player_raycast_below_cam_relative(PlayerStatus*, f32*, f32*, f32*, f32*, f32*, f32*, f32*, f32*);
|
||||
s32 npc_test_move_taller_with_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
||||
s32 npc_test_move_simple_with_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
||||
s32 npc_test_move_complex_with_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
|
||||
@ -285,6 +288,7 @@ void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height);
|
||||
void disable_player_shadow(void);
|
||||
void move_player(s32 duration, f32 heading, f32 speed);
|
||||
s32 enable_player_input(void);
|
||||
s32 check_input_jump();
|
||||
|
||||
Npc* get_npc_safe(NpcID npcId);
|
||||
Npc* get_npc_unsafe(NpcID npcId);
|
||||
@ -300,6 +304,7 @@ void add_vec2D_polar(f32* x, f32* y, f32 r, f32 theta);
|
||||
s32 sfx_adjust_env_sound_pos(s32 soundID, s32 arg1, f32 arg2, f32 arg3, f32 arg4);
|
||||
void sfx_play_sound(s32 soundID);
|
||||
s32 sfx_play_sound_at_position(s32 soundID, s32 value2, f32 posX, f32 posY, f32 posZ);
|
||||
void sfx_play_sound_at_player(s32 soundID, s32 arg0);
|
||||
s32 bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s16 volume);
|
||||
void func_801497FC(s32 arg0);
|
||||
s32 func_8014AA54(s32 playerIndex, s32 arg1, s16 arg2);
|
||||
@ -331,6 +336,7 @@ ScriptInstance* get_script_by_index(s32 index);
|
||||
void set_action_state(s32 actionState);
|
||||
s32 get_collider_type_by_id(s32 colliderID);
|
||||
void suggest_player_anim_setUnkFlag(s32 arg0);
|
||||
void suggest_player_anim_clearUnkFlag(s32 arg0);
|
||||
void subtract_hp(s32 amt);
|
||||
void open_status_menu_long(void);
|
||||
|
||||
|
@ -64,7 +64,51 @@ INCLUDE_ASM(s32, "7bb60_len_41b0", func_800E2BB0);
|
||||
|
||||
INCLUDE_ASM(s32, "7bb60_len_41b0", phys_update_jump);
|
||||
|
||||
INCLUDE_ASM(s32, "7bb60_len_41b0", phys_init_integrator_for_current_state);
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Rodata issue.
|
||||
extern s32 D_800F7B50;
|
||||
|
||||
void phys_init_integrator_for_current_state() {
|
||||
f32* temp_a0;
|
||||
s8 temp_v0;
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
||||
temp_v0 = playerStatus->actionState - 3;
|
||||
switch (temp_v0) {
|
||||
case 4:
|
||||
playerStatus->gravityIntegrator[0] = 10.0f;
|
||||
playerStatus->gravityIntegrator[1] = -5.0f;
|
||||
playerStatus->gravityIntegrator[2] = 1.5f;
|
||||
playerStatus->gravityIntegrator[3] = -0.3f;
|
||||
return;
|
||||
case 0:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 18:
|
||||
case 20:
|
||||
temp_a0 = &D_800F7B50 ;
|
||||
if ((playerStatus->flags & 0x40000) == 0) {
|
||||
playerStatus->gravityIntegrator[0] = *temp_a0++;
|
||||
playerStatus->gravityIntegrator[1] = *temp_a0++;
|
||||
playerStatus->gravityIntegrator[2] = *temp_a0++;
|
||||
playerStatus->gravityIntegrator[3] = *temp_a0;
|
||||
return;
|
||||
}
|
||||
|
||||
playerStatus->gravityIntegrator[0] = *temp_a0++ * 0.5f;
|
||||
playerStatus->gravityIntegrator[1] = *temp_a0++ * 0.5f;
|
||||
playerStatus->gravityIntegrator[2] = *temp_a0++ * 0.5f;
|
||||
playerStatus->gravityIntegrator[3] = *temp_a0++ * 0.5f;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(void, "7bb60_len_41b0", phys_init_integrator_for_current_state);
|
||||
#endif // NON_MATCHING
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// void gravity_use_fall_parms(void) {
|
||||
@ -340,7 +384,7 @@ void func_800E5520(void) {
|
||||
D_8010C9B0 = 0;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "7bb60_len_41b0", phys_adjust_cam_on_landing);
|
||||
INCLUDE_ASM(void, "7bb60_len_41b0", phys_adjust_cam_on_landing);
|
||||
|
||||
INCLUDE_ASM(s32, "7bb60_len_41b0", phys_clear_spin_history);
|
||||
|
||||
|
@ -1,15 +1,220 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(void, "world/action/jump", func_802B6000_E24040, void);
|
||||
extern f32 D_8010C960;
|
||||
extern f32 D_8010C97C;
|
||||
|
||||
INCLUDE_ASM(void, "world/action/jump", func_802B60B4_E240F4, void);
|
||||
void func_802B6000_E24040() {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
CollisionStatus* collisionStatus;
|
||||
s32 temp_v1;
|
||||
|
||||
INCLUDE_ASM(void, "world/action/jump", func_802B6198_E241D8, void);
|
||||
playerStatus->fallState = 0;
|
||||
playerStatus->decorationList = 0;
|
||||
playerStatus->unk_C2 = 0;
|
||||
playerStatus->flags &= 0x7FFFFFF7;
|
||||
playerStatus->flags |= 2;
|
||||
playerStatus->unk_3C = playerStatus->position.x;
|
||||
playerStatus->unk_40 = playerStatus->position.z;
|
||||
playerStatus->unk_4C = playerStatus->position.y;
|
||||
|
||||
INCLUDE_ASM(void, "world/action/jump", func_802B6294_E242D4, void);
|
||||
phys_init_integrator_for_current_state();
|
||||
collisionStatus = &gCollisionStatus;
|
||||
|
||||
INCLUDE_ASM(void, "world/action/jump", func_802B6348_E24388, void);
|
||||
if (playerStatus->animFlags & PLAYER_ANIM_FLAG_8BIT_MARIO) {
|
||||
temp_v1 = 0x90005;
|
||||
}
|
||||
else {
|
||||
if (!(playerStatus->animFlags & (PLAYER_ANIM_FLAG_HOLDING_ITEM | PLAYER_ANIM_FLAG_2))) {
|
||||
temp_v1 = 0x10007;
|
||||
} else {
|
||||
temp_v1 = 0x60009;
|
||||
}
|
||||
}
|
||||
suggest_player_anim_clearUnkFlag(temp_v1);
|
||||
collisionStatus->lastTouchedFloor = collisionStatus->currentFloor;
|
||||
collisionStatus->currentFloor = -1;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(void, "world/action/jump", func_802B647C_E244BC, void);
|
||||
void func_802B60B4_E240F4() {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
s32 phi_a0;
|
||||
|
||||
INCLUDE_ASM(void, "world/action/jump", func_802B6508_E24548, void);
|
||||
if (playerStatus->flags < 0) {
|
||||
playerStatus->flags &= ~0x80000000;
|
||||
func_802B6000_E24040();
|
||||
|
||||
if (playerStatus->actionState == ACTION_STATE_LAUNCH) {
|
||||
phys_adjust_cam_on_landing();
|
||||
} else {
|
||||
gCameras[0].moveFlags |= 1;
|
||||
}
|
||||
|
||||
if (playerStatus->actionState == ACTION_STATE_JUMP) {
|
||||
if (playerStatus->animFlags & PLAYER_ANIM_FLAG_8BIT_MARIO) {
|
||||
sfx_play_sound_at_player(SOUND_JUMP_8BIT_MARIO, 0);
|
||||
}
|
||||
else {
|
||||
sfx_play_sound_at_player(SOUND_JUMP_2081, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (playerStatus->animFlags & PLAYER_ANIM_FLAG_8BIT_MARIO) {
|
||||
phi_a0 = 0x90005;
|
||||
} else {
|
||||
if (!(playerStatus->animFlags & (PLAYER_ANIM_FLAG_HOLDING_ITEM | PLAYER_ANIM_FLAG_2))) {
|
||||
phi_a0 = 0x10007;
|
||||
}
|
||||
else {
|
||||
phi_a0 = 0x60009;
|
||||
}
|
||||
}
|
||||
|
||||
suggest_player_anim_clearUnkFlag(phi_a0);
|
||||
playerStatus->decorationList++;
|
||||
}
|
||||
|
||||
void func_802B6198_E241D8() {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
CollisionStatus* collisionStatus = &gCollisionStatus;
|
||||
Entity* entity;
|
||||
s32 temp_s1;
|
||||
s32 phi_a0;
|
||||
|
||||
temp_s1 = 0x80000000;
|
||||
if (playerStatus->flags < 0) {
|
||||
entity = get_entity_by_index(collisionStatus->currentFloor);
|
||||
D_8010C960 = entity->position.x;
|
||||
D_8010C97C = entity->position.z;
|
||||
func_802B6000_E24040();
|
||||
playerStatus->flags |= 0x880000;
|
||||
disable_player_input();
|
||||
}
|
||||
|
||||
playerStatus->decorationList++;
|
||||
if (playerStatus->fallState == 1) {
|
||||
if (playerStatus->flags & 0x80000000) {
|
||||
|
||||
playerStatus->flags &= 0x7FFFFFF5;
|
||||
playerStatus->flags |= 4;
|
||||
|
||||
phi_a0 = 0x6000A;
|
||||
|
||||
if (!(playerStatus->animFlags & (PLAYER_ANIM_FLAG_HOLDING_ITEM | PLAYER_ANIM_FLAG_2))) {
|
||||
phi_a0 = 0x10008;
|
||||
}
|
||||
|
||||
temp_s1 = phi_a0;
|
||||
suggest_player_anim_clearUnkFlag(temp_s1);
|
||||
gCameras[0].moveFlags |= 1;
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
playerStatus->fallState++;
|
||||
}
|
||||
|
||||
void func_802B6294_E242D4() {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
s32 phi_a0;
|
||||
|
||||
if (playerStatus->animFlags & PLAYER_ANIM_FLAG_PEACH_PHYSICS) {
|
||||
func_802B647C_E244BC();
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerStatus->flags < 0) {
|
||||
playerStatus->flags &= 0x7FFFFFF5;
|
||||
playerStatus->flags |= 4;
|
||||
|
||||
if (playerStatus->animFlags & PLAYER_ANIM_FLAG_8BIT_MARIO) {
|
||||
phi_a0 = 0x90005;
|
||||
} else {
|
||||
if (!(playerStatus->animFlags & (PLAYER_ANIM_FLAG_HOLDING_ITEM | PLAYER_ANIM_FLAG_2))) {
|
||||
phi_a0 = 0x10008;
|
||||
}
|
||||
else {
|
||||
phi_a0 = 0x6000A;
|
||||
}
|
||||
}
|
||||
suggest_player_anim_clearUnkFlag(phi_a0);
|
||||
gCameras[0].moveFlags |= 1;
|
||||
}
|
||||
playerStatus->decorationList++;
|
||||
}
|
||||
|
||||
void func_802B6348_E24388() {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
f32 sub_arg5;
|
||||
f32 sub_arg6;
|
||||
f32 sub_arg7;
|
||||
f32 sub_arg8;
|
||||
f32 sp28;
|
||||
f32 sp2C;
|
||||
f32 sp30;
|
||||
f32 sp34;
|
||||
|
||||
if (playerStatus->animFlags & PLAYER_ANIM_FLAG_PEACH_PHYSICS) {
|
||||
func_802B6508_E24548();
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerStatus->flags < 0) {
|
||||
playerStatus->flags &= 0x7FFFFFF5;
|
||||
playerStatus->flags |= 4;
|
||||
gCameras[0].moveFlags |= 1;
|
||||
}
|
||||
|
||||
playerStatus->decorationList++;
|
||||
phys_update_interact_collider();
|
||||
sp28 = playerStatus->position.x;
|
||||
sp2C = playerStatus->position.y;
|
||||
sp30 = playerStatus->position.z;
|
||||
sp34 = playerStatus->colliderHeight;
|
||||
|
||||
if (((get_collider_type_by_id(player_raycast_below_cam_relative(playerStatus, &sp28, &sp2C, &sp30, &sp34,
|
||||
&sub_arg5, &sub_arg6, &sub_arg7, &sub_arg8)) & 0xFF) - 2 >= 2U) && check_input_jump()) {
|
||||
|
||||
set_action_state(ACTION_STATE_JUMP);
|
||||
playerStatus->flags &= -0xF;
|
||||
func_802B60B4_E240F4();
|
||||
}
|
||||
}
|
||||
|
||||
void func_802B647C_E244BC() {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
s32 temp_v1;
|
||||
|
||||
if (playerStatus->flags < 0) {
|
||||
playerStatus->flags &= ~0x80000000;
|
||||
playerStatus->flags &= ~0xA;
|
||||
playerStatus->flags |= 4;
|
||||
|
||||
if (!(playerStatus->animFlags & PLAYER_ANIM_FLAG_PEACH_PHYSICS)) {
|
||||
temp_v1 = 0x10008;
|
||||
} else {
|
||||
temp_v1 = 0xA0006;
|
||||
}
|
||||
|
||||
suggest_player_anim_clearUnkFlag(temp_v1);
|
||||
gCameras[0].moveFlags |= 1;
|
||||
}
|
||||
playerStatus->decorationList++;
|
||||
}
|
||||
|
||||
void func_802B6508_E24548() {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
||||
if (playerStatus->flags < 0) {
|
||||
playerStatus->flags &= ~0x80000000;
|
||||
playerStatus->flags &= ~0xA;
|
||||
playerStatus->flags |= 4;
|
||||
gCameras[0].moveFlags |= 1;
|
||||
|
||||
if (playerStatus->animFlags & PLAYER_ANIM_FLAG_PEACH_PHYSICS) {
|
||||
suggest_player_anim_clearUnkFlag(0xA0006);
|
||||
}
|
||||
}
|
||||
playerStatus->decorationList++;
|
||||
phys_update_interact_collider();
|
||||
}
|
||||
|
@ -1,51 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802B6000_E24040
|
||||
/* E24040 802B6000 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E24044 802B6004 3C037FFF */ lui $v1, 0x7fff
|
||||
/* E24048 802B6008 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2404C 802B600C 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* E24050 802B6010 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* E24054 802B6014 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E24058 802B6018 8E020000 */ lw $v0, ($s0)
|
||||
/* E2405C 802B601C C6000028 */ lwc1 $f0, 0x28($s0)
|
||||
/* E24060 802B6020 C6020030 */ lwc1 $f2, 0x30($s0)
|
||||
/* E24064 802B6024 C604002C */ lwc1 $f4, 0x2c($s0)
|
||||
/* E24068 802B6028 3463FFF7 */ ori $v1, $v1, 0xfff7
|
||||
/* E2406C 802B602C A20000B6 */ sb $zero, 0xb6($s0)
|
||||
/* E24070 802B6030 A60000C0 */ sh $zero, 0xc0($s0)
|
||||
/* E24074 802B6034 A60000C2 */ sh $zero, 0xc2($s0)
|
||||
/* E24078 802B6038 00431024 */ and $v0, $v0, $v1
|
||||
/* E2407C 802B603C 34420002 */ ori $v0, $v0, 2
|
||||
/* E24080 802B6040 AE020000 */ sw $v0, ($s0)
|
||||
/* E24084 802B6044 E600003C */ swc1 $f0, 0x3c($s0)
|
||||
/* E24088 802B6048 E6020040 */ swc1 $f2, 0x40($s0)
|
||||
/* E2408C 802B604C 0C038BD8 */ jal phys_init_integrator_for_current_state
|
||||
/* E24090 802B6050 E604004C */ swc1 $f4, 0x4c($s0)
|
||||
/* E24094 802B6054 8E030004 */ lw $v1, 4($s0)
|
||||
/* E24098 802B6058 3C108016 */ lui $s0, %hi(gCollisionStatus)
|
||||
/* E2409C 802B605C 2610A550 */ addiu $s0, $s0, %lo(gCollisionStatus)
|
||||
/* E240A0 802B6060 30624000 */ andi $v0, $v1, 0x4000
|
||||
/* E240A4 802B6064 10400003 */ beqz $v0, .L802B6074
|
||||
/* E240A8 802B6068 3C040009 */ lui $a0, 9
|
||||
/* E240AC 802B606C 080AD823 */ j .L802B608C
|
||||
/* E240B0 802B6070 34840005 */ ori $a0, $a0, 5
|
||||
.L802B6074:
|
||||
/* E240B4 802B6074 3C040006 */ lui $a0, 6
|
||||
/* E240B8 802B6078 30620003 */ andi $v0, $v1, 3
|
||||
/* E240BC 802B607C 14400003 */ bnez $v0, .L802B608C
|
||||
/* E240C0 802B6080 34840009 */ ori $a0, $a0, 9
|
||||
/* E240C4 802B6084 3C040001 */ lui $a0, 1
|
||||
/* E240C8 802B6088 34840007 */ ori $a0, $a0, 7
|
||||
.L802B608C:
|
||||
/* E240CC 802B608C 0C037FBF */ jal suggest_player_anim_clearUnkFlag
|
||||
/* E240D0 802B6090 00000000 */ nop
|
||||
/* E240D4 802B6094 96030002 */ lhu $v1, 2($s0)
|
||||
/* E240D8 802B6098 2402FFFF */ addiu $v0, $zero, -1
|
||||
/* E240DC 802B609C A6020002 */ sh $v0, 2($s0)
|
||||
/* E240E0 802B60A0 A6030004 */ sh $v1, 4($s0)
|
||||
/* E240E4 802B60A4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E240E8 802B60A8 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E240EC 802B60AC 03E00008 */ jr $ra
|
||||
/* E240F0 802B60B0 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,67 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802B60B4_E240F4
|
||||
/* E240F4 802B60B4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E240F8 802B60B8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E240FC 802B60BC 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* E24100 802B60C0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* E24104 802B60C4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E24108 802B60C8 8E030000 */ lw $v1, ($s0)
|
||||
/* E2410C 802B60CC 0461001D */ bgez $v1, .L802B6144
|
||||
/* E24110 802B60D0 3C027FFF */ lui $v0, 0x7fff
|
||||
/* E24114 802B60D4 3442FFFF */ ori $v0, $v0, 0xffff
|
||||
/* E24118 802B60D8 00621024 */ and $v0, $v1, $v0
|
||||
/* E2411C 802B60DC 0C0AD800 */ jal func_802B6000_E24040
|
||||
/* E24120 802B60E0 AE020000 */ sw $v0, ($s0)
|
||||
/* E24124 802B60E4 820300B4 */ lb $v1, 0xb4($s0)
|
||||
/* E24128 802B60E8 24020006 */ addiu $v0, $zero, 6
|
||||
/* E2412C 802B60EC 14620005 */ bne $v1, $v0, .L802B6104
|
||||
/* E24130 802B60F0 00000000 */ nop
|
||||
/* E24134 802B60F4 0C03954C */ jal phys_adjust_cam_on_landing
|
||||
/* E24138 802B60F8 00000000 */ nop
|
||||
/* E2413C 802B60FC 080AD846 */ j .L802B6118
|
||||
/* E24140 802B6100 00000000 */ nop
|
||||
.L802B6104:
|
||||
/* E24144 802B6104 3C03800B */ lui $v1, %hi(gCameras)
|
||||
/* E24148 802B6108 24631D80 */ addiu $v1, $v1, %lo(gCameras)
|
||||
/* E2414C 802B610C 94620002 */ lhu $v0, 2($v1)
|
||||
/* E24150 802B6110 34420001 */ ori $v0, $v0, 1
|
||||
/* E24154 802B6114 A4620002 */ sh $v0, 2($v1)
|
||||
.L802B6118:
|
||||
/* E24158 802B6118 820300B4 */ lb $v1, 0xb4($s0)
|
||||
/* E2415C 802B611C 24020003 */ addiu $v0, $zero, 3
|
||||
/* E24160 802B6120 14620008 */ bne $v1, $v0, .L802B6144
|
||||
/* E24164 802B6124 00000000 */ nop
|
||||
/* E24168 802B6128 8E020004 */ lw $v0, 4($s0)
|
||||
/* E2416C 802B612C 30424000 */ andi $v0, $v0, 0x4000
|
||||
/* E24170 802B6130 10400002 */ beqz $v0, .L802B613C
|
||||
/* E24174 802B6134 24042081 */ addiu $a0, $zero, 0x2081
|
||||
/* E24178 802B6138 24042082 */ addiu $a0, $zero, 0x2082
|
||||
.L802B613C:
|
||||
/* E2417C 802B613C 0C052736 */ jal sfx_play_sound_at_player
|
||||
/* E24180 802B6140 0000282D */ daddu $a1, $zero, $zero
|
||||
.L802B6144:
|
||||
/* E24184 802B6144 8E030004 */ lw $v1, 4($s0)
|
||||
/* E24188 802B6148 30624000 */ andi $v0, $v1, 0x4000
|
||||
/* E2418C 802B614C 10400003 */ beqz $v0, .L802B615C
|
||||
/* E24190 802B6150 3C040009 */ lui $a0, 9
|
||||
/* E24194 802B6154 080AD85D */ j .L802B6174
|
||||
/* E24198 802B6158 34840005 */ ori $a0, $a0, 5
|
||||
.L802B615C:
|
||||
/* E2419C 802B615C 3C040006 */ lui $a0, 6
|
||||
/* E241A0 802B6160 30620003 */ andi $v0, $v1, 3
|
||||
/* E241A4 802B6164 14400003 */ bnez $v0, .L802B6174
|
||||
/* E241A8 802B6168 34840009 */ ori $a0, $a0, 9
|
||||
/* E241AC 802B616C 3C040001 */ lui $a0, 1
|
||||
/* E241B0 802B6170 34840007 */ ori $a0, $a0, 7
|
||||
.L802B6174:
|
||||
/* E241B4 802B6174 0C037FBF */ jal suggest_player_anim_clearUnkFlag
|
||||
/* E241B8 802B6178 00000000 */ nop
|
||||
/* E241BC 802B617C 960200C0 */ lhu $v0, 0xc0($s0)
|
||||
/* E241C0 802B6180 24420001 */ addiu $v0, $v0, 1
|
||||
/* E241C4 802B6184 A60200C0 */ sh $v0, 0xc0($s0)
|
||||
/* E241C8 802B6188 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E241CC 802B618C 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E241D0 802B6190 03E00008 */ jr $ra
|
||||
/* E241D4 802B6194 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,71 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802B6198_E241D8
|
||||
/* E241D8 802B6198 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E241DC 802B619C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E241E0 802B61A0 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* E241E4 802B61A4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* E241E8 802B61A8 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* E241EC 802B61AC AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* E241F0 802B61B0 8E020000 */ lw $v0, ($s0)
|
||||
/* E241F4 802B61B4 04410012 */ bgez $v0, .L802B6200
|
||||
/* E241F8 802B61B8 3C118000 */ lui $s1, 0x8000
|
||||
/* E241FC 802B61BC 3C028016 */ lui $v0, %hi(gCollisionStatus)
|
||||
/* E24200 802B61C0 2442A550 */ addiu $v0, $v0, %lo(gCollisionStatus)
|
||||
/* E24204 802B61C4 0C04417A */ jal get_entity_by_index
|
||||
/* E24208 802B61C8 84440002 */ lh $a0, 2($v0)
|
||||
/* E2420C 802B61CC C4400048 */ lwc1 $f0, 0x48($v0)
|
||||
/* E24210 802B61D0 C4420050 */ lwc1 $f2, 0x50($v0)
|
||||
/* E24214 802B61D4 3C018011 */ lui $at, %hi(D_8010C960)
|
||||
/* E24218 802B61D8 E420C960 */ swc1 $f0, %lo(D_8010C960)($at)
|
||||
/* E2421C 802B61DC 3C018011 */ lui $at, %hi(D_8010C97C)
|
||||
/* E24220 802B61E0 E422C97C */ swc1 $f2, %lo(D_8010C97C)($at)
|
||||
/* E24224 802B61E4 0C0AD800 */ jal func_802B6000_E24040
|
||||
/* E24228 802B61E8 00000000 */ nop
|
||||
/* E2422C 802B61EC 8E020000 */ lw $v0, ($s0)
|
||||
/* E24230 802B61F0 3C030088 */ lui $v1, 0x88
|
||||
/* E24234 802B61F4 00431025 */ or $v0, $v0, $v1
|
||||
/* E24238 802B61F8 0C03805E */ jal disable_player_input
|
||||
/* E2423C 802B61FC AE020000 */ sw $v0, ($s0)
|
||||
.L802B6200:
|
||||
/* E24240 802B6200 960200C0 */ lhu $v0, 0xc0($s0)
|
||||
/* E24244 802B6204 820300B6 */ lb $v1, 0xb6($s0)
|
||||
/* E24248 802B6208 24420001 */ addiu $v0, $v0, 1
|
||||
/* E2424C 802B620C A60200C0 */ sh $v0, 0xc0($s0)
|
||||
/* E24250 802B6210 24020001 */ addiu $v0, $zero, 1
|
||||
/* E24254 802B6214 1462001A */ bne $v1, $v0, .L802B6280
|
||||
/* E24258 802B6218 00000000 */ nop
|
||||
/* E2425C 802B621C 8E050000 */ lw $a1, ($s0)
|
||||
/* E24260 802B6220 00B11024 */ and $v0, $a1, $s1
|
||||
/* E24264 802B6224 10400013 */ beqz $v0, .L802B6274
|
||||
/* E24268 802B6228 3C037FFF */ lui $v1, 0x7fff
|
||||
/* E2426C 802B622C 3463FFF5 */ ori $v1, $v1, 0xfff5
|
||||
/* E24270 802B6230 3C040006 */ lui $a0, 6
|
||||
/* E24274 802B6234 3484000A */ ori $a0, $a0, 0xa
|
||||
/* E24278 802B6238 00A31824 */ and $v1, $a1, $v1
|
||||
/* E2427C 802B623C 8E020004 */ lw $v0, 4($s0)
|
||||
/* E24280 802B6240 34630004 */ ori $v1, $v1, 4
|
||||
/* E24284 802B6244 30420003 */ andi $v0, $v0, 3
|
||||
/* E24288 802B6248 14400003 */ bnez $v0, .L802B6258
|
||||
/* E2428C 802B624C AE030000 */ sw $v1, ($s0)
|
||||
/* E24290 802B6250 3C040001 */ lui $a0, 1
|
||||
/* E24294 802B6254 34840008 */ ori $a0, $a0, 8
|
||||
.L802B6258:
|
||||
/* E24298 802B6258 0C037FBF */ jal suggest_player_anim_clearUnkFlag
|
||||
/* E2429C 802B625C 00000000 */ nop
|
||||
/* E242A0 802B6260 3C03800B */ lui $v1, %hi(gCameras)
|
||||
/* E242A4 802B6264 24631D80 */ addiu $v1, $v1, %lo(gCameras)
|
||||
/* E242A8 802B6268 94620002 */ lhu $v0, 2($v1)
|
||||
/* E242AC 802B626C 34420001 */ ori $v0, $v0, 1
|
||||
/* E242B0 802B6270 A4620002 */ sh $v0, 2($v1)
|
||||
.L802B6274:
|
||||
/* E242B4 802B6274 920200B6 */ lbu $v0, 0xb6($s0)
|
||||
/* E242B8 802B6278 24420001 */ addiu $v0, $v0, 1
|
||||
/* E242BC 802B627C A20200B6 */ sb $v0, 0xb6($s0)
|
||||
.L802B6280:
|
||||
/* E242C0 802B6280 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* E242C4 802B6284 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* E242C8 802B6288 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E242CC 802B628C 03E00008 */ jr $ra
|
||||
/* E242D0 802B6290 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,54 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802B6294_E242D4
|
||||
/* E242D4 802B6294 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E242D8 802B6298 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E242DC 802B629C 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* E242E0 802B62A0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* E242E4 802B62A4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E242E8 802B62A8 8E050004 */ lw $a1, 4($s0)
|
||||
/* E242EC 802B62AC 30A21000 */ andi $v0, $a1, 0x1000
|
||||
/* E242F0 802B62B0 10400005 */ beqz $v0, .L802B62C8
|
||||
/* E242F4 802B62B4 00000000 */ nop
|
||||
/* E242F8 802B62B8 0C0AD91F */ jal func_802B647C_E244BC
|
||||
/* E242FC 802B62BC 00000000 */ nop
|
||||
/* E24300 802B62C0 080AD8CE */ j .L802B6338
|
||||
/* E24304 802B62C4 00000000 */ nop
|
||||
.L802B62C8:
|
||||
/* E24308 802B62C8 8E030000 */ lw $v1, ($s0)
|
||||
/* E2430C 802B62CC 04610017 */ bgez $v1, .L802B632C
|
||||
/* E24310 802B62D0 3C027FFF */ lui $v0, 0x7fff
|
||||
/* E24314 802B62D4 3442FFF5 */ ori $v0, $v0, 0xfff5
|
||||
/* E24318 802B62D8 00621024 */ and $v0, $v1, $v0
|
||||
/* E2431C 802B62DC 34420004 */ ori $v0, $v0, 4
|
||||
/* E24320 802B62E0 AE020000 */ sw $v0, ($s0)
|
||||
/* E24324 802B62E4 30A24000 */ andi $v0, $a1, 0x4000
|
||||
/* E24328 802B62E8 10400003 */ beqz $v0, .L802B62F8
|
||||
/* E2432C 802B62EC 3C040009 */ lui $a0, 9
|
||||
/* E24330 802B62F0 080AD8C4 */ j .L802B6310
|
||||
/* E24334 802B62F4 34840005 */ ori $a0, $a0, 5
|
||||
.L802B62F8:
|
||||
/* E24338 802B62F8 3C040006 */ lui $a0, 6
|
||||
/* E2433C 802B62FC 30A20003 */ andi $v0, $a1, 3
|
||||
/* E24340 802B6300 14400003 */ bnez $v0, .L802B6310
|
||||
/* E24344 802B6304 3484000A */ ori $a0, $a0, 0xa
|
||||
/* E24348 802B6308 3C040001 */ lui $a0, 1
|
||||
/* E2434C 802B630C 34840008 */ ori $a0, $a0, 8
|
||||
.L802B6310:
|
||||
/* E24350 802B6310 0C037FBF */ jal suggest_player_anim_clearUnkFlag
|
||||
/* E24354 802B6314 00000000 */ nop
|
||||
/* E24358 802B6318 3C03800B */ lui $v1, %hi(gCameras)
|
||||
/* E2435C 802B631C 24631D80 */ addiu $v1, $v1, %lo(gCameras)
|
||||
/* E24360 802B6320 94620002 */ lhu $v0, 2($v1)
|
||||
/* E24364 802B6324 34420001 */ ori $v0, $v0, 1
|
||||
/* E24368 802B6328 A4620002 */ sh $v0, 2($v1)
|
||||
.L802B632C:
|
||||
/* E2436C 802B632C 960200C0 */ lhu $v0, 0xc0($s0)
|
||||
/* E24370 802B6330 24420001 */ addiu $v0, $v0, 1
|
||||
/* E24374 802B6334 A60200C0 */ sh $v0, 0xc0($s0)
|
||||
.L802B6338:
|
||||
/* E24378 802B6338 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2437C 802B633C 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E24380 802B6340 03E00008 */ jr $ra
|
||||
/* E24384 802B6344 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,84 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802B6348_E24388
|
||||
/* E24388 802B6348 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* E2438C 802B634C 3C058011 */ lui $a1, %hi(gPlayerStatus)
|
||||
/* E24390 802B6350 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
|
||||
/* E24394 802B6354 AFBF004C */ sw $ra, 0x4c($sp)
|
||||
/* E24398 802B6358 AFB00048 */ sw $s0, 0x48($sp)
|
||||
/* E2439C 802B635C 8CA20004 */ lw $v0, 4($a1)
|
||||
/* E243A0 802B6360 30421000 */ andi $v0, $v0, 0x1000
|
||||
/* E243A4 802B6364 10400005 */ beqz $v0, .L802B637C
|
||||
/* E243A8 802B6368 00A0802D */ daddu $s0, $a1, $zero
|
||||
/* E243AC 802B636C 0C0AD942 */ jal func_802B6508_E24548
|
||||
/* E243B0 802B6370 00000000 */ nop
|
||||
/* E243B4 802B6374 080AD91B */ j .L802B646C
|
||||
/* E243B8 802B6378 00000000 */ nop
|
||||
.L802B637C:
|
||||
/* E243BC 802B637C 8CA30000 */ lw $v1, ($a1)
|
||||
/* E243C0 802B6380 0461000A */ bgez $v1, .L802B63AC
|
||||
/* E243C4 802B6384 3C027FFF */ lui $v0, 0x7fff
|
||||
/* E243C8 802B6388 3442FFF5 */ ori $v0, $v0, 0xfff5
|
||||
/* E243CC 802B638C 00621024 */ and $v0, $v1, $v0
|
||||
/* E243D0 802B6390 3C04800B */ lui $a0, %hi(gCameras)
|
||||
/* E243D4 802B6394 24841D80 */ addiu $a0, $a0, %lo(gCameras)
|
||||
/* E243D8 802B6398 94830002 */ lhu $v1, 2($a0)
|
||||
/* E243DC 802B639C 34420004 */ ori $v0, $v0, 4
|
||||
/* E243E0 802B63A0 ACA20000 */ sw $v0, ($a1)
|
||||
/* E243E4 802B63A4 34630001 */ ori $v1, $v1, 1
|
||||
/* E243E8 802B63A8 A4830002 */ sh $v1, 2($a0)
|
||||
.L802B63AC:
|
||||
/* E243EC 802B63AC 960200C0 */ lhu $v0, 0xc0($s0)
|
||||
/* E243F0 802B63B0 24420001 */ addiu $v0, $v0, 1
|
||||
/* E243F4 802B63B4 0C039454 */ jal phys_update_interact_collider
|
||||
/* E243F8 802B63B8 A60200C0 */ sh $v0, 0xc0($s0)
|
||||
/* E243FC 802B63BC 0200202D */ daddu $a0, $s0, $zero
|
||||
/* E24400 802B63C0 27A50028 */ addiu $a1, $sp, 0x28
|
||||
/* E24404 802B63C4 27A6002C */ addiu $a2, $sp, 0x2c
|
||||
/* E24408 802B63C8 C6000028 */ lwc1 $f0, 0x28($s0)
|
||||
/* E2440C 802B63CC C602002C */ lwc1 $f2, 0x2c($s0)
|
||||
/* E24410 802B63D0 C6040030 */ lwc1 $f4, 0x30($s0)
|
||||
/* E24414 802B63D4 860200B0 */ lh $v0, 0xb0($s0)
|
||||
/* E24418 802B63D8 27A70030 */ addiu $a3, $sp, 0x30
|
||||
/* E2441C 802B63DC E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* E24420 802B63E0 44820000 */ mtc1 $v0, $f0
|
||||
/* E24424 802B63E4 00000000 */ nop
|
||||
/* E24428 802B63E8 46800020 */ cvt.s.w $f0, $f0
|
||||
/* E2442C 802B63EC 27A20034 */ addiu $v0, $sp, 0x34
|
||||
/* E24430 802B63F0 E7A2002C */ swc1 $f2, 0x2c($sp)
|
||||
/* E24434 802B63F4 E7A40030 */ swc1 $f4, 0x30($sp)
|
||||
/* E24438 802B63F8 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* E2443C 802B63FC AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* E24440 802B6400 27A20038 */ addiu $v0, $sp, 0x38
|
||||
/* E24444 802B6404 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* E24448 802B6408 27A2003C */ addiu $v0, $sp, 0x3c
|
||||
/* E2444C 802B640C AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* E24450 802B6410 27A20040 */ addiu $v0, $sp, 0x40
|
||||
/* E24454 802B6414 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* E24458 802B6418 27A20044 */ addiu $v0, $sp, 0x44
|
||||
/* E2445C 802B641C 0C03791B */ jal player_raycast_below_cam_relative
|
||||
/* E24460 802B6420 AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* E24464 802B6424 0C016F6A */ jal get_collider_type_by_id
|
||||
/* E24468 802B6428 0040202D */ daddu $a0, $v0, $zero
|
||||
/* E2446C 802B642C 304200FF */ andi $v0, $v0, 0xff
|
||||
/* E24470 802B6430 2442FFFE */ addiu $v0, $v0, -2
|
||||
/* E24474 802B6434 2C420002 */ sltiu $v0, $v0, 2
|
||||
/* E24478 802B6438 1440000C */ bnez $v0, .L802B646C
|
||||
/* E2447C 802B643C 00000000 */ nop
|
||||
/* E24480 802B6440 0C039858 */ jal check_input_jump
|
||||
/* E24484 802B6444 00000000 */ nop
|
||||
/* E24488 802B6448 10400008 */ beqz $v0, .L802B646C
|
||||
/* E2448C 802B644C 00000000 */ nop
|
||||
/* E24490 802B6450 0C039769 */ jal set_action_state
|
||||
/* E24494 802B6454 24040003 */ addiu $a0, $zero, 3
|
||||
/* E24498 802B6458 8E020000 */ lw $v0, ($s0)
|
||||
/* E2449C 802B645C 2403FFF1 */ addiu $v1, $zero, -0xf
|
||||
/* E244A0 802B6460 00431024 */ and $v0, $v0, $v1
|
||||
/* E244A4 802B6464 0C0AD82D */ jal func_802B60B4_E240F4
|
||||
/* E244A8 802B6468 AE020000 */ sw $v0, ($s0)
|
||||
.L802B646C:
|
||||
/* E244AC 802B646C 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
/* E244B0 802B6470 8FB00048 */ lw $s0, 0x48($sp)
|
||||
/* E244B4 802B6474 03E00008 */ jr $ra
|
||||
/* E244B8 802B6478 27BD0050 */ addiu $sp, $sp, 0x50
|
@ -1,41 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802B647C_E244BC
|
||||
/* E244BC 802B647C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E244C0 802B6480 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E244C4 802B6484 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* E244C8 802B6488 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* E244CC 802B648C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E244D0 802B6490 8E030000 */ lw $v1, ($s0)
|
||||
/* E244D4 802B6494 04610015 */ bgez $v1, .L802B64EC
|
||||
/* E244D8 802B6498 3C027FFF */ lui $v0, 0x7fff
|
||||
/* E244DC 802B649C 3442FFFF */ ori $v0, $v0, 0xffff
|
||||
/* E244E0 802B64A0 3C04000A */ lui $a0, 0xa
|
||||
/* E244E4 802B64A4 34840006 */ ori $a0, $a0, 6
|
||||
/* E244E8 802B64A8 00621024 */ and $v0, $v1, $v0
|
||||
/* E244EC 802B64AC 2403FFF5 */ addiu $v1, $zero, -0xb
|
||||
/* E244F0 802B64B0 00431024 */ and $v0, $v0, $v1
|
||||
/* E244F4 802B64B4 8E030004 */ lw $v1, 4($s0)
|
||||
/* E244F8 802B64B8 34420004 */ ori $v0, $v0, 4
|
||||
/* E244FC 802B64BC 30631000 */ andi $v1, $v1, 0x1000
|
||||
/* E24500 802B64C0 14600003 */ bnez $v1, .L802B64D0
|
||||
/* E24504 802B64C4 AE020000 */ sw $v0, ($s0)
|
||||
/* E24508 802B64C8 3C040001 */ lui $a0, 1
|
||||
/* E2450C 802B64CC 34840008 */ ori $a0, $a0, 8
|
||||
.L802B64D0:
|
||||
/* E24510 802B64D0 0C037FBF */ jal suggest_player_anim_clearUnkFlag
|
||||
/* E24514 802B64D4 00000000 */ nop
|
||||
/* E24518 802B64D8 3C03800B */ lui $v1, %hi(gCameras)
|
||||
/* E2451C 802B64DC 24631D80 */ addiu $v1, $v1, %lo(gCameras)
|
||||
/* E24520 802B64E0 94620002 */ lhu $v0, 2($v1)
|
||||
/* E24524 802B64E4 34420001 */ ori $v0, $v0, 1
|
||||
/* E24528 802B64E8 A4620002 */ sh $v0, 2($v1)
|
||||
.L802B64EC:
|
||||
/* E2452C 802B64EC 960200C0 */ lhu $v0, 0xc0($s0)
|
||||
/* E24530 802B64F0 24420001 */ addiu $v0, $v0, 1
|
||||
/* E24534 802B64F4 A60200C0 */ sh $v0, 0xc0($s0)
|
||||
/* E24538 802B64F8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2453C 802B64FC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E24540 802B6500 03E00008 */ jr $ra
|
||||
/* E24544 802B6504 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,39 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802B6508_E24548
|
||||
/* E24548 802B6508 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2454C 802B650C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E24550 802B6510 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* E24554 802B6514 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* E24558 802B6518 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E2455C 802B651C 8E030000 */ lw $v1, ($s0)
|
||||
/* E24560 802B6520 04610012 */ bgez $v1, .L802B656C
|
||||
/* E24564 802B6524 3C027FFF */ lui $v0, 0x7fff
|
||||
/* E24568 802B6528 3442FFFF */ ori $v0, $v0, 0xffff
|
||||
/* E2456C 802B652C 00621024 */ and $v0, $v1, $v0
|
||||
/* E24570 802B6530 2403FFF5 */ addiu $v1, $zero, -0xb
|
||||
/* E24574 802B6534 00431024 */ and $v0, $v0, $v1
|
||||
/* E24578 802B6538 34420004 */ ori $v0, $v0, 4
|
||||
/* E2457C 802B653C 3C04800B */ lui $a0, %hi(gCameras)
|
||||
/* E24580 802B6540 24841D80 */ addiu $a0, $a0, %lo(gCameras)
|
||||
/* E24584 802B6544 AE020000 */ sw $v0, ($s0)
|
||||
/* E24588 802B6548 94820002 */ lhu $v0, 2($a0)
|
||||
/* E2458C 802B654C 8E030004 */ lw $v1, 4($s0)
|
||||
/* E24590 802B6550 34420001 */ ori $v0, $v0, 1
|
||||
/* E24594 802B6554 30631000 */ andi $v1, $v1, 0x1000
|
||||
/* E24598 802B6558 10600004 */ beqz $v1, .L802B656C
|
||||
/* E2459C 802B655C A4820002 */ sh $v0, 2($a0)
|
||||
/* E245A0 802B6560 3C04000A */ lui $a0, 0xa
|
||||
/* E245A4 802B6564 0C037FBF */ jal suggest_player_anim_clearUnkFlag
|
||||
/* E245A8 802B6568 34840006 */ ori $a0, $a0, 6
|
||||
.L802B656C:
|
||||
/* E245AC 802B656C 960200C0 */ lhu $v0, 0xc0($s0)
|
||||
/* E245B0 802B6570 24420001 */ addiu $v0, $v0, 1
|
||||
/* E245B4 802B6574 0C039454 */ jal phys_update_interact_collider
|
||||
/* E245B8 802B6578 A60200C0 */ sh $v0, 0xc0($s0)
|
||||
/* E245BC 802B657C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E245C0 802B6580 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E245C4 802B6584 03E00008 */ jr $ra
|
||||
/* E245C8 802B6588 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* E245CC 802B658C 00000000 */ nop
|
Loading…
Reference in New Issue
Block a user