3251D0 OK

This commit is contained in:
Ethan Roseman 2020-11-23 13:48:34 -05:00
parent dcd2acf4fe
commit 8271cb5636
17 changed files with 121 additions and 399 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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];

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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);

View File

@ -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]))