1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-13 04:39:36 +00:00

Decompiled ovl_En_Ds

This commit is contained in:
zelda2773 2020-03-27 10:32:46 -04:00
parent 55e1b3af7a
commit 105ea6c5cd
27 changed files with 270 additions and 868 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

3
spec
View file

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

View file

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

View file

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

View file

@ -450,4 +450,8 @@ D_060011D4 = 0x060011D4;
D_06001080 = 0x06001080;
// z_skelanime
link_animetion_segment = 0x07000000;
link_animetion_segment = 0x07000000;
// z_en_ds
D_06004768 = 0x06004768;
D_0600039C = 0x0600039C;