Merge branch 'audio-ext' into misc-decomp

This commit is contained in:
Ethan Roseman 2020-12-28 11:45:29 +09:00
commit 3cb8153d9d
37 changed files with 585 additions and 544 deletions

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DD5B4
/* 76A64 800DD5B4 44863000 */ mtc1 $a2, $f6
/* 76A68 800DD5B8 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 76A6C 800DD5BC 46043082 */ mul.s $f2, $f6, $f4
/* 76A70 800DD5C0 00000000 */ nop
/* 76A74 800DD5C4 44874000 */ mtc1 $a3, $f8
/* 76A78 800DD5C8 C7AA0014 */ lwc1 $f10, 0x14($sp)
/* 76A7C 800DD5CC 460A4002 */ mul.s $f0, $f8, $f10
/* 76A80 800DD5D0 00000000 */ nop
/* 76A84 800DD5D4 46001080 */ add.s $f2, $f2, $f0
/* 76A88 800DD5D8 46041102 */ mul.s $f4, $f2, $f4
/* 76A8C 800DD5DC 00000000 */ nop
/* 76A90 800DD5E0 460A1082 */ mul.s $f2, $f2, $f10
/* 76A94 800DD5E4 00000000 */ nop
/* 76A98 800DD5E8 46043181 */ sub.s $f6, $f6, $f4
/* 76A9C 800DD5EC 3C013F00 */ lui $at, 0x3f00
/* 76AA0 800DD5F0 44810000 */ mtc1 $at, $f0
/* 76AA4 800DD5F4 00000000 */ nop
/* 76AA8 800DD5F8 46003182 */ mul.s $f6, $f6, $f0
/* 76AAC 800DD5FC 00000000 */ nop
/* 76AB0 800DD600 46024201 */ sub.s $f8, $f8, $f2
/* 76AB4 800DD604 46004202 */ mul.s $f8, $f8, $f0
/* 76AB8 800DD608 00000000 */ nop
/* 76ABC 800DD60C E4860000 */ swc1 $f6, ($a0)
/* 76AC0 800DD610 03E00008 */ jr $ra
/* 76AC4 800DD614 E4A80000 */ swc1 $f8, ($a1)

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DF3FC
/* 788AC 800DF3FC 44863000 */ mtc1 $a2, $f6
/* 788B0 800DF400 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 788B4 800DF404 46043082 */ mul.s $f2, $f6, $f4
/* 788B8 800DF408 00000000 */ nop
/* 788BC 800DF40C 44874000 */ mtc1 $a3, $f8
/* 788C0 800DF410 C7AA0014 */ lwc1 $f10, 0x14($sp)
/* 788C4 800DF414 460A4002 */ mul.s $f0, $f8, $f10
/* 788C8 800DF418 00000000 */ nop
/* 788CC 800DF41C 46001080 */ add.s $f2, $f2, $f0
/* 788D0 800DF420 46041102 */ mul.s $f4, $f2, $f4
/* 788D4 800DF424 00000000 */ nop
/* 788D8 800DF428 460A1082 */ mul.s $f2, $f2, $f10
/* 788DC 800DF42C 00000000 */ nop
/* 788E0 800DF430 46043181 */ sub.s $f6, $f6, $f4
/* 788E4 800DF434 3C013F00 */ lui $at, 0x3f00
/* 788E8 800DF438 44810000 */ mtc1 $at, $f0
/* 788EC 800DF43C 00000000 */ nop
/* 788F0 800DF440 46003182 */ mul.s $f6, $f6, $f0
/* 788F4 800DF444 00000000 */ nop
/* 788F8 800DF448 46024201 */ sub.s $f8, $f8, $f2
/* 788FC 800DF44C 46004202 */ mul.s $f8, $f8, $f0
/* 78900 800DF450 00000000 */ nop
/* 78904 800DF454 E4860000 */ swc1 $f6, ($a0)
/* 78908 800DF458 03E00008 */ jr $ra
/* 7890C 800DF45C E4A80000 */ swc1 $f8, ($a1)

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DFBE8
/* 79098 800DFBE8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 7909C 800DFBEC AFBF0010 */ sw $ra, 0x10($sp)
/* 790A0 800DFBF0 0C03968B */ jal func_800E5A2C
/* 790A4 800DFBF4 00000000 */ nop
/* 790A8 800DFBF8 0C038D8F */ jal collision_main_lateral
/* 790AC 800DFBFC 00000000 */ nop
/* 790B0 800DFC00 0C0392EE */ jal func_800E4BB8
/* 790B4 800DFC04 00000000 */ nop
/* 790B8 800DFC08 3C04800F */ lui $a0, %hi(gPlayerStatusPtr)
/* 790BC 800DFC0C 8C847B30 */ lw $a0, %lo(gPlayerStatusPtr)($a0)
/* 790C0 800DFC10 8C820000 */ lw $v0, ($a0)
/* 790C4 800DFC14 3C030400 */ lui $v1, 0x400
/* 790C8 800DFC18 00431024 */ and $v0, $v0, $v1
/* 790CC 800DFC1C 14400009 */ bnez $v0, .L800DFC44
/* 790D0 800DFC20 00000000 */ nop
/* 790D4 800DFC24 C4800028 */ lwc1 $f0, 0x28($a0)
/* 790D8 800DFC28 3C02800B */ lui $v0, %hi(gCameras)
/* 790DC 800DFC2C 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* 790E0 800DFC30 E4400060 */ swc1 $f0, 0x60($v0)
/* 790E4 800DFC34 C480002C */ lwc1 $f0, 0x2c($a0)
/* 790E8 800DFC38 E4400064 */ swc1 $f0, 0x64($v0)
/* 790EC 800DFC3C C4800030 */ lwc1 $f0, 0x30($a0)
/* 790F0 800DFC40 E4400068 */ swc1 $f0, 0x68($v0)
.L800DFC44:
/* 790F4 800DFC44 8FBF0010 */ lw $ra, 0x10($sp)
/* 790F8 800DFC48 03E00008 */ jr $ra
/* 790FC 800DFC4C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,36 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DFC74
/* 79124 800DFC74 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 79128 800DFC78 AFB00010 */ sw $s0, 0x10($sp)
/* 7912C 800DFC7C 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* 79130 800DFC80 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* 79134 800DFC84 0200202D */ daddu $a0, $s0, $zero
/* 79138 800DFC88 AFBF0014 */ sw $ra, 0x14($sp)
/* 7913C 800DFC8C 0C00A580 */ jal mem_clear
/* 79140 800DFC90 24050288 */ addiu $a1, $zero, 0x288
/* 79144 800DFC94 24020001 */ addiu $v0, $zero, 1
/* 79148 800DFC98 0C038817 */ jal func_800E205C
/* 7914C 800DFC9C AE020000 */ sw $v0, ($s0)
/* 79150 800DFCA0 8E050028 */ lw $a1, 0x28($s0)
/* 79154 800DFCA4 8E06002C */ lw $a2, 0x2c($s0)
/* 79158 800DFCA8 8E070030 */ lw $a3, 0x30($s0)
/* 7915C 800DFCAC 0C044898 */ jal create_shadow_type
/* 79160 800DFCB0 0000202D */ daddu $a0, $zero, $zero
/* 79164 800DFCB4 0C039ADA */ jal func_800E6B68
/* 79168 800DFCB8 AE0200CC */ sw $v0, 0xcc($s0)
/* 7916C 800DFCBC 0C0382C5 */ jal func_800E0B14
/* 79170 800DFCC0 00000000 */ nop
/* 79174 800DFCC4 0C0381A7 */ jal func_800E069C
/* 79178 800DFCC8 00000000 */ nop
/* 7917C 800DFCCC 0C038145 */ jal func_800E0514
/* 79180 800DFCD0 00000000 */ nop
/* 79184 800DFCD4 0C0380DD */ jal func_800E0374
/* 79188 800DFCD8 00000000 */ nop
/* 7918C 800DFCDC 0C039548 */ jal func_800E5520
/* 79190 800DFCE0 00000000 */ nop
/* 79194 800DFCE4 8FBF0014 */ lw $ra, 0x14($sp)
/* 79198 800DFCE8 8FB00010 */ lw $s0, 0x10($sp)
/* 7919C 800DFCEC 03E00008 */ jr $ra
/* 791A0 800DFCF0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DFCF4
/* 791A4 800DFCF4 3C048011 */ lui $a0, %hi(D_8010EBB0)
/* 791A8 800DFCF8 2484EBB0 */ addiu $a0, $a0, %lo(D_8010EBB0)
/* 791AC 800DFCFC 80830000 */ lb $v1, ($a0)
/* 791B0 800DFD00 24020001 */ addiu $v0, $zero, 1
/* 791B4 800DFD04 1462000E */ bne $v1, $v0, .L800DFD40
/* 791B8 800DFD08 24020006 */ addiu $v0, $zero, 6
/* 791BC 800DFD0C 80830003 */ lb $v1, 3($a0)
/* 791C0 800DFD10 10620009 */ beq $v1, $v0, .L800DFD38
/* 791C4 800DFD14 24020009 */ addiu $v0, $zero, 9
/* 791C8 800DFD18 10620007 */ beq $v1, $v0, .L800DFD38
/* 791CC 800DFD1C 24020007 */ addiu $v0, $zero, 7
/* 791D0 800DFD20 10620005 */ beq $v1, $v0, .L800DFD38
/* 791D4 800DFD24 24020004 */ addiu $v0, $zero, 4
/* 791D8 800DFD28 10620003 */ beq $v1, $v0, .L800DFD38
/* 791DC 800DFD2C 24020008 */ addiu $v0, $zero, 8
/* 791E0 800DFD30 14620003 */ bne $v1, $v0, .L800DFD40
/* 791E4 800DFD34 00000000 */ nop
.L800DFD38:
/* 791E8 800DFD38 03E00008 */ jr $ra
/* 791EC 800DFD3C 0000102D */ daddu $v0, $zero, $zero
.L800DFD40:
/* 791F0 800DFD40 03E00008 */ jr $ra
/* 791F4 800DFD44 24020001 */ addiu $v0, $zero, 1

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DFEFC
/* 793AC 800DFEFC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 793B0 800DFF00 AFB00010 */ sw $s0, 0x10($sp)
/* 793B4 800DFF04 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* 793B8 800DFF08 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* 793BC 800DFF0C AFBF0014 */ sw $ra, 0x14($sp)
/* 793C0 800DFF10 0C037F52 */ jal func_800DFD48
/* 793C4 800DFF14 00000000 */ nop
/* 793C8 800DFF18 0040202D */ daddu $a0, $v0, $zero
/* 793CC 800DFF1C 2402FFFF */ addiu $v0, $zero, -1
/* 793D0 800DFF20 10820007 */ beq $a0, $v0, .L800DFF40
/* 793D4 800DFF24 3C03EFFF */ lui $v1, 0xefff
/* 793D8 800DFF28 8E020000 */ lw $v0, ($s0)
/* 793DC 800DFF2C 3463FFFF */ ori $v1, $v1, 0xffff
/* 793E0 800DFF30 AE0400B8 */ sw $a0, 0xb8($s0)
/* 793E4 800DFF34 A60000BC */ sh $zero, 0xbc($s0)
/* 793E8 800DFF38 00431024 */ and $v0, $v0, $v1
/* 793EC 800DFF3C AE020000 */ sw $v0, ($s0)
.L800DFF40:
/* 793F0 800DFF40 8FBF0014 */ lw $ra, 0x14($sp)
/* 793F4 800DFF44 8FB00010 */ lw $s0, 0x10($sp)
/* 793F8 800DFF48 03E00008 */ jr $ra
/* 793FC 800DFF4C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DFF50
/* 79400 800DFF50 3C02EFFF */ lui $v0, 0xefff
/* 79404 800DFF54 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* 79408 800DFF58 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* 7940C 800DFF5C 8C650000 */ lw $a1, ($v1)
/* 79410 800DFF60 3442FFFF */ ori $v0, $v0, 0xffff
/* 79414 800DFF64 AC6400B8 */ sw $a0, 0xb8($v1)
/* 79418 800DFF68 A46000BC */ sh $zero, 0xbc($v1)
/* 7941C 800DFF6C 00A22824 */ and $a1, $a1, $v0
/* 79420 800DFF70 03E00008 */ jr $ra
/* 79424 800DFF74 AC650000 */ sw $a1, ($v1)

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800DFF78
/* 79428 800DFF78 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 7942C 800DFF7C AFB00010 */ sw $s0, 0x10($sp)
/* 79430 800DFF80 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* 79434 800DFF84 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* 79438 800DFF88 AFBF0014 */ sw $ra, 0x14($sp)
/* 7943C 800DFF8C 0C037F52 */ jal func_800DFD48
/* 79440 800DFF90 00000000 */ nop
/* 79444 800DFF94 0040182D */ daddu $v1, $v0, $zero
/* 79448 800DFF98 2402FFFF */ addiu $v0, $zero, -1
/* 7944C 800DFF9C 10620007 */ beq $v1, $v0, .L800DFFBC
/* 79450 800DFFA0 00000000 */ nop
/* 79454 800DFFA4 8E020000 */ lw $v0, ($s0)
/* 79458 800DFFA8 AE0300B8 */ sw $v1, 0xb8($s0)
/* 7945C 800DFFAC 3C031000 */ lui $v1, 0x1000
/* 79460 800DFFB0 A60000BC */ sh $zero, 0xbc($s0)
/* 79464 800DFFB4 00431025 */ or $v0, $v0, $v1
/* 79468 800DFFB8 AE020000 */ sw $v0, ($s0)
.L800DFFBC:
/* 7946C 800DFFBC 8FBF0014 */ lw $ra, 0x14($sp)
/* 79470 800DFFC0 8FB00010 */ lw $s0, 0x10($sp)
/* 79474 800DFFC4 03E00008 */ jr $ra
/* 79478 800DFFC8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0088
/* 79538 800E0088 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 7953C 800E008C 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 79540 800E0090 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 79544 800E0094 AFBF0010 */ sw $ra, 0x10($sp)
/* 79548 800E0098 8C460028 */ lw $a2, 0x28($v0)
/* 7954C 800E009C 0C00A7B5 */ jal dist2D
/* 79550 800E00A0 8C470030 */ lw $a3, 0x30($v0)
/* 79554 800E00A4 8FBF0010 */ lw $ra, 0x10($sp)
/* 79558 800E00A8 03E00008 */ jr $ra
/* 7955C 800E00AC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E01DC
/* 7968C 800E01DC 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* 79690 800E01E0 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* 79694 800E01E4 8C820004 */ lw $v0, 4($a0)
/* 79698 800E01E8 30420010 */ andi $v0, $v0, 0x10
/* 7969C 800E01EC 10400004 */ beqz $v0, .L800E0200
/* 796A0 800E01F0 3C030800 */ lui $v1, 0x800
/* 796A4 800E01F4 8C820000 */ lw $v0, ($a0)
/* 796A8 800E01F8 00431025 */ or $v0, $v0, $v1
/* 796AC 800E01FC AC820000 */ sw $v0, ($a0)
.L800E0200:
/* 796B0 800E0200 03E00008 */ jr $ra
/* 796B4 800E0204 00000000 */ nop

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0208
/* 796B8 800E0208 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 796BC 800E020C 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 796C0 800E0210 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 796C4 800E0214 AFBF0010 */ sw $ra, 0x10($sp)
/* 796C8 800E0218 80620078 */ lb $v0, 0x78($v1)
/* 796CC 800E021C 1040000C */ beqz $v0, .L800E0250
/* 796D0 800E0220 0000202D */ daddu $a0, $zero, $zero
/* 796D4 800E0224 8C620000 */ lw $v0, ($v1)
/* 796D8 800E0228 30420010 */ andi $v0, $v0, 0x10
/* 796DC 800E022C 10400008 */ beqz $v0, .L800E0250
/* 796E0 800E0230 00000000 */ nop
/* 796E4 800E0234 3C028011 */ lui $v0, %hi(D_8010EBB0)
/* 796E8 800E0238 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0)
/* 796EC 800E023C 54400004 */ bnel $v0, $zero, .L800E0250
/* 796F0 800E0240 24040001 */ addiu $a0, $zero, 1
/* 796F4 800E0244 0C039769 */ jal set_action_state
/* 796F8 800E0248 00000000 */ nop
/* 796FC 800E024C 24040001 */ addiu $a0, $zero, 1
.L800E0250:
/* 79700 800E0250 8FBF0010 */ lw $ra, 0x10($sp)
/* 79704 800E0254 0080102D */ daddu $v0, $a0, $zero
/* 79708 800E0258 03E00008 */ jr $ra
/* 7970C 800E025C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0260
/* 79710 800E0260 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 79714 800E0264 AFBF0010 */ sw $ra, 0x10($sp)
/* 79718 800E0268 0C038196 */ jal func_800E0658
/* 7971C 800E026C 00000000 */ nop
/* 79720 800E0270 0C0382B4 */ jal func_800E0AD0
/* 79724 800E0274 00000000 */ nop
/* 79728 800E0278 0C038134 */ jal func_800E04D0
/* 7972C 800E027C 00000000 */ nop
/* 79730 800E0280 0C0380CC */ jal func_800E0330
/* 79734 800E0284 00000000 */ nop
/* 79738 800E0288 8FBF0010 */ lw $ra, 0x10($sp)
/* 7973C 800E028C 03E00008 */ jr $ra
/* 79740 800E0290 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0330
/* 797E0 800E0330 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 797E4 800E0334 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 797E8 800E0338 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 797EC 800E033C AFBF0010 */ sw $ra, 0x10($sp)
/* 797F0 800E0340 8C420004 */ lw $v0, 4($v0)
/* 797F4 800E0344 30420100 */ andi $v0, $v0, 0x100
/* 797F8 800E0348 10400007 */ beqz $v0, .L800E0368
/* 797FC 800E034C 00000000 */ nop
/* 79800 800E0350 3C028011 */ lui $v0, %hi(D_8010C93C)
/* 79804 800E0354 8C42C93C */ lw $v0, %lo(D_8010C93C)($v0)
/* 79808 800E0358 10400003 */ beqz $v0, .L800E0368
/* 7980C 800E035C 00000000 */ nop
/* 79810 800E0360 0C0ADC00 */ jal func_802B7000
/* 79814 800E0364 00000000 */ nop
.L800E0368:
/* 79818 800E0368 8FBF0010 */ lw $ra, 0x10($sp)
/* 7981C 800E036C 03E00008 */ jr $ra
/* 79820 800E0370 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0374
/* 79824 800E0374 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 79828 800E0378 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 7982C 800E037C 8C430004 */ lw $v1, 4($v0)
/* 79830 800E0380 2404FEFF */ addiu $a0, $zero, -0x101
/* 79834 800E0384 3C018011 */ lui $at, %hi(D_8010C93C)
/* 79838 800E0388 AC20C93C */ sw $zero, %lo(D_8010C93C)($at)
/* 7983C 800E038C 00641824 */ and $v1, $v1, $a0
/* 79840 800E0390 03E00008 */ jr $ra
/* 79844 800E0394 AC430004 */ sw $v1, 4($v0)

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E04D0
/* 79980 800E04D0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 79984 800E04D4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 79988 800E04D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 7998C 800E04DC AFBF0010 */ sw $ra, 0x10($sp)
/* 79990 800E04E0 8C420004 */ lw $v0, 4($v0)
/* 79994 800E04E4 30420040 */ andi $v0, $v0, 0x40
/* 79998 800E04E8 10400007 */ beqz $v0, .L800E0508
/* 7999C 800E04EC 00000000 */ nop
/* 799A0 800E04F0 3C028011 */ lui $v0, %hi(D_8010C920)
/* 799A4 800E04F4 8C42C920 */ lw $v0, %lo(D_8010C920)($v0)
/* 799A8 800E04F8 10400003 */ beqz $v0, .L800E0508
/* 799AC 800E04FC 00000000 */ nop
/* 799B0 800E0500 0C0ADC75 */ jal func_802B71D4
/* 799B4 800E0504 00000000 */ nop
.L800E0508:
/* 799B8 800E0508 8FBF0010 */ lw $ra, 0x10($sp)
/* 799BC 800E050C 03E00008 */ jr $ra
/* 799C0 800E0510 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0514
/* 799C4 800E0514 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 799C8 800E0518 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 799CC 800E051C 8C430004 */ lw $v1, 4($v0)
/* 799D0 800E0520 2404FFBF */ addiu $a0, $zero, -0x41
/* 799D4 800E0524 3C018011 */ lui $at, %hi(D_8010C920)
/* 799D8 800E0528 AC20C920 */ sw $zero, %lo(D_8010C920)($at)
/* 799DC 800E052C 00641824 */ and $v1, $v1, $a0
/* 799E0 800E0530 03E00008 */ jr $ra
/* 799E4 800E0534 AC430004 */ sw $v1, 4($v0)

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0538
/* 799E8 800E0538 3C058011 */ lui $a1, %hi(gPlayerStatus)
/* 799EC 800E053C 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
/* 799F0 800E0540 8CA200C8 */ lw $v0, 0xc8($a1)
/* 799F4 800E0544 1040000C */ beqz $v0, .L800E0578
/* 799F8 800E0548 0000202D */ daddu $a0, $zero, $zero
/* 799FC 800E054C 8C420000 */ lw $v0, ($v0)
/* 79A00 800E0550 3C031000 */ lui $v1, 0x1000
/* 79A04 800E0554 00431024 */ and $v0, $v0, $v1
/* 79A08 800E0558 14400007 */ bnez $v0, .L800E0578
/* 79A0C 800E055C 3C020200 */ lui $v0, 0x200
/* 79A10 800E0560 8CA30000 */ lw $v1, ($a1)
/* 79A14 800E0564 34422000 */ ori $v0, $v0, 0x2000
/* 79A18 800E0568 00621824 */ and $v1, $v1, $v0
/* 79A1C 800E056C 3C020200 */ lui $v0, 0x200
/* 79A20 800E0570 00621826 */ xor $v1, $v1, $v0
/* 79A24 800E0574 2C640001 */ sltiu $a0, $v1, 1
.L800E0578:
/* 79A28 800E0578 03E00008 */ jr $ra
/* 79A2C 800E057C 0080102D */ daddu $v0, $a0, $zero

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0658
/* 79B08 800E0658 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 79B0C 800E065C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 79B10 800E0660 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 79B14 800E0664 AFBF0010 */ sw $ra, 0x10($sp)
/* 79B18 800E0668 8C420004 */ lw $v0, 4($v0)
/* 79B1C 800E066C 30420020 */ andi $v0, $v0, 0x20
/* 79B20 800E0670 10400007 */ beqz $v0, .L800E0690
/* 79B24 800E0674 00000000 */ nop
/* 79B28 800E0678 3C028011 */ lui $v0, %hi(D_8010C940)
/* 79B2C 800E067C 8C42C940 */ lw $v0, %lo(D_8010C940)($v0)
/* 79B30 800E0680 10400003 */ beqz $v0, .L800E0690
/* 79B34 800E0684 00000000 */ nop
/* 79B38 800E0688 0C0ADC72 */ jal func_802B71C8
/* 79B3C 800E068C 00000000 */ nop
.L800E0690:
/* 79B40 800E0690 8FBF0010 */ lw $ra, 0x10($sp)
/* 79B44 800E0694 03E00008 */ jr $ra
/* 79B48 800E0698 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E069C
/* 79B4C 800E069C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 79B50 800E06A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 79B54 800E06A4 8C430004 */ lw $v1, 4($v0)
/* 79B58 800E06A8 2404FFDF */ addiu $a0, $zero, -0x21
/* 79B5C 800E06AC 3C018011 */ lui $at, %hi(D_8010C940)
/* 79B60 800E06B0 AC20C940 */ sw $zero, %lo(D_8010C940)($at)
/* 79B64 800E06B4 00641824 */ and $v1, $v1, $a0
/* 79B68 800E06B8 03E00008 */ jr $ra
/* 79B6C 800E06BC AC430004 */ sw $v1, 4($v0)

View File

@ -1,10 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E06C0
/* 79B70 800E06C0 38840001 */ xori $a0, $a0, 1
/* 79B74 800E06C4 2C840001 */ sltiu $a0, $a0, 1
/* 79B78 800E06C8 3C018011 */ lui $at, %hi(D_8010C950)
/* 79B7C 800E06CC AC24C950 */ sw $a0, %lo(D_8010C950)($at)
/* 79B80 800E06D0 03E00008 */ jr $ra
/* 79B84 800E06D4 00000000 */ nop

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0AD0
/* 79F80 800E0AD0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 79F84 800E0AD4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 79F88 800E0AD8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 79F8C 800E0ADC AFBF0010 */ sw $ra, 0x10($sp)
/* 79F90 800E0AE0 8C420004 */ lw $v0, 4($v0)
/* 79F94 800E0AE4 30420010 */ andi $v0, $v0, 0x10
/* 79F98 800E0AE8 10400007 */ beqz $v0, .L800E0B08
/* 79F9C 800E0AEC 00000000 */ nop
/* 79FA0 800E0AF0 3C028011 */ lui $v0, %hi(D_8010C958)
/* 79FA4 800E0AF4 8C42C958 */ lw $v0, %lo(D_8010C958)($v0)
/* 79FA8 800E0AF8 10400003 */ beqz $v0, .L800E0B08
/* 79FAC 800E0AFC 00000000 */ nop
/* 79FB0 800E0B00 0C0ADC7A */ jal func_802B71E8
/* 79FB4 800E0B04 00000000 */ nop
.L800E0B08:
/* 79FB8 800E0B08 8FBF0010 */ lw $ra, 0x10($sp)
/* 79FBC 800E0B0C 03E00008 */ jr $ra
/* 79FC0 800E0B10 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0B14
/* 79FC4 800E0B14 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 79FC8 800E0B18 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 79FCC 800E0B1C 8C430004 */ lw $v1, 4($v0)
/* 79FD0 800E0B20 2404FFEF */ addiu $a0, $zero, -0x11
/* 79FD4 800E0B24 3C018011 */ lui $at, %hi(D_8010C958)
/* 79FD8 800E0B28 AC20C958 */ sw $zero, %lo(D_8010C958)($at)
/* 79FDC 800E0B2C 00641824 */ and $v1, $v1, $a0
/* 79FE0 800E0B30 03E00008 */ jr $ra
/* 79FE4 800E0B34 AC430004 */ sw $v1, 4($v0)

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E0B38
/* 79FE8 800E0B38 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 79FEC 800E0B3C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 79FF0 800E0B40 80420070 */ lb $v0, 0x70($v0)
/* 79FF4 800E0B44 3C048011 */ lui $a0, %hi(gPlayerData)
/* 79FF8 800E0B48 2484F290 */ addiu $a0, $a0, %lo(gPlayerData)
/* 79FFC 800E0B4C 1440000E */ bnez $v0, .L800E0B88
/* 7A000 800E0B50 24050001 */ addiu $a1, $zero, 1
/* 7A004 800E0B54 24830004 */ addiu $v1, $a0, 4
/* 7A008 800E0B58 24840008 */ addiu $a0, $a0, 8
.L800E0B5C:
/* 7A00C 800E0B5C 90820014 */ lbu $v0, 0x14($a0)
/* 7A010 800E0B60 50400005 */ beql $v0, $zero, .L800E0B78
/* 7A014 800E0B64 24630004 */ addiu $v1, $v1, 4
/* 7A018 800E0B68 8C6202C4 */ lw $v0, 0x2c4($v1)
/* 7A01C 800E0B6C 24420001 */ addiu $v0, $v0, 1
/* 7A020 800E0B70 AC6202C4 */ sw $v0, 0x2c4($v1)
/* 7A024 800E0B74 24630004 */ addiu $v1, $v1, 4
.L800E0B78:
/* 7A028 800E0B78 24A50001 */ addiu $a1, $a1, 1
/* 7A02C 800E0B7C 28A2000C */ slti $v0, $a1, 0xc
/* 7A030 800E0B80 1440FFF6 */ bnez $v0, .L800E0B5C
/* 7A034 800E0B84 24840008 */ addiu $a0, $a0, 8
.L800E0B88:
/* 7A038 800E0B88 03E00008 */ jr $ra
/* 7A03C 800E0B8C 00000000 */ nop

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800E22E4
/* 7B794 800E22E4 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 7B798 800E22E8 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 7B79C 800E22EC 8C4300E0 */ lw $v1, 0xe0($v0)
/* 7B7A0 800E22F0 944200DE */ lhu $v0, 0xde($v0)
/* 7B7A4 800E22F4 00031C00 */ sll $v1, $v1, 0x10
/* 7B7A8 800E22F8 00431025 */ or $v0, $v0, $v1
/* 7B7AC 800E22FC 03E00008 */ jr $ra
/* 7B7B0 800E2300 AC820000 */ sw $v0, ($a0)

View File

@ -0,0 +1,183 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B7000_E225B0
/* E225B0 802B7000 3C028011 */ lui $v0, %hi(gPlayerStatus+0x4)
/* E225B4 802B7004 8C42EFCC */ lw $v0, %lo(gPlayerStatus+0x4)($v0)
/* E225B8 802B7008 27BDFF30 */ addiu $sp, $sp, -0xd0
/* E225BC 802B700C AFBF00C8 */ sw $ra, 0xc8($sp)
/* E225C0 802B7010 AFB300C4 */ sw $s3, 0xc4($sp)
/* E225C4 802B7014 AFB200C0 */ sw $s2, 0xc0($sp)
/* E225C8 802B7018 AFB100BC */ sw $s1, 0xbc($sp)
/* E225CC 802B701C 30420100 */ andi $v0, $v0, 0x100
/* E225D0 802B7020 104000A0 */ beqz $v0, .L802B72A4
/* E225D4 802B7024 AFB000B8 */ sw $s0, 0xb8($sp)
/* E225D8 802B7028 3C13802B */ lui $s3, %hi(D_802B7C78)
/* E225DC 802B702C 26737C78 */ addiu $s3, $s3, %lo(D_802B7C78)
/* E225E0 802B7030 8E620000 */ lw $v0, ($s3)
/* E225E4 802B7034 27A40020 */ addiu $a0, $sp, 0x20
/* E225E8 802B7038 8C45000C */ lw $a1, 0xc($v0)
/* E225EC 802B703C 3C120001 */ lui $s2, 1
/* E225F0 802B7040 00A0302D */ daddu $a2, $a1, $zero
/* E225F4 802B7044 0C019DF0 */ jal guScaleF
/* E225F8 802B7048 00A0382D */ daddu $a3, $a1, $zero
/* E225FC 802B704C 27B00060 */ addiu $s0, $sp, 0x60
/* E22600 802B7050 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E22604 802B7054 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E22608 802B7058 44800000 */ mtc1 $zero, $f0
/* E2260C 802B705C 00031080 */ sll $v0, $v1, 2
/* E22610 802B7060 00431021 */ addu $v0, $v0, $v1
/* E22614 802B7064 00021080 */ sll $v0, $v0, 2
/* E22618 802B7068 00431023 */ subu $v0, $v0, $v1
/* E2261C 802B706C 000218C0 */ sll $v1, $v0, 3
/* E22620 802B7070 00431021 */ addu $v0, $v0, $v1
/* E22624 802B7074 000210C0 */ sll $v0, $v0, 3
/* E22628 802B7078 44060000 */ mfc1 $a2, $f0
/* E2262C 802B707C 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E22630 802B7080 00220821 */ addu $at, $at, $v0
/* E22634 802B7084 C4201DEC */ lwc1 $f0, %lo(D_800B1DEC)($at)
/* E22638 802B7088 3C073F80 */ lui $a3, 0x3f80
/* E2263C 802B708C 46000007 */ neg.s $f0, $f0
/* E22640 802B7090 44050000 */ mfc1 $a1, $f0
/* E22644 802B7094 0200202D */ daddu $a0, $s0, $zero
/* E22648 802B7098 0C019EC8 */ jal guRotateF
/* E2264C 802B709C AFA60010 */ sw $a2, 0x10($sp)
/* E22650 802B70A0 27A40020 */ addiu $a0, $sp, 0x20
/* E22654 802B70A4 0200282D */ daddu $a1, $s0, $zero
/* E22658 802B70A8 0C019D80 */ jal guMtxCatF
/* E2265C 802B70AC 0080302D */ daddu $a2, $a0, $zero
/* E22660 802B70B0 8E620000 */ lw $v0, ($s3)
/* E22664 802B70B4 36521630 */ ori $s2, $s2, 0x1630
/* E22668 802B70B8 8C450000 */ lw $a1, ($v0)
/* E2266C 802B70BC 8C460004 */ lw $a2, 4($v0)
/* E22670 802B70C0 8C470008 */ lw $a3, 8($v0)
/* E22674 802B70C4 0C019E40 */ jal guTranslateF
/* E22678 802B70C8 0200202D */ daddu $a0, $s0, $zero
/* E2267C 802B70CC 27A40020 */ addiu $a0, $sp, 0x20
/* E22680 802B70D0 0200282D */ daddu $a1, $s0, $zero
/* E22684 802B70D4 0C019D80 */ jal guMtxCatF
/* E22688 802B70D8 0200302D */ daddu $a2, $s0, $zero
/* E2268C 802B70DC 0200202D */ daddu $a0, $s0, $zero
/* E22690 802B70E0 3C108007 */ lui $s0, %hi(D_800741F0)
/* E22694 802B70E4 261041F0 */ addiu $s0, $s0, %lo(D_800741F0)
/* E22698 802B70E8 3C11800A */ lui $s1, %hi(D_8009A674)
/* E2269C 802B70EC 2631A674 */ addiu $s1, $s1, %lo(D_8009A674)
/* E226A0 802B70F0 96050000 */ lhu $a1, ($s0)
/* E226A4 802B70F4 8E220000 */ lw $v0, ($s1)
/* E226A8 802B70F8 00052980 */ sll $a1, $a1, 6
/* E226AC 802B70FC 00B22821 */ addu $a1, $a1, $s2
/* E226B0 802B7100 0C019D40 */ jal guMtxF2L
/* E226B4 802B7104 00452821 */ addu $a1, $v0, $a1
/* E226B8 802B7108 3C03DA38 */ lui $v1, 0xda38
/* E226BC 802B710C 3C05800A */ lui $a1, %hi(D_8009A66C)
/* E226C0 802B7110 24A5A66C */ addiu $a1, $a1, %lo(D_8009A66C)
/* E226C4 802B7114 34630002 */ ori $v1, $v1, 2
/* E226C8 802B7118 8CA40000 */ lw $a0, ($a1)
/* E226CC 802B711C 96020000 */ lhu $v0, ($s0)
/* E226D0 802B7120 0080302D */ daddu $a2, $a0, $zero
/* E226D4 802B7124 24840008 */ addiu $a0, $a0, 8
/* E226D8 802B7128 ACA40000 */ sw $a0, ($a1)
/* E226DC 802B712C ACC30000 */ sw $v1, ($a2)
/* E226E0 802B7130 24430001 */ addiu $v1, $v0, 1
/* E226E4 802B7134 3042FFFF */ andi $v0, $v0, 0xffff
/* E226E8 802B7138 00021180 */ sll $v0, $v0, 6
/* E226EC 802B713C A6030000 */ sh $v1, ($s0)
/* E226F0 802B7140 8E230000 */ lw $v1, ($s1)
/* E226F4 802B7144 00521021 */ addu $v0, $v0, $s2
/* E226F8 802B7148 00621821 */ addu $v1, $v1, $v0
/* E226FC 802B714C 3C02DE00 */ lui $v0, %hi(D_DE007C00)
/* E22700 802B7150 ACC30004 */ sw $v1, 4($a2)
/* E22704 802B7154 AC820000 */ sw $v0, ($a0)
/* E22708 802B7158 8E630000 */ lw $v1, ($s3)
/* E2270C 802B715C 3C02802B */ lui $v0, %hi(D_802B7C00)
/* E22710 802B7160 24427C00 */ addiu $v0, $v0, %lo(D_DE007C00)
/* E22714 802B7164 AC820004 */ sw $v0, 4($a0)
/* E22718 802B7168 8C620018 */ lw $v0, 0x18($v1)
/* E2271C 802B716C 24840008 */ addiu $a0, $a0, 8
/* E22720 802B7170 2842002F */ slti $v0, $v0, 0x2f
/* E22724 802B7174 10400004 */ beqz $v0, .L802B7188
/* E22728 802B7178 ACA40000 */ sw $a0, ($a1)
/* E2272C 802B717C 8C620020 */ lw $v0, 0x20($v1)
/* E22730 802B7180 24420001 */ addiu $v0, $v0, 1
/* E22734 802B7184 AC620020 */ sw $v0, 0x20($v1)
.L802B7188:
/* E22738 802B7188 8E620000 */ lw $v0, ($s3)
/* E2273C 802B718C 3C032AAA */ lui $v1, 0x2aaa
/* E22740 802B7190 8C440020 */ lw $a0, 0x20($v0)
/* E22744 802B7194 3463AAAB */ ori $v1, $v1, 0xaaab
/* E22748 802B7198 00830018 */ mult $a0, $v1
/* E2274C 802B719C 000417C3 */ sra $v0, $a0, 0x1f
/* E22750 802B71A0 00004010 */ mfhi $t0
/* E22754 802B71A4 00081843 */ sra $v1, $t0, 1
/* E22758 802B71A8 00621823 */ subu $v1, $v1, $v0
/* E2275C 802B71AC 00031040 */ sll $v0, $v1, 1
/* E22760 802B71B0 00431021 */ addu $v0, $v0, $v1
/* E22764 802B71B4 00021080 */ sll $v0, $v0, 2
/* E22768 802B71B8 00822023 */ subu $a0, $a0, $v0
/* E2276C 802B71BC 2C82000C */ sltiu $v0, $a0, 0xc
/* E22770 802B71C0 10400011 */ beqz $v0, .L802B7208
/* E22774 802B71C4 00041080 */ sll $v0, $a0, 2
/* E22778 802B71C8 3C01802B */ lui $at, %hi(D_802B7C80)
/* E2277C 802B71CC 00220821 */ addu $at, $at, $v0
/* E22780 802B71D0 8C227C80 */ lw $v0, %lo(D_802B7C80)($at)
/* E22784 802B71D4 00400008 */ jr $v0
/* E22788 802B71D8 00000000 */ nop
/* E2278C 802B71DC 3C02802B */ lui $v0, %hi(D_802B7BA0)
/* E22790 802B71E0 24427BA0 */ addiu $v0, $v0, %lo(D_802B7BA0)
/* E22794 802B71E4 080ADC82 */ j .L802B7208
/* E22798 802B71E8 AFA200A4 */ sw $v0, 0xa4($sp)
/* E2279C 802B71EC 3C02802B */ lui $v0, %hi(D_802B7BC0)
/* E227A0 802B71F0 24427BC0 */ addiu $v0, $v0, %lo(D_802B7BC0)
/* E227A4 802B71F4 080ADC82 */ j .L802B7208
/* E227A8 802B71F8 AFA200A4 */ sw $v0, 0xa4($sp)
/* E227AC 802B71FC 3C02802B */ lui $v0, %hi(D_802B7BE0)
/* E227B0 802B7200 24427BE0 */ addiu $v0, $v0, %lo(D_802B7BE0)
/* E227B4 802B7204 AFA200A4 */ sw $v0, 0xa4($sp)
.L802B7208:
/* E227B8 802B7208 0000202D */ daddu $a0, $zero, $zero
/* E227BC 802B720C 24050007 */ addiu $a1, $zero, 7
/* E227C0 802B7210 240600FF */ addiu $a2, $zero, 0xff
/* E227C4 802B7214 3C02802B */ lui $v0, %hi(D_802B7C78)
/* E227C8 802B7218 8C427C78 */ lw $v0, %lo(D_802B7C78)($v0)
/* E227CC 802B721C 00C0802D */ daddu $s0, $a2, $zero
/* E227D0 802B7220 AFB00010 */ sw $s0, 0x10($sp)
/* E227D4 802B7224 8C420028 */ lw $v0, 0x28($v0)
/* E227D8 802B7228 00C0382D */ daddu $a3, $a2, $zero
/* E227DC 802B722C AFA00018 */ sw $zero, 0x18($sp)
/* E227E0 802B7230 0C04EAA7 */ jal func_8013AA9C
/* E227E4 802B7234 AFA20014 */ sw $v0, 0x14($sp)
/* E227E8 802B7238 0000202D */ daddu $a0, $zero, $zero
/* E227EC 802B723C 27A500A0 */ addiu $a1, $sp, 0xa0
/* E227F0 802B7240 0080302D */ daddu $a2, $a0, $zero
/* E227F4 802B7244 27A70060 */ addiu $a3, $sp, 0x60
/* E227F8 802B7248 3C02802B */ lui $v0, %hi(D_802B7580)
/* E227FC 802B724C 24427580 */ addiu $v0, $v0, %lo(D_802B7580)
/* E22800 802B7250 AFA200A0 */ sw $v0, 0xa0($sp)
/* E22804 802B7254 24020038 */ addiu $v0, $zero, 0x38
/* E22808 802B7258 A7A200A8 */ sh $v0, 0xa8($sp)
/* E2280C 802B725C A7A200AA */ sh $v0, 0xaa($sp)
/* E22810 802B7260 2402FFE4 */ addiu $v0, $zero, -0x1c
/* E22814 802B7264 A7A200AC */ sh $v0, 0xac($sp)
/* E22818 802B7268 2402002E */ addiu $v0, $zero, 0x2e
/* E2281C 802B726C A7A200AE */ sh $v0, 0xae($sp)
/* E22820 802B7270 0C04EBDC */ jal func_8013AF70
/* E22824 802B7274 A3B000B0 */ sb $s0, 0xb0($sp)
/* E22828 802B7278 3C05D838 */ lui $a1, 0xd838
/* E2282C 802B727C 3C03800A */ lui $v1, %hi(D_8009A66C)
/* E22830 802B7280 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C)
/* E22834 802B7284 8C620000 */ lw $v0, ($v1)
/* E22838 802B7288 34A50002 */ ori $a1, $a1, 2
/* E2283C 802B728C 0040202D */ daddu $a0, $v0, $zero
/* E22840 802B7290 24420008 */ addiu $v0, $v0, 8
/* E22844 802B7294 AC620000 */ sw $v0, ($v1)
/* E22848 802B7298 24020040 */ addiu $v0, $zero, 0x40
/* E2284C 802B729C AC850000 */ sw $a1, ($a0)
/* E22850 802B72A0 AC820004 */ sw $v0, 4($a0)
.L802B72A4:
/* E22854 802B72A4 8FBF00C8 */ lw $ra, 0xc8($sp)
/* E22858 802B72A8 8FB300C4 */ lw $s3, 0xc4($sp)
/* E2285C 802B72AC 8FB200C0 */ lw $s2, 0xc0($sp)
/* E22860 802B72B0 8FB100BC */ lw $s1, 0xbc($sp)
/* E22864 802B72B4 8FB000B8 */ lw $s0, 0xb8($sp)
/* E22868 802B72B8 03E00008 */ jr $ra
/* E2286C 802B72BC 27BD00D0 */ addiu $sp, $sp, 0xd0

View File

@ -0,0 +1,43 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B72C0_E22870
/* E22870 802B72C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E22874 802B72C4 AFB00010 */ sw $s0, 0x10($sp)
/* E22878 802B72C8 3C10802B */ lui $s0, %hi(D_802B7C78)
/* E2287C 802B72CC 26107C78 */ addiu $s0, $s0, %lo(D_802B7C78)
/* E22880 802B72D0 AFBF0014 */ sw $ra, 0x14($sp)
/* E22884 802B72D4 8E040000 */ lw $a0, ($s0)
/* E22888 802B72D8 0C00A580 */ jal mem_clear
/* E2288C 802B72DC 2405002C */ addiu $a1, $zero, 0x2c
/* E22890 802B72E0 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* E22894 802B72E4 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* E22898 802B72E8 8E030000 */ lw $v1, ($s0)
/* E2289C 802B72EC C4800028 */ lwc1 $f0, 0x28($a0)
/* E228A0 802B72F0 E4600000 */ swc1 $f0, ($v1)
/* E228A4 802B72F4 848200B0 */ lh $v0, 0xb0($a0)
/* E228A8 802B72F8 C480002C */ lwc1 $f0, 0x2c($a0)
/* E228AC 802B72FC 44821000 */ mtc1 $v0, $f2
/* E228B0 802B7300 00000000 */ nop
/* E228B4 802B7304 468010A0 */ cvt.s.w $f2, $f2
/* E228B8 802B7308 46020000 */ add.s $f0, $f0, $f2
/* E228BC 802B730C 3C014100 */ lui $at, 0x4100
/* E228C0 802B7310 44811000 */ mtc1 $at, $f2
/* E228C4 802B7314 00000000 */ nop
/* E228C8 802B7318 46020000 */ add.s $f0, $f0, $f2
/* E228CC 802B731C E4600004 */ swc1 $f0, 4($v1)
/* E228D0 802B7320 C4800030 */ lwc1 $f0, 0x30($a0)
/* E228D4 802B7324 240200FF */ addiu $v0, $zero, 0xff
/* E228D8 802B7328 AC620028 */ sw $v0, 0x28($v1)
/* E228DC 802B732C E4600008 */ swc1 $f0, 8($v1)
/* E228E0 802B7330 8C820004 */ lw $v0, 4($a0)
/* E228E4 802B7334 34420100 */ ori $v0, $v0, 0x100
/* E228E8 802B7338 AC820004 */ sw $v0, 4($a0)
/* E228EC 802B733C 8FBF0014 */ lw $ra, 0x14($sp)
/* E228F0 802B7340 8FB00010 */ lw $s0, 0x10($sp)
/* E228F4 802B7344 3C03802B */ lui $v1, %hi(D_802B735C)
/* E228F8 802B7348 2463735C */ addiu $v1, $v1, %lo(D_802B735C)
/* E228FC 802B734C 3C018011 */ lui $at, %hi(D_8010C93C)
/* E22900 802B7350 AC23C93C */ sw $v1, %lo(D_8010C93C)($at)
/* E22904 802B7354 03E00008 */ jr $ra
/* E22908 802B7358 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,152 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B735C_E2290C
/* E2290C 802B735C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E22910 802B7360 3C058011 */ lui $a1, %hi(gPlayerStatus)
/* E22914 802B7364 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
/* E22918 802B7368 AFBF0010 */ sw $ra, 0x10($sp)
/* E2291C 802B736C 84A200B0 */ lh $v0, 0xb0($a1)
/* E22920 802B7370 C4A0002C */ lwc1 $f0, 0x2c($a1)
/* E22924 802B7374 44821000 */ mtc1 $v0, $f2
/* E22928 802B7378 00000000 */ nop
/* E2292C 802B737C 468010A0 */ cvt.s.w $f2, $f2
/* E22930 802B7380 46020000 */ add.s $f0, $f0, $f2
/* E22934 802B7384 3C014120 */ lui $at, 0x4120
/* E22938 802B7388 44811000 */ mtc1 $at, $f2
/* E2293C 802B738C 3C04802B */ lui $a0, %hi(D_802B7C78)
/* E22940 802B7390 8C847C78 */ lw $a0, %lo(D_802B7C78)($a0)
/* E22944 802B7394 46020000 */ add.s $f0, $f0, $f2
/* E22948 802B7398 C4820004 */ lwc1 $f2, 4($a0)
/* E2294C 802B739C 46020001 */ sub.s $f0, $f0, $f2
/* E22950 802B73A0 3C013FC0 */ lui $at, 0x3fc0
/* E22954 802B73A4 44812000 */ mtc1 $at, $f4
/* E22958 802B73A8 00000000 */ nop
/* E2295C 802B73AC 46040003 */ div.s $f0, $f0, $f4
/* E22960 802B73B0 46001080 */ add.s $f2, $f2, $f0
/* E22964 802B73B4 8C830024 */ lw $v1, 0x24($a0)
/* E22968 802B73B8 E4820004 */ swc1 $f2, 4($a0)
/* E2296C 802B73BC C4A00028 */ lwc1 $f0, 0x28($a1)
/* E22970 802B73C0 3C068011 */ lui $a2, %hi(D_8010EBB0)
/* E22974 802B73C4 24C6EBB0 */ addiu $a2, $a2, %lo(D_8010EBB0)
/* E22978 802B73C8 E4800000 */ swc1 $f0, ($a0)
/* E2297C 802B73CC C4A00030 */ lwc1 $f0, 0x30($a1)
/* E22980 802B73D0 24020001 */ addiu $v0, $zero, 1
/* E22984 802B73D4 10620022 */ beq $v1, $v0, .L802B7460
/* E22988 802B73D8 E4800008 */ swc1 $f0, 8($a0)
/* E2298C 802B73DC 28620002 */ slti $v0, $v1, 2
/* E22990 802B73E0 50400005 */ beql $v0, $zero, .L802B73F8
/* E22994 802B73E4 24020002 */ addiu $v0, $zero, 2
/* E22998 802B73E8 10600009 */ beqz $v1, .L802B7410
/* E2299C 802B73EC 00000000 */ nop
/* E229A0 802B73F0 080ADD5A */ j .L802B7568
/* E229A4 802B73F4 00000000 */ nop
.L802B73F8:
/* E229A8 802B73F8 1062002D */ beq $v1, $v0, .L802B74B0
/* E229AC 802B73FC 24020003 */ addiu $v0, $zero, 3
/* E229B0 802B7400 10620037 */ beq $v1, $v0, .L802B74E0
/* E229B4 802B7404 00000000 */ nop
/* E229B8 802B7408 080ADD5A */ j .L802B7568
/* E229BC 802B740C 00000000 */ nop
.L802B7410:
/* E229C0 802B7410 80C20000 */ lb $v0, ($a2)
/* E229C4 802B7414 10400008 */ beqz $v0, .L802B7438
/* E229C8 802B7418 24020008 */ addiu $v0, $zero, 8
/* E229CC 802B741C 80C30003 */ lb $v1, 3($a2)
/* E229D0 802B7420 14620005 */ bne $v1, $v0, .L802B7438
/* E229D4 802B7424 00000000 */ nop
/* E229D8 802B7428 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* E229DC 802B742C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* E229E0 802B7430 080ADD10 */ j .L802B7440
/* E229E4 802B7434 8042007D */ lb $v0, 0x7d($v0)
.L802B7438:
/* E229E8 802B7438 8CA20000 */ lw $v0, ($a1)
/* E229EC 802B743C 30423000 */ andi $v0, $v0, 0x3000
.L802B7440:
/* E229F0 802B7440 14400049 */ bnez $v0, .L802B7568
/* E229F4 802B7444 00000000 */ nop
/* E229F8 802B7448 3C03802B */ lui $v1, %hi(D_802B7C78)
/* E229FC 802B744C 8C637C78 */ lw $v1, %lo(D_802B7C78)($v1)
/* E22A00 802B7450 8C620024 */ lw $v0, 0x24($v1)
/* E22A04 802B7454 24420001 */ addiu $v0, $v0, 1
/* E22A08 802B7458 080ADD5A */ j .L802B7568
/* E22A0C 802B745C AC620024 */ sw $v0, 0x24($v1)
.L802B7460:
/* E22A10 802B7460 8CA20000 */ lw $v0, ($a1)
/* E22A14 802B7464 30420020 */ andi $v0, $v0, 0x20
/* E22A18 802B7468 10400003 */ beqz $v0, .L802B7478
/* E22A1C 802B746C 24020003 */ addiu $v0, $zero, 3
/* E22A20 802B7470 080ADD5A */ j .L802B7568
/* E22A24 802B7474 AC820024 */ sw $v0, 0x24($a0)
.L802B7478:
/* E22A28 802B7478 8C820018 */ lw $v0, 0x18($a0)
/* E22A2C 802B747C 0040182D */ daddu $v1, $v0, $zero
/* E22A30 802B7480 24420001 */ addiu $v0, $v0, 1
/* E22A34 802B7484 28630010 */ slti $v1, $v1, 0x10
/* E22A38 802B7488 14600037 */ bnez $v1, .L802B7568
/* E22A3C 802B748C AC820018 */ sw $v0, 0x18($a0)
/* E22A40 802B7490 8C820024 */ lw $v0, 0x24($a0)
/* E22A44 802B7494 3C013EB8 */ lui $at, 0x3eb8
/* E22A48 802B7498 342151EC */ ori $at, $at, 0x51ec
/* E22A4C 802B749C 44810000 */ mtc1 $at, $f0
/* E22A50 802B74A0 24420001 */ addiu $v0, $v0, 1
/* E22A54 802B74A4 E480000C */ swc1 $f0, 0xc($a0)
/* E22A58 802B74A8 080ADD5A */ j .L802B7568
/* E22A5C 802B74AC AC820024 */ sw $v0, 0x24($a0)
.L802B74B0:
/* E22A60 802B74B0 0000282D */ daddu $a1, $zero, $zero
/* E22A64 802B74B4 8C820024 */ lw $v0, 0x24($a0)
/* E22A68 802B74B8 3C013F11 */ lui $at, 0x3f11
/* E22A6C 802B74BC 3421EB85 */ ori $at, $at, 0xeb85
/* E22A70 802B74C0 44810000 */ mtc1 $at, $f0
/* E22A74 802B74C4 24420001 */ addiu $v0, $v0, 1
/* E22A78 802B74C8 E480000C */ swc1 $f0, 0xc($a0)
/* E22A7C 802B74CC AC820024 */ sw $v0, 0x24($a0)
/* E22A80 802B74D0 0C052736 */ jal play_sound_at_player
/* E22A84 802B74D4 2404017B */ addiu $a0, $zero, 0x17b
/* E22A88 802B74D8 080ADD5A */ j .L802B7568
/* E22A8C 802B74DC 00000000 */ nop
.L802B74E0:
/* E22A90 802B74E0 8C820018 */ lw $v0, 0x18($a0)
/* E22A94 802B74E4 3C013F07 */ lui $at, 0x3f07
/* E22A98 802B74E8 3421AE14 */ ori $at, $at, 0xae14
/* E22A9C 802B74EC 44810000 */ mtc1 $at, $f0
/* E22AA0 802B74F0 2842002F */ slti $v0, $v0, 0x2f
/* E22AA4 802B74F4 10400005 */ beqz $v0, .L802B750C
/* E22AA8 802B74F8 E480000C */ swc1 $f0, 0xc($a0)
/* E22AAC 802B74FC 8CA20000 */ lw $v0, ($a1)
/* E22AB0 802B7500 30420020 */ andi $v0, $v0, 0x20
/* E22AB4 802B7504 10400008 */ beqz $v0, .L802B7528
/* E22AB8 802B7508 00000000 */ nop
.L802B750C:
/* E22ABC 802B750C 8C820028 */ lw $v0, 0x28($a0)
/* E22AC0 802B7510 2442FFC0 */ addiu $v0, $v0, -0x40
/* E22AC4 802B7514 04410004 */ bgez $v0, .L802B7528
/* E22AC8 802B7518 AC820028 */ sw $v0, 0x28($a0)
/* E22ACC 802B751C 24020033 */ addiu $v0, $zero, 0x33
/* E22AD0 802B7520 AC800028 */ sw $zero, 0x28($a0)
/* E22AD4 802B7524 AC820018 */ sw $v0, 0x18($a0)
.L802B7528:
/* E22AD8 802B7528 3C02802B */ lui $v0, %hi(D_802B7C78)
/* E22ADC 802B752C 8C427C78 */ lw $v0, %lo(D_802B7C78)($v0)
/* E22AE0 802B7530 8C430018 */ lw $v1, 0x18($v0)
/* E22AE4 802B7534 0060202D */ daddu $a0, $v1, $zero
/* E22AE8 802B7538 24630001 */ addiu $v1, $v1, 1
/* E22AEC 802B753C 28840033 */ slti $a0, $a0, 0x33
/* E22AF0 802B7540 14800009 */ bnez $a0, .L802B7568
/* E22AF4 802B7544 AC430018 */ sw $v1, 0x18($v0)
/* E22AF8 802B7548 3C018016 */ lui $at, %hi(D_8015A57A)
/* E22AFC 802B754C A020A57A */ sb $zero, %lo(D_8015A57A)($at)
/* E22B00 802B7550 8CA20004 */ lw $v0, 4($a1)
/* E22B04 802B7554 2403FEFF */ addiu $v1, $zero, -0x101
/* E22B08 802B7558 3C018011 */ lui $at, %hi(D_8010C93C)
/* E22B0C 802B755C AC20C93C */ sw $zero, %lo(D_8010C93C)($at)
/* E22B10 802B7560 00431024 */ and $v0, $v0, $v1
/* E22B14 802B7564 ACA20004 */ sw $v0, 4($a1)
.L802B7568:
/* E22B18 802B7568 8FBF0010 */ lw $ra, 0x10($sp)
/* E22B1C 802B756C 03E00008 */ jr $ra
/* E22B20 802B7570 27BD0018 */ addiu $sp, $sp, 0x18
/* E22B24 802B7574 00000000 */ nop
/* E22B28 802B7578 00000000 */ nop
/* E22B2C 802B757C 00000000 */ nop

View File

@ -1470,13 +1470,13 @@ typedef struct PlayerStatus {
/* 0x0B6 */ u8 fallState; /* 0x0B6 */ u8 fallState;
/* 0x0B7 */ char unk_B7; /* 0x0B7 */ char unk_B7;
/* 0x0B8 */ s32 anim; /* 0x0B8 */ s32 anim;
/* 0x0BC */ char unk_BC[2]; /* 0x0BC */ s16 unk_BC;
/* 0x0BE */ u8 renderMode; /* 0x0BE */ u8 renderMode;
/* 0x0BF */ s8 unk_BF; /* 0x0BF */ s8 unk_BF;
/* 0x0C0 */ u32* decorationList; /* 0x0C0 */ u32* decorationList;
/* 0x0C4 */ char unk_C4[2]; /* 0x0C4 */ char unk_C4[2];
/* 0x0C6 */ s16 unk_C6; /* 0x0C6 */ s16 unk_C6;
/* 0x0C8 */ UNK_PTR unk_C8; /* 0x0C8 */ s32* unk_C8;
/* 0x0CC */ s32 shadowID; /* 0x0CC */ s32 shadowID;
/* 0x0D0 */ char unk_D0[8]; /* 0x0D0 */ char unk_D0[8];
/* 0x0D8 */ UNK_PTR** unk_D8; /* 0x0D8 */ UNK_PTR** unk_D8;

View File

@ -80,9 +80,11 @@ void fx_walk_normal(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5);
void fx_emote(s32, Npc*, f32, f32, f32, f32, f32, s32, s32*); void fx_emote(s32, Npc*, f32, f32, f32, f32, f32, s32, s32*);
f32 func_800E0088(f32, f32); f32 func_800E0088(f32, f32);
void func_800E06C0(s32);
void func_800E97B8(void); void func_800E97B8(void);
s32 func_800EB168(s32); s32 func_800EB168(s32);
Shadow* create_shadow_type(s32 type, f32 x, f32 y, f32 z);
PlayerData* get_player_data(void); PlayerData* get_player_data(void);

View File

@ -2,7 +2,6 @@
#define _CODE_190B20_H_ #define _CODE_190B20_H_
#include "common.h" #include "common.h"
#include "code_a5dd0_len_114e0.h"
void player_create_target_list(Actor* actor); void player_create_target_list(Actor* actor);
void enemy_create_target_list(Actor* actor); void enemy_create_target_list(Actor* actor);

View File

@ -1,5 +1,11 @@
#include "common.h" #include "common.h"
extern s32 D_8010C920;
extern s32 D_8010C93C;
extern s32 D_8010C940;
extern s32 D_8010C950;
extern s32 D_8010C958;
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC500); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC500);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC778); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC778);
@ -14,7 +20,12 @@ INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DD228);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DD44C); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DD44C);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DD5B4); void func_800DD5B4(f32* arg0, f32* arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) {
f32 temp = (arg2 * arg4) + (arg3 * arg5);
*arg0 = (arg2 - (temp * arg4)) * 0.5f;
*arg1 = (arg3 - (temp * arg5)) * 0.5f;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DD618); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DD618);
@ -44,7 +55,12 @@ INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DEE5C);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DF15C); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DF15C);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DF3FC); void func_800DF3FC(f32* arg0, f32* arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) {
f32 temp = (arg2 * arg4) + (arg3 * arg5);
*arg0 = (arg2 - (temp * arg4)) * 0.5f;
*arg1 = (arg3 - (temp * arg5)) * 0.5f;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", test_player_lateral); INCLUDE_ASM(s32, "code_759b0_len_61b0", test_player_lateral);
@ -54,27 +70,86 @@ INCLUDE_ASM(s32, "code_759b0_len_61b0", check_input_use_partner);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFAAC); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFAAC);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFBE8); void func_800DFBE8(void) {
func_800E5A2C();
collision_main_lateral();
func_800E4BB8();
if (!(gPlayerStatusPtr->flags & 0x4000000)) {
Camera* camera = &gCameras[0];
camera->targetPos.x = gPlayerStatusPtr->position.x;
camera->targetPos.y = gPlayerStatusPtr->position.y;
camera->targetPos.z = gPlayerStatusPtr->position.z;
}
}
void clear_player_status(void) { void clear_player_status(void) {
mem_clear(&gPlayerStatus, sizeof(gPlayerStatus)); mem_clear(&gPlayerStatus, sizeof(gPlayerStatus));
} }
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFC74); void func_800DFC74(void) {
PlayerStatus* playerStatus = PLAYER_STATUS;
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFCF4); mem_clear(playerStatus, sizeof(PlayerStatus));
playerStatus->flags = 1;
func_800E205C();
playerStatus->shadowID = create_shadow_type(0, playerStatus->position.x, playerStatus->position.y, playerStatus->position.z);
func_800E6B68();
func_800E0B14();
func_800E069C();
func_800E0514();
func_800E0374();
func_800E5520();
}
s32 func_800DFCF4(void) {
if (D_8010EBB0[0] == 1 && (D_8010EBB0[3] == 6 || D_8010EBB0[3] == 9 || D_8010EBB0[3] == 7 || D_8010EBB0[3] == 4 || D_8010EBB0[3] == 8)) {
return 0;
}
return 1;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFD48); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFD48);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFEFC); void func_800DFEFC(void) {
PlayerStatus* playerStatus = PLAYER_STATUS;
s32 temp_v0 = func_800DFD48();
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFF50); if (temp_v0 != -1) {
playerStatus->anim = temp_v0;
playerStatus->unk_BC = 0;
playerStatus->flags &= ~0x10000000;
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFF78); void func_800DFF50(s32 arg0) {
PlayerStatus* playerStatus = PLAYER_STATUS;
playerStatus->anim = arg0;
playerStatus->unk_BC = 0;
playerStatus->flags &= ~0x10000000;
}
void func_800DFF78(void) {
PlayerStatus* playerStatus = PLAYER_STATUS;
s32 temp_v0 = func_800DFD48();
if (temp_v0 != -1) {
playerStatus->anim = temp_v0;
playerStatus->unk_BC = 0;
playerStatus->flags |= 0x10000000;
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFFCC); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DFFCC);
INCLUDE_ASM(f32, "code_759b0_len_61b0", func_800E0088, f32 arg0, f32 arg1); // dist_to_player2D
f32 func_800E0088(f32 x, f32 z) {
PlayerStatus* playerStatus = PLAYER_STATUS;
return dist2D(x, z, playerStatus->position.x, playerStatus->position.z);
}
void enable_player_shadow(void) { void enable_player_shadow(void) {
get_shadow_by_index(D_8010F094)->flags &= ~1; get_shadow_by_index(D_8010F094)->flags &= ~1;
@ -120,43 +195,118 @@ s32 enable_player_input(void) {
return playerStatus->statusMenuCounterinputEnabledCounter; return playerStatus->statusMenuCounterinputEnabledCounter;
} }
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E01DC); void func_800E01DC(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0208); if (playerStatus->animFlags & 0x10) {
playerStatus->flags |= 0x8000000;
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0260); s32 func_800E0208(void) {
GameStatus* gameStatus = GAME_STATUS;
s32 ret = 0;
if (gameStatus->disableScripts && (gameStatus->currentButtons & 0x10)) {
if (D_8010EBB0[0] == 0) {
set_action_state(ActionState_IDLE);
}
ret = 1;
}
return ret;
}
void func_800E0260(void) {
func_800E0658();
func_800E0AD0();
func_800E04D0();
func_800E0330();
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0294); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0294);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0330); void func_800E0330(void) {
if ((gPlayerStatusPtr->animFlags & 0x100) && (D_8010C93C != 0)) {
func_802B7000();
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0374); void func_800E0374(void) {
D_8010C93C = 0;
gPlayerStatusPtr->animFlags &= ~0x100;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0398); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0398);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E04D0); void func_800E04D0(void) {
if ((gPlayerStatusPtr->animFlags & 0x40) && (D_8010C920 != 0)) {
func_802B71D4();
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0514); void func_800E0514(void) {
D_8010C920 = 0;
gPlayerStatusPtr->animFlags &= ~0x40;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0538); s32 func_800E0538(void) {
PlayerStatus* playerStatus = PLAYER_STATUS;
s32* unk_C8 = playerStatus->unk_C8;
s32 ret = 0;
s32 cond;
if (unk_C8 != NULL && !(*unk_C8 & 0x10000000)) {
cond = (playerStatus->flags & 0x2002000) == 0x2000000;
ret = cond;
}
return ret;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0580); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0580);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0658); void func_800E0658(void) {
if ((gPlayerStatusPtr->animFlags & 0x20) && (D_8010C940 != 0)) {
func_802B71C8();
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E069C); void func_800E069C(void) {
D_8010C940 = 0;
gPlayerStatusPtr->animFlags &= ~0x20;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E06C0); void func_800E06C0(s32 arg0) {
D_8010C950 = (arg0 == 1);
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E06D8); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E06D8);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0818); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0818);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0AD0); void func_800E0AD0(void) {
if ((gPlayerStatusPtr->animFlags & 0x10) && (D_8010C958 != 0)) {
func_802B71E8();
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0B14); void func_800E0B14(void) {
D_8010C958 = 0;
gPlayerStatusPtr->animFlags &= ~0x10;
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0B38); void func_800E0B38(void) {
PlayerData* playerData = PLAYER_DATA;
if (!GAME_STATUS->isBattle) {
s32 i;
for (i = 1; i < ARRAY_COUNT(playerData->unk_2C4); i++) {
if (playerData->partners[i].enabled) {
playerData->unk_2C4[i] += 1;
}
}
}
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0B90); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E0B90);
@ -180,7 +330,11 @@ INCLUDE_ASM(s32, "code_759b0_len_61b0", update_player_input);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E205C); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E205C);
INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800E22E4); void func_800E22E4(s32* arg0) {
PlayerStatus* playerStatus = PLAYER_STATUS;
*arg0 = (u16)playerStatus->currentButtons | (playerStatus->pressedButtons << 16);
}
INCLUDE_ASM(s32, "code_759b0_len_61b0", input_to_move_vector); INCLUDE_ASM(s32, "code_759b0_len_61b0", input_to_move_vector);

7
src/code_E225B0.c Normal file
View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E225B0", func_802B7000_E225B0);
INCLUDE_ASM(s32, "code_E225B0", func_802B72C0_E22870);
INCLUDE_ASM(s32, "code_E225B0", func_802B735C_E2290C);

View File

@ -1,4 +1,4 @@
#include "code_a5dd0_len_114e0.h" #include "common.h"
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", update_entities); INCLUDE_ASM(s32, "code_a5dd0_len_114e0", update_entities);

View File

@ -1,8 +0,0 @@
#ifndef _CODE_A5DD0_LEN_114E0_H_
#define _CODE_A5DD0_LEN_114E0_H_
#include "common.h"
Shadow* create_shadow_type(s32 type, f32 x, f32 y, f32 z);
#endif

View File

@ -6898,8 +6898,15 @@ segments:
vram: 0x802B7000 vram: 0x802B7000
files: files:
- [0xE21870, c] - [0xE21870, c]
- [0xE21EB0, "bin"] - [0xE21EB0, bin]
- [0xE225B0, "bin"] - type: code
overlay: True
start: 0xE225B0
vram: 0x802B7000
files:
- [0xE225B0, c]
- [0xE22B30, bin]
- [0xE23260, "bin"]
- [0xF007C0, "bin", "Battle_Fanfare_02"] # BGM start - [0xF007C0, "bin", "Battle_Fanfare_02"] # BGM start
- [0xF02160, "bin", "Hey_You_03"] - [0xF02160, "bin", "Hey_You_03"]
- [0xF03740, "bin", "The_Goomba_King_s_Decree_07"] - [0xF03740, "bin", "The_Goomba_King_s_Decree_07"]

View File

@ -353,3 +353,4 @@ D_DE0079B8 = 0xDE0079B8;
D_DE003E00 = 0xDE003E00; D_DE003E00 = 0xDE003E00;
D_C1F06370 = 0xC1F06370; D_C1F06370 = 0xC1F06370;
D_DE001F00 = 0xDE001F00; D_DE001F00 = 0xDE001F00;
D_DE007C00 = 0xDE007C00;

View File

@ -4319,8 +4319,10 @@ D_802AE000 = 0x802AE000;
D_802B70B4 = 0x802B70B4; D_802B70B4 = 0x802B70B4;
D_802B7140 = 0x802B7140; D_802B7140 = 0x802B7140;
D_802B72C0 = 0x802B72C0; D_802B72C0 = 0x802B72C0;
D_802B735C = 0x802B735C;
D_802B742C = 0x802B742C; D_802B742C = 0x802B742C;
D_802B74F0 = 0x802B74F0; D_802B74F0 = 0x802B74F0;
D_802B7580 = 0x802B7580;
D_802B7640 = 0x802B7640; D_802B7640 = 0x802B7640;
D_802B7710 = 0x802B7710; D_802B7710 = 0x802B7710;
D_802B7910 = 0x802B7910; D_802B7910 = 0x802B7910;
@ -4328,7 +4330,12 @@ D_802B7930 = 0x802B7930;
D_802B79A8 = 0x802B79A8; D_802B79A8 = 0x802B79A8;
D_802B79B0 = 0x802B79B0; D_802B79B0 = 0x802B79B0;
D_802B79B8 = 0x802B79B8; D_802B79B8 = 0x802B79B8;
D_802B7BA0 = 0x802B7BA0;
D_802B7BC0 = 0x802B7BC0;
D_802B7BE0 = 0x802B7BE0;
D_802B7C00 = 0x802B7C00;
D_802B7C60 = 0x802B7C60; D_802B7C60 = 0x802B7C60;
D_802B7C78 = 0x802B7C78;
D_802B7C80 = 0x802B7C80; D_802B7C80 = 0x802B7C80;
D_802B7CA0 = 0x802B7CA0; D_802B7CA0 = 0x802B7CA0;
D_802B7D18 = 0x802B7D18; D_802B7D18 = 0x802B7D18;