diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Destroy.s deleted file mode 100644 index de06b568e9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Destroy.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel EnExRuppy_Destroy -/* 00404 80A0A814 AFA40000 */ sw $a0, 0x0000($sp) -/* 00408 80A0A818 03E00008 */ jr $ra -/* 0040C 80A0A81C AFA50004 */ sw $a1, 0x0004($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Draw.s deleted file mode 100644 index 31b897efa3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Draw.s +++ /dev/null @@ -1,97 +0,0 @@ -.rdata -glabel D_80A0B4D0 - .asciz "../z_en_ex_ruppy.c" - .balign 4 - -glabel D_80A0B4E4 - .asciz "../z_en_ex_ruppy.c" - .balign 4 - -glabel D_80A0B4F8 - .asciz "../z_en_ex_ruppy.c" - .balign 4 - -.text -glabel EnExRuppy_Draw -/* 00DCC 80A0B1DC 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00DD0 80A0B1E0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00DD4 80A0B1E4 AFB10018 */ sw $s1, 0x0018($sp) -/* 00DD8 80A0B1E8 AFB00014 */ sw $s0, 0x0014($sp) -/* 00DDC 80A0B1EC AFA40050 */ sw $a0, 0x0050($sp) -/* 00DE0 80A0B1F0 848F0154 */ lh $t7, 0x0154($a0) ## 00000154 -/* 00DE4 80A0B1F4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00DE8 80A0B1F8 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4 -/* 00DEC 80A0B1FC 15E00041 */ bne $t7, $zero, .L80A0B304 -/* 00DF0 80A0B200 3C0680A1 */ lui $a2, %hi(D_80A0B4D0) ## $a2 = 80A10000 -/* 00DF4 80A0B204 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00DF8 80A0B208 24C6B4D0 */ addiu $a2, $a2, %lo(D_80A0B4D0) ## $a2 = 80A0B4D0 -/* 00DFC 80A0B20C 24070306 */ addiu $a3, $zero, 0x0306 ## $a3 = 00000306 -/* 00E00 80A0B210 0C031AB1 */ jal Graph_OpenDisps -/* 00E04 80A0B214 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00E08 80A0B218 0C024F46 */ jal func_80093D18 -/* 00E0C 80A0B21C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00E10 80A0B220 8FA40050 */ lw $a0, 0x0050($sp) -/* 00E14 80A0B224 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00E18 80A0B228 0C00BAF3 */ jal func_8002EBCC -/* 00E1C 80A0B22C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00E20 80A0B230 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00E24 80A0B234 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 00E28 80A0B238 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 00E2C 80A0B23C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00E30 80A0B240 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 00E34 80A0B244 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00E38 80A0B248 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00E3C 80A0B24C 3C0580A1 */ lui $a1, %hi(D_80A0B4E4) ## $a1 = 80A10000 -/* 00E40 80A0B250 24A5B4E4 */ addiu $a1, $a1, %lo(D_80A0B4E4) ## $a1 = 80A0B4E4 -/* 00E44 80A0B254 2406030C */ addiu $a2, $zero, 0x030C ## $a2 = 0000030C -/* 00E48 80A0B258 0C0346A2 */ jal Matrix_NewMtx -/* 00E4C 80A0B25C AFA20030 */ sw $v0, 0x0030($sp) -/* 00E50 80A0B260 8FA30030 */ lw $v1, 0x0030($sp) -/* 00E54 80A0B264 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000 -/* 00E58 80A0B268 35290020 */ ori $t1, $t1, 0x0020 ## $t1 = DB060020 -/* 00E5C 80A0B26C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00E60 80A0B270 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00E64 80A0B274 3C0480A1 */ lui $a0, %hi(D_80A0B3B8) ## $a0 = 80A10000 -/* 00E68 80A0B278 3C198016 */ lui $t9, %hi(gSegments) -/* 00E6C 80A0B27C 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 00E70 80A0B280 AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0 -/* 00E74 80A0B284 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00E78 80A0B288 8FAA0050 */ lw $t2, 0x0050($sp) -/* 00E7C 80A0B28C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00E80 80A0B290 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00E84 80A0B294 854B0150 */ lh $t3, 0x0150($t2) ## 00000150 -/* 00E88 80A0B298 3C0680A1 */ lui $a2, %hi(D_80A0B4F8) ## $a2 = 80A10000 -/* 00E8C 80A0B29C 24C6B4F8 */ addiu $a2, $a2, %lo(D_80A0B4F8) ## $a2 = 80A0B4F8 -/* 00E90 80A0B2A0 000B6080 */ sll $t4, $t3, 2 -/* 00E94 80A0B2A4 008C2021 */ addu $a0, $a0, $t4 -/* 00E98 80A0B2A8 8C84B3B8 */ lw $a0, %lo(D_80A0B3B8)($a0) -/* 00E9C 80A0B2AC 3C0C0404 */ lui $t4, 0x0404 ## $t4 = 04040000 -/* 00EA0 80A0B2B0 258C2440 */ addiu $t4, $t4, 0x2440 ## $t4 = 04042440 -/* 00EA4 80A0B2B4 00047100 */ sll $t6, $a0, 4 -/* 00EA8 80A0B2B8 000E7F02 */ srl $t7, $t6, 28 -/* 00EAC 80A0B2BC 000FC080 */ sll $t8, $t7, 2 -/* 00EB0 80A0B2C0 0338C821 */ addu $t9, $t9, $t8 -/* 00EB4 80A0B2C4 8F396FA8 */ lw $t9, %lo(gSegments)($t9) -/* 00EB8 80A0B2C8 00816824 */ and $t5, $a0, $at -/* 00EBC 80A0B2CC 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00EC0 80A0B2D0 01B94021 */ addu $t0, $t5, $t9 -/* 00EC4 80A0B2D4 01014821 */ addu $t1, $t0, $at -/* 00EC8 80A0B2D8 AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -/* 00ECC 80A0B2DC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00ED0 80A0B2E0 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000 -/* 00ED4 80A0B2E4 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4 -/* 00ED8 80A0B2E8 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 00EDC 80A0B2EC AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 00EE0 80A0B2F0 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00EE4 80A0B2F4 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00EE8 80A0B2F8 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 00EEC 80A0B2FC 0C031AD5 */ jal Graph_CloseDisps -/* 00EF0 80A0B300 24070310 */ addiu $a3, $zero, 0x0310 ## $a3 = 00000310 -.L80A0B304: -/* 00EF4 80A0B304 8FBF001C */ lw $ra, 0x001C($sp) -/* 00EF8 80A0B308 8FB00014 */ lw $s0, 0x0014($sp) -/* 00EFC 80A0B30C 8FB10018 */ lw $s1, 0x0018($sp) -/* 00F00 80A0B310 03E00008 */ jr $ra -/* 00F04 80A0B314 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 00F08 80A0B318 00000000 */ nop -/* 00F0C 80A0B31C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Init.s index 17ef48dac5..674dc487f0 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Init.s @@ -180,9 +180,9 @@ glabel L80A0A478 /* 001E8 80A0A5F8 44812000 */ mtc1 $at, $f4 ## $f4 = 700.00 /* 001EC 80A0A5FC 860E0034 */ lh $t6, 0x0034($s0) ## 00000034 /* 001F0 80A0A600 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 001F4 80A0A604 3C0880A1 */ lui $t0, %hi(func_80A0AA3C) ## $t0 = 80A10000 +/* 001F4 80A0A604 3C0880A1 */ lui $t0, %hi(EnExRuppy_DropIntoWater) ## $t0 = 80A10000 /* 001F8 80A0A608 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E -/* 001FC 80A0A60C 2508AA3C */ addiu $t0, $t0, %lo(func_80A0AA3C) ## $t0 = 80A0AA3C +/* 001FC 80A0A60C 2508AA3C */ addiu $t0, $t0, %lo(EnExRuppy_DropIntoWater) ## $t0 = 80A0AA3C /* 00200 80A0A610 0301C824 */ and $t9, $t8, $at /* 00204 80A0A614 A6000034 */ sh $zero, 0x0034($s0) ## 00000034 /* 00208 80A0A618 A60F0156 */ sh $t7, 0x0156($s0) ## 00000156 @@ -234,8 +234,8 @@ glabel L80A0A634 /* 002A4 80A0A6B4 3C01442F */ lui $at, 0x442F ## $at = 442F0000 /* 002A8 80A0A6B8 44818000 */ mtc1 $at, $f16 ## $f16 = 700.00 /* 002AC 80A0A6BC 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 002B0 80A0A6C0 3C1980A1 */ lui $t9, %hi(func_80A0AF24) ## $t9 = 80A10000 -/* 002B4 80A0A6C4 2739AF24 */ addiu $t9, $t9, %lo(func_80A0AF24) ## $t9 = 80A0AF24 +/* 002B0 80A0A6C0 3C1980A1 */ lui $t9, %hi(EnExRuppy_WaitToBlowUp) ## $t9 = 80A10000 +/* 002B4 80A0A6C4 2739AF24 */ addiu $t9, $t9, %lo(EnExRuppy_WaitToBlowUp) ## $t9 = 80A0AF24 /* 002B8 80A0A6C8 01E1C024 */ and $t8, $t7, $at /* 002BC 80A0A6CC AE180004 */ sw $t8, 0x0004($s0) ## 00000004 /* 002C0 80A0A6D0 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C @@ -293,8 +293,8 @@ glabel L80A0A6E0 /* 00370 80A0A780 3C01442F */ lui $at, 0x442F ## $at = 442F0000 /* 00374 80A0A784 44814000 */ mtc1 $at, $f8 ## $f8 = 700.00 /* 00378 80A0A788 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 0037C 80A0A78C 3C0D80A1 */ lui $t5, %hi(func_80A0B070) ## $t5 = 80A10000 -/* 00380 80A0A790 25ADB070 */ addiu $t5, $t5, %lo(func_80A0B070) ## $t5 = 80A0B070 +/* 0037C 80A0A78C 3C0D80A1 */ lui $t5, %hi(EnExRuppy_WaitAsCollectible) ## $t5 = 80A10000 +/* 00380 80A0A790 25ADB070 */ addiu $t5, $t5, %lo(EnExRuppy_WaitAsCollectible) ## $t5 = 80A0B070 /* 00384 80A0A794 01616024 */ and $t4, $t3, $at /* 00388 80A0A798 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004 /* 0038C 80A0A79C AE0D014C */ sw $t5, 0x014C($s0) ## 0000014C @@ -329,4 +329,4 @@ glabel L80A0A7AC /* 003F4 80A0A804 8FB00018 */ lw $s0, 0x0018($sp) /* 003F8 80A0A808 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 /* 003FC 80A0A80C 03E00008 */ jr $ra -/* 00400 80A0A810 00000000 */ nop +/* 00400 80A0A810 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Update.s deleted file mode 100644 index 4b98b86bd8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Update.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel EnExRuppy_Update -/* 00D40 80A0B150 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00D44 80A0B154 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00D48 80A0B158 AFB00020 */ sw $s0, 0x0020($sp) -/* 00D4C 80A0B15C AFA5002C */ sw $a1, 0x002C($sp) -/* 00D50 80A0B160 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 00D54 80A0B164 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00D58 80A0B168 25CF07A8 */ addiu $t7, $t6, 0x07A8 ## $t7 = 000007A8 -/* 00D5C 80A0B16C A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6 -/* 00D60 80A0B170 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C -/* 00D64 80A0B174 8FA5002C */ lw $a1, 0x002C($sp) -/* 00D68 80A0B178 0320F809 */ jalr $ra, $t9 -/* 00D6C 80A0B17C 00000000 */ nop -/* 00D70 80A0B180 86020156 */ lh $v0, 0x0156($s0) ## 00000156 -/* 00D74 80A0B184 10400002 */ beq $v0, $zero, .L80A0B190 -/* 00D78 80A0B188 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF -/* 00D7C 80A0B18C A6180156 */ sh $t8, 0x0156($s0) ## 00000156 -.L80A0B190: -/* 00D80 80A0B190 0C00B638 */ jal Actor_MoveForward - -/* 00D84 80A0B194 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D88 80A0B198 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 00D8C 80A0B19C 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00 -/* 00D90 80A0B1A0 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00D94 80A0B1A4 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 00D98 80A0B1A8 2408001C */ addiu $t0, $zero, 0x001C ## $t0 = 0000001C -/* 00D9C 80A0B1AC 44060000 */ mfc1 $a2, $f0 -/* 00DA0 80A0B1B0 44070000 */ mfc1 $a3, $f0 -/* 00DA4 80A0B1B4 AFA80014 */ sw $t0, 0x0014($sp) -/* 00DA8 80A0B1B8 8FA4002C */ lw $a0, 0x002C($sp) -/* 00DAC 80A0B1BC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00DB0 80A0B1C0 0C00B92D */ jal func_8002E4B4 -/* 00DB4 80A0B1C4 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00DB8 80A0B1C8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00DBC 80A0B1CC 8FB00020 */ lw $s0, 0x0020($sp) -/* 00DC0 80A0B1D0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00DC4 80A0B1D4 03E00008 */ jr $ra -/* 00DC8 80A0B1D8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0A820.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0A820.s deleted file mode 100644 index ac76c25c0f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0A820.s +++ /dev/null @@ -1,145 +0,0 @@ -glabel func_80A0A820 -/* 00410 80A0A820 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50 -/* 00414 80A0A824 AFBE0068 */ sw $s8, 0x0068($sp) -/* 00418 80A0A828 0006F400 */ sll $s8, $a2, 16 -/* 0041C 80A0A82C 001EF403 */ sra $s8, $s8, 16 -/* 00420 80A0A830 AFB00048 */ sw $s0, 0x0048($sp) -/* 00424 80A0A834 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00428 80A0A838 AFBF006C */ sw $ra, 0x006C($sp) -/* 0042C 80A0A83C AFB70064 */ sw $s7, 0x0064($sp) -/* 00430 80A0A840 AFB60060 */ sw $s6, 0x0060($sp) -/* 00434 80A0A844 AFB5005C */ sw $s5, 0x005C($sp) -/* 00438 80A0A848 AFB40058 */ sw $s4, 0x0058($sp) -/* 0043C 80A0A84C AFB30054 */ sw $s3, 0x0054($sp) -/* 00440 80A0A850 AFB20050 */ sw $s2, 0x0050($sp) -/* 00444 80A0A854 AFB1004C */ sw $s1, 0x004C($sp) -/* 00448 80A0A858 F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 0044C 80A0A85C F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 00450 80A0A860 F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 00454 80A0A864 F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 00458 80A0A868 AFA500B4 */ sw $a1, 0x00B4($sp) -/* 0045C 80A0A86C 1FC00002 */ bgtz $s8, .L80A0A878 -/* 00460 80A0A870 AFA600B8 */ sw $a2, 0x00B8($sp) -/* 00464 80A0A874 241E0001 */ addiu $s8, $zero, 0x0001 ## $s8 = 00000001 -.L80A0A878: -/* 00468 80A0A878 00071080 */ sll $v0, $a3, 2 -/* 0046C 80A0A87C 00471023 */ subu $v0, $v0, $a3 -/* 00470 80A0A880 3C0A80A1 */ lui $t2, %hi(D_80A0B358) ## $t2 = 80A10000 -/* 00474 80A0A884 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 00478 80A0A888 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF -/* 0047C 80A0A88C 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF -/* 00480 80A0A890 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF -/* 00484 80A0A894 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF -/* 00488 80A0A898 254AB358 */ addiu $t2, $t2, %lo(D_80A0B358) ## $t2 = 80A0B358 -/* 0048C 80A0A89C 00021080 */ sll $v0, $v0, 2 -/* 00490 80A0A8A0 A3AE0088 */ sb $t6, 0x0088($sp) -/* 00494 80A0A8A4 A3AF0089 */ sb $t7, 0x0089($sp) -/* 00498 80A0A8A8 A3A0008A */ sb $zero, 0x008A($sp) -/* 0049C 80A0A8AC A3B80084 */ sb $t8, 0x0084($sp) -/* 004A0 80A0A8B0 A3B90085 */ sb $t9, 0x0085($sp) -/* 004A4 80A0A8B4 A3A80086 */ sb $t0, 0x0086($sp) -/* 004A8 80A0A8B8 004A5821 */ addu $t3, $v0, $t2 -/* 004AC 80A0A8BC 8D6D0000 */ lw $t5, 0x0000($t3) ## 00000000 -/* 004B0 80A0A8C0 27A90098 */ addiu $t1, $sp, 0x0098 ## $t1 = FFFFFFE8 -/* 004B4 80A0A8C4 3C0E80A1 */ lui $t6, %hi(D_80A0B370) ## $t6 = 80A10000 -/* 004B8 80A0A8C8 AD2D0000 */ sw $t5, 0x0000($t1) ## FFFFFFE8 -/* 004BC 80A0A8CC 8D6C0004 */ lw $t4, 0x0004($t3) ## 00000004 -/* 004C0 80A0A8D0 25CEB370 */ addiu $t6, $t6, %lo(D_80A0B370) ## $t6 = 80A0B370 -/* 004C4 80A0A8D4 004E7821 */ addu $t7, $v0, $t6 -/* 004C8 80A0A8D8 AD2C0004 */ sw $t4, 0x0004($t1) ## FFFFFFEC -/* 004CC 80A0A8DC 8D6D0008 */ lw $t5, 0x0008($t3) ## 00000008 -/* 004D0 80A0A8E0 27B8008C */ addiu $t8, $sp, 0x008C ## $t8 = FFFFFFDC -/* 004D4 80A0A8E4 24120BB8 */ addiu $s2, $zero, 0x0BB8 ## $s2 = 00000BB8 -/* 004D8 80A0A8E8 AD2D0008 */ sw $t5, 0x0008($t1) ## FFFFFFF0 -/* 004DC 80A0A8EC AFAF0078 */ sw $t7, 0x0078($sp) -/* 004E0 80A0A8F0 8DEA0000 */ lw $t2, 0x0000($t7) ## 000000FF -/* 004E4 80A0A8F4 24130010 */ addiu $s3, $zero, 0x0010 ## $s3 = 00000010 -/* 004E8 80A0A8F8 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -/* 004EC 80A0A8FC AF0A0000 */ sw $t2, 0x0000($t8) ## FFFFFFDC -/* 004F0 80A0A900 8DE80004 */ lw $t0, 0x0004($t7) ## 00000103 -/* 004F4 80A0A904 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -/* 004F8 80A0A908 27B70084 */ addiu $s7, $sp, 0x0084 ## $s7 = FFFFFFD4 -/* 004FC 80A0A90C AF080004 */ sw $t0, 0x0004($t8) ## FFFFFFE0 -/* 00500 80A0A910 8DEA0008 */ lw $t2, 0x0008($t7) ## 00000107 -/* 00504 80A0A914 27B60088 */ addiu $s6, $sp, 0x0088 ## $s6 = FFFFFFD8 -/* 00508 80A0A918 1BC00038 */ blez $s8, .L80A0A9FC -/* 0050C 80A0A91C AF0A0008 */ sw $t2, 0x0008($t8) ## FFFFFFE4 -/* 00510 80A0A920 4481D000 */ mtc1 $at, $f26 ## $f26 = 600.00 -/* 00514 80A0A924 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 00518 80A0A928 4481C000 */ mtc1 $at, $f24 ## $f24 = 20.00 -/* 0051C 80A0A92C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00520 80A0A930 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00 -/* 00524 80A0A934 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00528 80A0A938 3C1480A1 */ lui $s4, %hi(D_80A0B37C) ## $s4 = 80A10000 -/* 0052C 80A0A93C 4481A000 */ mtc1 $at, $f20 ## $f20 = 0.50 -/* 00530 80A0A940 2694B37C */ addiu $s4, $s4, %lo(D_80A0B37C) ## $s4 = 80A0B37C -/* 00534 80A0A944 27B500A4 */ addiu $s5, $sp, 0x00A4 ## $s5 = FFFFFFF4 -/* 00538 80A0A948 8FA90078 */ lw $t1, 0x0078($sp) -.L80A0A94C: -/* 0053C 80A0A94C 15340009 */ bne $t1, $s4, .L80A0A974 -/* 00540 80A0A950 00000000 */ nop -/* 00544 80A0A954 4600C306 */ mov.s $f12, $f24 -/* 00548 80A0A958 24121388 */ addiu $s2, $zero, 0x1388 ## $s2 = 00001388 -/* 0054C 80A0A95C 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 00550 80A0A960 24130014 */ addiu $s3, $zero, 0x0014 ## $s3 = 00000014 -/* 00554 80A0A964 E7A0008C */ swc1 $f0, 0x008C($sp) -/* 00558 80A0A968 0C00CFC8 */ jal Math_Rand_CenteredFloat - -/* 0055C 80A0A96C 4600C306 */ mov.s $f12, $f24 -/* 00560 80A0A970 E7A00094 */ swc1 $f0, 0x0094($sp) -.L80A0A974: -/* 00564 80A0A974 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00568 80A0A978 00000000 */ nop -/* 0056C 80A0A97C 46140101 */ sub.s $f4, $f0, $f20 -/* 00570 80A0A980 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 00574 80A0A984 46162182 */ mul.s $f6, $f4, $f22 -/* 00578 80A0A988 46083280 */ add.s $f10, $f6, $f8 -/* 0057C 80A0A98C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00580 80A0A990 E7AA00A4 */ swc1 $f10, 0x00A4($sp) -/* 00584 80A0A994 C6120160 */ lwc1 $f18, 0x0160($s0) ## 00000160 -/* 00588 80A0A998 46140201 */ sub.s $f8, $f0, $f20 -/* 0058C 80A0A99C C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 00590 80A0A9A0 461A9102 */ mul.s $f4, $f18, $f26 -/* 00594 80A0A9A4 46048180 */ add.s $f6, $f16, $f4 -/* 00598 80A0A9A8 46164282 */ mul.s $f10, $f8, $f22 -/* 0059C 80A0A9AC 46065480 */ add.s $f18, $f10, $f6 -/* 005A0 80A0A9B0 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 005A4 80A0A9B4 E7B200A8 */ swc1 $f18, 0x00A8($sp) -/* 005A8 80A0A9B8 46140401 */ sub.s $f16, $f0, $f20 -/* 005AC 80A0A9BC C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 005B0 80A0A9C0 AFB3001C */ sw $s3, 0x001C($sp) -/* 005B4 80A0A9C4 AFB20018 */ sw $s2, 0x0018($sp) -/* 005B8 80A0A9C8 46168102 */ mul.s $f4, $f16, $f22 -/* 005BC 80A0A9CC AFB70014 */ sw $s7, 0x0014($sp) -/* 005C0 80A0A9D0 AFB60010 */ sw $s6, 0x0010($sp) -/* 005C4 80A0A9D4 8FA400B4 */ lw $a0, 0x00B4($sp) -/* 005C8 80A0A9D8 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFF4 -/* 005CC 80A0A9DC 27A60098 */ addiu $a2, $sp, 0x0098 ## $a2 = FFFFFFE8 -/* 005D0 80A0A9E0 27A7008C */ addiu $a3, $sp, 0x008C ## $a3 = FFFFFFDC -/* 005D4 80A0A9E4 46082280 */ add.s $f10, $f4, $f8 -/* 005D8 80A0A9E8 0C00A2EC */ jal func_80028BB0 -/* 005DC 80A0A9EC E7AA00AC */ swc1 $f10, 0x00AC($sp) -/* 005E0 80A0A9F0 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 005E4 80A0A9F4 563EFFD5 */ bnel $s1, $s8, .L80A0A94C -/* 005E8 80A0A9F8 8FA90078 */ lw $t1, 0x0078($sp) -.L80A0A9FC: -/* 005EC 80A0A9FC 8FBF006C */ lw $ra, 0x006C($sp) -/* 005F0 80A0AA00 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 005F4 80A0AA04 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 005F8 80A0AA08 D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 005FC 80A0AA0C D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 00600 80A0AA10 8FB00048 */ lw $s0, 0x0048($sp) -/* 00604 80A0AA14 8FB1004C */ lw $s1, 0x004C($sp) -/* 00608 80A0AA18 8FB20050 */ lw $s2, 0x0050($sp) -/* 0060C 80A0AA1C 8FB30054 */ lw $s3, 0x0054($sp) -/* 00610 80A0AA20 8FB40058 */ lw $s4, 0x0058($sp) -/* 00614 80A0AA24 8FB5005C */ lw $s5, 0x005C($sp) -/* 00618 80A0AA28 8FB60060 */ lw $s6, 0x0060($sp) -/* 0061C 80A0AA2C 8FB70064 */ lw $s7, 0x0064($sp) -/* 00620 80A0AA30 8FBE0068 */ lw $s8, 0x0068($sp) -/* 00624 80A0AA34 03E00008 */ jr $ra -/* 00628 80A0AA38 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AA3C.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AA3C.s deleted file mode 100644 index 04f941b200..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AA3C.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_80A0AA3C -/* 0062C 80A0AA3C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00630 80A0AA40 AFBF001C */ sw $ra, 0x001C($sp) -/* 00634 80A0AA44 AFB00018 */ sw $s0, 0x0018($sp) -/* 00638 80A0AA48 AFA50024 */ sw $a1, 0x0024($sp) -/* 0063C 80A0AA4C 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 00640 80A0AA50 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00644 80A0AA54 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000 -/* 00648 80A0AA58 25CF07A8 */ addiu $t7, $t6, 0x07A8 ## $t7 = 000007A8 -/* 0064C 80A0AA5C A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6 -/* 00650 80A0AA60 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A -/* 00654 80A0AA64 2484006C */ addiu $a0, $a0, 0x006C ## $a0 = 0000006C -/* 00658 80A0AA68 3C05C000 */ lui $a1, 0xC000 ## $a1 = C0000000 -/* 0065C 80A0AA6C 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 00660 80A0AA70 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000 -/* 00664 80A0AA74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00668 80A0AA78 8FA50024 */ lw $a1, 0x0024($sp) -/* 0066C 80A0AA7C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002 -/* 00670 80A0AA80 0C282A08 */ jal func_80A0A820 -/* 00674 80A0AA84 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00678 80A0AA88 0C01E221 */ jal func_80078884 -/* 0067C 80A0AA8C 240420BC */ addiu $a0, $zero, 0x20BC ## $a0 = 000020BC -/* 00680 80A0AA90 8E020118 */ lw $v0, 0x0118($s0) ## 00000118 -/* 00684 80A0AA94 5040001D */ beql $v0, $zero, .L80A0AB0C -/* 00688 80A0AA98 8FBF001C */ lw $ra, 0x001C($sp) -/* 0068C 80A0AA9C 8C580130 */ lw $t8, 0x0130($v0) ## 00000130 -/* 00690 80A0AAA0 5300001A */ beql $t8, $zero, .L80A0AB0C -/* 00694 80A0AAA4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00698 80A0AAA8 84590296 */ lh $t9, 0x0296($v0) ## 00000296 -/* 0069C 80A0AAAC 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 006A0 80A0AAB0 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4 -/* 006A4 80A0AAB4 53200009 */ beql $t9, $zero, .L80A0AADC -/* 006A8 80A0AAB8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 006AC 80A0AABC 96080088 */ lhu $t0, 0x0088($s0) ## 00000088 -/* 006B0 80A0AAC0 31090020 */ andi $t1, $t0, 0x0020 ## $t1 = 00000000 -/* 006B4 80A0AAC4 55200005 */ bnel $t1, $zero, .L80A0AADC -/* 006B8 80A0AAC8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 006BC 80A0AACC 860A0156 */ lh $t2, 0x0156($s0) ## 00000156 -/* 006C0 80A0AAD0 5540000E */ bnel $t2, $zero, .L80A0AB0C -/* 006C4 80A0AAD4 8FBF001C */ lw $ra, 0x001C($sp) -/* 006C8 80A0AAD8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L80A0AADC: -/* 006CC 80A0AADC A60B0154 */ sh $t3, 0x0154($s0) ## 00000154 -/* 006D0 80A0AAE0 24052817 */ addiu $a1, $zero, 0x2817 ## $a1 = 00002817 -/* 006D4 80A0AAE4 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068 -/* 006D8 80A0AAE8 E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064 -/* 006DC 80A0AAEC E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060 -/* 006E0 80A0AAF0 E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C -/* 006E4 80A0AAF4 0C01E245 */ jal func_80078914 -/* 006E8 80A0AAF8 E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C -/* 006EC 80A0AAFC 3C0C80A1 */ lui $t4, %hi(func_80A0AB1C) ## $t4 = 80A10000 -/* 006F0 80A0AB00 258CAB1C */ addiu $t4, $t4, %lo(func_80A0AB1C) ## $t4 = 80A0AB1C -/* 006F4 80A0AB04 AE0C014C */ sw $t4, 0x014C($s0) ## 0000014C -/* 006F8 80A0AB08 8FBF001C */ lw $ra, 0x001C($sp) -.L80A0AB0C: -/* 006FC 80A0AB0C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00700 80A0AB10 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00704 80A0AB14 03E00008 */ jr $ra -/* 00708 80A0AB18 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AB1C.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AB1C.s deleted file mode 100644 index fbcb56dfb5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AB1C.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel func_80A0AB1C -/* 0070C 80A0AB1C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00710 80A0AB20 AFBF001C */ sw $ra, 0x001C($sp) -/* 00714 80A0AB24 AFB00018 */ sw $s0, 0x0018($sp) -/* 00718 80A0AB28 AFA5002C */ sw $a1, 0x002C($sp) -/* 0071C 80A0AB2C 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 00720 80A0AB30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00724 80A0AB34 50400050 */ beql $v0, $zero, .L80A0AC78 -/* 00728 80A0AB38 8FBF001C */ lw $ra, 0x001C($sp) -/* 0072C 80A0AB3C 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 00730 80A0AB40 51C0004D */ beql $t6, $zero, .L80A0AC78 -/* 00734 80A0AB44 8FBF001C */ lw $ra, 0x001C($sp) -/* 00738 80A0AB48 844F02A2 */ lh $t7, 0x02A2($v0) ## 000002A2 -/* 0073C 80A0AB4C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00740 80A0AB50 55E10049 */ bnel $t7, $at, .L80A0AC78 -/* 00744 80A0AB54 8FBF001C */ lw $ra, 0x001C($sp) -/* 00748 80A0AB58 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 0074C 80A0AB5C A4800154 */ sh $zero, 0x0154($a0) ## 00000154 -/* 00750 80A0AB60 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00754 80A0AB64 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 00758 80A0AB68 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 0075C 80A0AB6C 44814000 */ mtc1 $at, $f8 ## $f8 = 300.00 -/* 00760 80A0AB70 46040181 */ sub.s $f6, $f0, $f4 -/* 00764 80A0AB74 3C01C382 */ lui $at, 0xC382 ## $at = C3820000 -/* 00768 80A0AB78 44818000 */ mtc1 $at, $f16 ## $f16 = -260.00 -/* 0076C 80A0AB7C 46083282 */ mul.s $f10, $f6, $f8 -/* 00770 80A0AB80 46105480 */ add.s $f18, $f10, $f16 -/* 00774 80A0AB84 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00778 80A0AB88 E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024 -/* 0077C 80A0AB8C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00780 80A0AB90 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 00784 80A0AB94 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00788 80A0AB98 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00 -/* 0078C 80A0AB9C 46040181 */ sub.s $f6, $f0, $f4 -/* 00790 80A0ABA0 8618015A */ lh $t8, 0x015A($s0) ## 0000015A -/* 00794 80A0ABA4 3C0143B9 */ lui $at, 0x43B9 ## $at = 43B90000 -/* 00798 80A0ABA8 44818000 */ mtc1 $at, $f16 ## $f16 = 370.00 -/* 0079C 80A0ABAC 46083282 */ mul.s $f10, $f6, $f8 -/* 007A0 80A0ABB0 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 007A4 80A0ABB4 3C01C248 */ lui $at, 0xC248 ## $at = C2480000 -/* 007A8 80A0ABB8 3C198016 */ lui $t9, %hi(gSaveContext+0xeda) -/* 007AC 80A0ABBC 44814000 */ mtc1 $at, $f8 ## $f8 = -50.00 -/* 007B0 80A0ABC0 3C01C396 */ lui $at, 0xC396 ## $at = C3960000 -/* 007B4 80A0ABC4 468021A0 */ cvt.s.w $f6, $f4 -/* 007B8 80A0ABC8 46105480 */ add.s $f18, $f10, $f16 -/* 007BC 80A0ABCC 46083082 */ mul.s $f2, $f6, $f8 -/* 007C0 80A0ABD0 E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028 -/* 007C4 80A0ABD4 9739F53A */ lhu $t9, %lo(gSaveContext+0xeda)($t9) -/* 007C8 80A0ABD8 33280100 */ andi $t0, $t9, 0x0100 ## $t0 = 00000000 -/* 007CC 80A0ABDC 55000012 */ bnel $t0, $zero, .L80A0AC28 -/* 007D0 80A0ABE0 44815000 */ mtc1 $at, $f10 ## $f10 = -300.00 -/* 007D4 80A0ABE4 3C01C3FA */ lui $at, 0xC3FA ## $at = C3FA0000 -/* 007D8 80A0ABE8 44815000 */ mtc1 $at, $f10 ## $f10 = -500.00 -/* 007DC 80A0ABEC 00000000 */ nop -/* 007E0 80A0ABF0 460A1080 */ add.s $f2, $f2, $f10 -/* 007E4 80A0ABF4 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 007E8 80A0ABF8 E7A20020 */ swc1 $f2, 0x0020($sp) -/* 007EC 80A0ABFC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 007F0 80A0AC00 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50 -/* 007F4 80A0AC04 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 007F8 80A0AC08 44812000 */ mtc1 $at, $f4 ## $f4 = 80.00 -/* 007FC 80A0AC0C 46100481 */ sub.s $f18, $f0, $f16 -/* 00800 80A0AC10 C7A20020 */ lwc1 $f2, 0x0020($sp) -/* 00804 80A0AC14 46049182 */ mul.s $f6, $f18, $f4 -/* 00808 80A0AC18 46023200 */ add.s $f8, $f6, $f2 -/* 0080C 80A0AC1C 1000000F */ beq $zero, $zero, .L80A0AC5C -/* 00810 80A0AC20 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C -/* 00814 80A0AC24 44815000 */ mtc1 $at, $f10 ## $f10 = 80.00 -.L80A0AC28: -/* 00818 80A0AC28 00000000 */ nop -/* 0081C 80A0AC2C 460A1080 */ add.s $f2, $f2, $f10 -/* 00820 80A0AC30 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00824 80A0AC34 E7A20020 */ swc1 $f2, 0x0020($sp) -/* 00828 80A0AC38 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 0082C 80A0AC3C 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50 -/* 00830 80A0AC40 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00834 80A0AC44 44812000 */ mtc1 $at, $f4 ## $f4 = 60.00 -/* 00838 80A0AC48 46100481 */ sub.s $f18, $f0, $f16 -/* 0083C 80A0AC4C C7A20020 */ lwc1 $f2, 0x0020($sp) -/* 00840 80A0AC50 46049182 */ mul.s $f6, $f18, $f4 -/* 00844 80A0AC54 46023200 */ add.s $f8, $f6, $f2 -/* 00848 80A0AC58 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C -.L80A0AC5C: -/* 0084C 80A0AC5C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 00850 80A0AC60 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00 -/* 00854 80A0AC64 3C0980A1 */ lui $t1, %hi(func_80A0AC88) ## $t1 = 80A10000 -/* 00858 80A0AC68 2529AC88 */ addiu $t1, $t1, %lo(func_80A0AC88) ## $t1 = 80A0AC88 -/* 0085C 80A0AC6C AE09014C */ sw $t1, 0x014C($s0) ## 0000014C -/* 00860 80A0AC70 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C -/* 00864 80A0AC74 8FBF001C */ lw $ra, 0x001C($sp) -.L80A0AC78: -/* 00868 80A0AC78 8FB00018 */ lw $s0, 0x0018($sp) -/* 0086C 80A0AC7C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00870 80A0AC80 03E00008 */ jr $ra -/* 00874 80A0AC84 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AC88.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AC88.s deleted file mode 100644 index 9e45475d66..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AC88.s +++ /dev/null @@ -1,73 +0,0 @@ -.late_rodata -glabel D_80A0B540 - .word 0xBE4CCCCD - -.text -glabel func_80A0AC88 -/* 00878 80A0AC88 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 0087C 80A0AC8C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00880 80A0AC90 AFB00020 */ sw $s0, 0x0020($sp) -/* 00884 80A0AC94 AFA50044 */ sw $a1, 0x0044($sp) -/* 00888 80A0AC98 948E0088 */ lhu $t6, 0x0088($a0) ## 00000088 -/* 0088C 80A0AC9C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00890 80A0ACA0 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00894 80A0ACA4 31CF0020 */ andi $t7, $t6, 0x0020 ## $t7 = 00000000 -/* 00898 80A0ACA8 51E00026 */ beql $t7, $zero, .L80A0AD44 -/* 0089C 80A0ACAC 8E020118 */ lw $v0, 0x0118($s0) ## 00000118 -/* 008A0 80A0ACB0 44812000 */ mtc1 $at, $f4 ## $f4 = 15.00 -/* 008A4 80A0ACB4 C4860084 */ lwc1 $f6, 0x0084($a0) ## 00000084 -/* 008A8 80A0ACB8 4606203C */ c.lt.s $f4, $f6 -/* 008AC 80A0ACBC 00000000 */ nop -/* 008B0 80A0ACC0 45020020 */ bc1fl .L80A0AD44 -/* 008B4 80A0ACC4 8E020118 */ lw $v0, 0x0118($s0) ## 00000118 -/* 008B8 80A0ACC8 8C990024 */ lw $t9, 0x0024($a0) ## 00000024 -/* 008BC 80A0ACCC 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF0 -/* 008C0 80A0ACD0 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 008C4 80A0ACD4 ACB90000 */ sw $t9, 0x0000($a1) ## FFFFFFF0 -/* 008C8 80A0ACD8 8C980028 */ lw $t8, 0x0028($a0) ## 00000028 -/* 008CC 80A0ACDC 44819000 */ mtc1 $at, $f18 ## $f18 = -1.00 -/* 008D0 80A0ACE0 3C0180A1 */ lui $at, %hi(D_80A0B540) ## $at = 80A10000 -/* 008D4 80A0ACE4 ACB80004 */ sw $t8, 0x0004($a1) ## FFFFFFF4 -/* 008D8 80A0ACE8 8C99002C */ lw $t9, 0x002C($a0) ## 0000002C -/* 008DC 80A0ACEC 24080320 */ addiu $t0, $zero, 0x0320 ## $t0 = 00000320 -/* 008E0 80A0ACF0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 008E4 80A0ACF4 ACB90008 */ sw $t9, 0x0008($a1) ## FFFFFFF8 -/* 008E8 80A0ACF8 C7A80034 */ lwc1 $f8, 0x0034($sp) -/* 008EC 80A0ACFC C48A0084 */ lwc1 $f10, 0x0084($a0) ## 00000084 -/* 008F0 80A0AD00 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 008F4 80A0AD04 460A4400 */ add.s $f16, $f8, $f10 -/* 008F8 80A0AD08 E7B00034 */ swc1 $f16, 0x0034($sp) -/* 008FC 80A0AD0C E4920060 */ swc1 $f18, 0x0060($a0) ## 00000060 -/* 00900 80A0AD10 C424B540 */ lwc1 $f4, %lo(D_80A0B540)($at) -/* 00904 80A0AD14 E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C -/* 00908 80A0AD18 AFA80014 */ sw $t0, 0x0014($sp) -/* 0090C 80A0AD1C AFA00010 */ sw $zero, 0x0010($sp) -/* 00910 80A0AD20 0C00A527 */ jal func_8002949C -/* 00914 80A0AD24 8FA40044 */ lw $a0, 0x0044($sp) -/* 00918 80A0AD28 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4 -/* 0091C 80A0AD2C 0C01E245 */ jal func_80078914 -/* 00920 80A0AD30 24052817 */ addiu $a1, $zero, 0x2817 ## $a1 = 00002817 -/* 00924 80A0AD34 3C0980A1 */ lui $t1, %hi(func_80A0AD88) ## $t1 = 80A10000 -/* 00928 80A0AD38 2529AD88 */ addiu $t1, $t1, %lo(func_80A0AD88) ## $t1 = 80A0AD88 -/* 0092C 80A0AD3C AE09014C */ sw $t1, 0x014C($s0) ## 0000014C -/* 00930 80A0AD40 8E020118 */ lw $v0, 0x0118($s0) ## 00000118 -.L80A0AD44: -/* 00934 80A0AD44 5040000C */ beql $v0, $zero, .L80A0AD78 -/* 00938 80A0AD48 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0093C 80A0AD4C 8C4A0130 */ lw $t2, 0x0130($v0) ## 00000130 -/* 00940 80A0AD50 51400009 */ beql $t2, $zero, .L80A0AD78 -/* 00944 80A0AD54 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00948 80A0AD58 844B029C */ lh $t3, 0x029C($v0) ## 0000029C -/* 0094C 80A0AD5C 3C0D80A1 */ lui $t5, %hi(func_80A0AEE0) ## $t5 = 80A10000 -/* 00950 80A0AD60 240C0014 */ addiu $t4, $zero, 0x0014 ## $t4 = 00000014 -/* 00954 80A0AD64 15600003 */ bne $t3, $zero, .L80A0AD74 -/* 00958 80A0AD68 25ADAEE0 */ addiu $t5, $t5, %lo(func_80A0AEE0) ## $t5 = 80A0AEE0 -/* 0095C 80A0AD6C A60C0156 */ sh $t4, 0x0156($s0) ## 00000156 -/* 00960 80A0AD70 AE0D014C */ sw $t5, 0x014C($s0) ## 0000014C -.L80A0AD74: -/* 00964 80A0AD74 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A0AD78: -/* 00968 80A0AD78 8FB00020 */ lw $s0, 0x0020($sp) -/* 0096C 80A0AD7C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00970 80A0AD80 03E00008 */ jr $ra -/* 00974 80A0AD84 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AD88.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AD88.s deleted file mode 100644 index 209881c508..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AD88.s +++ /dev/null @@ -1,103 +0,0 @@ -.late_rodata -glabel D_80A0B544 - .float 0.03 - -glabel D_80A0B548 - .word 0x3D8F5C29, 0x00000000 - -.text -glabel func_80A0AD88 -/* 00978 80A0AD88 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 0097C 80A0AD8C 3C0F80A1 */ lui $t7, %hi(D_80A0B388) ## $t7 = 80A10000 -/* 00980 80A0AD90 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00984 80A0AD94 AFB00020 */ sw $s0, 0x0020($sp) -/* 00988 80A0AD98 AFA50054 */ sw $a1, 0x0054($sp) -/* 0098C 80A0AD9C 25EFB388 */ addiu $t7, $t7, %lo(D_80A0B388) ## $t7 = 80A0B388 -/* 00990 80A0ADA0 8DF90000 */ lw $t9, 0x0000($t7) ## 80A0B388 -/* 00994 80A0ADA4 27AE0040 */ addiu $t6, $sp, 0x0040 ## $t6 = FFFFFFF0 -/* 00998 80A0ADA8 8DF80004 */ lw $t8, 0x0004($t7) ## 80A0B38C -/* 0099C 80A0ADAC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0 -/* 009A0 80A0ADB0 8DF90008 */ lw $t9, 0x0008($t7) ## 80A0B390 -/* 009A4 80A0ADB4 3C0980A1 */ lui $t1, %hi(D_80A0B394) ## $t1 = 80A10000 -/* 009A8 80A0ADB8 2529B394 */ addiu $t1, $t1, %lo(D_80A0B394) ## $t1 = 80A0B394 -/* 009AC 80A0ADBC ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4 -/* 009B0 80A0ADC0 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8 -/* 009B4 80A0ADC4 8D2B0000 */ lw $t3, 0x0000($t1) ## 80A0B394 -/* 009B8 80A0ADC8 27A80034 */ addiu $t0, $sp, 0x0034 ## $t0 = FFFFFFE4 -/* 009BC 80A0ADCC 8D2A0004 */ lw $t2, 0x0004($t1) ## 80A0B398 -/* 009C0 80A0ADD0 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE4 -/* 009C4 80A0ADD4 8D2B0008 */ lw $t3, 0x0008($t1) ## 80A0B39C -/* 009C8 80A0ADD8 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE8 -/* 009CC 80A0ADDC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 009D0 80A0ADE0 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFEC -/* 009D4 80A0ADE4 848C0156 */ lh $t4, 0x0156($a0) ## 00000156 -/* 009D8 80A0ADE8 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 009DC 80A0ADEC 3C0180A1 */ lui $at, %hi(D_80A0B544) ## $at = 80A10000 -/* 009E0 80A0ADF0 55800011 */ bnel $t4, $zero, .L80A0AE38 -/* 009E4 80A0ADF4 8E030118 */ lw $v1, 0x0118($s0) ## 00000118 -/* 009E8 80A0ADF8 A48D0156 */ sh $t5, 0x0156($a0) ## 00000156 -/* 009EC 80A0ADFC 0C00CFBE */ jal Math_Rand_ZeroFloat - -/* 009F0 80A0AE00 C42CB544 */ lwc1 $f12, %lo(D_80A0B544)($at) -/* 009F4 80A0AE04 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 009F8 80A0AE08 44811000 */ mtc1 $at, $f2 ## $f2 = 5.00 -/* 009FC 80A0AE0C 3C0180A1 */ lui $at, %hi(D_80A0B548) ## $at = 80A10000 -/* 00A00 80A0AE10 C424B548 */ lwc1 $f4, %lo(D_80A0B548)($at) -/* 00A04 80A0AE14 44071000 */ mfc1 $a3, $f2 -/* 00A08 80A0AE18 8FA40054 */ lw $a0, 0x0054($sp) -/* 00A0C 80A0AE1C 46040180 */ add.s $f6, $f0, $f4 -/* 00A10 80A0AE20 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00A14 80A0AE24 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00A18 80A0AE28 E7A20010 */ swc1 $f2, 0x0010($sp) -/* 00A1C 80A0AE2C 0C00A4F9 */ jal func_800293E4 -/* 00A20 80A0AE30 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00A24 80A0AE34 8E030118 */ lw $v1, 0x0118($s0) ## 00000118 -.L80A0AE38: -/* 00A28 80A0AE38 50600025 */ beql $v1, $zero, .L80A0AED0 -/* 00A2C 80A0AE3C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00A30 80A0AE40 8C6E0130 */ lw $t6, 0x0130($v1) ## 00000130 -/* 00A34 80A0AE44 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 00A38 80A0AE48 11C0001E */ beq $t6, $zero, .L80A0AEC4 -/* 00A3C 80A0AE4C 00000000 */ nop -/* 00A40 80A0AE50 846F029C */ lh $t7, 0x029C($v1) ## 0000029C -/* 00A44 80A0AE54 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014 -/* 00A48 80A0AE58 3C1980A1 */ lui $t9, %hi(func_80A0AEE0) ## $t9 = 80A10000 -/* 00A4C 80A0AE5C 15E00005 */ bne $t7, $zero, .L80A0AE74 -/* 00A50 80A0AE60 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00A54 80A0AE64 2739AEE0 */ addiu $t9, $t9, %lo(func_80A0AEE0) ## $t9 = 80A0AEE0 -/* 00A58 80A0AE68 A6180156 */ sh $t8, 0x0156($s0) ## 00000156 -/* 00A5C 80A0AE6C 10000017 */ beq $zero, $zero, .L80A0AECC -/* 00A60 80A0AE70 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C -.L80A0AE74: -/* 00A64 80A0AE74 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00 -/* 00A68 80A0AE78 C608008C */ lwc1 $f8, 0x008C($s0) ## 0000008C -/* 00A6C 80A0AE7C 46000282 */ mul.s $f10, $f0, $f0 -/* 00A70 80A0AE80 460A403C */ c.lt.s $f8, $f10 -/* 00A74 80A0AE84 00000000 */ nop -/* 00A78 80A0AE88 45020011 */ bc1fl .L80A0AED0 -/* 00A7C 80A0AE8C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00A80 80A0AE90 86040158 */ lh $a0, 0x0158($s0) ## 00000158 -/* 00A84 80A0AE94 0C021CC3 */ jal Rupees_ChangeBy -/* 00A88 80A0AE98 AFA2004C */ sw $v0, 0x004C($sp) -/* 00A8C 80A0AE9C 0C01E221 */ jal func_80078884 -/* 00A90 80A0AEA0 24044803 */ addiu $a0, $zero, 0x4803 ## $a0 = 00004803 -/* 00A94 80A0AEA4 8FA2004C */ lw $v0, 0x004C($sp) -/* 00A98 80A0AEA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A9C 80A0AEAC 844802A4 */ lh $t0, 0x02A4($v0) ## 000002A4 -/* 00AA0 80A0AEB0 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001 -/* 00AA4 80A0AEB4 0C00B55C */ jal Actor_Kill - -/* 00AA8 80A0AEB8 A44902A4 */ sh $t1, 0x02A4($v0) ## 000002A4 -/* 00AAC 80A0AEBC 10000004 */ beq $zero, $zero, .L80A0AED0 -/* 00AB0 80A0AEC0 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A0AEC4: -/* 00AB4 80A0AEC4 0C00B55C */ jal Actor_Kill - -/* 00AB8 80A0AEC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80A0AECC: -/* 00ABC 80A0AECC 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A0AED0: -/* 00AC0 80A0AED0 8FB00020 */ lw $s0, 0x0020($sp) -/* 00AC4 80A0AED4 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 00AC8 80A0AED8 03E00008 */ jr $ra -/* 00ACC 80A0AEDC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AEE0.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AEE0.s deleted file mode 100644 index a9a82e6948..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AEE0.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_80A0AEE0 -/* 00AD0 80A0AEE0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00AD4 80A0AEE4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00AD8 80A0AEE8 AFA5001C */ sw $a1, 0x001C($sp) -/* 00ADC 80A0AEEC 848E0154 */ lh $t6, 0x0154($a0) ## 00000154 -/* 00AE0 80A0AEF0 84880156 */ lh $t0, 0x0156($a0) ## 00000156 -/* 00AE4 80A0AEF4 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 00AE8 80A0AEF8 A48F0154 */ sh $t7, 0x0154($a0) ## 00000154 -/* 00AEC 80A0AEFC 84980154 */ lh $t8, 0x0154($a0) ## 00000154 -/* 00AF0 80A0AF00 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000 -/* 00AF4 80A0AF04 15000003 */ bne $t0, $zero, .L80A0AF14 -/* 00AF8 80A0AF08 A4990154 */ sh $t9, 0x0154($a0) ## 00000154 -/* 00AFC 80A0AF0C 0C00B55C */ jal Actor_Kill - -/* 00B00 80A0AF10 00000000 */ nop -.L80A0AF14: -/* 00B04 80A0AF14 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00B08 80A0AF18 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00B0C 80A0AF1C 03E00008 */ jr $ra -/* 00B10 80A0AF20 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AF24.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AF24.s deleted file mode 100644 index 495b6bf1b4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AF24.s +++ /dev/null @@ -1,103 +0,0 @@ -.rdata -glabel D_80A0B460 - .asciz "\x1b[32m☆☆☆☆☆ そ、そんなばかな!エラー!!!!! ☆☆☆☆☆ \n\x1b[m" - .balign 4 - -glabel D_80A0B4A4 - .asciz "\x1b[32m☆☆☆☆☆ バカめ! ☆☆☆☆☆ \n\x1b[m" - .balign 4 - -.text -glabel func_80A0AF24 -/* 00B14 80A0AF24 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00B18 80A0AF28 3C0F80A1 */ lui $t7, %hi(D_80A0B3A0) ## $t7 = 80A10000 -/* 00B1C 80A0AF2C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00B20 80A0AF30 AFB00020 */ sw $s0, 0x0020($sp) -/* 00B24 80A0AF34 AFA50054 */ sw $a1, 0x0054($sp) -/* 00B28 80A0AF38 25EFB3A0 */ addiu $t7, $t7, %lo(D_80A0B3A0) ## $t7 = 80A0B3A0 -/* 00B2C 80A0AF3C 8DF90000 */ lw $t9, 0x0000($t7) ## 80A0B3A0 -/* 00B30 80A0AF40 27AE0040 */ addiu $t6, $sp, 0x0040 ## $t6 = FFFFFFF0 -/* 00B34 80A0AF44 8DF80004 */ lw $t8, 0x0004($t7) ## 80A0B3A4 -/* 00B38 80A0AF48 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0 -/* 00B3C 80A0AF4C 8DF90008 */ lw $t9, 0x0008($t7) ## 80A0B3A8 -/* 00B40 80A0AF50 3C0980A1 */ lui $t1, %hi(D_80A0B3AC) ## $t1 = 80A10000 -/* 00B44 80A0AF54 2529B3AC */ addiu $t1, $t1, %lo(D_80A0B3AC) ## $t1 = 80A0B3AC -/* 00B48 80A0AF58 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4 -/* 00B4C 80A0AF5C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8 -/* 00B50 80A0AF60 8D2B0000 */ lw $t3, 0x0000($t1) ## 80A0B3AC -/* 00B54 80A0AF64 27A80034 */ addiu $t0, $sp, 0x0034 ## $t0 = FFFFFFE4 -/* 00B58 80A0AF68 8D2A0004 */ lw $t2, 0x0004($t1) ## 80A0B3B0 -/* 00B5C 80A0AF6C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE4 -/* 00B60 80A0AF70 8D2B0008 */ lw $t3, 0x0008($t1) ## 80A0B3B4 -/* 00B64 80A0AF74 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE8 -/* 00B68 80A0AF78 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00B6C 80A0AF7C AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFEC -/* 00B70 80A0AF80 848C0152 */ lh $t4, 0x0152($a0) ## 00000152 -/* 00B74 80A0AF84 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00 -/* 00B78 80A0AF88 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00B7C 80A0AF8C 15810004 */ bne $t4, $at, .L80A0AFA0 -/* 00B80 80A0AF90 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00B84 80A0AF94 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00B88 80A0AF98 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00 -/* 00B8C 80A0AF9C 00000000 */ nop -.L80A0AFA0: -/* 00B90 80A0AFA0 46000182 */ mul.s $f6, $f0, $f0 -/* 00B94 80A0AFA4 C604008C */ lwc1 $f4, 0x008C($s0) ## 0000008C -/* 00B98 80A0AFA8 4606203C */ c.lt.s $f4, $f6 -/* 00B9C 80A0AFAC 00000000 */ nop -/* 00BA0 80A0AFB0 4502002B */ bc1fl .L80A0B060 -/* 00BA4 80A0AFB4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00BA8 80A0AFB8 8E020118 */ lw $v0, 0x0118($s0) ## 00000118 -/* 00BAC 80A0AFBC 3C0480A1 */ lui $a0, %hi(D_80A0B460) ## $a0 = 80A10000 -/* 00BB0 80A0AFC0 10400007 */ beq $v0, $zero, .L80A0AFE0 -/* 00BB4 80A0AFC4 00000000 */ nop -/* 00BB8 80A0AFC8 8C4D0130 */ lw $t5, 0x0130($v0) ## 00000130 -/* 00BBC 80A0AFCC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00BC0 80A0AFD0 11A00005 */ beq $t5, $zero, .L80A0AFE8 -/* 00BC4 80A0AFD4 00000000 */ nop -/* 00BC8 80A0AFD8 10000003 */ beq $zero, $zero, .L80A0AFE8 -/* 00BCC 80A0AFDC A44E0266 */ sh $t6, 0x0266($v0) ## 00000266 -.L80A0AFE0: -/* 00BD0 80A0AFE0 0C00084C */ jal osSyncPrintf - -/* 00BD4 80A0AFE4 2484B460 */ addiu $a0, $a0, %lo(D_80A0B460) ## $a0 = 80A0B460 -.L80A0AFE8: -/* 00BD8 80A0AFE8 3C0480A1 */ lui $a0, %hi(D_80A0B4A4) ## $a0 = 80A10000 -/* 00BDC 80A0AFEC 0C00084C */ jal osSyncPrintf - -/* 00BE0 80A0AFF0 2484B4A4 */ addiu $a0, $a0, %lo(D_80A0B4A4) ## $a0 = 80A0B4A4 -/* 00BE4 80A0AFF4 860F0152 */ lh $t7, 0x0152($s0) ## 00000152 -/* 00BE8 80A0AFF8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00BEC 80A0AFFC 24020064 */ addiu $v0, $zero, 0x0064 ## $v0 = 00000064 -/* 00BF0 80A0B000 15E10003 */ bne $t7, $at, .L80A0B010 -/* 00BF4 80A0B004 2403001E */ addiu $v1, $zero, 0x001E ## $v1 = 0000001E -/* 00BF8 80A0B008 24020014 */ addiu $v0, $zero, 0x0014 ## $v0 = 00000014 -/* 00BFC 80A0B00C 24030006 */ addiu $v1, $zero, 0x0006 ## $v1 = 00000006 -.L80A0B010: -/* 00C00 80A0B010 8FA40054 */ lw $a0, 0x0054($sp) -/* 00C04 80A0B014 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00C08 80A0B018 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFE4 -/* 00C0C 80A0B01C 27A70040 */ addiu $a3, $sp, 0x0040 ## $a3 = FFFFFFF0 -/* 00C10 80A0B020 AFA20010 */ sw $v0, 0x0010($sp) -/* 00C14 80A0B024 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered -/* 00C18 80A0B028 AFA30014 */ sw $v1, 0x0014($sp) -/* 00C1C 80A0B02C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 00C20 80A0B030 8607008A */ lh $a3, 0x008A($s0) ## 0000008A -/* 00C24 80A0B034 8FA40054 */ lw $a0, 0x0054($sp) -/* 00C28 80A0B038 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00C2C 80A0B03C 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000 -/* 00C30 80A0B040 0C00BDC7 */ jal func_8002F71C -/* 00C34 80A0B044 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 00C38 80A0B048 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C3C 80A0B04C 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00C40 80A0B050 2405180E */ addiu $a1, $zero, 0x180E ## $a1 = 0000180E -/* 00C44 80A0B054 0C00B55C */ jal Actor_Kill - -/* 00C48 80A0B058 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C4C 80A0B05C 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A0B060: -/* 00C50 80A0B060 8FB00020 */ lw $s0, 0x0020($sp) -/* 00C54 80A0B064 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 00C58 80A0B068 03E00008 */ jr $ra -/* 00C5C 80A0B06C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B070.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B070.s deleted file mode 100644 index 7268679614..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B070.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_80A0B070 -/* 00C60 80A0B070 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00C64 80A0B074 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00 -/* 00C68 80A0B078 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00C6C 80A0B07C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00C70 80A0B080 46000182 */ mul.s $f6, $f0, $f0 -/* 00C74 80A0B084 AFA5001C */ sw $a1, 0x001C($sp) -/* 00C78 80A0B088 C484008C */ lwc1 $f4, 0x008C($a0) ## 0000008C -/* 00C7C 80A0B08C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 00C80 80A0B090 24044803 */ addiu $a0, $zero, 0x4803 ## $a0 = 00004803 -/* 00C84 80A0B094 4606203C */ c.lt.s $f4, $f6 -/* 00C88 80A0B098 00000000 */ nop -/* 00C8C 80A0B09C 45020012 */ bc1fl .L80A0B0E8 -/* 00C90 80A0B0A0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00C94 80A0B0A4 0C01E221 */ jal func_80078884 -/* 00C98 80A0B0A8 AFA70018 */ sw $a3, 0x0018($sp) -/* 00C9C 80A0B0AC 8FA70018 */ lw $a3, 0x0018($sp) -/* 00CA0 80A0B0B0 3C0680A1 */ lui $a2, %hi(D_80A0B320) ## $a2 = 80A10000 -/* 00CA4 80A0B0B4 8FA4001C */ lw $a0, 0x001C($sp) -/* 00CA8 80A0B0B8 84EE0150 */ lh $t6, 0x0150($a3) ## 00000150 -/* 00CAC 80A0B0BC 24E50024 */ addiu $a1, $a3, 0x0024 ## $a1 = 00000024 -/* 00CB0 80A0B0C0 000E7840 */ sll $t7, $t6, 1 -/* 00CB4 80A0B0C4 00CF3021 */ addu $a2, $a2, $t7 -/* 00CB8 80A0B0C8 84C6B320 */ lh $a2, %lo(D_80A0B320)($a2) -/* 00CBC 80A0B0CC 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = 80A18000 -/* 00CC0 80A0B0D0 00063400 */ sll $a2, $a2, 16 -/* 00CC4 80A0B0D4 0C007D52 */ jal Item_DropCollectible - -/* 00CC8 80A0B0D8 00063403 */ sra $a2, $a2, 16 -/* 00CCC 80A0B0DC 0C00B55C */ jal Actor_Kill - -/* 00CD0 80A0B0E0 8FA40018 */ lw $a0, 0x0018($sp) -/* 00CD4 80A0B0E4 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A0B0E8: -/* 00CD8 80A0B0E8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00CDC 80A0B0EC 03E00008 */ jr $ra -/* 00CE0 80A0B0F0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B0F4.s b/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B0F4.s deleted file mode 100644 index 82d6c40e7f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B0F4.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_80A0B0F4 -/* 00CE4 80A0B0F4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00CE8 80A0B0F8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00CEC 80A0B0FC AFA40018 */ sw $a0, 0x0018($sp) -/* 00CF0 80A0B100 AFA5001C */ sw $a1, 0x001C($sp) -/* 00CF4 80A0B104 848F015C */ lh $t7, 0x015C($a0) ## 0000015C -/* 00CF8 80A0B108 248400BC */ addiu $a0, $a0, 0x00BC ## $a0 = 000000BC -/* 00CFC 80A0B10C 3C05C42F */ lui $a1, 0xC42F ## $a1 = C42F0000 -/* 00D00 80A0B110 11E00007 */ beq $t7, $zero, .L80A0B130 -/* 00D04 80A0B114 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 00D08 80A0B118 3C05442F */ lui $a1, 0x442F ## $a1 = 442F0000 -/* 00D0C 80A0B11C 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 00D10 80A0B120 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 00D14 80A0B124 3C074348 */ lui $a3, 0x4348 ## $a3 = 43480000 -/* 00D18 80A0B128 10000006 */ beq $zero, $zero, .L80A0B144 -/* 00D1C 80A0B12C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A0B130: -/* 00D20 80A0B130 8FA40018 */ lw $a0, 0x0018($sp) -/* 00D24 80A0B134 3C074348 */ lui $a3, 0x4348 ## $a3 = 43480000 -/* 00D28 80A0B138 0C01E107 */ jal Math_SmoothScaleMaxF - -/* 00D2C 80A0B13C 248400BC */ addiu $a0, $a0, 0x00BC ## $a0 = 000000BC -/* 00D30 80A0B140 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A0B144: -/* 00D34 80A0B144 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00D38 80A0B148 03E00008 */ jr $ra -/* 00D3C 80A0B14C 00000000 */ nop diff --git a/data/overlays/actors/z_en_ex_ruppy.data.s b/data/overlays/actors/z_en_ex_ruppy.data.s deleted file mode 100644 index b1b2891c5a..0000000000 --- a/data/overlays/actors/z_en_ex_ruppy.data.s +++ /dev/null @@ -1,36 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel D_80A0B320 - .word 0x00000001, 0x00020013, 0x00140000, 0x00010005, 0x001401F4, 0x00320000 -glabel En_Ex_Ruppy_InitVars - .word 0x01310600, 0x00000010, 0x00010000, 0x00000164 -.word EnExRuppy_Init -.word EnExRuppy_Destroy -.word EnExRuppy_Update -.word EnExRuppy_Draw -glabel D_80A0B358 - .word 0x00000000, 0x3DCCCCCD, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_80A0B370 - .word 0x00000000, 0x3C23D70A, 0x00000000 -glabel D_80A0B37C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80A0B388 - .word 0x00000000, 0x3DCCCCCD, 0x00000000 -glabel D_80A0B394 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80A0B3A0 - .word 0x00000000, 0x3DCCCCCD, 0x00000000 -glabel D_80A0B3AC - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80A0B3B8 - .word 0x04042140, 0x04042160, 0x04042180, 0x040421C0, 0x040421A0, 0x00000000 - diff --git a/include/variables.h b/include/variables.h index af9edc5a2f..8105715b52 100644 --- a/include/variables.h +++ b/include/variables.h @@ -48,7 +48,7 @@ extern u32 D_0403B030; extern u32 D_0403BBA0; extern u32 D_0403BCD8; extern u32 D_0403F070; -extern u32 D_04042440; +extern Gfx D_04042440[]; //extern ? D_04048160; extern u32 D_04048180; extern Gfx D_04049210[]; diff --git a/spec b/spec index e1e8da6b99..4e1c3a4066 100644 --- a/spec +++ b/spec @@ -2336,8 +2336,11 @@ endseg beginseg name "ovl_En_Ex_Ruppy" include "build/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.o" - include "build/data/overlays/actors/z_en_ex_ruppy.data.o" +#ifdef NON_MATCHING + include "build/src/overlays/actors/ovl_En_Ex_Ruppy/ovl_En_Ex_ruppy.reloc.o" +#else include "build/data/overlays/actors/z_en_ex_ruppy.reloc.o" + #endif endseg beginseg diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h index 1a05e6ec2b..74f89ae22e 100644 --- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h +++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h @@ -6,9 +6,59 @@ struct EnDivingGame; +typedef void (*EnDivingGameActionFunc)(struct EnDivingGame*, GlobalContext*); + typedef struct EnDivingGame { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x24C]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ Vec3s limbDrawTable[20]; + /* 0x0208 */ Vec3s transitionDrawTable[20]; + /* 0x0280 */ EnDivingGameActionFunc actionFunc; + /* 0x0284 */ Vec3s vec_284; + /* 0x028A */ Vec3s vec_28A; + /* 0x0290 */ s16 unk_290; + /* 0x0292 */ s16 unk_292; + /* 0x0294 */ s16 unk_294; + /* 0x0296 */ s16 unk_296; + /* 0x0298 */ s16 unk_298; + /* 0x029A */ s16 unk_29A; + /* 0x029C */ s16 unk_29C; + /* 0x029E */ s16 unk_29E; + /* 0x02A0 */ s16 camId; + /* 0x02A2 */ s16 unk_2A2; + /* 0x02A4 */ s16 unk_2A4; + /* 0x02A6 */ s16 unk_2A6; + /* 0x02A8 */ s16 unk_2A8; + /* 0x02AA */ s16 unk_2AA; + /* 0x02AC */ char unk_2AC[0xC]; + /* 0x02B8 */ Vec3f vec_2B8; + /* 0x02C4 */ Vec3f vec_2C4; + /* 0x02D0 */ f32 unk_2D0; + /* 0x02D4 */ f32 unk_2D4; + /* 0x02D8 */ f32 unk_2D8; + /* 0x02DC */ f32 unk_2DC; + /* 0x02E0 */ f32 unk_2E0; + /* 0x02E4 */ f32 unk_2E4; + /* 0x02E8 */ f32 unk_2E8; + /* 0x02EC */ f32 unk_2EC; + /* 0x02F0 */ f32 unk_2F0; + /* 0x02F4 */ f32 unk_2F4; + /* 0x02F8 */ f32 unk_2F8; + /* 0x02FC */ f32 unk_2FC; + /* 0x0300 */ f32 unk_300; + /* 0x0304 */ f32 unk_304; + /* 0x0308 */ f32 unk_308; + /* 0x030C */ f32 unk_30C; + /* 0x0310 */ f32 unk_310; + /* 0x0314 */ f32 unk_314; + /* 0x0318 */ f32 unk_318; + /* 0x031C */ char unk_31C; + /* 0x031D */ u8 unk_31D; + /* 0x031E */ char unk_31E; + /* 0x031F */ u8 unk_31F; + /* 0x0320 */ char unk_320[0x4]; + /* 0x0324 */ struct_80034A14_arg1 unk_324; + /* 0x034C */ ColliderCylinder collider; } EnDivingGame; // size = 0x0398 extern const ActorInit En_Diving_Game_InitVars; diff --git a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c index eb94403223..7b0f15dad7 100644 --- a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c +++ b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c @@ -1,4 +1,6 @@ #include "z_en_ex_ruppy.h" +#include "vt.h" +#include "../ovl_En_Diving_Game/z_en_diving_game.h" #define FLAGS 0x00000010 @@ -9,7 +11,23 @@ void EnExRuppy_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnExRuppy_Update(Actor* thisx, GlobalContext* globalCtx); void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void EnExRuppy_DropIntoWater(EnExRuppy* this, GlobalContext* globalCtx); +void EnExRuppy_WaitToBlowUp(EnExRuppy* this, GlobalContext* globalCtx); +void EnExRuppy_WaitAsCollectible(EnExRuppy* this, GlobalContext* globalCtx); +void func_80A0B0F4(EnExRuppy* this, GlobalContext* globalCtx); +void EnExRuppy_EnterWater(EnExRuppy* this, GlobalContext* globalCtx); +void EnExRuppy_Sink(EnExRuppy* this, GlobalContext* globalCtx); +void func_80A0AD88(EnExRuppy* this, GlobalContext* globalCtx); +void func_80A0AEE0(EnExRuppy* this, GlobalContext* globalCtx); + +static s16 sEnExRuppyCollectibleTypes[] = { + ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_RUPEE_ORANGE, ITEM00_RUPEE_PURPLE, +}; + +static s16 D_80A0B32B[] = { + 1, 5, 20, 500, 50, +}; + const ActorInit En_Ex_Ruppy_InitVars = { ACTOR_EN_EX_RUPPY, ACTORTYPE_PROP, @@ -21,29 +39,343 @@ const ActorInit En_Ex_Ruppy_InitVars = { (ActorFunc)EnExRuppy_Update, (ActorFunc)EnExRuppy_Draw, }; -*/ + +static Vec3f D_80A0B358[] = { { 0.0f, 0.1f, 0.0f }, { 0.0f, 0.0f, 0.0f } }; +static Vec3f D_80A0B370[] = { { 0.0f, 0.01f, 0.0f }, { 0.0f, 0.0f, 0.0f } }; + +#ifdef NON_MATCHING +// Regalloc +void EnExRuppy_Init(Actor* thisx, GlobalContext* globalCtx) { + EnExRuppy* this = THIS; + s16 temp_v0; + f32 phi_f12; + f32 temp; + + this->unk_152 = this->actor.params; + // Index + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ インデックス ☆☆☆☆☆ %x" VT_RST, this->unk_152); + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f); + switch (this->unk_152) { + case 0: + this->unk_160 = 0.01f; + Actor_SetScale(&this->actor, this->unk_160); + this->actor.room = -1; + this->actor.gravity = 0.0f; + // If you havnt won the diving game before you will get 5 blue ruppees. + if (!(gSaveContext.eventChkInf[3] & 0x100)) { + this->rupeeValue = 5; + this->unk_150 = 1; + } else { + phi_f12 = 200.99f; + if ((thisx->attachedA != NULL) && (thisx->attachedA->update != NULL)) { + phi_f12 = 200.99f + ((EnDivingGame*)thisx->attachedA)->unk_2AA * 10.0f; + } + temp_v0 = Math_Rand_ZeroFloat(phi_f12); + if ((temp_v0 >= 0) && (temp_v0 < 40)) { + this->rupeeValue = 1; + this->unk_150 = 0; + } else if ((temp_v0 >= 40) && (temp_v0 < 170)) { + this->rupeeValue = 5; + this->unk_150 = 1; + } else if ((temp_v0 >= 170) && (temp_v0 < 190)) { + this->rupeeValue = 20; + this->unk_150 = 2; + } else if ((temp_v0 >= 190) && (temp_v0 < 200)) { + this->rupeeValue = 50; + this->unk_150 = 4; + } else { + this->unk_160 = 0.02f; + Actor_SetScale(&this->actor, this->unk_160); + this->rupeeValue = 500; + this->unk_150 = 3; + if ((thisx->attachedA != NULL) && (thisx->attachedA->update != NULL)) { + ((EnDivingGame*)thisx->attachedA)->unk_2AA = 0; + } + } + } + temp_v0 = this->actor.posRot.rot.z; + this->actor.posRot.rot.z = 0; + this->timer = 30; + this->actor.shape.unk_10 = 7.0f; + this->actor.shape.unk_08 = 700.0f; + this->unk_15A = temp_v0; + this->actor.flags &= ~1; + this->actionFunc = EnExRuppy_DropIntoWater; + break; + case 1: + case 2: // Giant pink ruppe that explodes when you touch it + if (this->unk_152 == 1) { + Actor_SetScale(thisx, 0.1f); + this->unk_150 = 4; + } else { + Actor_SetScale(thisx, 0.02f); + this->unk_150 = (s16)Math_Rand_ZeroFloat(3.99f) + 1; + } + this->actor.gravity = -3.0f; + // Wow Coin + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ わーなーコイン ☆☆☆☆☆ \n" VT_RST); + this->actor.shape.unk_10 = 6.0f; + this->actor.shape.unk_08 = 700.0f; + this->actor.flags &= ~1; + this->actionFunc = EnExRuppy_WaitToBlowUp; + break; + case 3: // Spawned by the guard in Hyrule courtyard + Actor_SetScale(thisx, 0.02f); + this->unk_150 = 0; + switch ((s16)Math_Rand_ZeroFloat(30.99f)) { + case 0: + this->unk_150 = 2; + break; + case 10: + case 20: + this->unk_150 = 1; + break; + case 30: + break; + } + this->actor.gravity = -3.0f; + // Normal rupee + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ノーマルルピー ☆☆☆☆☆ \n" VT_RST); + this->actor.shape.unk_10 = 6.0f; + this->actor.shape.unk_08 = 700.0f; + this->actor.flags &= ~1; + this->actionFunc = EnExRuppy_WaitAsCollectible; + break; + case 4: + this->actor.gravity = -3.0f; + this->actor.flags &= ~1; + Actor_SetScale(thisx, 0.01f); + this->actor.shape.unk_10 = 6.0f; + this->actor.shape.unk_08 = -700.0f; + this->actionFunc = func_80A0B0F4; + break; + } +} +#else #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Init.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Destroy.s") +void EnExRuppy_Destroy(Actor* thisx, GlobalContext* globalCtx) { +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0A820.s") +void EnExRuppy_SpawnSparkles(EnExRuppy* this, GlobalContext* globalCtx, s16 arg2, s32 arg3) { + Vec3f sparklePos; + Vec3f sparkleVelocity; + Vec3f sparkleAccel; + Color_RGBA8_n primColor; + Color_RGBA8_n envColor; + s32 i; + s16 sparkleScale; + s16 sparkleLife; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AA3C.s") + if (arg2 <= 0) { + arg2 = 1; + } + primColor.r = 255; + primColor.g = 255; + primColor.b = 0; + envColor.r = 255; + envColor.g = 255; + envColor.b = 255; + sparkleVelocity = D_80A0B358[arg3]; + sparkleAccel = D_80A0B370[arg3]; + sparkleScale = 3000; + sparkleLife = 16; + for (i = 0; i < arg2; i++) { + if (arg3 == 1) { + sparkleAccel.x = Math_Rand_CenteredFloat(20.0f); + sparkleAccel.z = Math_Rand_CenteredFloat(20.0f); + sparkleScale = 5000; + sparkleLife = 20; + } + sparklePos.x = (Math_Rand_ZeroOne() - 0.5f) * 10.0f + this->actor.posRot.pos.x; + sparklePos.y = (Math_Rand_ZeroOne() - 0.5f) * 10.0f + (this->actor.posRot.pos.y + this->unk_160 * 600.0f); + sparklePos.z = (Math_Rand_ZeroOne() - 0.5f) * 10.0f + this->actor.posRot.pos.z; + func_80028BB0(globalCtx, &sparklePos, &sparkleVelocity, &sparkleAccel, &primColor, &envColor, sparkleScale, + sparkleLife); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AB1C.s") +void EnExRuppy_DropIntoWater(EnExRuppy* this, GlobalContext* globalCtx) { + this->actor.shape.rot.y = (this->actor.shape.rot.y + 1960); + Math_SmoothScaleMaxF(&this->actor.gravity, -2.0f, 0.3f, 1.0f); + EnExRuppy_SpawnSparkles(this, globalCtx, 2, 0); + func_80078884(NA_SE_EV_RAINBOW_SHOWER - SFX_FLAG); + if ((this->actor.attachedA != NULL) && (this->actor.attachedA->update != NULL) && + (((((EnDivingGame*)this->actor.attachedA)->unk_296 == 0) || (this->actor.bgCheckFlags & 0x20)) || + (this->timer == 0))) { + this->isFalling = 1; + this->actor.speedXZ = 0.0f; + this->actor.velocity.z = 0.0f; + this->actor.velocity.y = 0.0f; + this->actor.velocity.x = 0.0f; + this->actor.gravity = 0.0f; + func_80078914(&this->actor.projectedPos, NA_SE_EV_BOMB_DROP_WATER); + this->actionFunc = EnExRuppy_EnterWater; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AC88.s") +void EnExRuppy_EnterWater(EnExRuppy* this, GlobalContext* globalCtx) { + s32 pad; + f32 temp_f2; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AD88.s") + if (((this->actor.attachedA != NULL) && (this->actor.attachedA->update != NULL)) && + (((EnDivingGame*)this->actor.attachedA)->unk_2A2 == 2)) { + this->isFalling = 0; + this->actor.posRot.pos.x = ((Math_Rand_ZeroOne() - 0.5f) * 300.0f) + -260.0f; + this->actor.posRot.pos.y = ((Math_Rand_ZeroOne() - 0.5f) * 200.0f) + 370.0f; + temp_f2 = this->unk_15A * -50.0f; + if (!(gSaveContext.eventChkInf[3] & 0x100)) { + temp_f2 += -500.0f; + this->actor.posRot.pos.z = ((Math_Rand_ZeroOne() - 0.5f) * 80.0f) + temp_f2; + } else { + temp_f2 += -300.0f; + this->actor.posRot.pos.z = ((Math_Rand_ZeroOne() - 0.5f) * 60.0f) + temp_f2; + } + this->actionFunc = EnExRuppy_Sink; + this->actor.gravity = -1.0f; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AEE0.s") +void EnExRuppy_Sink(EnExRuppy* this, GlobalContext* globalCtx) { + s32 pad; + Vec3f pos; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0AF24.s") + if ((this->actor.bgCheckFlags & 0x20) && (15.0f < this->actor.waterY)) { + pos = this->actor.posRot.pos; + pos.y += this->actor.waterY; + this->actor.velocity.y = -1.0f; + this->actor.gravity = -0.2f; + func_8002949C(globalCtx, &pos, 0, 0, 0, 800); + func_80078914(&this->actor.projectedPos, NA_SE_EV_BOMB_DROP_WATER); + this->actionFunc = func_80A0AD88; + } + if (((this->actor.attachedA != NULL) && (this->actor.attachedA->update != NULL) && + ((EnDivingGame*)this->actor.attachedA)->unk_29C == 0)) { + this->timer = 20; + this->actionFunc = func_80A0AEE0; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B070.s") +void func_80A0AD88(EnExRuppy* this, GlobalContext* globalCtx) { + EnDivingGame* divingGame; + Vec3f D_80A0B388 = { 0.0f, 0.1f, 0.0f }; + Vec3f D_80A0B394 = { 0.0f, 0.0f, 0.0f }; + f32 localConst = 30.0f; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/func_80A0B0F4.s") + if (this->timer == 0) { + this->timer = 10; + func_800293E4(globalCtx, &this->actor.posRot.pos, 0.0f, 5.0f, 5.0f, Math_Rand_ZeroFloat(0.03f) + 0.07f); + } + if (this->actor.attachedA != NULL) { + divingGame = this->actor.attachedA; + if (divingGame->actor.update != NULL) { + if (divingGame->unk_29C == 0) { + this->timer = 20; + this->actionFunc = func_80A0AEE0; + return; + } + if (this->actor.xyzDistFromLinkSq < SQ(localConst)) { + Rupees_ChangeBy(this->rupeeValue); + func_80078884(NA_SE_SY_GET_RUPY); + divingGame->unk_2A4++; + Actor_Kill(&this->actor); + } + } else { + Actor_Kill(&this->actor); + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Update.s") +void func_80A0AEE0(EnExRuppy* this, GlobalContext* globalCtx) { + this->isFalling += 1; + this->isFalling &= 1; + if (this->timer == 0) { + Actor_Kill(&this->actor); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ex_Ruppy/EnExRuppy_Draw.s") +void EnExRuppy_WaitToBlowUp(EnExRuppy* this, GlobalContext* globalCtx) { + f32 distToBlowUp; + Vec3f point1Vec = { 0.0f, 0.1f, 0.0f }; + Vec3f zeroVector = { 0.0f, 0.0f, 0.0f }; + s16 explosionScale; + s16 explosionScaleStep; + distToBlowUp = 50.0f; + if (this->unk_152 == 2) { + distToBlowUp = 30.0f; + } + if (this->actor.xyzDistFromLinkSq < SQ(distToBlowUp)) { + if (this->actor.attachedA != NULL) { + if (this->actor.attachedA->update != NULL) { + ((EnDivingGame*)this->actor.attachedA)->transitionDrawTable[15].z = 1; + } + } else { + // That idiot! error + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ そ、そんなばかな!エラー!!!!! ☆☆☆☆☆ \n" VT_RST); + } + // Stupid! + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ バカめ! ☆☆☆☆☆ \n" VT_RST); + explosionScale = 100; + explosionScaleStep = 30; + if (this->unk_152 == 2) { + explosionScale = 20; + explosionScaleStep = 6; + } + EffectSsBomb2_SpawnLayered(globalCtx, &this->actor.posRot.pos, &zeroVector, &point1Vec, explosionScale, + explosionScaleStep); + func_8002F71C(globalCtx, &this->actor, 2.0f, this->actor.yawTowardsLink, 0.0f); + Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_EXPLOSION); + Actor_Kill(&this->actor); + } +} + +void EnExRuppy_WaitAsCollectible(EnExRuppy* this, GlobalContext* globalCtx) { + f32 localConst = 30.0f; + if (this->actor.xyzDistFromLinkSq < SQ(localConst)) { + func_80078884(NA_SE_SY_GET_RUPY); + Item_DropCollectible(globalCtx, &this->actor.posRot.pos, (sEnExRuppyCollectibleTypes[this->unk_150] | 0x8000)); + Actor_Kill(&this->actor); + } +} + +void func_80A0B0F4(EnExRuppy* this, GlobalContext* globalCtx) { + if (this->unk_15C != 0) { + Math_SmoothScaleMaxF(&this->actor.shape.unk_08, 700.0f, 0.5f, 200.0f); + } else { + Math_SmoothScaleMaxF(&this->actor.shape.unk_08, -700.0f, 0.5f, 200.0f); + } +} + +void EnExRuppy_Update(Actor* thisx, GlobalContext* globalCtx) { + EnExRuppy* this = THIS; + + thisx->shape.rot.y += 1960; + this->actionFunc(this, globalCtx); + if (this->timer != 0) { + this->timer--; + } + Actor_MoveForward(&this->actor); + func_8002E4B4(globalCtx, &this->actor, 20.0f, 20.0f, 50.0f, 0x1C); +} + +UNK_PTR D_80A0B3B8[] = { 0x04042140, 0x04042160, 0x04042180, 0x040421C0, 0x040421A0 }; + +void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnExRuppy* this = THIS; + s32 pad; + GraphicsContext* gfxCtx; + Gfx* dispRefs[4]; + + if (this->isFalling == 0) { + gfxCtx = globalCtx->state.gfxCtx; + Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 774); + func_80093D18(globalCtx->state.gfxCtx); + func_8002EBCC(thisx, globalCtx, 0); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 780), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->unk_150])); + gSPDisplayList(gfxCtx->polyOpa.p++, D_04042440); + Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 784); + } +} diff --git a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.h b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.h index 3924ddfcf7..74c8170b55 100644 --- a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.h +++ b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.h @@ -6,9 +6,19 @@ struct EnExRuppy; +typedef void (*EnExRuppyActionFunc)(struct EnExRuppy*, GlobalContext*); + typedef struct EnExRuppy { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x18]; + /* 0x014C */ EnExRuppyActionFunc actionFunc; + /* 0x0150 */ s16 unk_150; + /* 0x0152 */ s16 unk_152; + /* 0x0154 */ s16 isFalling; + /* 0x0156 */ s16 timer; + /* 0x0158 */ s16 rupeeValue; + /* 0x015A */ s16 unk_15A; + /* 0x015C */ s16 unk_15C; + /* 0x0160 */ f32 unk_160; } EnExRuppy; // size = 0x0164 extern const ActorInit En_Ex_Ruppy_InitVars;