diff --git a/asm/nonmatchings/code_10A8D0/func_802E9050.s b/asm/nonmatchings/code_10A8D0/func_802E9050.s deleted file mode 100644 index 6c666073d9..0000000000 --- a/asm/nonmatchings/code_10A8D0/func_802E9050.s +++ /dev/null @@ -1,79 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E9050 -/* 10A8D0 802E9050 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 10A8D4 802E9054 AFB00010 */ sw $s0, 0x10($sp) -/* 10A8D8 802E9058 0080802D */ daddu $s0, $a0, $zero -/* 10A8DC 802E905C AFBF0018 */ sw $ra, 0x18($sp) -/* 10A8E0 802E9060 AFB10014 */ sw $s1, 0x14($sp) -/* 10A8E4 802E9064 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 10A8E8 802E9068 C6000064 */ lwc1 $f0, 0x64($s0) -/* 10A8EC 802E906C 3C014334 */ lui $at, 0x4334 -/* 10A8F0 802E9070 44816000 */ mtc1 $at, $f12 -/* 10A8F4 802E9074 0C00A6C9 */ jal clamp_angle -/* 10A8F8 802E9078 46006301 */ sub.s $f12, $f12, $f0 -/* 10A8FC 802E907C 3C118011 */ lui $s1, %hi(gPlayerStatus) -/* 10A900 802E9080 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) -/* 10A904 802E9084 C60C0048 */ lwc1 $f12, 0x48($s0) -/* 10A908 802E9088 C60E0050 */ lwc1 $f14, 0x50($s0) -/* 10A90C 802E908C 8E260028 */ lw $a2, 0x28($s1) -/* 10A910 802E9090 8E270030 */ lw $a3, 0x30($s1) -/* 10A914 802E9094 0C00A720 */ jal atan2 -/* 10A918 802E9098 46000506 */ mov.s $f20, $f0 -/* 10A91C 802E909C 0C00A6C9 */ jal clamp_angle -/* 10A920 802E90A0 46000306 */ mov.s $f12, $f0 -/* 10A924 802E90A4 4600A501 */ sub.s $f20, $f20, $f0 -/* 10A928 802E90A8 8E220004 */ lw $v0, 4($s1) -/* 10A92C 802E90AC 30420001 */ andi $v0, $v0, 1 -/* 10A930 802E90B0 14400022 */ bnez $v0, .L802E913C -/* 10A934 802E90B4 4600A505 */ abs.s $f20, $f20 -/* 10A938 802E90B8 92020006 */ lbu $v0, 6($s0) -/* 10A93C 802E90BC 30420001 */ andi $v0, $v0, 1 -/* 10A940 802E90C0 1440001E */ bnez $v0, .L802E913C -/* 10A944 802E90C4 00000000 */ nop -/* 10A948 802E90C8 3C014220 */ lui $at, 0x4220 -/* 10A94C 802E90CC 44810000 */ mtc1 $at, $f0 -/* 10A950 802E90D0 00000000 */ nop -/* 10A954 802E90D4 4600A03E */ c.le.s $f20, $f0 -/* 10A958 802E90D8 00000000 */ nop -/* 10A95C 802E90DC 45010008 */ bc1t .L802E9100 -/* 10A960 802E90E0 00000000 */ nop -/* 10A964 802E90E4 3C0143A0 */ lui $at, 0x43a0 -/* 10A968 802E90E8 44810000 */ mtc1 $at, $f0 -/* 10A96C 802E90EC 00000000 */ nop -/* 10A970 802E90F0 4614003E */ c.le.s $f0, $f20 -/* 10A974 802E90F4 00000000 */ nop -/* 10A978 802E90F8 45000010 */ bc1f .L802E913C -/* 10A97C 802E90FC 00000000 */ nop -.L802E9100: -/* 10A980 802E9100 8E020000 */ lw $v0, ($s0) -/* 10A984 802E9104 34421000 */ ori $v0, $v0, 0x1000 -/* 10A988 802E9108 AE020000 */ sw $v0, ($s0) -/* 10A98C 802E910C 8E220004 */ lw $v0, 4($s1) -/* 10A990 802E9110 30420010 */ andi $v0, $v0, 0x10 -/* 10A994 802E9114 1040000F */ beqz $v0, .L802E9154 -/* 10A998 802E9118 00000000 */ nop -/* 10A99C 802E911C 92020006 */ lbu $v0, 6($s0) -/* 10A9A0 802E9120 30420008 */ andi $v0, $v0, 8 -/* 10A9A4 802E9124 1040000B */ beqz $v0, .L802E9154 -/* 10A9A8 802E9128 00000000 */ nop -/* 10A9AC 802E912C 0C04419E */ jal func_80110678 -/* 10A9B0 802E9130 0200202D */ daddu $a0, $s0, $zero -/* 10A9B4 802E9134 080BA455 */ j .L802E9154 -/* 10A9B8 802E9138 00000000 */ nop -.L802E913C: -/* 10A9BC 802E913C 8E020000 */ lw $v0, ($s0) -/* 10A9C0 802E9140 2403EFFF */ addiu $v1, $zero, -0x1001 -/* 10A9C4 802E9144 00431024 */ and $v0, $v0, $v1 -/* 10A9C8 802E9148 AE020000 */ sw $v0, ($s0) -/* 10A9CC 802E914C 2402FFFF */ addiu $v0, $zero, -1 -/* 10A9D0 802E9150 A62200C6 */ sh $v0, 0xc6($s1) -.L802E9154: -/* 10A9D4 802E9154 8FBF0018 */ lw $ra, 0x18($sp) -/* 10A9D8 802E9158 8FB10014 */ lw $s1, 0x14($sp) -/* 10A9DC 802E915C 8FB00010 */ lw $s0, 0x10($sp) -/* 10A9E0 802E9160 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 10A9E4 802E9164 03E00008 */ jr $ra -/* 10A9E8 802E9168 27BD0028 */ addiu $sp, $sp, 0x28 -/* 10A9EC 802E916C 00000000 */ nop diff --git a/asm/nonmatchings/code_3251D0/func_802BD100_3251D0.s b/asm/nonmatchings/code_3251D0/func_802BD100_3251D0.s deleted file mode 100644 index 1332ccf32e..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD100_3251D0.s +++ /dev/null @@ -1,47 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD100_3251D0 -/* 3251D0 802BD100 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 3251D4 802BD104 AFB1001C */ sw $s1, 0x1c($sp) -/* 3251D8 802BD108 0080882D */ daddu $s1, $a0, $zero -/* 3251DC 802BD10C AFBF0024 */ sw $ra, 0x24($sp) -/* 3251E0 802BD110 AFB20020 */ sw $s2, 0x20($sp) -/* 3251E4 802BD114 AFB00018 */ sw $s0, 0x18($sp) -/* 3251E8 802BD118 8E30000C */ lw $s0, 0xc($s1) -/* 3251EC 802BD11C 8E050000 */ lw $a1, ($s0) -/* 3251F0 802BD120 0C0B1EAF */ jal get_variable -/* 3251F4 802BD124 26100004 */ addiu $s0, $s0, 4 -/* 3251F8 802BD128 8E050000 */ lw $a1, ($s0) -/* 3251FC 802BD12C 26100004 */ addiu $s0, $s0, 4 -/* 325200 802BD130 0220202D */ daddu $a0, $s1, $zero -/* 325204 802BD134 0C0B1EAF */ jal get_variable -/* 325208 802BD138 0040902D */ daddu $s2, $v0, $zero -/* 32520C 802BD13C 0220202D */ daddu $a0, $s1, $zero -/* 325210 802BD140 8E050000 */ lw $a1, ($s0) -/* 325214 802BD144 0C0B1EAF */ jal get_variable -/* 325218 802BD148 0040802D */ daddu $s0, $v0, $zero -/* 32521C 802BD14C 44921000 */ mtc1 $s2, $f2 -/* 325220 802BD150 00000000 */ nop -/* 325224 802BD154 468010A0 */ cvt.s.w $f2, $f2 -/* 325228 802BD158 44051000 */ mfc1 $a1, $f2 -/* 32522C 802BD15C 44901000 */ mtc1 $s0, $f2 -/* 325230 802BD160 00000000 */ nop -/* 325234 802BD164 468010A0 */ cvt.s.w $f2, $f2 -/* 325238 802BD168 44061000 */ mfc1 $a2, $f2 -/* 32523C 802BD16C 44821000 */ mtc1 $v0, $f2 -/* 325240 802BD170 00000000 */ nop -/* 325244 802BD174 468010A0 */ cvt.s.w $f2, $f2 -/* 325248 802BD178 3C014270 */ lui $at, 0x4270 -/* 32524C 802BD17C 44810000 */ mtc1 $at, $f0 -/* 325250 802BD180 44071000 */ mfc1 $a3, $f2 -/* 325254 802BD184 0000202D */ daddu $a0, $zero, $zero -/* 325258 802BD188 0C01BFBC */ jal func_8006FEF0 -/* 32525C 802BD18C E7A00010 */ swc1 $f0, 0x10($sp) -/* 325260 802BD190 8FBF0024 */ lw $ra, 0x24($sp) -/* 325264 802BD194 8FB20020 */ lw $s2, 0x20($sp) -/* 325268 802BD198 8FB1001C */ lw $s1, 0x1c($sp) -/* 32526C 802BD19C 8FB00018 */ lw $s0, 0x18($sp) -/* 325270 802BD1A0 24020002 */ addiu $v0, $zero, 2 -/* 325274 802BD1A4 03E00008 */ jr $ra -/* 325278 802BD1A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3251D0/func_802BD1AC_3251D0.s b/asm/nonmatchings/code_3251D0/func_802BD1AC_3251D0.s deleted file mode 100644 index 22bab7d86d..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD1AC_3251D0.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD1AC_3251D0 -/* 32527C 802BD1AC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 325280 802BD1B0 AFB1001C */ sw $s1, 0x1c($sp) -/* 325284 802BD1B4 0080882D */ daddu $s1, $a0, $zero -/* 325288 802BD1B8 AFBF0028 */ sw $ra, 0x28($sp) -/* 32528C 802BD1BC AFB30024 */ sw $s3, 0x24($sp) -/* 325290 802BD1C0 AFB20020 */ sw $s2, 0x20($sp) -/* 325294 802BD1C4 AFB00018 */ sw $s0, 0x18($sp) -/* 325298 802BD1C8 8E30000C */ lw $s0, 0xc($s1) -/* 32529C 802BD1CC 8E050000 */ lw $a1, ($s0) -/* 3252A0 802BD1D0 0C0B1EAF */ jal get_variable -/* 3252A4 802BD1D4 26100004 */ addiu $s0, $s0, 4 -/* 3252A8 802BD1D8 8E050000 */ lw $a1, ($s0) -/* 3252AC 802BD1DC 26100004 */ addiu $s0, $s0, 4 -/* 3252B0 802BD1E0 0220202D */ daddu $a0, $s1, $zero -/* 3252B4 802BD1E4 0C0B1EAF */ jal get_variable -/* 3252B8 802BD1E8 0040982D */ daddu $s3, $v0, $zero -/* 3252BC 802BD1EC 8E050000 */ lw $a1, ($s0) -/* 3252C0 802BD1F0 26100004 */ addiu $s0, $s0, 4 -/* 3252C4 802BD1F4 0220202D */ daddu $a0, $s1, $zero -/* 3252C8 802BD1F8 0C0B1EAF */ jal get_variable -/* 3252CC 802BD1FC 0040902D */ daddu $s2, $v0, $zero -/* 3252D0 802BD200 0220202D */ daddu $a0, $s1, $zero -/* 3252D4 802BD204 8E050000 */ lw $a1, ($s0) -/* 3252D8 802BD208 0C0B1EAF */ jal get_variable -/* 3252DC 802BD20C 0040802D */ daddu $s0, $v0, $zero -/* 3252E0 802BD210 44930000 */ mtc1 $s3, $f0 -/* 3252E4 802BD214 00000000 */ nop -/* 3252E8 802BD218 46800020 */ cvt.s.w $f0, $f0 -/* 3252EC 802BD21C 44050000 */ mfc1 $a1, $f0 -/* 3252F0 802BD220 44920000 */ mtc1 $s2, $f0 -/* 3252F4 802BD224 00000000 */ nop -/* 3252F8 802BD228 46800020 */ cvt.s.w $f0, $f0 -/* 3252FC 802BD22C 44060000 */ mfc1 $a2, $f0 -/* 325300 802BD230 44900000 */ mtc1 $s0, $f0 -/* 325304 802BD234 00000000 */ nop -/* 325308 802BD238 46800020 */ cvt.s.w $f0, $f0 -/* 32530C 802BD23C 44070000 */ mfc1 $a3, $f0 -/* 325310 802BD240 0000202D */ daddu $a0, $zero, $zero -/* 325314 802BD244 0C01C424 */ jal func_80071090 -/* 325318 802BD248 AFA20010 */ sw $v0, 0x10($sp) -/* 32531C 802BD24C 8FBF0028 */ lw $ra, 0x28($sp) -/* 325320 802BD250 8FB30024 */ lw $s3, 0x24($sp) -/* 325324 802BD254 8FB20020 */ lw $s2, 0x20($sp) -/* 325328 802BD258 8FB1001C */ lw $s1, 0x1c($sp) -/* 32532C 802BD25C 8FB00018 */ lw $s0, 0x18($sp) -/* 325330 802BD260 24020002 */ addiu $v0, $zero, 2 -/* 325334 802BD264 03E00008 */ jr $ra -/* 325338 802BD268 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_3251D0/func_802BD26C.s b/asm/nonmatchings/code_3251D0/func_802BD26C.s deleted file mode 100644 index 2093876aa1..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD26C.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD26C -/* 32533C 802BD26C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 325340 802BD270 AFB1001C */ sw $s1, 0x1c($sp) -/* 325344 802BD274 0080882D */ daddu $s1, $a0, $zero -/* 325348 802BD278 AFBF0028 */ sw $ra, 0x28($sp) -/* 32534C 802BD27C AFB30024 */ sw $s3, 0x24($sp) -/* 325350 802BD280 AFB20020 */ sw $s2, 0x20($sp) -/* 325354 802BD284 AFB00018 */ sw $s0, 0x18($sp) -/* 325358 802BD288 8E30000C */ lw $s0, 0xc($s1) -/* 32535C 802BD28C 8E050000 */ lw $a1, ($s0) -/* 325360 802BD290 0C0B1EAF */ jal get_variable -/* 325364 802BD294 26100004 */ addiu $s0, $s0, 4 -/* 325368 802BD298 8E050000 */ lw $a1, ($s0) -/* 32536C 802BD29C 26100004 */ addiu $s0, $s0, 4 -/* 325370 802BD2A0 0220202D */ daddu $a0, $s1, $zero -/* 325374 802BD2A4 0C0B1EAF */ jal get_variable -/* 325378 802BD2A8 0040982D */ daddu $s3, $v0, $zero -/* 32537C 802BD2AC 8E050000 */ lw $a1, ($s0) -/* 325380 802BD2B0 26100004 */ addiu $s0, $s0, 4 -/* 325384 802BD2B4 0220202D */ daddu $a0, $s1, $zero -/* 325388 802BD2B8 0C0B1EAF */ jal get_variable -/* 32538C 802BD2BC 0040902D */ daddu $s2, $v0, $zero -/* 325390 802BD2C0 0220202D */ daddu $a0, $s1, $zero -/* 325394 802BD2C4 8E050000 */ lw $a1, ($s0) -/* 325398 802BD2C8 0C0B1EAF */ jal get_variable -/* 32539C 802BD2CC 0040802D */ daddu $s0, $v0, $zero -/* 3253A0 802BD2D0 44930000 */ mtc1 $s3, $f0 -/* 3253A4 802BD2D4 00000000 */ nop -/* 3253A8 802BD2D8 46800020 */ cvt.s.w $f0, $f0 -/* 3253AC 802BD2DC 44050000 */ mfc1 $a1, $f0 -/* 3253B0 802BD2E0 44920000 */ mtc1 $s2, $f0 -/* 3253B4 802BD2E4 00000000 */ nop -/* 3253B8 802BD2E8 46800020 */ cvt.s.w $f0, $f0 -/* 3253BC 802BD2EC 44060000 */ mfc1 $a2, $f0 -/* 3253C0 802BD2F0 44900000 */ mtc1 $s0, $f0 -/* 3253C4 802BD2F4 00000000 */ nop -/* 3253C8 802BD2F8 46800020 */ cvt.s.w $f0, $f0 -/* 3253CC 802BD2FC 44070000 */ mfc1 $a3, $f0 -/* 3253D0 802BD300 24040001 */ addiu $a0, $zero, 1 -/* 3253D4 802BD304 0C01C424 */ jal func_80071090 -/* 3253D8 802BD308 AFA20010 */ sw $v0, 0x10($sp) -/* 3253DC 802BD30C 8FBF0028 */ lw $ra, 0x28($sp) -/* 3253E0 802BD310 8FB30024 */ lw $s3, 0x24($sp) -/* 3253E4 802BD314 8FB20020 */ lw $s2, 0x20($sp) -/* 3253E8 802BD318 8FB1001C */ lw $s1, 0x1c($sp) -/* 3253EC 802BD31C 8FB00018 */ lw $s0, 0x18($sp) -/* 3253F0 802BD320 24020002 */ addiu $v0, $zero, 2 -/* 3253F4 802BD324 03E00008 */ jr $ra -/* 3253F8 802BD328 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_3251D0/func_802BD32C.s b/asm/nonmatchings/code_3251D0/func_802BD32C.s deleted file mode 100644 index 9b3cb1f670..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD32C.s +++ /dev/null @@ -1,29 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD32C -/* 3253FC 802BD32C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 325400 802BD330 AFBF0014 */ sw $ra, 0x14($sp) -/* 325404 802BD334 AFB00010 */ sw $s0, 0x10($sp) -/* 325408 802BD338 8C82000C */ lw $v0, 0xc($a0) -/* 32540C 802BD33C 0C0B1EAF */ jal get_variable -/* 325410 802BD340 8C450000 */ lw $a1, ($v0) -/* 325414 802BD344 3C038011 */ lui $v1, %hi(gPlayerData) -/* 325418 802BD348 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) -/* 32541C 802BD34C 80640002 */ lb $a0, 2($v1) -/* 325420 802BD350 80650003 */ lb $a1, 3($v1) -/* 325424 802BD354 00822021 */ addu $a0, $a0, $v0 -/* 325428 802BD358 00A4102A */ slt $v0, $a1, $a0 -/* 32542C 802BD35C 10400002 */ beqz $v0, .L802BD368 -/* 325430 802BD360 0060802D */ daddu $s0, $v1, $zero -/* 325434 802BD364 00A0202D */ daddu $a0, $a1, $zero -.L802BD368: -/* 325438 802BD368 58800001 */ blezl $a0, .L802BD370 -/* 32543C 802BD36C 24040001 */ addiu $a0, $zero, 1 -.L802BD370: -/* 325440 802BD370 A2040002 */ sb $a0, 2($s0) -/* 325444 802BD374 8FBF0014 */ lw $ra, 0x14($sp) -/* 325448 802BD378 8FB00010 */ lw $s0, 0x10($sp) -/* 32544C 802BD37C 24020002 */ addiu $v0, $zero, 2 -/* 325450 802BD380 03E00008 */ jr $ra -/* 325454 802BD384 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD388.s b/asm/nonmatchings/code_3251D0/func_802BD388.s deleted file mode 100644 index 1f3b9f412c..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD388.s +++ /dev/null @@ -1,29 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD388 -/* 325458 802BD388 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 32545C 802BD38C AFBF0014 */ sw $ra, 0x14($sp) -/* 325460 802BD390 AFB00010 */ sw $s0, 0x10($sp) -/* 325464 802BD394 8C82000C */ lw $v0, 0xc($a0) -/* 325468 802BD398 0C0B1EAF */ jal get_variable -/* 32546C 802BD39C 8C450000 */ lw $a1, ($v0) -/* 325470 802BD3A0 3C038011 */ lui $v1, %hi(gPlayerData) -/* 325474 802BD3A4 2463F290 */ addiu $v1, $v1, %lo(gPlayerData) -/* 325478 802BD3A8 80640005 */ lb $a0, 5($v1) -/* 32547C 802BD3AC 80650006 */ lb $a1, 6($v1) -/* 325480 802BD3B0 00822021 */ addu $a0, $a0, $v0 -/* 325484 802BD3B4 00A4102A */ slt $v0, $a1, $a0 -/* 325488 802BD3B8 10400002 */ beqz $v0, .L802BD3C4 -/* 32548C 802BD3BC 0060802D */ daddu $s0, $v1, $zero -/* 325490 802BD3C0 00A0202D */ daddu $a0, $a1, $zero -.L802BD3C4: -/* 325494 802BD3C4 58800001 */ blezl $a0, .L802BD3CC -/* 325498 802BD3C8 24040001 */ addiu $a0, $zero, 1 -.L802BD3CC: -/* 32549C 802BD3CC A2040005 */ sb $a0, 5($s0) -/* 3254A0 802BD3D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 3254A4 802BD3D4 8FB00010 */ lw $s0, 0x10($sp) -/* 3254A8 802BD3D8 24020002 */ addiu $v0, $zero, 2 -/* 3254AC 802BD3DC 03E00008 */ jr $ra -/* 3254B0 802BD3E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD3E4.s b/asm/nonmatchings/code_3251D0/func_802BD3E4.s deleted file mode 100644 index 7ca86e6e6f..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD3E4.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD3E4 -/* 3254B4 802BD3E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3254B8 802BD3E8 AFBF0010 */ sw $ra, 0x10($sp) -/* 3254BC 802BD3EC 0C009C22 */ jal func_80027088 -/* 3254C0 802BD3F0 24040002 */ addiu $a0, $zero, 2 -/* 3254C4 802BD3F4 3C02800A */ lui $v0, %hi(D_8009A650) -/* 3254C8 802BD3F8 2442A650 */ addiu $v0, $v0, %lo(D_8009A650) -/* 3254CC 802BD3FC 8C430000 */ lw $v1, ($v0) -/* 3254D0 802BD400 3C040020 */ lui $a0, 0x20 -/* 3254D4 802BD404 00641825 */ or $v1, $v1, $a0 -/* 3254D8 802BD408 AC430000 */ sw $v1, ($v0) -/* 3254DC 802BD40C 8FBF0010 */ lw $ra, 0x10($sp) -/* 3254E0 802BD410 24020002 */ addiu $v0, $zero, 2 -/* 3254E4 802BD414 03E00008 */ jr $ra -/* 3254E8 802BD418 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD41C.s b/asm/nonmatchings/code_3251D0/func_802BD41C.s deleted file mode 100644 index ed2f368755..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD41C.s +++ /dev/null @@ -1,19 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD41C -/* 3254EC 802BD41C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3254F0 802BD420 AFBF0010 */ sw $ra, 0x10($sp) -/* 3254F4 802BD424 0C009C22 */ jal func_80027088 -/* 3254F8 802BD428 0000202D */ daddu $a0, $zero, $zero -/* 3254FC 802BD42C 3C04FFDF */ lui $a0, 0xffdf -/* 325500 802BD430 3C03800A */ lui $v1, %hi(D_8009A650) -/* 325504 802BD434 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) -/* 325508 802BD438 8C620000 */ lw $v0, ($v1) -/* 32550C 802BD43C 3484FFFF */ ori $a0, $a0, 0xffff -/* 325510 802BD440 00441024 */ and $v0, $v0, $a0 -/* 325514 802BD444 AC620000 */ sw $v0, ($v1) -/* 325518 802BD448 8FBF0010 */ lw $ra, 0x10($sp) -/* 32551C 802BD44C 24020002 */ addiu $v0, $zero, 2 -/* 325520 802BD450 03E00008 */ jr $ra -/* 325524 802BD454 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD458.s b/asm/nonmatchings/code_3251D0/func_802BD458.s deleted file mode 100644 index 9ecf03f36d..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD458.s +++ /dev/null @@ -1,43 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD458 -/* 325528 802BD458 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 32552C 802BD45C AFB00010 */ sw $s0, 0x10($sp) -/* 325530 802BD460 0080802D */ daddu $s0, $a0, $zero -/* 325534 802BD464 AFBF0014 */ sw $ra, 0x14($sp) -/* 325538 802BD468 8E02000C */ lw $v0, 0xc($s0) -/* 32553C 802BD46C 0C0B1EAF */ jal get_variable -/* 325540 802BD470 8C450000 */ lw $a1, ($v0) -/* 325544 802BD474 3C038008 */ lui $v1, %hi(gItemTable) -/* 325548 802BD478 246378E0 */ addiu $v1, $v1, %lo(gItemTable) -/* 32554C 802BD47C 00021140 */ sll $v0, $v0, 5 -/* 325550 802BD480 00431021 */ addu $v0, $v0, $v1 -/* 325554 802BD484 8043001B */ lb $v1, 0x1b($v0) -/* 325558 802BD488 AE0300B0 */ sw $v1, 0xb0($s0) -/* 32555C 802BD48C 8043001C */ lb $v1, 0x1c($v0) -/* 325560 802BD490 AE0000B8 */ sw $zero, 0xb8($s0) -/* 325564 802BD494 AE0300B4 */ sw $v1, 0xb4($s0) -/* 325568 802BD498 94420018 */ lhu $v0, 0x18($v0) -/* 32556C 802BD49C 30420100 */ andi $v0, $v0, 0x100 -/* 325570 802BD4A0 10400002 */ beqz $v0, .L802BD4AC -/* 325574 802BD4A4 24020001 */ addiu $v0, $zero, 1 -/* 325578 802BD4A8 AE0200B8 */ sw $v0, 0xb8($s0) -.L802BD4AC: -/* 32557C 802BD4AC 8E0200B0 */ lw $v0, 0xb0($s0) -/* 325580 802BD4B0 04400006 */ bltz $v0, .L802BD4CC -/* 325584 802BD4B4 0000182D */ daddu $v1, $zero, $zero -/* 325588 802BD4B8 5C400006 */ bgtzl $v0, .L802BD4D4 -/* 32558C 802BD4BC AE0300C0 */ sw $v1, 0xc0($s0) -/* 325590 802BD4C0 8E0200B4 */ lw $v0, 0xb4($s0) -/* 325594 802BD4C4 04430003 */ bgezl $v0, .L802BD4D4 -/* 325598 802BD4C8 AE0300C0 */ sw $v1, 0xc0($s0) -.L802BD4CC: -/* 32559C 802BD4CC 24030001 */ addiu $v1, $zero, 1 -/* 3255A0 802BD4D0 AE0300C0 */ sw $v1, 0xc0($s0) -.L802BD4D4: -/* 3255A4 802BD4D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 3255A8 802BD4D8 8FB00010 */ lw $s0, 0x10($sp) -/* 3255AC 802BD4DC 24020002 */ addiu $v0, $zero, 2 -/* 3255B0 802BD4E0 03E00008 */ jr $ra -/* 3255B4 802BD4E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3251D0/func_802BD4E8.s b/asm/nonmatchings/code_3251D0/func_802BD4E8.s deleted file mode 100644 index 8b6d9e49ba..0000000000 --- a/asm/nonmatchings/code_3251D0/func_802BD4E8.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD4E8 -/* 3255B8 802BD4E8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3255BC 802BD4EC AFBF0010 */ sw $ra, 0x10($sp) -/* 3255C0 802BD4F0 0C03A91F */ jal remove_consumable -/* 3255C4 802BD4F4 00000000 */ nop -/* 3255C8 802BD4F8 8FBF0010 */ lw $ra, 0x10($sp) -/* 3255CC 802BD4FC 24020002 */ addiu $v0, $zero, 2 -/* 3255D0 802BD500 03E00008 */ jr $ra -/* 3255D4 802BD504 27BD0018 */ addiu $sp, $sp, 0x18 -/* 3255D8 802BD508 00000000 */ nop -/* 3255DC 802BD50C 00000000 */ nop diff --git a/include/common_structs.h b/include/common_structs.h index ffa8fb07da..4ade59131e 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1447,7 +1447,8 @@ typedef struct PlayerStatus { /* 0x0BE */ u8 renderMode; /* 0x0BF */ s8 unk_BF; /* 0x0C0 */ u32* decorationList; - /* 0x0C4 */ char unk_C4[4]; + /* 0x0C4 */ char unk_C4[2]; + /* 0x0C6 */ s16 unk_C6; /* 0x0C8 */ UNK_PTR unk_C8; /* 0x0CC */ s32 shadowID; /* 0x0D0 */ char unk_D0[8]; diff --git a/include/functions.h b/include/functions.h index 7be9596b37..3956673a37 100644 --- a/include/functions.h +++ b/include/functions.h @@ -33,7 +33,10 @@ s32 get_model_list_index_from_tree_index(s32 treeIndex); void get_model_center_and_size(s32 modelID, f32* centerX, f32* centerY, f32* centerZ, f32* sizeX, f32* sizeY, f32* sizeZ); +void func_80027088(s32); + void func_8006FEF0(s32, f32, f32, f32, f32); +void func_80071090(s32, f32, f32, f32, s32); void func_80071750(s32, f32, f32, f32, f32, s32); void func_80072950(s32, f32, f32, f32, f32, s32 time); diff --git a/src/code_10A8D0.c b/src/code_10A8D0.c index b2800820e3..1fca3dcf42 100644 --- a/src/code_10A8D0.c +++ b/src/code_10A8D0.c @@ -1,3 +1,17 @@ #include "common.h" -INCLUDE_ASM(s32, "code_10A8D0", func_802E9050); +void func_802E9050(Entity* entity) { + PlayerStatus* playerStatus = PLAYER_STATUS; + f32 val = fabsf(clamp_angle(180.0f - entity->rotation.y) - clamp_angle(atan2(entity->position.x, entity->position.z, + playerStatus->position.x, playerStatus->position.z))); + + if ((!(playerStatus->animFlags & 1)) && (!(entity->unk_06 & 1)) && ((val <= 40.0f) || (val >= 320.0f))) { + entity->flags |= 0x1000; + if ((playerStatus->animFlags & 0x10) && (entity->unk_06 & 8)) { + func_80110678(entity); + } + } else { + entity->flags &= ~0x1000; + playerStatus->unk_C6 = -1; + } +} diff --git a/src/code_1b40_len_20b0.c b/src/code_1b40_len_20b0.c index eeca8f6708..b9cd27006d 100644 --- a/src/code_1b40_len_20b0.c +++ b/src/code_1b40_len_20b0.c @@ -109,7 +109,7 @@ INCLUDE_ASM(s32, "code_1b40_len_20b0", load_engine_data); set_game_mode(0); }*/ -INCLUDE_ASM(s32, "code_1b40_len_20b0", func_80027088); +INCLUDE_ASM(void, "code_1b40_len_20b0", func_80027088, s32 arg0); s32 func_80027190(void) { return D_8009A5D8; diff --git a/src/code_3251D0.c b/src/code_3251D0.c index f7026ac991..8b3e471db0 100644 --- a/src/code_3251D0.c +++ b/src/code_3251D0.c @@ -1,19 +1,105 @@ #include "common.h" -INCLUDE_ASM(s32, "code_3251D0", func_802BD100_3251D0); +ApiStatus func_802BD100_3251D0(ScriptInstance* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 a = get_variable(script, *args++); + s32 b = get_variable(script, *args++); + s32 c = get_variable(script, *args++); -INCLUDE_ASM(s32, "code_3251D0", func_802BD1AC_3251D0); + func_8006FEF0(0, a, b, c, 60.0f); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_3251D0", func_802BD26C); +ApiStatus func_802BD1AC_3251D0(ScriptInstance* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 a = get_variable(script, *args++); + s32 b = get_variable(script, *args++); + s32 c = get_variable(script, *args++); + s32 d = get_variable(script, *args++); -INCLUDE_ASM(s32, "code_3251D0", func_802BD32C); + func_80071090(0, a, b, c, d); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_3251D0", func_802BD388); +ApiStatus func_802BD26C(ScriptInstance* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 a = get_variable(script, *args++); + s32 b = get_variable(script, *args++); + s32 c = get_variable(script, *args++); + s32 d = get_variable(script, *args++); -INCLUDE_ASM(s32, "code_3251D0", func_802BD3E4); + func_80071090(1, a, b, c, d); + return ApiStatus_DONE2; +} -INCLUDE_ASM(s32, "code_3251D0", func_802BD41C); +ApiStatus func_802BD32C(ScriptInstance* script, s32 isInitialCall) { + PlayerData* playerData = PLAYER_DATA; + PlayerData* playerData2 = PLAYER_DATA; + s32 newHP = playerData->curHP + get_variable(script, *script->ptrReadPos); -INCLUDE_ASM(s32, "code_3251D0", func_802BD458); + if (newHP > playerData->curMaxHP) { + newHP = playerData->curMaxHP; + } -INCLUDE_ASM(s32, "code_3251D0", func_802BD4E8); + if (newHP <= 0) { + newHP = 1; + } + + playerData2->curHP = newHP; + return ApiStatus_DONE2; +} + +ApiStatus func_802BD388(ScriptInstance* script, s32 isInitialCall) { + PlayerData* playerData = PLAYER_DATA; + PlayerData* playerData2 = PLAYER_DATA; + s32 newFP = playerData->curFP + get_variable(script, *script->ptrReadPos); + + if (newFP > playerData->curMaxFP) { + newFP = playerData->curMaxFP; + } + + if (newFP <= 0) { + newFP = 1; + } + + playerData2->curFP = newFP; + return ApiStatus_DONE2; +} + +ApiStatus func_802BD3E4(ScriptInstance* script, s32 isInitialCall) { + func_80027088(2); + D_8009A650[0] |= 0x200000; + return ApiStatus_DONE2; +} + +ApiStatus func_802BD41C(ScriptInstance* script, s32 isInitialCall) { + func_80027088(0); + D_8009A650[0] &= ~0x200000; + return ApiStatus_DONE2; +} + +ApiStatus func_802BD458(ScriptInstance* script, s32 isInitialCall) { + s32 itemIdx = get_variable(script, *script->ptrReadPos); + s32 var15; + + script->varTable[11] = (&gItemTable[itemIdx])->potencyA; + script->varTable[12] = (&gItemTable[itemIdx])->potencyB; + script->varTable[13] = 0; + + if ((&gItemTable[itemIdx])->typeFlags & 0x100) { + script->varTable[13] = 1; + } + + var15 = 0; + if (script->varTable[11] < 0 || (script->varTable[11] <= 0 && script->varTable[12] < 0)) { + var15 = 1; + } + script->varTable[15] = var15; + + return ApiStatus_DONE2; +} + +ApiStatus func_802BD4E8(ScriptInstance* script, s32 isInitialCall) { + remove_consumable(); + return ApiStatus_DONE2; +} diff --git a/src/os/code_4ac90_len_3910.c b/src/os/code_4ac90_len_3910.c index a96291c5ea..0d15054caa 100644 --- a/src/os/code_4ac90_len_3910.c +++ b/src/os/code_4ac90_len_3910.c @@ -129,7 +129,7 @@ INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_80070FD0); INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_80071030); -INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_80071090); +INCLUDE_ASM(void, "os/code_4ac90_len_3910", func_80071090, s32 a0, f32 a1, f32 a2, f32 a3, s32 a4); INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_800710F0); diff --git a/tools/asm_sizes.py b/tools/asm_sizes.py index c2c0995586..c77b3bfa39 100755 --- a/tools/asm_sizes.py +++ b/tools/asm_sizes.py @@ -29,7 +29,7 @@ def do_dir(root, dir): if min is None or amt < min: min = amt total += amt - + avg = 0 if len(files) == 0 else total / len(files) sizes[dir] = ((min, max, total, avg)) @@ -40,8 +40,8 @@ asm_dir = script_dir + "/../asm/nonmatchings" for root, dirs, files in os.walk(asm_dir): for asm_dir in dirs: - if "/os" not in root: + if "/os" not in root and "/world/" not in root: do_dir(root, asm_dir) -for thing in sorted(sizes.keys(), key=lambda x: sizes[x][2]): - print(thing.ljust(25) + str(sizes[thing][2])) +for thing in sorted(sizes.keys(), key=lambda x: sizes[x][3]): + print(thing.ljust(25) + str(sizes[thing][3]))