From 105ea6c5cd8919a8c5d0ba8f8b7fb9d3983cad8b Mon Sep 17 00:00:00 2001 From: zelda2773 Date: Fri, 27 Mar 2020 10:32:46 -0400 Subject: [PATCH 1/6] Decompiled ovl_En_Ds --- .../overlays/actors/ovl_En_Ds/EnDs_Destroy.s | 6 - .../overlays/actors/ovl_En_Ds/EnDs_Draw.s | 27 -- .../overlays/actors/ovl_En_Ds/EnDs_Init.s | 57 ---- .../overlays/actors/ovl_En_Ds/EnDs_Update.s | 77 ----- .../overlays/actors/ovl_En_Ds/func_809FD10C.s | 25 -- .../overlays/actors/ovl_En_Ds/func_809FD160.s | 31 -- .../overlays/actors/ovl_En_Ds/func_809FD1CC.s | 27 -- .../overlays/actors/ovl_En_Ds/func_809FD224.s | 28 -- .../overlays/actors/ovl_En_Ds/func_809FD284.s | 31 -- .../overlays/actors/ovl_En_Ds/func_809FD2EC.s | 35 --- .../overlays/actors/ovl_En_Ds/func_809FD368.s | 47 --- .../overlays/actors/ovl_En_Ds/func_809FD40C.s | 27 -- .../overlays/actors/ovl_En_Ds/func_809FD460.s | 46 --- .../overlays/actors/ovl_En_Ds/func_809FD500.s | 59 ---- .../overlays/actors/ovl_En_Ds/func_809FD5CC.s | 25 -- .../overlays/actors/ovl_En_Ds/func_809FD61C.s | 29 -- .../overlays/actors/ovl_En_Ds/func_809FD67C.s | 89 ------ .../overlays/actors/ovl_En_Ds/func_809FD7B4.s | 106 ------- .../overlays/actors/ovl_En_Ds/func_809FDA38.s | 21 -- .../overlays/actors/ovl_En_Ds/func_809FDA7C.s | 20 -- data/overlays/actors/z_en_ds.data.s | 18 -- data/overlays/actors/z_en_ds.reloc.s | 11 - include/functions.h | 1 + spec | 3 +- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 274 ++++++++++++++++-- src/overlays/actors/ovl_En_Ds/z_en_ds.h | 12 +- undefined_syms.txt | 6 +- 27 files changed, 270 insertions(+), 868 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD10C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD160.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD1CC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD224.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD284.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD2EC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD368.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD40C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD460.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD500.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD5CC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD61C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD67C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD7B4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA38.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA7C.s delete mode 100644 data/overlays/actors/z_en_ds.data.s delete mode 100644 data/overlays/actors/z_en_ds.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Destroy.s deleted file mode 100644 index ad0db85ec6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Destroy.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel EnDs_Destroy -/* 000D0 809FD100 AFA40000 */ sw $a0, 0x0000($sp) -/* 000D4 809FD104 03E00008 */ jr $ra -/* 000D8 809FD108 AFA50004 */ sw $a1, 0x0004($sp) - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Draw.s deleted file mode 100644 index 49ddd6d419..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Draw.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel EnDs_Draw -/* 00A8C 809FDABC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00A90 809FDAC0 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00A94 809FDAC4 AFA40028 */ sw $a0, 0x0028($sp) -/* 00A98 809FDAC8 AFA5002C */ sw $a1, 0x002C($sp) -/* 00A9C 809FDACC 0C0250F2 */ jal func_800943C8 -/* 00AA0 809FDAD0 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000 -/* 00AA4 809FDAD4 8FA20028 */ lw $v0, 0x0028($sp) -/* 00AA8 809FDAD8 3C0F80A0 */ lui $t7, %hi(func_809FDA38) ## $t7 = 80A00000 -/* 00AAC 809FDADC 3C1880A0 */ lui $t8, %hi(func_809FDA7C) ## $t8 = 80A00000 -/* 00AB0 809FDAE0 8C450150 */ lw $a1, 0x0150($v0) ## 00000150 -/* 00AB4 809FDAE4 8C46016C */ lw $a2, 0x016C($v0) ## 0000016C -/* 00AB8 809FDAE8 9047014E */ lbu $a3, 0x014E($v0) ## 0000014E -/* 00ABC 809FDAEC 2718DA7C */ addiu $t8, $t8, %lo(func_809FDA7C) ## $t8 = 809FDA7C -/* 00AC0 809FDAF0 25EFDA38 */ addiu $t7, $t7, %lo(func_809FDA38) ## $t7 = 809FDA38 -/* 00AC4 809FDAF4 AFAF0010 */ sw $t7, 0x0010($sp) -/* 00AC8 809FDAF8 AFB80014 */ sw $t8, 0x0014($sp) -/* 00ACC 809FDAFC 8FA4002C */ lw $a0, 0x002C($sp) -/* 00AD0 809FDB00 0C0286B2 */ jal SkelAnime_DrawSV -/* 00AD4 809FDB04 AFA20018 */ sw $v0, 0x0018($sp) -/* 00AD8 809FDB08 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00ADC 809FDB0C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00AE0 809FDB10 03E00008 */ jr $ra -/* 00AE4 809FDB14 00000000 */ nop -/* 00AE8 809FDB18 00000000 */ nop -/* 00AEC 809FDB1C 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Init.s deleted file mode 100644 index 36fd0b23f3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Init.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel EnDs_Init -/* 00000 809FD030 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 809FD034 AFB00028 */ sw $s0, 0x0028($sp) -/* 00008 809FD038 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0000C 809FD03C AFBF002C */ sw $ra, 0x002C($sp) -/* 00010 809FD040 AFA5003C */ sw $a1, 0x003C($sp) -/* 00014 809FD044 3C068003 */ lui $a2, 0x8003 ## $a2 = 80030000 -/* 00018 809FD048 24C6B5EC */ addiu $a2, $a2, 0xB5EC ## $a2 = 8002B5EC -/* 0001C 809FD04C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00020 809FD050 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4 -/* 00024 809FD054 0C00AC78 */ jal ActorShape_Init - -/* 00028 809FD058 3C074210 */ lui $a3, 0x4210 ## $a3 = 42100000 -/* 0002C 809FD05C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00030 809FD060 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000 -/* 00034 809FD064 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000 -/* 00038 809FD068 260E0190 */ addiu $t6, $s0, 0x0190 ## $t6 = 00000190 -/* 0003C 809FD06C 260F01B4 */ addiu $t7, $s0, 0x01B4 ## $t7 = 000001B4 -/* 00040 809FD070 24180006 */ addiu $t8, $zero, 0x0006 ## $t8 = 00000006 -/* 00044 809FD074 AFB80018 */ sw $t8, 0x0018($sp) -/* 00048 809FD078 AFAF0014 */ sw $t7, 0x0014($sp) -/* 0004C 809FD07C AFAE0010 */ sw $t6, 0x0010($sp) -/* 00050 809FD080 24E7039C */ addiu $a3, $a3, 0x039C ## $a3 = 0600039C -/* 00054 809FD084 24C64768 */ addiu $a2, $a2, 0x4768 ## $a2 = 06004768 -/* 00058 809FD088 AFA50030 */ sw $a1, 0x0030($sp) -/* 0005C 809FD08C 0C0291BE */ jal SkelAnime_InitSV -/* 00060 809FD090 8FA4003C */ lw $a0, 0x003C($sp) -/* 00064 809FD094 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 -/* 00068 809FD098 24A5039C */ addiu $a1, $a1, 0x039C ## $a1 = 0600039C -/* 0006C 809FD09C 0C02947A */ jal func_800A51E8 -/* 00070 809FD0A0 8FA40030 */ lw $a0, 0x0030($sp) -/* 00074 809FD0A4 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF -/* 00078 809FD0A8 3C053C54 */ lui $a1, 0x3C54 ## $a1 = 3C540000 -/* 0007C 809FD0AC A21900AE */ sb $t9, 0x00AE($s0) ## 000000AE -/* 00080 809FD0B0 34A5FDF4 */ ori $a1, $a1, 0xFDF4 ## $a1 = 3C54FDF4 -/* 00084 809FD0B4 0C00B58B */ jal Actor_SetScale - -/* 00088 809FD0B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0008C 809FD0BC 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004 -/* 00090 809FD0C0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00094 809FD0C4 3C0880A0 */ lui $t0, %hi(func_809FD7B4) ## $t0 = 80A00000 -/* 00098 809FD0C8 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 0009C 809FD0CC 2508D7B4 */ addiu $t0, $t0, %lo(func_809FD7B4) ## $t0 = 809FD7B4 -/* 000A0 809FD0D0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 000A4 809FD0D4 01415824 */ and $t3, $t2, $at -/* 000A8 809FD0D8 AE0801EC */ sw $t0, 0x01EC($s0) ## 000001EC -/* 000AC 809FD0DC A209001F */ sb $t1, 0x001F($s0) ## 0000001F -/* 000B0 809FD0E0 A60001E8 */ sh $zero, 0x01E8($s0) ## 000001E8 -/* 000B4 809FD0E4 AE0B0004 */ sw $t3, 0x0004($s0) ## 00000004 -/* 000B8 809FD0E8 E60401E4 */ swc1 $f4, 0x01E4($s0) ## 000001E4 -/* 000BC 809FD0EC 8FBF002C */ lw $ra, 0x002C($sp) -/* 000C0 809FD0F0 8FB00028 */ lw $s0, 0x0028($sp) -/* 000C4 809FD0F4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 000C8 809FD0F8 03E00008 */ jr $ra -/* 000CC 809FD0FC 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Update.s deleted file mode 100644 index df02d4f5b6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Update.s +++ /dev/null @@ -1,77 +0,0 @@ -glabel EnDs_Update -/* 00900 809FD930 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00904 809FD934 AFB00028 */ sw $s0, 0x0028($sp) -/* 00908 809FD938 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0090C 809FD93C AFBF002C */ sw $ra, 0x002C($sp) -/* 00910 809FD940 AFA50034 */ sw $a1, 0x0034($sp) -/* 00914 809FD944 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00918 809FD948 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0091C 809FD94C 50400005 */ beql $v0, $zero, .L809FD964 -/* 00920 809FD950 8E1901EC */ lw $t9, 0x01EC($s0) ## 000001EC -/* 00924 809FD954 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00928 809FD958 00000000 */ nop -/* 0092C 809FD95C E6040164 */ swc1 $f4, 0x0164($s0) ## 00000164 -/* 00930 809FD960 8E1901EC */ lw $t9, 0x01EC($s0) ## 000001EC -.L809FD964: -/* 00934 809FD964 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00938 809FD968 8FA50034 */ lw $a1, 0x0034($sp) -/* 0093C 809FD96C 0320F809 */ jalr $ra, $t9 -/* 00940 809FD970 00000000 */ nop -/* 00944 809FD974 960E01E8 */ lhu $t6, 0x01E8($s0) ## 000001E8 -/* 00948 809FD978 260401D8 */ addiu $a0, $s0, 0x01D8 ## $a0 = 000001D8 -/* 0094C 809FD97C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00950 809FD980 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000 -/* 00954 809FD984 11E0000E */ beq $t7, $zero, .L809FD9C0 -/* 00958 809FD988 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006 -/* 0095C 809FD98C 8E080038 */ lw $t0, 0x0038($s0) ## 00000038 -/* 00960 809FD990 8FA40034 */ lw $a0, 0x0034($sp) -/* 00964 809FD994 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00968 809FD998 AFA80010 */ sw $t0, 0x0010($sp) -/* 0096C 809FD99C 8E18003C */ lw $t8, 0x003C($s0) ## 0000003C -/* 00970 809FD9A0 260601D8 */ addiu $a2, $s0, 0x01D8 ## $a2 = 000001D8 -/* 00974 809FD9A4 260701DE */ addiu $a3, $s0, 0x01DE ## $a3 = 000001DE -/* 00978 809FD9A8 AFB80014 */ sw $t8, 0x0014($sp) -/* 0097C 809FD9AC 8E080040 */ lw $t0, 0x0040($s0) ## 00000040 -/* 00980 809FD9B0 0C00E0A4 */ jal func_80038290 -/* 00984 809FD9B4 AFA80018 */ sw $t0, 0x0018($sp) -/* 00988 809FD9B8 1000001B */ beq $zero, $zero, .L809FDA28 -/* 0098C 809FD9BC 8FBF002C */ lw $ra, 0x002C($sp) -.L809FD9C0: -/* 00990 809FD9C0 24090064 */ addiu $t1, $zero, 0x0064 ## $t1 = 00000064 -/* 00994 809FD9C4 AFA90010 */ sw $t1, 0x0010($sp) -/* 00998 809FD9C8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS - -/* 0099C 809FD9CC 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838 -/* 009A0 809FD9D0 240A0064 */ addiu $t2, $zero, 0x0064 ## $t2 = 00000064 -/* 009A4 809FD9D4 AFAA0010 */ sw $t2, 0x0010($sp) -/* 009A8 809FD9D8 260401DA */ addiu $a0, $s0, 0x01DA ## $a0 = 000001DA -/* 009AC 809FD9DC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 009B0 809FD9E0 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006 -/* 009B4 809FD9E4 0C01E1A7 */ jal Math_SmoothScaleMaxMinS - -/* 009B8 809FD9E8 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838 -/* 009BC 809FD9EC 240B0064 */ addiu $t3, $zero, 0x0064 ## $t3 = 00000064 -/* 009C0 809FD9F0 AFAB0010 */ sw $t3, 0x0010($sp) -/* 009C4 809FD9F4 260401DE */ addiu $a0, $s0, 0x01DE ## $a0 = 000001DE -/* 009C8 809FD9F8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 009CC 809FD9FC 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006 -/* 009D0 809FDA00 0C01E1A7 */ jal Math_SmoothScaleMaxMinS - -/* 009D4 809FDA04 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838 -/* 009D8 809FDA08 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064 -/* 009DC 809FDA0C AFAC0010 */ sw $t4, 0x0010($sp) -/* 009E0 809FDA10 260401E0 */ addiu $a0, $s0, 0x01E0 ## $a0 = 000001E0 -/* 009E4 809FDA14 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 009E8 809FDA18 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006 -/* 009EC 809FDA1C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS - -/* 009F0 809FDA20 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838 -/* 009F4 809FDA24 8FBF002C */ lw $ra, 0x002C($sp) -.L809FDA28: -/* 009F8 809FDA28 8FB00028 */ lw $s0, 0x0028($sp) -/* 009FC 809FDA2C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00A00 809FDA30 03E00008 */ jr $ra -/* 00A04 809FDA34 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD10C.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD10C.s deleted file mode 100644 index 5ed3725ce8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD10C.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel func_809FD10C -/* 000DC 809FD10C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000E0 809FD110 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000E4 809FD114 0C00BCCD */ jal func_8002F334 -/* 000E8 809FD118 AFA40018 */ sw $a0, 0x0018($sp) -/* 000EC 809FD11C 10400009 */ beq $v0, $zero, .L809FD144 -/* 000F0 809FD120 8FA40018 */ lw $a0, 0x0018($sp) -/* 000F4 809FD124 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 000F8 809FD128 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000 -/* 000FC 809FD12C 3C0E80A0 */ lui $t6, %hi(func_809FD7B4) ## $t6 = 80A00000 -/* 00100 809FD130 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF -/* 00104 809FD134 25CED7B4 */ addiu $t6, $t6, %lo(func_809FD7B4) ## $t6 = 809FD7B4 -/* 00108 809FD138 01E1C024 */ and $t8, $t7, $at -/* 0010C 809FD13C AC8E01EC */ sw $t6, 0x01EC($a0) ## 000001EC -/* 00110 809FD140 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -.L809FD144: -/* 00114 809FD144 949901E8 */ lhu $t9, 0x01E8($a0) ## 000001E8 -/* 00118 809FD148 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001 -/* 0011C 809FD14C A48801E8 */ sh $t0, 0x01E8($a0) ## 000001E8 -/* 00120 809FD150 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00124 809FD154 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00128 809FD158 03E00008 */ jr $ra -/* 0012C 809FD15C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD160.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD160.s deleted file mode 100644 index 8126cd21f6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD160.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel func_809FD160 -/* 00130 809FD160 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00134 809FD164 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00138 809FD168 AFA40018 */ sw $a0, 0x0018($sp) -/* 0013C 809FD16C AFA5001C */ sw $a1, 0x001C($sp) -/* 00140 809FD170 0C042F6F */ jal func_8010BDBC -/* 00144 809FD174 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 00148 809FD178 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 0014C 809FD17C 5441000C */ bnel $v0, $at, .L809FD1B0 -/* 00150 809FD180 8FA20018 */ lw $v0, 0x0018($sp) -/* 00154 809FD184 0C041AF2 */ jal func_80106BC8 -/* 00158 809FD188 8FA4001C */ lw $a0, 0x001C($sp) -/* 0015C 809FD18C 50400008 */ beql $v0, $zero, .L809FD1B0 -/* 00160 809FD190 8FA20018 */ lw $v0, 0x0018($sp) -/* 00164 809FD194 0C041B33 */ jal func_80106CCC -/* 00168 809FD198 8FA4001C */ lw $a0, 0x001C($sp) -/* 0016C 809FD19C 8FA20018 */ lw $v0, 0x0018($sp) -/* 00170 809FD1A0 3C0E80A0 */ lui $t6, %hi(func_809FD7B4) ## $t6 = 80A00000 -/* 00174 809FD1A4 25CED7B4 */ addiu $t6, $t6, %lo(func_809FD7B4) ## $t6 = 809FD7B4 -/* 00178 809FD1A8 AC4E01EC */ sw $t6, 0x01EC($v0) ## 000001EC -/* 0017C 809FD1AC 8FA20018 */ lw $v0, 0x0018($sp) -.L809FD1B0: -/* 00180 809FD1B0 944F01E8 */ lhu $t7, 0x01E8($v0) ## 000001E8 -/* 00184 809FD1B4 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 00188 809FD1B8 A45801E8 */ sh $t8, 0x01E8($v0) ## 000001E8 -/* 0018C 809FD1BC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00190 809FD1C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00194 809FD1C4 03E00008 */ jr $ra -/* 00198 809FD1C8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD1CC.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD1CC.s deleted file mode 100644 index 401d81c1b0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD1CC.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_809FD1CC -/* 0019C 809FD1CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001A0 809FD1D0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001A4 809FD1D4 AFA5001C */ sw $a1, 0x001C($sp) -/* 001A8 809FD1D8 0C00BC65 */ jal func_8002F194 -/* 001AC 809FD1DC AFA40018 */ sw $a0, 0x0018($sp) -/* 001B0 809FD1E0 10400005 */ beq $v0, $zero, .L809FD1F8 -/* 001B4 809FD1E4 8FA40018 */ lw $a0, 0x0018($sp) -/* 001B8 809FD1E8 3C0E80A0 */ lui $t6, %hi(func_809FD10C) ## $t6 = 80A00000 -/* 001BC 809FD1EC 25CED10C */ addiu $t6, $t6, %lo(func_809FD10C) ## $t6 = 809FD10C -/* 001C0 809FD1F0 10000008 */ beq $zero, $zero, .L809FD214 -/* 001C4 809FD1F4 AC8E01EC */ sw $t6, 0x01EC($a0) ## 000001EC -.L809FD1F8: -/* 001C8 809FD1F8 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 001CC 809FD1FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 001D0 809FD200 3C06447A */ lui $a2, 0x447A ## $a2 = 447A0000 -/* 001D4 809FD204 01E1C025 */ or $t8, $t7, $at ## $t8 = 00010000 -/* 001D8 809FD208 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 001DC 809FD20C 0C00BCB3 */ jal func_8002F2CC -/* 001E0 809FD210 8FA5001C */ lw $a1, 0x001C($sp) -.L809FD214: -/* 001E4 809FD214 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001E8 809FD218 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001EC 809FD21C 03E00008 */ jr $ra -/* 001F0 809FD220 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD224.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD224.s deleted file mode 100644 index c2d26d0249..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD224.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_809FD224 -/* 001F4 809FD224 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001F8 809FD228 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001FC 809FD22C 0C00BCCD */ jal func_8002F334 -/* 00200 809FD230 AFA40018 */ sw $a0, 0x0018($sp) -/* 00204 809FD234 1040000F */ beq $v0, $zero, .L809FD274 -/* 00208 809FD238 8FA40018 */ lw $a0, 0x0018($sp) -/* 0020C 809FD23C 8C980004 */ lw $t8, 0x0004($a0) ## 00000004 -/* 00210 809FD240 3C0F80A0 */ lui $t7, %hi(func_809FD1CC) ## $t7 = 80A00000 -/* 00214 809FD244 2401FEFF */ addiu $at, $zero, 0xFEFF ## $at = FFFFFEFF -/* 00218 809FD248 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000 -/* 0021C 809FD24C 240E504F */ addiu $t6, $zero, 0x504F ## $t6 = 0000504F -/* 00220 809FD250 25EFD1CC */ addiu $t7, $t7, %lo(func_809FD1CC) ## $t7 = 809FD1CC -/* 00224 809FD254 0301C824 */ and $t9, $t8, $at -/* 00228 809FD258 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660 -/* 0022C 809FD25C A48E010E */ sh $t6, 0x010E($a0) ## 0000010E -/* 00230 809FD260 AC8F01EC */ sw $t7, 0x01EC($a0) ## 000001EC -/* 00234 809FD264 AC990004 */ sw $t9, 0x0004($a0) ## 00000004 -/* 00238 809FD268 94480EF6 */ lhu $t0, 0x0EF6($v0) ## 8015F556 -/* 0023C 809FD26C 35090001 */ ori $t1, $t0, 0x0001 ## $t1 = 00000001 -/* 00240 809FD270 A4490EF6 */ sh $t1, 0x0EF6($v0) ## 8015F556 -.L809FD274: -/* 00244 809FD274 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00248 809FD278 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0024C 809FD27C 03E00008 */ jr $ra -/* 00250 809FD280 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD284.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD284.s deleted file mode 100644 index ecb6f96883..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD284.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel func_809FD284 -/* 00254 809FD284 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00258 809FD288 AFBF001C */ sw $ra, 0x001C($sp) -/* 0025C 809FD28C AFA50024 */ sw $a1, 0x0024($sp) -/* 00260 809FD290 0C00BD04 */ jal func_8002F410 -/* 00264 809FD294 AFA40020 */ sw $a0, 0x0020($sp) -/* 00268 809FD298 10400008 */ beq $v0, $zero, .L809FD2BC -/* 0026C 809FD29C 8FA40020 */ lw $a0, 0x0020($sp) -/* 00270 809FD2A0 3C0E80A0 */ lui $t6, %hi(func_809FD224) ## $t6 = 80A00000 -/* 00274 809FD2A4 25CED224 */ addiu $t6, $t6, %lo(func_809FD224) ## $t6 = 809FD224 -/* 00278 809FD2A8 AC800118 */ sw $zero, 0x0118($a0) ## 00000118 -/* 0027C 809FD2AC AC8E01EC */ sw $t6, 0x01EC($a0) ## 000001EC -/* 00280 809FD2B0 3C018016 */ lui $at, 0x8016 ## $at = 80160000 -/* 00284 809FD2B4 10000009 */ beq $zero, $zero, .L809FD2DC -/* 00288 809FD2B8 A420FA32 */ sh $zero, -0x05CE($at) ## 8015FA32 -.L809FD2BC: -/* 0028C 809FD2BC 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00290 809FD2C0 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 00294 809FD2C4 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000 -/* 00298 809FD2C8 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000 -/* 0029C 809FD2CC 8FA50024 */ lw $a1, 0x0024($sp) -/* 002A0 809FD2D0 24060020 */ addiu $a2, $zero, 0x0020 ## $a2 = 00000020 -/* 002A4 809FD2D4 0C00BD0D */ jal func_8002F434 -/* 002A8 809FD2D8 E7A40010 */ swc1 $f4, 0x0010($sp) -.L809FD2DC: -/* 002AC 809FD2DC 8FBF001C */ lw $ra, 0x001C($sp) -/* 002B0 809FD2E0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 002B4 809FD2E4 03E00008 */ jr $ra -/* 002B8 809FD2E8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD2EC.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD2EC.s deleted file mode 100644 index 14adfa57be..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD2EC.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel func_809FD2EC -/* 002BC 809FD2EC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 002C0 809FD2F0 AFBF001C */ sw $ra, 0x001C($sp) -/* 002C4 809FD2F4 AFA40020 */ sw $a0, 0x0020($sp) -/* 002C8 809FD2F8 AFA50024 */ sw $a1, 0x0024($sp) -/* 002CC 809FD2FC 0C042F6F */ jal func_8010BDBC -/* 002D0 809FD300 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 002D4 809FD304 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 002D8 809FD308 54410014 */ bnel $v0, $at, .L809FD35C -/* 002DC 809FD30C 8FBF001C */ lw $ra, 0x001C($sp) -/* 002E0 809FD310 0C041AF2 */ jal func_80106BC8 -/* 002E4 809FD314 8FA40024 */ lw $a0, 0x0024($sp) -/* 002E8 809FD318 50400010 */ beql $v0, $zero, .L809FD35C -/* 002EC 809FD31C 8FBF001C */ lw $ra, 0x001C($sp) -/* 002F0 809FD320 0C041B33 */ jal func_80106CCC -/* 002F4 809FD324 8FA40024 */ lw $a0, 0x0024($sp) -/* 002F8 809FD328 8FA40020 */ lw $a0, 0x0020($sp) -/* 002FC 809FD32C 3C0E80A0 */ lui $t6, %hi(func_809FD284) ## $t6 = 80A00000 -/* 00300 809FD330 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00304 809FD334 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 00308 809FD338 25CED284 */ addiu $t6, $t6, %lo(func_809FD284) ## $t6 = 809FD284 -/* 0030C 809FD33C 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000 -/* 00310 809FD340 AC8E01EC */ sw $t6, 0x01EC($a0) ## 000001EC -/* 00314 809FD344 8FA50024 */ lw $a1, 0x0024($sp) -/* 00318 809FD348 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000 -/* 0031C 809FD34C 24060020 */ addiu $a2, $zero, 0x0020 ## $a2 = 00000020 -/* 00320 809FD350 0C00BD0D */ jal func_8002F434 -/* 00324 809FD354 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00328 809FD358 8FBF001C */ lw $ra, 0x001C($sp) -.L809FD35C: -/* 0032C 809FD35C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00330 809FD360 03E00008 */ jr $ra -/* 00334 809FD364 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD368.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD368.s deleted file mode 100644 index 2dae152659..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD368.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel func_809FD368 -/* 00338 809FD368 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 0033C 809FD36C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00340 809FD370 AFB00020 */ sw $s0, 0x0020($sp) -/* 00344 809FD374 AFA5002C */ sw $a1, 0x002C($sp) -/* 00348 809FD378 948201EA */ lhu $v0, 0x01EA($a0) ## 000001EA -/* 0034C 809FD37C 3C0F80A0 */ lui $t7, %hi(func_809FD2EC) ## $t7 = 80A00000 -/* 00350 809FD380 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00354 809FD384 18400004 */ blez $v0, .L809FD398 -/* 00358 809FD388 25EFD2EC */ addiu $t7, $t7, %lo(func_809FD2EC) ## $t7 = 809FD2EC -/* 0035C 809FD38C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00360 809FD390 10000005 */ beq $zero, $zero, .L809FD3A8 -/* 00364 809FD394 A48E01EA */ sh $t6, 0x01EA($a0) ## 000001EA -.L809FD398: -/* 00368 809FD398 AE0F01EC */ sw $t7, 0x01EC($s0) ## 000001EC -/* 0036C 809FD39C 8FA4002C */ lw $a0, 0x002C($sp) -/* 00370 809FD3A0 0C042DC8 */ jal func_8010B720 -/* 00374 809FD3A4 2405504D */ addiu $a1, $zero, 0x504D ## $a1 = 0000504D -.L809FD3A8: -/* 00378 809FD3A8 3C063CF5 */ lui $a2, 0x3CF5 ## $a2 = 3CF50000 -/* 0037C 809FD3AC 34C6C28F */ ori $a2, $a2, 0xC28F ## $a2 = 3CF5C28F -/* 00380 809FD3B0 260401E4 */ addiu $a0, $s0, 0x01E4 ## $a0 = 000001E4 -/* 00384 809FD3B4 0C01DE80 */ jal Math_ApproxF - -/* 00388 809FD3B8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 0038C 809FD3BC 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00390 809FD3C0 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00 -/* 00394 809FD3C4 C60001E4 */ lwc1 $f0, 0x01E4($s0) ## 000001E4 -/* 00398 809FD3C8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0039C 809FD3CC 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00 -/* 003A0 809FD3D0 46002181 */ sub.s $f6, $f4, $f0 -/* 003A4 809FD3D4 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000 -/* 003A8 809FD3D8 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD -/* 003AC 809FD3DC 8FA4002C */ lw $a0, 0x002C($sp) -/* 003B0 809FD3E0 46060202 */ mul.s $f8, $f0, $f6 -/* 003B4 809FD3E4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 003B8 809FD3E8 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 003BC 809FD3EC 44054000 */ mfc1 $a1, $f8 -/* 003C0 809FD3F0 0C01DCEA */ jal func_800773A8 -/* 003C4 809FD3F4 00000000 */ nop -/* 003C8 809FD3F8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 003CC 809FD3FC 8FB00020 */ lw $s0, 0x0020($sp) -/* 003D0 809FD400 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 003D4 809FD404 03E00008 */ jr $ra -/* 003D8 809FD408 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD40C.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD40C.s deleted file mode 100644 index 695c3f9dab..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD40C.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_809FD40C -/* 003DC 809FD40C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003E0 809FD410 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003E4 809FD414 948201EA */ lhu $v0, 0x01EA($a0) ## 000001EA -/* 003E8 809FD418 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 003EC 809FD41C 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 003F0 809FD420 18400004 */ blez $v0, .L809FD434 -/* 003F4 809FD424 3C0F80A0 */ lui $t7, %hi(func_809FD368) ## $t7 = 80A00000 -/* 003F8 809FD428 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 003FC 809FD42C 10000008 */ beq $zero, $zero, .L809FD450 -/* 00400 809FD430 A48E01EA */ sh $t6, 0x01EA($a0) ## 000001EA -.L809FD434: -/* 00404 809FD434 25EFD368 */ addiu $t7, $t7, %lo(func_809FD368) ## $t7 = 809FD368 -/* 00408 809FD438 2418003C */ addiu $t8, $zero, 0x003C ## $t8 = 0000003C -/* 0040C 809FD43C ACCF01EC */ sw $t7, 0x01EC($a2) ## 000001EC -/* 00410 809FD440 A4D801EA */ sh $t8, 0x01EA($a2) ## 000001EA -/* 00414 809FD444 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00418 809FD448 0C00B2ED */ jal Flags_UnsetSwitch - -/* 0041C 809FD44C 2405003F */ addiu $a1, $zero, 0x003F ## $a1 = 0000003F -.L809FD450: -/* 00420 809FD450 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00424 809FD454 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00428 809FD458 03E00008 */ jr $ra -/* 0042C 809FD45C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD460.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD460.s deleted file mode 100644 index fd9b127e81..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD460.s +++ /dev/null @@ -1,46 +0,0 @@ -glabel func_809FD460 -/* 00430 809FD460 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00434 809FD464 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00438 809FD468 AFB00020 */ sw $s0, 0x0020($sp) -/* 0043C 809FD46C AFA5002C */ sw $a1, 0x002C($sp) -/* 00440 809FD470 948201EA */ lhu $v0, 0x01EA($a0) ## 000001EA -/* 00444 809FD474 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00448 809FD478 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 0044C 809FD47C 18400004 */ blez $v0, .L809FD490 -/* 00450 809FD480 3C063C23 */ lui $a2, 0x3C23 ## $a2 = 3C230000 -/* 00454 809FD484 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00458 809FD488 10000006 */ beq $zero, $zero, .L809FD4A4 -/* 0045C 809FD48C A48E01EA */ sh $t6, 0x01EA($a0) ## 000001EA -.L809FD490: -/* 00460 809FD490 3C0F80A0 */ lui $t7, %hi(func_809FD40C) ## $t7 = 80A00000 -/* 00464 809FD494 25EFD40C */ addiu $t7, $t7, %lo(func_809FD40C) ## $t7 = 809FD40C -/* 00468 809FD498 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014 -/* 0046C 809FD49C AE0F01EC */ sw $t7, 0x01EC($s0) ## 000001EC -/* 00470 809FD4A0 A61801EA */ sh $t8, 0x01EA($s0) ## 000001EA -.L809FD4A4: -/* 00474 809FD4A4 260401E4 */ addiu $a0, $s0, 0x01E4 ## $a0 = 000001E4 -/* 00478 809FD4A8 0C01DE80 */ jal Math_ApproxF - -/* 0047C 809FD4AC 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3C23D70A -/* 00480 809FD4B0 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00484 809FD4B4 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00 -/* 00488 809FD4B8 C60001E4 */ lwc1 $f0, 0x01E4($s0) ## 000001E4 -/* 0048C 809FD4BC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00490 809FD4C0 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00 -/* 00494 809FD4C4 46002181 */ sub.s $f6, $f4, $f0 -/* 00498 809FD4C8 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000 -/* 0049C 809FD4CC 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD -/* 004A0 809FD4D0 8FA4002C */ lw $a0, 0x002C($sp) -/* 004A4 809FD4D4 46060202 */ mul.s $f8, $f0, $f6 -/* 004A8 809FD4D8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 004AC 809FD4DC E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 004B0 809FD4E0 44054000 */ mfc1 $a1, $f8 -/* 004B4 809FD4E4 0C01DCEA */ jal func_800773A8 -/* 004B8 809FD4E8 00000000 */ nop -/* 004BC 809FD4EC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 004C0 809FD4F0 8FB00020 */ lw $s0, 0x0020($sp) -/* 004C4 809FD4F4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 004C8 809FD4F8 03E00008 */ jr $ra -/* 004CC 809FD4FC 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD500.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD500.s deleted file mode 100644 index 94b6d15111..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD500.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_809FD500 -/* 004D0 809FD500 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 004D4 809FD504 AFBF001C */ sw $ra, 0x001C($sp) -/* 004D8 809FD508 AFB00018 */ sw $s0, 0x0018($sp) -/* 004DC 809FD50C AFA40028 */ sw $a0, 0x0028($sp) -/* 004E0 809FD510 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44 -/* 004E4 809FD514 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 004E8 809FD518 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 004EC 809FD51C 0C042F6F */ jal func_8010BDBC -/* 004F0 809FD520 AFAE0024 */ sw $t6, 0x0024($sp) -/* 004F4 809FD524 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 004F8 809FD528 54410024 */ bnel $v0, $at, .L809FD5BC -/* 004FC 809FD52C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00500 809FD530 0C041AF2 */ jal func_80106BC8 -/* 00504 809FD534 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00508 809FD538 1040001F */ beq $v0, $zero, .L809FD5B8 -/* 0050C 809FD53C 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00510 809FD540 00501021 */ addu $v0, $v0, $s0 -/* 00514 809FD544 904204BD */ lbu $v0, 0x04BD($v0) ## 000104BD -/* 00518 809FD548 3C0F80A0 */ lui $t7, %hi(func_809FD460) ## $t7 = 80A00000 -/* 0051C 809FD54C 25EFD460 */ addiu $t7, $t7, %lo(func_809FD460) ## $t7 = 809FD460 -/* 00520 809FD550 10400006 */ beq $v0, $zero, .L809FD56C -/* 00524 809FD554 2418003C */ addiu $t8, $zero, 0x003C ## $t8 = 0000003C -/* 00528 809FD558 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0052C 809FD55C 10410010 */ beq $v0, $at, .L809FD5A0 -/* 00530 809FD560 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00534 809FD564 10000015 */ beq $zero, $zero, .L809FD5BC -/* 00538 809FD568 8FBF001C */ lw $ra, 0x001C($sp) -.L809FD56C: -/* 0053C 809FD56C 8FA20028 */ lw $v0, 0x0028($sp) -/* 00540 809FD570 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00544 809FD574 2405003F */ addiu $a1, $zero, 0x003F ## $a1 = 0000003F -/* 00548 809FD578 AC4F01EC */ sw $t7, 0x01EC($v0) ## 000101EC -/* 0054C 809FD57C 0C00B2DD */ jal Flags_SetSwitch - -/* 00550 809FD580 A45801EA */ sh $t8, 0x01EA($v0) ## 000101EA -/* 00554 809FD584 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00558 809FD588 00300821 */ addu $at, $at, $s0 -/* 0055C 809FD58C 24190037 */ addiu $t9, $zero, 0x0037 ## $t9 = 00000037 -/* 00560 809FD590 A03903DC */ sb $t9, 0x03DC($at) ## 000103DC -/* 00564 809FD594 8FA80024 */ lw $t0, 0x0024($sp) -/* 00568 809FD598 10000007 */ beq $zero, $zero, .L809FD5B8 -/* 0056C 809FD59C A1000693 */ sb $zero, 0x0693($t0) ## 00000693 -.L809FD5A0: -/* 00570 809FD5A0 0C042DC8 */ jal func_8010B720 -/* 00574 809FD5A4 2405504C */ addiu $a1, $zero, 0x504C ## $a1 = 0000504C -/* 00578 809FD5A8 8FAA0028 */ lw $t2, 0x0028($sp) -/* 0057C 809FD5AC 3C0980A0 */ lui $t1, %hi(func_809FD10C) ## $t1 = 80A00000 -/* 00580 809FD5B0 2529D10C */ addiu $t1, $t1, %lo(func_809FD10C) ## $t1 = 809FD10C -/* 00584 809FD5B4 AD4901EC */ sw $t1, 0x01EC($t2) ## 000001EC -.L809FD5B8: -/* 00588 809FD5B8 8FBF001C */ lw $ra, 0x001C($sp) -.L809FD5BC: -/* 0058C 809FD5BC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00590 809FD5C0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00594 809FD5C4 03E00008 */ jr $ra -/* 00598 809FD5C8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD5CC.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD5CC.s deleted file mode 100644 index 425238aa39..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD5CC.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel func_809FD5CC -/* 0059C 809FD5CC 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000 -/* 005A0 809FD5D0 85CEE694 */ lh $t6, -0x196C($t6) ## 8015E694 -/* 005A4 809FD5D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 005A8 809FD5D8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 005AC 809FD5DC 29C10064 */ slti $at, $t6, 0x0064 -/* 005B0 809FD5E0 10200003 */ beq $at, $zero, .L809FD5F0 -/* 005B4 809FD5E4 00000000 */ nop -/* 005B8 809FD5E8 10000008 */ beq $zero, $zero, .L809FD60C -/* 005BC 809FD5EC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L809FD5F0: -/* 005C0 809FD5F0 0C021AAF */ jal Inventory_HasEmptyBottle -/* 005C4 809FD5F4 00000000 */ nop -/* 005C8 809FD5F8 54400004 */ bnel $v0, $zero, .L809FD60C -/* 005CC 809FD5FC 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002 -/* 005D0 809FD600 10000002 */ beq $zero, $zero, .L809FD60C -/* 005D4 809FD604 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -/* 005D8 809FD608 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002 -.L809FD60C: -/* 005DC 809FD60C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 005E0 809FD610 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 005E4 809FD614 03E00008 */ jr $ra -/* 005E8 809FD618 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD61C.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD61C.s deleted file mode 100644 index e5fd4bcca4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD61C.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_809FD61C -/* 005EC 809FD61C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 005F0 809FD620 AFBF001C */ sw $ra, 0x001C($sp) -/* 005F4 809FD624 AFA50024 */ sw $a1, 0x0024($sp) -/* 005F8 809FD628 0C00BD04 */ jal func_8002F410 -/* 005FC 809FD62C AFA40020 */ sw $a0, 0x0020($sp) -/* 00600 809FD630 10400006 */ beq $v0, $zero, .L809FD64C -/* 00604 809FD634 8FA40020 */ lw $a0, 0x0020($sp) -/* 00608 809FD638 3C0E80A0 */ lui $t6, %hi(func_809FD10C) ## $t6 = 80A00000 -/* 0060C 809FD63C 25CED10C */ addiu $t6, $t6, %lo(func_809FD10C) ## $t6 = 809FD10C -/* 00610 809FD640 AC800118 */ sw $zero, 0x0118($a0) ## 00000118 -/* 00614 809FD644 10000009 */ beq $zero, $zero, .L809FD66C -/* 00618 809FD648 AC8E01EC */ sw $t6, 0x01EC($a0) ## 000001EC -.L809FD64C: -/* 0061C 809FD64C 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00620 809FD650 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 00624 809FD654 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000 -/* 00628 809FD658 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000 -/* 0062C 809FD65C 8FA50024 */ lw $a1, 0x0024($sp) -/* 00630 809FD660 24060012 */ addiu $a2, $zero, 0x0012 ## $a2 = 00000012 -/* 00634 809FD664 0C00BD0D */ jal func_8002F434 -/* 00638 809FD668 E7A40010 */ swc1 $f4, 0x0010($sp) -.L809FD66C: -/* 0063C 809FD66C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00640 809FD670 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00644 809FD674 03E00008 */ jr $ra -/* 00648 809FD678 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD67C.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD67C.s deleted file mode 100644 index 130f7fbb65..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD67C.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel func_809FD67C -/* 0064C 809FD67C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00650 809FD680 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00654 809FD684 AFB00020 */ sw $s0, 0x0020($sp) -/* 00658 809FD688 AFA40028 */ sw $a0, 0x0028($sp) -/* 0065C 809FD68C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00660 809FD690 0C042F6F */ jal func_8010BDBC -/* 00664 809FD694 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 00668 809FD698 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 0066C 809FD69C 54410041 */ bnel $v0, $at, .L809FD7A4 -/* 00670 809FD6A0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00674 809FD6A4 0C041AF2 */ jal func_80106BC8 -/* 00678 809FD6A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0067C 809FD6AC 1040003C */ beq $v0, $zero, .L809FD7A0 -/* 00680 809FD6B0 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00684 809FD6B4 00501021 */ addu $v0, $v0, $s0 -/* 00688 809FD6B8 904204BD */ lbu $v0, 0x04BD($v0) ## 000104BD -/* 0068C 809FD6BC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00690 809FD6C0 10400005 */ beq $v0, $zero, .L809FD6D8 -/* 00694 809FD6C4 00000000 */ nop -/* 00698 809FD6C8 1041002F */ beq $v0, $at, .L809FD788 -/* 0069C 809FD6CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006A0 809FD6D0 10000030 */ beq $zero, $zero, .L809FD794 -/* 006A4 809FD6D4 8FAB0028 */ lw $t3, 0x0028($sp) -.L809FD6D8: -/* 006A8 809FD6D8 0C27F573 */ jal func_809FD5CC -/* 006AC 809FD6DC 00000000 */ nop -/* 006B0 809FD6E0 10400009 */ beq $v0, $zero, .L809FD708 -/* 006B4 809FD6E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006B8 809FD6E8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 006BC 809FD6EC 1041000A */ beq $v0, $at, .L809FD718 -/* 006C0 809FD6F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006C4 809FD6F4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 006C8 809FD6F8 1041000E */ beq $v0, $at, .L809FD734 -/* 006CC 809FD6FC 00000000 */ nop -/* 006D0 809FD700 10000024 */ beq $zero, $zero, .L809FD794 -/* 006D4 809FD704 8FAB0028 */ lw $t3, 0x0028($sp) -.L809FD708: -/* 006D8 809FD708 0C042DC8 */ jal func_8010B720 -/* 006DC 809FD70C 2405500E */ addiu $a1, $zero, 0x500E ## $a1 = 0000500E -/* 006E0 809FD710 10000020 */ beq $zero, $zero, .L809FD794 -/* 006E4 809FD714 8FAB0028 */ lw $t3, 0x0028($sp) -.L809FD718: -/* 006E8 809FD718 0C042DC8 */ jal func_8010B720 -/* 006EC 809FD71C 24050096 */ addiu $a1, $zero, 0x0096 ## $a1 = 00000096 -/* 006F0 809FD720 8FAF0028 */ lw $t7, 0x0028($sp) -/* 006F4 809FD724 3C0E80A0 */ lui $t6, %hi(func_809FD160) ## $t6 = 80A00000 -/* 006F8 809FD728 25CED160 */ addiu $t6, $t6, %lo(func_809FD160) ## $t6 = 809FD160 -/* 006FC 809FD72C 1000001C */ beq $zero, $zero, .L809FD7A0 -/* 00700 809FD730 ADEE01EC */ sw $t6, 0x01EC($t7) ## 000001EC -.L809FD734: -/* 00704 809FD734 0C021CC3 */ jal Rupees_ChangeBy -/* 00708 809FD738 2404FF9C */ addiu $a0, $zero, 0xFF9C ## $a0 = FFFFFF9C -/* 0070C 809FD73C 8FA40028 */ lw $a0, 0x0028($sp) -/* 00710 809FD740 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000 -/* 00714 809FD744 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF -/* 00718 809FD748 8C980004 */ lw $t8, 0x0004($a0) ## 00000004 -/* 0071C 809FD74C 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000 -/* 00720 809FD750 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000 -/* 00724 809FD754 0301C824 */ and $t9, $t8, $at -/* 00728 809FD758 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0072C 809FD75C 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 00730 809FD760 AC990004 */ sw $t9, 0x0004($a0) ## 00000004 -/* 00734 809FD764 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00738 809FD768 24060012 */ addiu $a2, $zero, 0x0012 ## $a2 = 00000012 -/* 0073C 809FD76C 0C00BD0D */ jal func_8002F434 -/* 00740 809FD770 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00744 809FD774 8FA90028 */ lw $t1, 0x0028($sp) -/* 00748 809FD778 3C0880A0 */ lui $t0, %hi(func_809FD61C) ## $t0 = 80A00000 -/* 0074C 809FD77C 2508D61C */ addiu $t0, $t0, %lo(func_809FD61C) ## $t0 = 809FD61C -/* 00750 809FD780 10000007 */ beq $zero, $zero, .L809FD7A0 -/* 00754 809FD784 AD2801EC */ sw $t0, 0x01EC($t1) ## 000001EC -.L809FD788: -/* 00758 809FD788 0C042DC8 */ jal func_8010B720 -/* 0075C 809FD78C 2405500D */ addiu $a1, $zero, 0x500D ## $a1 = 0000500D -/* 00760 809FD790 8FAB0028 */ lw $t3, 0x0028($sp) -.L809FD794: -/* 00764 809FD794 3C0A80A0 */ lui $t2, %hi(func_809FD10C) ## $t2 = 80A00000 -/* 00768 809FD798 254AD10C */ addiu $t2, $t2, %lo(func_809FD10C) ## $t2 = 809FD10C -/* 0076C 809FD79C AD6A01EC */ sw $t2, 0x01EC($t3) ## 000001EC -.L809FD7A0: -/* 00770 809FD7A0 8FBF0024 */ lw $ra, 0x0024($sp) -.L809FD7A4: -/* 00774 809FD7A4 8FB00020 */ lw $s0, 0x0020($sp) -/* 00778 809FD7A8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 0077C 809FD7AC 03E00008 */ jr $ra -/* 00780 809FD7B0 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD7B4.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD7B4.s deleted file mode 100644 index bd5e8c3484..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD7B4.s +++ /dev/null @@ -1,106 +0,0 @@ -glabel func_809FD7B4 -/* 00784 809FD7B4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00788 809FD7B8 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0078C 809FD7BC AFB00020 */ sw $s0, 0x0020($sp) -/* 00790 809FD7C0 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 00794 809FD7C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00798 809FD7C8 AFA50034 */ sw $a1, 0x0034($sp) -/* 0079C 809FD7CC 0C00BC65 */ jal func_8002F194 -/* 007A0 809FD7D0 AFA3002C */ sw $v1, 0x002C($sp) -/* 007A4 809FD7D4 8FA3002C */ lw $v1, 0x002C($sp) -/* 007A8 809FD7D8 10400035 */ beq $v0, $zero, .L809FD8B0 -/* 007AC 809FD7DC 8FA50034 */ lw $a1, 0x0034($sp) -/* 007B0 809FD7E0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 007B4 809FD7E4 0C00BCDA */ jal func_8002F368 -/* 007B8 809FD7E8 AFA3002C */ sw $v1, 0x002C($sp) -/* 007BC 809FD7EC 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 007C0 809FD7F0 14410014 */ bne $v0, $at, .L809FD844 -/* 007C4 809FD7F4 8FA3002C */ lw $v1, 0x002C($sp) -/* 007C8 809FD7F8 3C078013 */ lui $a3, 0x8013 ## $a3 = 80130000 -/* 007CC 809FD7FC 3C0E8013 */ lui $t6, 0x8013 ## $t6 = 80130000 -/* 007D0 809FD800 24E733E0 */ addiu $a3, $a3, 0x33E0 ## $a3 = 801333E0 -/* 007D4 809FD804 25CE33E8 */ addiu $t6, $t6, 0x33E8 ## $t6 = 801333E8 -/* 007D8 809FD808 3C058013 */ lui $a1, 0x8013 ## $a1 = 80130000 -/* 007DC 809FD80C 24A533D4 */ addiu $a1, $a1, 0x33D4 ## $a1 = 801333D4 -/* 007E0 809FD810 AFAE0014 */ sw $t6, 0x0014($sp) -/* 007E4 809FD814 AFA70010 */ sw $a3, 0x0010($sp) -/* 007E8 809FD818 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807 -/* 007EC 809FD81C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 007F0 809FD820 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 007F4 809FD824 AFA3002C */ sw $v1, 0x002C($sp) -/* 007F8 809FD828 8FA3002C */ lw $v1, 0x002C($sp) -/* 007FC 809FD82C 240F504A */ addiu $t7, $zero, 0x504A ## $t7 = 0000504A -/* 00800 809FD830 3C1880A0 */ lui $t8, %hi(func_809FD500) ## $t8 = 80A00000 -/* 00804 809FD834 2718D500 */ addiu $t8, $t8, %lo(func_809FD500) ## $t8 = 809FD500 -/* 00808 809FD838 A46F010E */ sh $t7, 0x010E($v1) ## 0000010E -/* 0080C 809FD83C 10000037 */ beq $zero, $zero, .L809FD91C -/* 00810 809FD840 AE1801EC */ sw $t8, 0x01EC($s0) ## 000001EC -.L809FD844: -/* 00814 809FD844 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000 -/* 00818 809FD848 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660 -/* 0081C 809FD84C 94590EF6 */ lhu $t9, 0x0EF6($v0) ## 8015F556 -/* 00820 809FD850 3C1880A0 */ lui $t8, %hi(func_809FD10C) ## $t8 = 80A00000 -/* 00824 809FD854 3C0B8012 */ lui $t3, 0x8012 ## $t3 = 80120000 -/* 00828 809FD858 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000 -/* 0082C 809FD85C 11000007 */ beq $t0, $zero, .L809FD87C -/* 00830 809FD860 2718D10C */ addiu $t8, $t8, %lo(func_809FD10C) ## $t8 = 809FD10C -/* 00834 809FD864 2409500C */ addiu $t1, $zero, 0x500C ## $t1 = 0000500C -/* 00838 809FD868 3C0A80A0 */ lui $t2, %hi(func_809FD67C) ## $t2 = 80A00000 -/* 0083C 809FD86C A469010E */ sh $t1, 0x010E($v1) ## 0000010E -/* 00840 809FD870 254AD67C */ addiu $t2, $t2, %lo(func_809FD67C) ## $t2 = 809FD67C -/* 00844 809FD874 10000029 */ beq $zero, $zero, .L809FD91C -/* 00848 809FD878 AE0A01EC */ sw $t2, 0x01EC($s0) ## 000001EC -.L809FD87C: -/* 0084C 809FD87C 916B7494 */ lbu $t3, 0x7494($t3) ## 80127494 -/* 00850 809FD880 24010030 */ addiu $at, $zero, 0x0030 ## $at = 00000030 -/* 00854 809FD884 240E5049 */ addiu $t6, $zero, 0x5049 ## $t6 = 00005049 -/* 00858 809FD888 004B6021 */ addu $t4, $v0, $t3 -/* 0085C 809FD88C 918D0074 */ lbu $t5, 0x0074($t4) ## 00000074 -/* 00860 809FD890 240F5048 */ addiu $t7, $zero, 0x5048 ## $t7 = 00005048 -/* 00864 809FD894 55A10004 */ bnel $t5, $at, .L809FD8A8 -/* 00868 809FD898 A46F010E */ sh $t7, 0x010E($v1) ## 0000010E -/* 0086C 809FD89C 10000002 */ beq $zero, $zero, .L809FD8A8 -/* 00870 809FD8A0 A46E010E */ sh $t6, 0x010E($v1) ## 0000010E -/* 00874 809FD8A4 A46F010E */ sh $t7, 0x010E($v1) ## 0000010E -.L809FD8A8: -/* 00878 809FD8A8 1000001C */ beq $zero, $zero, .L809FD91C -/* 0087C 809FD8AC AE1801EC */ sw $t8, 0x01EC($s0) ## 000001EC -.L809FD8B0: -/* 00880 809FD8B0 8619008A */ lh $t9, 0x008A($s0) ## 0000008A -/* 00884 809FD8B4 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6 -/* 00888 809FD8B8 24095048 */ addiu $t1, $zero, 0x5048 ## $t1 = 00005048 -/* 0088C 809FD8BC A609010E */ sh $t1, 0x010E($s0) ## 0000010E -/* 00890 809FD8C0 03281023 */ subu $v0, $t9, $t0 -/* 00894 809FD8C4 00021400 */ sll $v0, $v0, 16 -/* 00898 809FD8C8 00021403 */ sra $v0, $v0, 16 -/* 0089C 809FD8CC 04400003 */ bltz $v0, .L809FD8DC -/* 008A0 809FD8D0 00021823 */ subu $v1, $zero, $v0 -/* 008A4 809FD8D4 10000001 */ beq $zero, $zero, .L809FD8DC -/* 008A8 809FD8D8 00401825 */ or $v1, $v0, $zero ## $v1 = 8015E660 -.L809FD8DC: -/* 008AC 809FD8DC 28612151 */ slti $at, $v1, 0x2151 -/* 008B0 809FD8E0 1020000E */ beq $at, $zero, .L809FD91C -/* 008B4 809FD8E4 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 008B8 809FD8E8 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00 -/* 008BC 809FD8EC C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 008C0 809FD8F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 008C4 809FD8F4 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000 -/* 008C8 809FD8F8 4606203C */ c.lt.s $f4, $f6 -/* 008CC 809FD8FC 00000000 */ nop -/* 008D0 809FD900 45020007 */ bc1fl .L809FD920 -/* 008D4 809FD904 8FBF0024 */ lw $ra, 0x0024($sp) -/* 008D8 809FD908 0C00BCA6 */ jal func_8002F298 -/* 008DC 809FD90C 24070008 */ addiu $a3, $zero, 0x0008 ## $a3 = 00000008 -/* 008E0 809FD910 960A01E8 */ lhu $t2, 0x01E8($s0) ## 000001E8 -/* 008E4 809FD914 354B0001 */ ori $t3, $t2, 0x0001 ## $t3 = 00000001 -/* 008E8 809FD918 A60B01E8 */ sh $t3, 0x01E8($s0) ## 000001E8 -.L809FD91C: -/* 008EC 809FD91C 8FBF0024 */ lw $ra, 0x0024($sp) -.L809FD920: -/* 008F0 809FD920 8FB00020 */ lw $s0, 0x0020($sp) -/* 008F4 809FD924 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 008F8 809FD928 03E00008 */ jr $ra -/* 008FC 809FD92C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA38.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA38.s deleted file mode 100644 index 737128a909..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA38.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_809FDA38 -/* 00A08 809FDA38 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00A0C 809FDA3C AFA40000 */ sw $a0, 0x0000($sp) -/* 00A10 809FDA40 AFA60008 */ sw $a2, 0x0008($sp) -/* 00A14 809FDA44 14A1000B */ bne $a1, $at, .L809FDA74 -/* 00A18 809FDA48 AFA7000C */ sw $a3, 0x000C($sp) -/* 00A1C 809FDA4C 8FA20014 */ lw $v0, 0x0014($sp) -/* 00A20 809FDA50 8FA30010 */ lw $v1, 0x0010($sp) -/* 00A24 809FDA54 844F01DA */ lh $t7, 0x01DA($v0) ## 000001DA -/* 00A28 809FDA58 846E0000 */ lh $t6, 0x0000($v1) ## 00000000 -/* 00A2C 809FDA5C 84790004 */ lh $t9, 0x0004($v1) ## 00000004 -/* 00A30 809FDA60 01CFC021 */ addu $t8, $t6, $t7 -/* 00A34 809FDA64 A4780000 */ sh $t8, 0x0000($v1) ## 00000000 -/* 00A38 809FDA68 844801D8 */ lh $t0, 0x01D8($v0) ## 000001D8 -/* 00A3C 809FDA6C 03284821 */ addu $t1, $t9, $t0 -/* 00A40 809FDA70 A4690004 */ sh $t1, 0x0004($v1) ## 00000004 -.L809FDA74: -/* 00A44 809FDA74 03E00008 */ jr $ra -/* 00A48 809FDA78 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA7C.s b/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA7C.s deleted file mode 100644 index b05e34c9b5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA7C.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_809FDA7C -/* 00A4C 809FDA7C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00A50 809FDA80 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00A54 809FDA84 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00A58 809FDA88 AFA40018 */ sw $a0, 0x0018($sp) -/* 00A5C 809FDA8C AFA60020 */ sw $a2, 0x0020($sp) -/* 00A60 809FDA90 14A10006 */ bne $a1, $at, .L809FDAAC -/* 00A64 809FDA94 AFA70024 */ sw $a3, 0x0024($sp) -/* 00A68 809FDA98 8FA50028 */ lw $a1, 0x0028($sp) -/* 00A6C 809FDA9C 3C0480A0 */ lui $a0, %hi(D_809FDB40) ## $a0 = 80A00000 -/* 00A70 809FDAA0 2484DB40 */ addiu $a0, $a0, %lo(D_809FDB40) ## $a0 = 809FDB40 -/* 00A74 809FDAA4 0C0346BD */ jal Matrix_MultVec3f -/* 00A78 809FDAA8 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038 -.L809FDAAC: -/* 00A7C 809FDAAC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00A80 809FDAB0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00A84 809FDAB4 03E00008 */ jr $ra -/* 00A88 809FDAB8 00000000 */ nop - - diff --git a/data/overlays/actors/z_en_ds.data.s b/data/overlays/actors/z_en_ds.data.s deleted file mode 100644 index e25cfb1e6c..0000000000 --- a/data/overlays/actors/z_en_ds.data.s +++ /dev/null @@ -1,18 +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 purposee registers - -.section .data - -glabel En_Ds_InitVars - .word 0x01490400, 0x00000009, 0x010F0000, 0x000001F0 -.word EnDs_Init -.word EnDs_Destroy -.word EnDs_Update -.word EnDs_Draw -glabel D_809FDB40 - .word 0x44898000, 0x43FA0000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_ds.reloc.s b/data/overlays/actors/z_en_ds.reloc.s deleted file mode 100644 index ee25105444..0000000000 --- a/data/overlays/actors/z_en_ds.reloc.s +++ /dev/null @@ -1,11 +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 purposee registers - -.section .rodata -glabel D_809FDB50 - -.incbin "baserom/ovl_En_Ds", 0xB20, 0x000000E0 diff --git a/include/functions.h b/include/functions.h index d4b4502b67..8e4cd69a9b 100644 --- a/include/functions.h +++ b/include/functions.h @@ -856,6 +856,7 @@ f32 func_800746DC(); // ? func_800766C4(?); // ? func_8007672C(?); // ? func_80076934(?); +void func_800773A8(GlobalContext* globalCtx, f32 arg1, f32 arg2, u32 arg3, f32 arg4); s32 func_800775CC(); void func_800775D8(); s32 func_800775E4(); diff --git a/spec b/spec index bdf845a888..858962b1e8 100644 --- a/spec +++ b/spec @@ -2585,8 +2585,7 @@ endseg beginseg name "ovl_En_Ds" include "build/src/overlays/actors/ovl_En_Ds/z_en_ds.o" - include "build/data/overlays/actors/z_en_ds.data.o" - include "build/data/overlays/actors/z_en_ds.reloc.o" + include "build/src/overlays/actors/ovl_En_Ds/z_en_ds_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index f2656d950b..7d25966c25 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -1,3 +1,9 @@ +/* + * File: z_en_ds.c + * Overlay: ovl_En_Ds + * Description: Potion Shop Granny + */ + #include "z_en_ds.h" #define ROOM 0x00 @@ -8,7 +14,24 @@ void EnDs_Destroy(EnDs* this, GlobalContext* globalCtx); void EnDs_Update(EnDs* this, GlobalContext* globalCtx); void EnDs_Draw(EnDs* this, GlobalContext* globalCtx); -/* +void EnDs_Talk(EnDs* this, GlobalContext* globalCtx); +void EnDs_TalkNoEmptyBottle(EnDs* this, GlobalContext* globalCtx); +void EnDs_TalkAfterGiveOddPotion(EnDs* this, GlobalContext* globalCtx); +void EnDs_GiveOddPotion2(EnDs* this, GlobalContext* globalCtx); +void EnDs_GiveOddPotion1(EnDs* this, GlobalContext* globalCtx); +void EnDs_TalkAfterBrewOddPotion(EnDs* this, GlobalContext* globalCtx); +void EnDs_BrewOddPotion3(EnDs* this, GlobalContext* globalCtx); +void EnDs_BrewOddPotion2(EnDs* this, GlobalContext* globalCtx); +void EnDs_BrewOddPotion1(EnDs* this, GlobalContext* globalCtx); +void EnDs_OfferOddPotion(EnDs* this, GlobalContext* globalCtx); +int EnDs_CheckRupeesAndBottle(); +void EnDs_GiveBluePotion(EnDs* this, GlobalContext* globalCtx); +void EnDs_OfferBluePotion(EnDs* this, GlobalContext* globalCtx); +void EnDs_Wait(EnDs* this, GlobalContext* globalCtx); + +UNK_TYPE func_809FDA38(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, EnDs* this); +void func_809FDA7C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* this); + const ActorInit En_Ds_InitVars = { ACTOR_EN_DS, ACTORTYPE_NPC, @@ -21,43 +44,250 @@ const ActorInit En_Ds_InitVars = { (ActorFunc)EnDs_Update, (ActorFunc)EnDs_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Destroy.s") +extern UNK_TYPE D_06004768; +extern UNK_TYPE D_0600039C; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD10C.s") +Vec3f mtxSrc = { 1100.0f, 500.0f, 0.0f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD160.s") +void EnDs_Init(EnDs* this, GlobalContext* globalCtx) { -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD1CC.s") + SkelAnime* skelAnime = &this->skelAnime; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD224.s") + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f); + SkelAnime_InitSV(globalCtx, skelAnime, &D_06004768, &D_0600039C, &this->actorDrawTable, &this->unk_1B4, 6); + func_800A51E8(&this->skelAnime, &D_0600039C); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD284.s") + this->actor.sub_98.mass = 0xFF; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD2EC.s") + Actor_SetScale(this, 0.0130000002682f); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD368.s") + this->actionFunc = EnDs_Wait; + this->actor.unk_1F = 1; + this->unk_1E8 = 0; + this->actor.flags &= -2; + this->unk_1E4 = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD40C.s") +void EnDs_Destroy(EnDs* this, GlobalContext* globalCtx) { +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD460.s") +void EnDs_Talk(EnDs* this, GlobalContext* globalCtx) { + if (func_8002F334(&this->actor, globalCtx) != 0) { + this->actionFunc = EnDs_Wait; + this->actor.flags &= 0xFFFEFFFF; + } + this->unk_1E8 |= 1; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD500.s") +void EnDs_TalkNoEmptyBottle(EnDs* this, GlobalContext* globalCtx) { + if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) { + func_80106CCC(globalCtx); + this->actionFunc = EnDs_Wait; + } + this->unk_1E8 |= 1; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD5CC.s") +void EnDs_TalkAfterGiveOddPotion(EnDs* this, GlobalContext* globalCtx) { + if (func_8002F194(&this->actor, globalCtx) != 0) { + this->actionFunc = EnDs_Talk; + } else { + this->actor.flags |= 0x10000; + func_8002F2CC(&this->actor, globalCtx, 1000.0f); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD61C.s") +void EnDs_GiveOddPotion2(EnDs* this, GlobalContext* globalCtx) { + if (func_8002F334(&this->actor, globalCtx) != 0) { + this->actor.textId = 0x504F; + this->actionFunc = EnDs_TalkAfterGiveOddPotion; + this->actor.flags &= -0x101; + gSaveContext.item_get_inf[3] |= 1; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD67C.s") +void EnDs_GiveOddPotion1(EnDs* this, GlobalContext* globalCtx) { + if (func_8002F410(&this->actor, globalCtx) != 0) { + this->actor.attachedA = NULL; + this->actionFunc = EnDs_GiveOddPotion2; + gSaveContext.timer_2_state = 0; + } else { + func_8002F434(&this->actor, globalCtx, GI_ODD_POTION, 10000.0f, 50.0f); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FD7B4.s") +void EnDs_TalkAfterBrewOddPotion(EnDs* this, GlobalContext* globalCtx) { + if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) { + func_80106CCC(globalCtx); + this->actionFunc = EnDs_GiveOddPotion1; + func_8002F434(&this->actor, globalCtx, GI_ODD_POTION, 10000.0f, 50.0f); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Update.s") +void EnDs_BrewOddPotion3(EnDs* this, GlobalContext* globalCtx) { + if (this->brewTimer > 0) { + this->brewTimer -= 1; + } else { + this->actionFunc = EnDs_TalkAfterBrewOddPotion; + func_8010B720(globalCtx, 0x504D); + } + Math_ApproxF(&this->unk_1E4, 0, 0.0299999993294f); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA38.s") + func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0x3DCCCCCD, 1.0f); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/func_809FDA7C.s") +void EnDs_BrewOddPotion2(EnDs* this, GlobalContext* globalCtx) { + if (this->brewTimer > 0) { + this->brewTimer -= 1; + } else { + this->actionFunc = EnDs_BrewOddPotion3; + this->brewTimer = 60; + Flags_UnsetSwitch(globalCtx, 0x3F); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ds/EnDs_Draw.s") +void EnDs_BrewOddPotion1(EnDs* this, GlobalContext* globalCtx) { + if (this->brewTimer > 0) { + this->brewTimer -= 1; + } else { + this->actionFunc = EnDs_BrewOddPotion2; + this->brewTimer = 20; + } + Math_ApproxF(&this->unk_1E4, 1.0f, 0.00999999977648f); + + func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0x3DCCCCCD, 1.0f); +} + +void EnDs_OfferOddPotion(EnDs* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) { + + switch (globalCtx->msgCtx.choiceIndex) { + case 0: // yes + this->actionFunc = EnDs_BrewOddPotion1; + this->brewTimer = 60; + Flags_SetSwitch(globalCtx, 0x3F); + globalCtx->msgCtx.msgMode = 0x37; + player->exchangeItemId = 0; + break; + case 1: // no + func_8010B720(globalCtx, 0x504C); + this->actionFunc = EnDs_Talk; + } + } +} + +int EnDs_CheckRupeesAndBottle() { + if (gSaveContext.rupees < 100) { + return 0; + } else if (Inventory_HasEmptyBottle() == 0) { + return 1; + } + return 2; +} + +void EnDs_GiveBluePotion(EnDs* this, GlobalContext* globalCtx) { + if (func_8002F410(&this->actor, globalCtx) != 0) { + this->actor.attachedA = NULL; + this->actionFunc = EnDs_Talk; + } else { + func_8002F434(&this->actor, globalCtx, GI_POTION_BLUE, 10000.0f, 50.0f); + } +} + +void EnDs_OfferBluePotion(EnDs* this, GlobalContext* globalCtx) { + if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) { + switch (globalCtx->msgCtx.choiceIndex) { + case 0: // yes + switch (EnDs_CheckRupeesAndBottle()) { + case 0: // have less than 100 rupees + func_8010B720(globalCtx, 0x500E); + break; + case 1: // have 100 rupees but no empty bottle + func_8010B720(globalCtx, 0x96); + this->actionFunc = EnDs_TalkNoEmptyBottle; + return; + case 2: // have 100 rupees and empty bottle + Rupees_ChangeBy(-100); + this->actor.flags &= 0xFFFEFFFF; + func_8002F434(this, globalCtx, GI_POTION_BLUE, 10000.0f, 50.0f); + this->actionFunc = EnDs_GiveBluePotion; + return; + } + break; + case 1: // no + func_8010B720(globalCtx, 0x500D); + } + this->actionFunc = EnDs_Talk; + } +} + +void EnDs_Wait(EnDs* this, GlobalContext* globalCtx) { + + Player* player = PLAYER; + s16 unkAngle; + + if (func_8002F194(&this->actor, globalCtx) != 0) { + if (func_8002F368(globalCtx) == 8) { + Audio_PlaySoundGeneral(NA_SE_SY_TRE_BOX_APPEAR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + player->actor.textId = 0x504A; + this->actionFunc = EnDs_OfferOddPotion; + } else if (gSaveContext.item_get_inf[3] & 1) { + player->actor.textId = 0x500C; + this->actionFunc = EnDs_OfferBluePotion; + } else { + if (INV_CONTENT(ITEM_ODD_MUSHROOM) == ITEM_ODD_MUSHROOM) { + player->actor.textId = 0x5049; + } else { + player->actor.textId = 0x5048; + } + this->actionFunc = EnDs_Talk; + } + } else { + unkAngle = this->actor.rotTowardsLinkY - this->actor.shape.rot.y; + this->actor.textId = 0x5048; + + if ((ABS(unkAngle) < 0x2151) && (this->actor.xzDistanceFromLink < 200.0f)) { + func_8002F298(this, globalCtx, 100.0f, 8); + this->unk_1E8 |= 1; + } + } +} + +void EnDs_Update(EnDs* this, GlobalContext* globalCtx) { + if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) { + this->skelAnime.animCurrentFrame = 0.0f; + } + this->actionFunc(this, globalCtx); + if ((this->unk_1E8 & 1)) { + func_80038290(globalCtx, this, &this->unk_1D8, &this->unk_1DE, this->actor.posRot2.pos); + } else { + Math_SmoothScaleMaxMinS(&this->unk_1D8.x, 0, 6, 0x1838, 100); + Math_SmoothScaleMaxMinS(&this->unk_1D8.y, 0, 6, 0x1838, 100); + Math_SmoothScaleMaxMinS(&this->unk_1DE.x, 0, 6, 0x1838, 100); + Math_SmoothScaleMaxMinS(&this->unk_1DE.y, 0, 6, 0x1838, 100); + } +} + +UNK_TYPE func_809FDA38(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, EnDs* this) { + EnDs* enDs = this; + + if (limbIndex == 5) { + rot->x += this->unk_1D8.y; + rot->z += this->unk_1D8.x; + } + return 0; +} + +void func_809FDA7C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) { + if (limbIndex == 5) { + Matrix_MultVec3f(&mtxSrc, &actor->posRot2.pos); + } +} + +void EnDs_Draw(EnDs* this, GlobalContext* globalCtx) { + func_800943C8(globalCtx->state.gfxCtx); + SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.actorDrawTbl, this->skelAnime.dListCount, + &func_809FDA38, &func_809FDA7C, this); +} diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.h b/src/overlays/actors/ovl_En_Ds/z_en_ds.h index 83a850659f..7a1f4e9c9e 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.h +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.h @@ -6,7 +6,17 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xA4]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ Vec3s actorDrawTable; + /* 0x0196 */ char unk_194[0x1E]; + /* 0x01B4 */ Vec3s unk_1B4; + /* 0x01BA */ char unk_1B8[0x1E]; + /* 0x01D8 */ Vec3s unk_1D8; + /* 0x01DE */ Vec3s unk_1DE; + /* 0x01E4 */ float unk_1E4; + /* 0x01E8 */ u16 unk_1E8; + /* 0x01EA */ u16 brewTimer; + /* 0x01EC */ ActorFunc actionFunc; } EnDs; // size = 0x01F0 extern const ActorInit En_Ds_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 119f103836..131d46de9e 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -450,4 +450,8 @@ D_060011D4 = 0x060011D4; D_06001080 = 0x06001080; // z_skelanime -link_animetion_segment = 0x07000000; \ No newline at end of file +link_animetion_segment = 0x07000000; + +// z_en_ds +D_06004768 = 0x06004768; +D_0600039C = 0x0600039C; \ No newline at end of file From 1dc2b8b5760e2e61e8058ae2894b5bd5de0aa13b Mon Sep 17 00:00:00 2001 From: zelda2773 Date: Fri, 27 Mar 2020 10:37:04 -0400 Subject: [PATCH 2/6] Changed line spacing --- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 7d25966c25..1997234218 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -51,7 +51,6 @@ extern UNK_TYPE D_0600039C; Vec3f mtxSrc = { 1100.0f, 500.0f, 0.0f }; void EnDs_Init(EnDs* this, GlobalContext* globalCtx) { - SkelAnime* skelAnime = &this->skelAnime; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f); @@ -131,8 +130,8 @@ void EnDs_BrewOddPotion3(EnDs* this, GlobalContext* globalCtx) { this->actionFunc = EnDs_TalkAfterBrewOddPotion; func_8010B720(globalCtx, 0x504D); } - Math_ApproxF(&this->unk_1E4, 0, 0.0299999993294f); + Math_ApproxF(&this->unk_1E4, 0, 0.0299999993294f); func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0x3DCCCCCD, 1.0f); } @@ -153,8 +152,8 @@ void EnDs_BrewOddPotion1(EnDs* this, GlobalContext* globalCtx) { this->actionFunc = EnDs_BrewOddPotion2; this->brewTimer = 20; } - Math_ApproxF(&this->unk_1E4, 1.0f, 0.00999999977648f); + Math_ApproxF(&this->unk_1E4, 1.0f, 0.00999999977648f); func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0x3DCCCCCD, 1.0f); } @@ -162,7 +161,6 @@ void EnDs_OfferOddPotion(EnDs* this, GlobalContext* globalCtx) { Player* player = PLAYER; if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) { - switch (globalCtx->msgCtx.choiceIndex) { case 0: // yes this->actionFunc = EnDs_BrewOddPotion1; @@ -224,7 +222,6 @@ void EnDs_OfferBluePotion(EnDs* this, GlobalContext* globalCtx) { } void EnDs_Wait(EnDs* this, GlobalContext* globalCtx) { - Player* player = PLAYER; s16 unkAngle; @@ -259,7 +256,9 @@ void EnDs_Update(EnDs* this, GlobalContext* globalCtx) { if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) { this->skelAnime.animCurrentFrame = 0.0f; } + this->actionFunc(this, globalCtx); + if ((this->unk_1E8 & 1)) { func_80038290(globalCtx, this, &this->unk_1D8, &this->unk_1DE, this->actor.posRot2.pos); } else { From a754e399d0e60a278fbe17e8e8ee7e64c9e2ba7c Mon Sep 17 00:00:00 2001 From: zelda2773 Date: Fri, 27 Mar 2020 10:46:32 -0400 Subject: [PATCH 3/6] Minor fix --- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 1997234218..66fd06cc3e 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -259,7 +259,7 @@ void EnDs_Update(EnDs* this, GlobalContext* globalCtx) { this->actionFunc(this, globalCtx); - if ((this->unk_1E8 & 1)) { + if (this->unk_1E8 & 1) { func_80038290(globalCtx, this, &this->unk_1D8, &this->unk_1DE, this->actor.posRot2.pos); } else { Math_SmoothScaleMaxMinS(&this->unk_1D8.x, 0, 6, 0x1838, 100); From 4621e066a90d0b4f8195de453ee0a85b33f86d2e Mon Sep 17 00:00:00 2001 From: zelda2773 Date: Fri, 27 Mar 2020 13:28:14 -0400 Subject: [PATCH 4/6] More fixes --- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 66fd06cc3e..4cba8a55cb 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -17,8 +17,8 @@ void EnDs_Draw(EnDs* this, GlobalContext* globalCtx); void EnDs_Talk(EnDs* this, GlobalContext* globalCtx); void EnDs_TalkNoEmptyBottle(EnDs* this, GlobalContext* globalCtx); void EnDs_TalkAfterGiveOddPotion(EnDs* this, GlobalContext* globalCtx); -void EnDs_GiveOddPotion2(EnDs* this, GlobalContext* globalCtx); -void EnDs_GiveOddPotion1(EnDs* this, GlobalContext* globalCtx); +void EnDs_DisplayOddPotionText(EnDs* this, GlobalContext* globalCtx); +void EnDs_GiveOddPotion(EnDs* this, GlobalContext* globalCtx); void EnDs_TalkAfterBrewOddPotion(EnDs* this, GlobalContext* globalCtx); void EnDs_BrewOddPotion3(EnDs* this, GlobalContext* globalCtx); void EnDs_BrewOddPotion2(EnDs* this, GlobalContext* globalCtx); @@ -45,8 +45,8 @@ const ActorInit En_Ds_InitVars = { (ActorFunc)EnDs_Draw, }; -extern UNK_TYPE D_06004768; -extern UNK_TYPE D_0600039C; +extern SkeletonHeader D_06004768; +extern AnimationHeader D_0600039C; Vec3f mtxSrc = { 1100.0f, 500.0f, 0.0f }; @@ -64,7 +64,7 @@ void EnDs_Init(EnDs* this, GlobalContext* globalCtx) { this->actionFunc = EnDs_Wait; this->actor.unk_1F = 1; this->unk_1E8 = 0; - this->actor.flags &= -2; + this->actor.flags &= ~0x1; this->unk_1E4 = 0.0f; } @@ -74,7 +74,7 @@ void EnDs_Destroy(EnDs* this, GlobalContext* globalCtx) { void EnDs_Talk(EnDs* this, GlobalContext* globalCtx) { if (func_8002F334(&this->actor, globalCtx) != 0) { this->actionFunc = EnDs_Wait; - this->actor.flags &= 0xFFFEFFFF; + this->actor.flags &= ~0x10000; } this->unk_1E8 |= 1; } @@ -96,19 +96,19 @@ void EnDs_TalkAfterGiveOddPotion(EnDs* this, GlobalContext* globalCtx) { } } -void EnDs_GiveOddPotion2(EnDs* this, GlobalContext* globalCtx) { +void EnDs_DisplayOddPotionText(EnDs* this, GlobalContext* globalCtx) { if (func_8002F334(&this->actor, globalCtx) != 0) { this->actor.textId = 0x504F; this->actionFunc = EnDs_TalkAfterGiveOddPotion; - this->actor.flags &= -0x101; + this->actor.flags &= ~0x100; gSaveContext.item_get_inf[3] |= 1; } } -void EnDs_GiveOddPotion1(EnDs* this, GlobalContext* globalCtx) { +void EnDs_GiveOddPotion(EnDs* this, GlobalContext* globalCtx) { if (func_8002F410(&this->actor, globalCtx) != 0) { this->actor.attachedA = NULL; - this->actionFunc = EnDs_GiveOddPotion2; + this->actionFunc = EnDs_DisplayOddPotionText; gSaveContext.timer_2_state = 0; } else { func_8002F434(&this->actor, globalCtx, GI_ODD_POTION, 10000.0f, 50.0f); @@ -118,7 +118,7 @@ void EnDs_GiveOddPotion1(EnDs* this, GlobalContext* globalCtx) { void EnDs_TalkAfterBrewOddPotion(EnDs* this, GlobalContext* globalCtx) { if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) { func_80106CCC(globalCtx); - this->actionFunc = EnDs_GiveOddPotion1; + this->actionFunc = EnDs_GiveOddPotion; func_8002F434(&this->actor, globalCtx, GI_ODD_POTION, 10000.0f, 50.0f); } } @@ -208,7 +208,7 @@ void EnDs_OfferBluePotion(EnDs* this, GlobalContext* globalCtx) { return; case 2: // have 100 rupees and empty bottle Rupees_ChangeBy(-100); - this->actor.flags &= 0xFFFEFFFF; + this->actor.flags &= ~0x10000; func_8002F434(this, globalCtx, GI_POTION_BLUE, 10000.0f, 50.0f); this->actionFunc = EnDs_GiveBluePotion; return; From 6e2872ba6c225c7dd09afaf76c9788aba351a277 Mon Sep 17 00:00:00 2001 From: zelda2773 Date: Fri, 27 Mar 2020 16:26:10 -0400 Subject: [PATCH 5/6] Fixed floats in ovl_En_Ds --- include/functions.h | 2 +- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/include/functions.h b/include/functions.h index 8e4cd69a9b..66ef3fb28d 100644 --- a/include/functions.h +++ b/include/functions.h @@ -856,7 +856,7 @@ f32 func_800746DC(); // ? func_800766C4(?); // ? func_8007672C(?); // ? func_80076934(?); -void func_800773A8(GlobalContext* globalCtx, f32 arg1, f32 arg2, u32 arg3, f32 arg4); +void func_800773A8(GlobalContext* globalCtx, f32 arg1, f32 arg2, f32 arg3, f32 arg4); s32 func_800775CC(); void func_800775D8(); s32 func_800775E4(); diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 4cba8a55cb..3fab293ad5 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -59,7 +59,7 @@ void EnDs_Init(EnDs* this, GlobalContext* globalCtx) { this->actor.sub_98.mass = 0xFF; - Actor_SetScale(this, 0.0130000002682f); + Actor_SetScale(this, 0.013f); this->actionFunc = EnDs_Wait; this->actor.unk_1F = 1; @@ -131,8 +131,8 @@ void EnDs_BrewOddPotion3(EnDs* this, GlobalContext* globalCtx) { func_8010B720(globalCtx, 0x504D); } - Math_ApproxF(&this->unk_1E4, 0, 0.0299999993294f); - func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0x3DCCCCCD, 1.0f); + Math_ApproxF(&this->unk_1E4, 0, 0.03f); + func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0.1f, 1.0f); } void EnDs_BrewOddPotion2(EnDs* this, GlobalContext* globalCtx) { @@ -153,8 +153,8 @@ void EnDs_BrewOddPotion1(EnDs* this, GlobalContext* globalCtx) { this->brewTimer = 20; } - Math_ApproxF(&this->unk_1E4, 1.0f, 0.00999999977648f); - func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0x3DCCCCCD, 1.0f); + Math_ApproxF(&this->unk_1E4, 1.0f, 0.01f); + func_800773A8(globalCtx, this->unk_1E4 * (2.0f - this->unk_1E4), 0.0f, 0.1f, 1.0f); } void EnDs_OfferOddPotion(EnDs* this, GlobalContext* globalCtx) { @@ -182,7 +182,9 @@ int EnDs_CheckRupeesAndBottle() { } else if (Inventory_HasEmptyBottle() == 0) { return 1; } - return 2; + else { + return 2; + } } void EnDs_GiveBluePotion(EnDs* this, GlobalContext* globalCtx) { From 8a45d9ec254da6f668374783c45b6fbf31a5f92c Mon Sep 17 00:00:00 2001 From: zelda2773 Date: Fri, 27 Mar 2020 17:05:08 -0400 Subject: [PATCH 6/6] Format --- src/overlays/actors/ovl_En_Ds/z_en_ds.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 3fab293ad5..f73a427c87 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -181,10 +181,9 @@ int EnDs_CheckRupeesAndBottle() { return 0; } else if (Inventory_HasEmptyBottle() == 0) { return 1; - } - else { + } else { return 2; - } + } } void EnDs_GiveBluePotion(EnDs* this, GlobalContext* globalCtx) { @@ -260,7 +259,7 @@ void EnDs_Update(EnDs* this, GlobalContext* globalCtx) { } this->actionFunc(this, globalCtx); - + if (this->unk_1E8 & 1) { func_80038290(globalCtx, this, &this->unk_1D8, &this->unk_1DE, this->actor.posRot2.pos); } else {