mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
decomp functions from various files (#373)
* Match func_8024FAE8 * Match func_80260A20 * Match functions in 190B20.c
This commit is contained in:
parent
ca1adbcb60
commit
eb8eb93f89
@ -1,5 +1,7 @@
|
||||
#include "common.h"
|
||||
|
||||
extern s16 D_8029F64C;
|
||||
|
||||
INCLUDE_ASM(s32, "17D6A0", func_8024EDC0);
|
||||
|
||||
INCLUDE_ASM(s32, "17D6A0", func_8024EDEC);
|
||||
@ -36,7 +38,9 @@ INCLUDE_ASM(s32, "17D6A0", btl_is_popup_displayed);
|
||||
|
||||
INCLUDE_ASM(s32, "17D6A0", btl_set_popup_duration);
|
||||
|
||||
INCLUDE_ASM(s32, "17D6A0", func_8024FAE8);
|
||||
void func_8024FAE8(void) {
|
||||
D_8029F64C = 1;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "17D6A0", func_8024FAFC);
|
||||
|
||||
|
@ -20,4 +20,6 @@ INCLUDE_ASM(s32, "18C790", btl_state_draw_celebration);
|
||||
|
||||
INCLUDE_ASM(s32, "18C790", func_80260948);
|
||||
|
||||
INCLUDE_ASM(s32, "18C790", func_80260A20);
|
||||
void func_80260A20(s64 posX, s32 posY) {
|
||||
draw_string(0x1D00AB, posX + 11, posY + 6, 0xFF, 0xF, 0);
|
||||
}
|
||||
|
60
src/190B20.c
60
src/190B20.c
@ -1144,11 +1144,32 @@ INCLUDE_ASM(s32, "190B20", func_80263FE8);
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", func_80264084);
|
||||
|
||||
INCLUDE_ASM(void, "190B20", add_xz_vec3f, Vec3f* vector, f32 speed, f32 angleDeg);
|
||||
void add_xz_vec3f(Vec3f* vector, f32 speed, f32 angleDeg) {
|
||||
f32 angleRad = angleDeg * TAU / 360.0f;
|
||||
f32 sinAngleRad = sin_rad(angleRad);
|
||||
f32 cosAngleRad = cos_rad(angleRad);
|
||||
|
||||
INCLUDE_ASM(void, "190B20", add_xz_vec3f_copy1, Vec3f* vector, f32 speed, f32 angleDeg);
|
||||
vector->x += speed * sinAngleRad;
|
||||
vector->z += -speed * cosAngleRad;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(void, "190B20", add_xz_vec3f_copy2, Vec3f* vector, f32 speed, f32 angleDeg);
|
||||
void add_xz_vec3f_copy1(Vec3f* vector, f32 speed, f32 angleDeg) {
|
||||
f32 angleRad = angleDeg * TAU / 360.0f;
|
||||
f32 sinAngleRad = sin_rad(angleRad);
|
||||
f32 cosAngleRad = cos_rad(angleRad);
|
||||
|
||||
vector->x += speed * sinAngleRad;
|
||||
vector->z += -speed * cosAngleRad;
|
||||
}
|
||||
|
||||
void add_xz_vec3f_copy2(Vec3f* vector, f32 speed, f32 angleDeg) {
|
||||
f32 angleRad = angleDeg * TAU / 360.0f;
|
||||
f32 sinAngleRad = sin_rad(angleRad);
|
||||
f32 cosAngleRad = cos_rad(angleRad);
|
||||
|
||||
vector->x += speed * sinAngleRad;
|
||||
vector->z += -speed * cosAngleRad;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(void, "190B20", play_movement_dust_effects, s32 var0, f32 xPos, f32 yPos, f32 zPos, f32 angleDeg);
|
||||
|
||||
@ -1471,9 +1492,29 @@ INCLUDE_ASM(s32, "190B20", func_80266F60);
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", func_80266F8C);
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", func_80266FD8);
|
||||
void func_80266FD8(ActorPart* part, s32 arg1) {
|
||||
DecorationTable* decorationTable;
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", func_80267018);
|
||||
if (part->idleAnimations != NULL && !(part->flags & 2)) {
|
||||
decorationTable = part->decorationTable;
|
||||
if (decorationTable->unk_764 != arg1) {
|
||||
decorationTable->unk_764 = arg1;
|
||||
decorationTable->unk_766 = 0;
|
||||
decorationTable->unk_765 = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80267018(Actor* actor, s32 arg1) {
|
||||
ActorPart* actorPart = &actor->partsTable[0];
|
||||
|
||||
while (actorPart != NULL) {
|
||||
if (!(actorPart->flags & 0x100001) && actorPart->decorationTable != NULL && !(actorPart->flags & 2) && actorPart->idleAnimations != NULL) {
|
||||
func_80266FD8(actorPart, arg1);
|
||||
}
|
||||
actorPart = actorPart->nextPart;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", func_8026709C);
|
||||
|
||||
@ -1617,7 +1658,7 @@ void remove_player_buffs(PlayerBuff buffs) {
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", btl_update_ko_status);
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", btl_appendGfx_prim_quad);
|
||||
INCLUDE_ASM(s32, "190B20", btl_appendGfx_prim_quad, u8 arg0, u8 arg1, u8 arg2, u8 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7);
|
||||
// extern s32 D_80293970;
|
||||
|
||||
// void btl_appendGfx_prim_quad(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s16 arg4, s16 arg5, s16 arg6, s16 arg7) {
|
||||
@ -1640,7 +1681,12 @@ INCLUDE_ASM(s32, "190B20", btl_appendGfx_prim_quad);
|
||||
// gDPSetCombineMode(gMasterGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA);
|
||||
// }
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", btl_draw_prim_quad);
|
||||
void btl_draw_prim_quad(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) {
|
||||
u16 new_var = arg4 + arg6;
|
||||
u16 new_var2 = arg5 + arg7;
|
||||
|
||||
btl_appendGfx_prim_quad(arg0, arg1, arg2, arg3, arg4, arg5, new_var, new_var2);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "190B20", reset_all_actor_sounds);
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_8024FAE8
|
||||
/* 17E3C8 8024FAE8 24020001 */ addiu $v0, $zero, 1
|
||||
/* 17E3CC 8024FAEC 3C01802A */ lui $at, %hi(D_8029F64C)
|
||||
/* 17E3D0 8024FAF0 A422F64C */ sh $v0, %lo(D_8029F64C)($at)
|
||||
/* 17E3D4 8024FAF4 03E00008 */ jr $ra
|
||||
/* 17E3D8 8024FAF8 00000000 */ nop
|
@ -1,20 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80260A20
|
||||
/* 18F300 80260A20 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 18F304 80260A24 3C04001D */ lui $a0, 0x1d
|
||||
/* 18F308 80260A28 348400AB */ ori $a0, $a0, 0xab
|
||||
/* 18F30C 80260A2C 2402000F */ addiu $v0, $zero, 0xf
|
||||
/* 18F310 80260A30 24A5000B */ addiu $a1, $a1, 0xb
|
||||
/* 18F314 80260A34 24C60006 */ addiu $a2, $a2, 6
|
||||
/* 18F318 80260A38 240700FF */ addiu $a3, $zero, 0xff
|
||||
/* 18F31C 80260A3C AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 18F320 80260A40 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 18F324 80260A44 0C04993B */ jal draw_string
|
||||
/* 18F328 80260A48 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 18F32C 80260A4C 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 18F330 80260A50 03E00008 */ jr $ra
|
||||
/* 18F334 80260A54 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 18F338 80260A58 00000000 */ nop
|
||||
/* 18F33C 80260A5C 00000000 */ nop
|
@ -1,42 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel add_xz_vec3f
|
||||
/* 192A08 80264128 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 192A0C 8026412C F7B60020 */ sdc1 $f22, 0x20($sp)
|
||||
/* 192A10 80264130 4485B000 */ mtc1 $a1, $f22
|
||||
/* 192A14 80264134 3C0140C9 */ lui $at, 0x40c9
|
||||
/* 192A18 80264138 34210FD0 */ ori $at, $at, 0xfd0
|
||||
/* 192A1C 8026413C 44810000 */ mtc1 $at, $f0
|
||||
/* 192A20 80264140 44862000 */ mtc1 $a2, $f4
|
||||
/* 192A24 80264144 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 192A28 80264148 46002502 */ mul.s $f20, $f4, $f0
|
||||
/* 192A2C 8026414C 00000000 */ nop
|
||||
/* 192A30 80264150 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 192A34 80264154 3C0143B4 */ lui $at, 0x43b4
|
||||
/* 192A38 80264158 44810000 */ mtc1 $at, $f0
|
||||
/* 192A3C 8026415C 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 192A40 80264160 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 192A44 80264164 4600A503 */ div.s $f20, $f20, $f0
|
||||
/* 192A48 80264168 0C00A85B */ jal sin_rad
|
||||
/* 192A4C 8026416C 4600A306 */ mov.s $f12, $f20
|
||||
/* 192A50 80264170 4600A306 */ mov.s $f12, $f20
|
||||
/* 192A54 80264174 0C00A874 */ jal cos_rad
|
||||
/* 192A58 80264178 46000506 */ mov.s $f20, $f0
|
||||
/* 192A5C 8026417C 4614B502 */ mul.s $f20, $f22, $f20
|
||||
/* 192A60 80264180 00000000 */ nop
|
||||
/* 192A64 80264184 4600B587 */ neg.s $f22, $f22
|
||||
/* 192A68 80264188 4600B582 */ mul.s $f22, $f22, $f0
|
||||
/* 192A6C 8026418C 00000000 */ nop
|
||||
/* 192A70 80264190 C6020000 */ lwc1 $f2, ($s0)
|
||||
/* 192A74 80264194 46141080 */ add.s $f2, $f2, $f20
|
||||
/* 192A78 80264198 C6000008 */ lwc1 $f0, 8($s0)
|
||||
/* 192A7C 8026419C 46160000 */ add.s $f0, $f0, $f22
|
||||
/* 192A80 802641A0 E6020000 */ swc1 $f2, ($s0)
|
||||
/* 192A84 802641A4 E6000008 */ swc1 $f0, 8($s0)
|
||||
/* 192A88 802641A8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 192A8C 802641AC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 192A90 802641B0 D7B60020 */ ldc1 $f22, 0x20($sp)
|
||||
/* 192A94 802641B4 D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 192A98 802641B8 03E00008 */ jr $ra
|
||||
/* 192A9C 802641BC 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,42 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel add_xz_vec3f_copy1
|
||||
/* 192AA0 802641C0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 192AA4 802641C4 F7B60020 */ sdc1 $f22, 0x20($sp)
|
||||
/* 192AA8 802641C8 4485B000 */ mtc1 $a1, $f22
|
||||
/* 192AAC 802641CC 3C0140C9 */ lui $at, 0x40c9
|
||||
/* 192AB0 802641D0 34210FD0 */ ori $at, $at, 0xfd0
|
||||
/* 192AB4 802641D4 44810000 */ mtc1 $at, $f0
|
||||
/* 192AB8 802641D8 44862000 */ mtc1 $a2, $f4
|
||||
/* 192ABC 802641DC F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 192AC0 802641E0 46002502 */ mul.s $f20, $f4, $f0
|
||||
/* 192AC4 802641E4 00000000 */ nop
|
||||
/* 192AC8 802641E8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 192ACC 802641EC 3C0143B4 */ lui $at, 0x43b4
|
||||
/* 192AD0 802641F0 44810000 */ mtc1 $at, $f0
|
||||
/* 192AD4 802641F4 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 192AD8 802641F8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 192ADC 802641FC 4600A503 */ div.s $f20, $f20, $f0
|
||||
/* 192AE0 80264200 0C00A85B */ jal sin_rad
|
||||
/* 192AE4 80264204 4600A306 */ mov.s $f12, $f20
|
||||
/* 192AE8 80264208 4600A306 */ mov.s $f12, $f20
|
||||
/* 192AEC 8026420C 0C00A874 */ jal cos_rad
|
||||
/* 192AF0 80264210 46000506 */ mov.s $f20, $f0
|
||||
/* 192AF4 80264214 4614B502 */ mul.s $f20, $f22, $f20
|
||||
/* 192AF8 80264218 00000000 */ nop
|
||||
/* 192AFC 8026421C 4600B587 */ neg.s $f22, $f22
|
||||
/* 192B00 80264220 4600B582 */ mul.s $f22, $f22, $f0
|
||||
/* 192B04 80264224 00000000 */ nop
|
||||
/* 192B08 80264228 C6020000 */ lwc1 $f2, ($s0)
|
||||
/* 192B0C 8026422C 46141080 */ add.s $f2, $f2, $f20
|
||||
/* 192B10 80264230 C6000008 */ lwc1 $f0, 8($s0)
|
||||
/* 192B14 80264234 46160000 */ add.s $f0, $f0, $f22
|
||||
/* 192B18 80264238 E6020000 */ swc1 $f2, ($s0)
|
||||
/* 192B1C 8026423C E6000008 */ swc1 $f0, 8($s0)
|
||||
/* 192B20 80264240 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 192B24 80264244 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 192B28 80264248 D7B60020 */ ldc1 $f22, 0x20($sp)
|
||||
/* 192B2C 8026424C D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 192B30 80264250 03E00008 */ jr $ra
|
||||
/* 192B34 80264254 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,42 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel add_xz_vec3f_copy2
|
||||
/* 192B38 80264258 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 192B3C 8026425C F7B60020 */ sdc1 $f22, 0x20($sp)
|
||||
/* 192B40 80264260 4485B000 */ mtc1 $a1, $f22
|
||||
/* 192B44 80264264 3C0140C9 */ lui $at, 0x40c9
|
||||
/* 192B48 80264268 34210FD0 */ ori $at, $at, 0xfd0
|
||||
/* 192B4C 8026426C 44810000 */ mtc1 $at, $f0
|
||||
/* 192B50 80264270 44862000 */ mtc1 $a2, $f4
|
||||
/* 192B54 80264274 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 192B58 80264278 46002502 */ mul.s $f20, $f4, $f0
|
||||
/* 192B5C 8026427C 00000000 */ nop
|
||||
/* 192B60 80264280 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 192B64 80264284 3C0143B4 */ lui $at, 0x43b4
|
||||
/* 192B68 80264288 44810000 */ mtc1 $at, $f0
|
||||
/* 192B6C 8026428C 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 192B70 80264290 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 192B74 80264294 4600A503 */ div.s $f20, $f20, $f0
|
||||
/* 192B78 80264298 0C00A85B */ jal sin_rad
|
||||
/* 192B7C 8026429C 4600A306 */ mov.s $f12, $f20
|
||||
/* 192B80 802642A0 4600A306 */ mov.s $f12, $f20
|
||||
/* 192B84 802642A4 0C00A874 */ jal cos_rad
|
||||
/* 192B88 802642A8 46000506 */ mov.s $f20, $f0
|
||||
/* 192B8C 802642AC 4614B502 */ mul.s $f20, $f22, $f20
|
||||
/* 192B90 802642B0 00000000 */ nop
|
||||
/* 192B94 802642B4 4600B587 */ neg.s $f22, $f22
|
||||
/* 192B98 802642B8 4600B582 */ mul.s $f22, $f22, $f0
|
||||
/* 192B9C 802642BC 00000000 */ nop
|
||||
/* 192BA0 802642C0 C6020000 */ lwc1 $f2, ($s0)
|
||||
/* 192BA4 802642C4 46141080 */ add.s $f2, $f2, $f20
|
||||
/* 192BA8 802642C8 C6000008 */ lwc1 $f0, 8($s0)
|
||||
/* 192BAC 802642CC 46160000 */ add.s $f0, $f0, $f22
|
||||
/* 192BB0 802642D0 E6020000 */ swc1 $f2, ($s0)
|
||||
/* 192BB4 802642D4 E6000008 */ swc1 $f0, 8($s0)
|
||||
/* 192BB8 802642D8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 192BBC 802642DC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 192BC0 802642E0 D7B60020 */ ldc1 $f22, 0x20($sp)
|
||||
/* 192BC4 802642E4 D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 192BC8 802642E8 03E00008 */ jr $ra
|
||||
/* 192BCC 802642EC 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,28 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel btl_draw_prim_quad
|
||||
/* 19631C 80267A3C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 196320 80267A40 308400FF */ andi $a0, $a0, 0xff
|
||||
/* 196324 80267A44 30A500FF */ andi $a1, $a1, 0xff
|
||||
/* 196328 80267A48 30C600FF */ andi $a2, $a2, 0xff
|
||||
/* 19632C 80267A4C 8FA20038 */ lw $v0, 0x38($sp)
|
||||
/* 196330 80267A50 8FA8003C */ lw $t0, 0x3c($sp)
|
||||
/* 196334 80267A54 8FA30040 */ lw $v1, 0x40($sp)
|
||||
/* 196338 80267A58 8FA90044 */ lw $t1, 0x44($sp)
|
||||
/* 19633C 80267A5C 30E700FF */ andi $a3, $a3, 0xff
|
||||
/* 196340 80267A60 AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* 196344 80267A64 00431821 */ addu $v1, $v0, $v1
|
||||
/* 196348 80267A68 01094821 */ addu $t1, $t0, $t1
|
||||
/* 19634C 80267A6C 3042FFFF */ andi $v0, $v0, 0xffff
|
||||
/* 196350 80267A70 3108FFFF */ andi $t0, $t0, 0xffff
|
||||
/* 196354 80267A74 3063FFFF */ andi $v1, $v1, 0xffff
|
||||
/* 196358 80267A78 3129FFFF */ andi $t1, $t1, 0xffff
|
||||
/* 19635C 80267A7C AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 196360 80267A80 AFA80014 */ sw $t0, 0x14($sp)
|
||||
/* 196364 80267A84 AFA30018 */ sw $v1, 0x18($sp)
|
||||
/* 196368 80267A88 0C099E1F */ jal btl_appendGfx_prim_quad
|
||||
/* 19636C 80267A8C AFA9001C */ sw $t1, 0x1c($sp)
|
||||
/* 196370 80267A90 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* 196374 80267A94 03E00008 */ jr $ra
|
||||
/* 196378 80267A98 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,21 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80266FD8
|
||||
/* 1958B8 80266FD8 8C820094 */ lw $v0, 0x94($a0)
|
||||
/* 1958BC 80266FDC 1040000C */ beqz $v0, .L80267010
|
||||
/* 1958C0 80266FE0 00000000 */ nop
|
||||
/* 1958C4 80266FE4 8C820000 */ lw $v0, ($a0)
|
||||
/* 1958C8 80266FE8 30420002 */ andi $v0, $v0, 2
|
||||
/* 1958CC 80266FEC 14400008 */ bnez $v0, .L80267010
|
||||
/* 1958D0 80266FF0 00000000 */ nop
|
||||
/* 1958D4 80266FF4 8C8400C0 */ lw $a0, 0xc0($a0)
|
||||
/* 1958D8 80266FF8 80820764 */ lb $v0, 0x764($a0)
|
||||
/* 1958DC 80266FFC 10450004 */ beq $v0, $a1, .L80267010
|
||||
/* 1958E0 80267000 24020001 */ addiu $v0, $zero, 1
|
||||
/* 1958E4 80267004 A0850764 */ sb $a1, 0x764($a0)
|
||||
/* 1958E8 80267008 A0800766 */ sb $zero, 0x766($a0)
|
||||
/* 1958EC 8026700C A0820765 */ sb $v0, 0x765($a0)
|
||||
.L80267010:
|
||||
/* 1958F0 80267010 03E00008 */ jr $ra
|
||||
/* 1958F4 80267014 00000000 */ nop
|
@ -1,40 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80267018
|
||||
/* 1958F8 80267018 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 1958FC 8026701C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 195900 80267020 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 195904 80267024 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 195908 80267028 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 19590C 8026702C 8C9001F4 */ lw $s0, 0x1f4($a0)
|
||||
/* 195910 80267030 12000014 */ beqz $s0, .L80267084
|
||||
/* 195914 80267034 00A0902D */ daddu $s2, $a1, $zero
|
||||
/* 195918 80267038 3C110010 */ lui $s1, 0x10
|
||||
/* 19591C 8026703C 36310001 */ ori $s1, $s1, 1
|
||||
.L80267040:
|
||||
/* 195920 80267040 8E030000 */ lw $v1, ($s0)
|
||||
/* 195924 80267044 00711024 */ and $v0, $v1, $s1
|
||||
/* 195928 80267048 1440000B */ bnez $v0, .L80267078
|
||||
/* 19592C 8026704C 00000000 */ nop
|
||||
/* 195930 80267050 8E0200C0 */ lw $v0, 0xc0($s0)
|
||||
/* 195934 80267054 10400008 */ beqz $v0, .L80267078
|
||||
/* 195938 80267058 30620002 */ andi $v0, $v1, 2
|
||||
/* 19593C 8026705C 14400006 */ bnez $v0, .L80267078
|
||||
/* 195940 80267060 00000000 */ nop
|
||||
/* 195944 80267064 8E020094 */ lw $v0, 0x94($s0)
|
||||
/* 195948 80267068 10400003 */ beqz $v0, .L80267078
|
||||
/* 19594C 8026706C 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 195950 80267070 0C099BF6 */ jal func_80266FD8
|
||||
/* 195954 80267074 0240282D */ daddu $a1, $s2, $zero
|
||||
.L80267078:
|
||||
/* 195958 80267078 8E10000C */ lw $s0, 0xc($s0)
|
||||
/* 19595C 8026707C 1600FFF0 */ bnez $s0, .L80267040
|
||||
/* 195960 80267080 00000000 */ nop
|
||||
.L80267084:
|
||||
/* 195964 80267084 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 195968 80267088 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 19596C 8026708C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 195970 80267090 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 195974 80267094 03E00008 */ jr $ra
|
||||
/* 195978 80267098 27BD0020 */ addiu $sp, $sp, 0x20
|
Loading…
Reference in New Issue
Block a user