1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

ovl_En_Hs (#508)

* ovl_En_Hs

* PR review
This commit is contained in:
maekclena 2020-12-03 19:57:25 +01:00 committed by GitHub
parent 570c69490a
commit 7b10ecad4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 260 additions and 811 deletions

View File

@ -1,12 +0,0 @@
glabel EnHs_Destroy
/* 00174 80A6E514 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00178 80A6E518 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0017C 80A6E51C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00180 80A6E520 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00184 80A6E524 0C0170EB */ jal Collider_DestroyCylinder
/* 00188 80A6E528 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
/* 0018C 80A6E52C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00190 80A6E530 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00194 80A6E534 03E00008 */ jr $ra
/* 00198 80A6E538 00000000 */ nop

View File

@ -1,24 +0,0 @@
glabel EnHs_Draw
/* 009B4 80A6ED54 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 009B8 80A6ED58 AFBF0024 */ sw $ra, 0x0024($sp)
/* 009BC 80A6ED5C AFA40028 */ sw $a0, 0x0028($sp)
/* 009C0 80A6ED60 AFA5002C */ sw $a1, 0x002C($sp)
/* 009C4 80A6ED64 0C0250F2 */ jal func_800943C8
/* 009C8 80A6ED68 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 009CC 80A6ED6C 8FA20028 */ lw $v0, 0x0028($sp)
/* 009D0 80A6ED70 3C0F80A7 */ lui $t7, %hi(func_80A6EC58) ## $t7 = 80A70000
/* 009D4 80A6ED74 3C1880A7 */ lui $t8, %hi(func_80A6ED14) ## $t8 = 80A70000
/* 009D8 80A6ED78 8C45019C */ lw $a1, 0x019C($v0) ## 0000019C
/* 009DC 80A6ED7C 8C4601B8 */ lw $a2, 0x01B8($v0) ## 000001B8
/* 009E0 80A6ED80 9047019A */ lbu $a3, 0x019A($v0) ## 0000019A
/* 009E4 80A6ED84 2718ED14 */ addiu $t8, $t8, %lo(func_80A6ED14) ## $t8 = 80A6ED14
/* 009E8 80A6ED88 25EFEC58 */ addiu $t7, $t7, %lo(func_80A6EC58) ## $t7 = 80A6EC58
/* 009EC 80A6ED8C AFAF0010 */ sw $t7, 0x0010($sp)
/* 009F0 80A6ED90 AFB80014 */ sw $t8, 0x0014($sp)
/* 009F4 80A6ED94 8FA4002C */ lw $a0, 0x002C($sp)
/* 009F8 80A6ED98 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 009FC 80A6ED9C AFA20018 */ sw $v0, 0x0018($sp)
/* 00A00 80A6EDA0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00A04 80A6EDA4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00A08 80A6EDA8 03E00008 */ jr $ra
/* 00A0C 80A6EDAC 00000000 */ nop

View File

@ -1,117 +0,0 @@
.rdata
glabel D_80A6EE10
.asciz "\x1b[36m () \n\x1b[m"
.balign 4
glabel D_80A6EE30
.asciz "\x1b[36m \n\x1b[m"
.balign 4
glabel D_80A6EE48
.asciz "\x1b[36m () \n\x1b[m"
.balign 4
.text
glabel EnHs_Init
/* 00008 80A6E3A8 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 0000C 80A6E3AC AFB00028 */ sw $s0, 0x0028($sp)
/* 00010 80A6E3B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00014 80A6E3B4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00018 80A6E3B8 AFA50044 */ sw $a1, 0x0044($sp)
/* 0001C 80A6E3BC 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 00020 80A6E3C0 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 00024 80A6E3C4 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00028 80A6E3C8 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
/* 0002C 80A6E3CC 0C00AC78 */ jal ActorShape_Init
/* 00030 80A6E3D0 3C074210 */ lui $a3, 0x4210 ## $a3 = 42100000
/* 00034 80A6E3D4 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198
/* 00038 80A6E3D8 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
/* 0003C 80A6E3DC 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 00040 80A6E3E0 260E01DC */ addiu $t6, $s0, 0x01DC ## $t6 = 000001DC
/* 00044 80A6E3E4 260F023C */ addiu $t7, $s0, 0x023C ## $t7 = 0000023C
/* 00048 80A6E3E8 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010
/* 0004C 80A6E3EC AFB80018 */ sw $t8, 0x0018($sp)
/* 00050 80A6E3F0 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00054 80A6E3F4 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00058 80A6E3F8 24E705C0 */ addiu $a3, $a3, 0x05C0 ## $a3 = 060005C0
/* 0005C 80A6E3FC 24C66260 */ addiu $a2, $a2, 0x6260 ## $a2 = 06006260
/* 00060 80A6E400 AFA50034 */ sw $a1, 0x0034($sp)
/* 00064 80A6E404 0C0291BE */ jal SkelAnime_InitFlex
/* 00068 80A6E408 8FA40044 */ lw $a0, 0x0044($sp)
/* 0006C 80A6E40C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00070 80A6E410 24A505C0 */ addiu $a1, $a1, 0x05C0 ## $a1 = 060005C0
/* 00074 80A6E414 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
/* 00078 80A6E418 8FA40034 */ lw $a0, 0x0034($sp)
/* 0007C 80A6E41C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00080 80A6E420 AFA50034 */ sw $a1, 0x0034($sp)
/* 00084 80A6E424 0C0170D9 */ jal Collider_InitCylinder
/* 00088 80A6E428 8FA40044 */ lw $a0, 0x0044($sp)
/* 0008C 80A6E42C 3C0780A7 */ lui $a3, %hi(D_80A6EDD0) ## $a3 = 80A70000
/* 00090 80A6E430 8FA50034 */ lw $a1, 0x0034($sp)
/* 00094 80A6E434 24E7EDD0 */ addiu $a3, $a3, %lo(D_80A6EDD0) ## $a3 = 80A6EDD0
/* 00098 80A6E438 8FA40044 */ lw $a0, 0x0044($sp)
/* 0009C 80A6E43C 0C01712B */ jal Collider_SetCylinder
/* 000A0 80A6E440 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000A4 80A6E444 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 000A8 80A6E448 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 000AC 80A6E44C A21900AE */ sb $t9, 0x00AE($s0) ## 000000AE
/* 000B0 80A6E450 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 000B4 80A6E454 0C00B58B */ jal Actor_SetScale
/* 000B8 80A6E458 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000BC 80A6E45C 3C088016 */ lui $t0, %hi(gSaveContext+4)
/* 000C0 80A6E460 8D08E664 */ lw $t0, %lo(gSaveContext+4)($t0)
/* 000C4 80A6E464 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 000C8 80A6E468 3C0480A7 */ lui $a0, %hi(D_80A6EE48) ## $a0 = 80A70000
/* 000CC 80A6E46C 51000004 */ beql $t0, $zero, .L80A6E480
/* 000D0 80A6E470 A609001C */ sh $t1, 0x001C($s0) ## 0000001C
/* 000D4 80A6E474 10000002 */ beq $zero, $zero, .L80A6E480
/* 000D8 80A6E478 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
/* 000DC 80A6E47C A609001C */ sh $t1, 0x001C($s0) ## 0000001C
.L80A6E480:
/* 000E0 80A6E480 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
/* 000E4 80A6E484 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 000E8 80A6E488 15410014 */ bne $t2, $at, .L80A6E4DC
/* 000EC 80A6E48C 00000000 */ nop
/* 000F0 80A6E490 3C0480A7 */ lui $a0, %hi(D_80A6EE10) ## $a0 = 80A70000
/* 000F4 80A6E494 0C00084C */ jal osSyncPrintf
/* 000F8 80A6E498 2484EE10 */ addiu $a0, $a0, %lo(D_80A6EE10) ## $a0 = 80A6EE10
/* 000FC 80A6E49C 3C0580A7 */ lui $a1, %hi(func_80A6E9AC) ## $a1 = 80A70000
/* 00100 80A6E4A0 24A5E9AC */ addiu $a1, $a1, %lo(func_80A6E9AC) ## $a1 = 80A6E9AC
/* 00104 80A6E4A4 0C29B8E8 */ jal func_80A6E3A0
/* 00108 80A6E4A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0010C 80A6E4AC 3C0B8016 */ lui $t3, %hi(gSaveContext+0xef6)
/* 00110 80A6E4B0 956BF556 */ lhu $t3, %lo(gSaveContext+0xef6)($t3)
/* 00114 80A6E4B4 3C0480A7 */ lui $a0, %hi(D_80A6EE30) ## $a0 = 80A70000
/* 00118 80A6E4B8 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 0011C 80A6E4BC 5180000E */ beql $t4, $zero, .L80A6E4F8
/* 00120 80A6E4C0 240D0006 */ addiu $t5, $zero, 0x0006 ## $t5 = 00000006
/* 00124 80A6E4C4 0C00084C */ jal osSyncPrintf
/* 00128 80A6E4C8 2484EE30 */ addiu $a0, $a0, %lo(D_80A6EE30) ## $a0 = 80A6EE30
/* 0012C 80A6E4CC 0C00B55C */ jal Actor_Kill
/* 00130 80A6E4D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00134 80A6E4D4 10000008 */ beq $zero, $zero, .L80A6E4F8
/* 00138 80A6E4D8 240D0006 */ addiu $t5, $zero, 0x0006 ## $t5 = 00000006
.L80A6E4DC:
/* 0013C 80A6E4DC 0C00084C */ jal osSyncPrintf
/* 00140 80A6E4E0 2484EE48 */ addiu $a0, $a0, %lo(D_80A6EE48) ## $a0 = FFFFEE48
/* 00144 80A6E4E4 3C0580A7 */ lui $a1, %hi(func_80A6E9AC) ## $a1 = 80A70000
/* 00148 80A6E4E8 24A5E9AC */ addiu $a1, $a1, %lo(func_80A6E9AC) ## $a1 = 80A6E9AC
/* 0014C 80A6E4EC 0C29B8E8 */ jal func_80A6E3A0
/* 00150 80A6E4F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00154 80A6E4F4 240D0006 */ addiu $t5, $zero, 0x0006 ## $t5 = 00000006
.L80A6E4F8:
/* 00158 80A6E4F8 A60002A8 */ sh $zero, 0x02A8($s0) ## 000002A8
/* 0015C 80A6E4FC A20D001F */ sb $t5, 0x001F($s0) ## 0000001F
/* 00160 80A6E500 8FBF002C */ lw $ra, 0x002C($sp)
/* 00164 80A6E504 8FB00028 */ lw $s0, 0x0028($sp)
/* 00168 80A6E508 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 0016C 80A6E50C 03E00008 */ jr $ra
/* 00170 80A6E510 00000000 */ nop

View File

@ -1,102 +0,0 @@
glabel EnHs_Update
/* 00750 80A6EAF0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00754 80A6EAF4 AFB00024 */ sw $s0, 0x0024($sp)
/* 00758 80A6EAF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0075C 80A6EAFC AFB10028 */ sw $s1, 0x0028($sp)
/* 00760 80A6EB00 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00764 80A6EB04 AFBF002C */ sw $ra, 0x002C($sp)
/* 00768 80A6EB08 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
/* 0076C 80A6EB0C 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000014C
/* 00770 80A6EB10 0C0189B7 */ jal Collider_CylinderUpdate
/* 00774 80A6EB14 AFA60034 */ sw $a2, 0x0034($sp)
/* 00778 80A6EB18 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0077C 80A6EB1C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00780 80A6EB20 8FA60034 */ lw $a2, 0x0034($sp)
/* 00784 80A6EB24 02212821 */ addu $a1, $s1, $at
/* 00788 80A6EB28 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 0078C 80A6EB2C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00790 80A6EB30 0C00B638 */ jal Actor_MoveForward
/* 00794 80A6EB34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00798 80A6EB38 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0079C 80A6EB3C 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
/* 007A0 80A6EB40 AFAE0014 */ sw $t6, 0x0014($sp)
/* 007A4 80A6EB44 44060000 */ mfc1 $a2, $f0
/* 007A8 80A6EB48 44070000 */ mfc1 $a3, $f0
/* 007AC 80A6EB4C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 007B0 80A6EB50 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 007B4 80A6EB54 0C00B92D */ jal func_8002E4B4
/* 007B8 80A6EB58 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 007BC 80A6EB5C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 007C0 80A6EB60 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 007C4 80A6EB64 50400005 */ beql $v0, $zero, .L80A6EB7C
/* 007C8 80A6EB68 8E1902AC */ lw $t9, 0x02AC($s0) ## 000002AC
/* 007CC 80A6EB6C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 007D0 80A6EB70 00000000 */ nop
/* 007D4 80A6EB74 E60401B0 */ swc1 $f4, 0x01B0($s0) ## 000001B0
/* 007D8 80A6EB78 8E1902AC */ lw $t9, 0x02AC($s0) ## 000002AC
.L80A6EB7C:
/* 007DC 80A6EB7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007E0 80A6EB80 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 007E4 80A6EB84 0320F809 */ jalr $ra, $t9
/* 007E8 80A6EB88 00000000 */ nop
/* 007EC 80A6EB8C 960F02A8 */ lhu $t7, 0x02A8($s0) ## 000002A8
/* 007F0 80A6EB90 2604029C */ addiu $a0, $s0, 0x029C ## $a0 = 0000029C
/* 007F4 80A6EB94 24053200 */ addiu $a1, $zero, 0x3200 ## $a1 = 00003200
/* 007F8 80A6EB98 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
/* 007FC 80A6EB9C 13000010 */ beq $t8, $zero, .L80A6EBE0
/* 00800 80A6EBA0 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00804 80A6EBA4 8E090038 */ lw $t1, 0x0038($s0) ## 00000038
/* 00808 80A6EBA8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0080C 80A6EBAC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00810 80A6EBB0 AFA90010 */ sw $t1, 0x0010($sp)
/* 00814 80A6EBB4 8E08003C */ lw $t0, 0x003C($s0) ## 0000003C
/* 00818 80A6EBB8 2606029C */ addiu $a2, $s0, 0x029C ## $a2 = 0000029C
/* 0081C 80A6EBBC 260702A2 */ addiu $a3, $s0, 0x02A2 ## $a3 = 000002A2
/* 00820 80A6EBC0 AFA80014 */ sw $t0, 0x0014($sp)
/* 00824 80A6EBC4 8E090040 */ lw $t1, 0x0040($s0) ## 00000040
/* 00828 80A6EBC8 0C00E0A4 */ jal func_80038290
/* 0082C 80A6EBCC AFA90018 */ sw $t1, 0x0018($sp)
/* 00830 80A6EBD0 960A02A8 */ lhu $t2, 0x02A8($s0) ## 000002A8
/* 00834 80A6EBD4 314BFFFE */ andi $t3, $t2, 0xFFFE ## $t3 = 00000000
/* 00838 80A6EBD8 1000001A */ beq $zero, $zero, .L80A6EC44
/* 0083C 80A6EBDC A60B02A8 */ sh $t3, 0x02A8($s0) ## 000002A8
.L80A6EBE0:
/* 00840 80A6EBE0 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064
/* 00844 80A6EBE4 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00848 80A6EBE8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 0084C 80A6EBEC 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00850 80A6EBF0 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
/* 00854 80A6EBF4 AFAD0010 */ sw $t5, 0x0010($sp)
/* 00858 80A6EBF8 2604029E */ addiu $a0, $s0, 0x029E ## $a0 = 0000029E
/* 0085C 80A6EBFC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00860 80A6EC00 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00864 80A6EC04 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00868 80A6EC08 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 0086C 80A6EC0C 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 00870 80A6EC10 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00874 80A6EC14 260402A2 */ addiu $a0, $s0, 0x02A2 ## $a0 = 000002A2
/* 00878 80A6EC18 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0087C 80A6EC1C 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00880 80A6EC20 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00884 80A6EC24 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00888 80A6EC28 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 0088C 80A6EC2C AFB90010 */ sw $t9, 0x0010($sp)
/* 00890 80A6EC30 260402A4 */ addiu $a0, $s0, 0x02A4 ## $a0 = 000002A4
/* 00894 80A6EC34 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00898 80A6EC38 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 0089C 80A6EC3C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 008A0 80A6EC40 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
.L80A6EC44:
/* 008A4 80A6EC44 8FBF002C */ lw $ra, 0x002C($sp)
/* 008A8 80A6EC48 8FB00024 */ lw $s0, 0x0024($sp)
/* 008AC 80A6EC4C 8FB10028 */ lw $s1, 0x0028($sp)
/* 008B0 80A6EC50 03E00008 */ jr $ra
/* 008B4 80A6EC54 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View File

@ -1,3 +0,0 @@
glabel func_80A6E3A0
/* 00000 80A6E3A0 03E00008 */ jr $ra
/* 00004 80A6E3A4 AC8502AC */ sw $a1, 0x02AC($a0) ## 000002AC

View File

@ -1,50 +0,0 @@
glabel func_80A6E53C
/* 0019C 80A6E53C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001A0 80A6E540 AFBF0014 */ sw $ra, 0x0014($sp)
/* 001A4 80A6E544 AFA5001C */ sw $a1, 0x001C($sp)
/* 001A8 80A6E548 AFA60020 */ sw $a2, 0x0020($sp)
/* 001AC 80A6E54C AFA70024 */ sw $a3, 0x0024($sp)
/* 001B0 80A6E550 0C00BC65 */ jal func_8002F194
/* 001B4 80A6E554 AFA40018 */ sw $a0, 0x0018($sp)
/* 001B8 80A6E558 10400005 */ beq $v0, $zero, .L80A6E570
/* 001BC 80A6E55C 8FA40018 */ lw $a0, 0x0018($sp)
/* 001C0 80A6E560 0C29B8E8 */ jal func_80A6E3A0
/* 001C4 80A6E564 8FA50024 */ lw $a1, 0x0024($sp)
/* 001C8 80A6E568 1000001C */ beq $zero, $zero, .L80A6E5DC
/* 001CC 80A6E56C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A6E570:
/* 001D0 80A6E570 848F008A */ lh $t7, 0x008A($a0) ## 0000008A
/* 001D4 80A6E574 849800B6 */ lh $t8, 0x00B6($a0) ## 000000B6
/* 001D8 80A6E578 97AE0022 */ lhu $t6, 0x0022($sp)
/* 001DC 80A6E57C 01F81023 */ subu $v0, $t7, $t8
/* 001E0 80A6E580 00021400 */ sll $v0, $v0, 16
/* 001E4 80A6E584 00021403 */ sra $v0, $v0, 16
/* 001E8 80A6E588 04400003 */ bltz $v0, .L80A6E598
/* 001EC 80A6E58C A48E010E */ sh $t6, 0x010E($a0) ## 0000010E
/* 001F0 80A6E590 10000002 */ beq $zero, $zero, .L80A6E59C
/* 001F4 80A6E594 00401825 */ or $v1, $v0, $zero ## $v1 = 00000001
.L80A6E598:
/* 001F8 80A6E598 00021823 */ subu $v1, $zero, $v0
.L80A6E59C:
/* 001FC 80A6E59C 28612151 */ slti $at, $v1, 0x2151
/* 00200 80A6E5A0 1020000D */ beq $at, $zero, .L80A6E5D8
/* 00204 80A6E5A4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00208 80A6E5A8 44810000 */ mtc1 $at, $f0 ## $f0 = 100.00
/* 0020C 80A6E5AC C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 00210 80A6E5B0 4600203C */ c.lt.s $f4, $f0
/* 00214 80A6E5B4 00000000 */ nop
/* 00218 80A6E5B8 45020008 */ bc1fl .L80A6E5DC
/* 0021C 80A6E5BC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00220 80A6E5C0 949902A8 */ lhu $t9, 0x02A8($a0) ## 000002A8
/* 00224 80A6E5C4 44060000 */ mfc1 $a2, $f0
/* 00228 80A6E5C8 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001
/* 0022C 80A6E5CC A48802A8 */ sh $t0, 0x02A8($a0) ## 000002A8
/* 00230 80A6E5D0 0C00BCB3 */ jal func_8002F2CC
/* 00234 80A6E5D4 8FA5001C */ lw $a1, 0x001C($sp)
.L80A6E5D8:
/* 00238 80A6E5D8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A6E5DC:
/* 0023C 80A6E5DC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00240 80A6E5E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00244 80A6E5E4 03E00008 */ jr $ra
/* 00248 80A6E5E8 00000000 */ nop

View File

@ -1,19 +0,0 @@
glabel func_80A6E5EC
/* 0024C 80A6E5EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00250 80A6E5F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00254 80A6E5F4 0C00BCCD */ jal func_8002F334
/* 00258 80A6E5F8 AFA40018 */ sw $a0, 0x0018($sp)
/* 0025C 80A6E5FC 10400004 */ beq $v0, $zero, .L80A6E610
/* 00260 80A6E600 8FA40018 */ lw $a0, 0x0018($sp)
/* 00264 80A6E604 3C0580A7 */ lui $a1, %hi(func_80A6E6B0) ## $a1 = 80A70000
/* 00268 80A6E608 0C29B8E8 */ jal func_80A6E3A0
/* 0026C 80A6E60C 24A5E6B0 */ addiu $a1, $a1, %lo(func_80A6E6B0) ## $a1 = 80A6E6B0
.L80A6E610:
/* 00270 80A6E610 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00274 80A6E614 95CF02A8 */ lhu $t7, 0x02A8($t6) ## 000002A8
/* 00278 80A6E618 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 0027C 80A6E61C A5D802A8 */ sh $t8, 0x02A8($t6) ## 000002A8
/* 00280 80A6E620 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00284 80A6E624 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00288 80A6E628 03E00008 */ jr $ra
/* 0028C 80A6E62C 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_80A6E630
/* 00290 80A6E630 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00294 80A6E634 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00298 80A6E638 AFA40018 */ sw $a0, 0x0018($sp)
/* 0029C 80A6E63C AFA5001C */ sw $a1, 0x001C($sp)
/* 002A0 80A6E640 0C042F6F */ jal func_8010BDBC
/* 002A4 80A6E644 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 002A8 80A6E648 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 002AC 80A6E64C 54410011 */ bnel $v0, $at, .L80A6E694
/* 002B0 80A6E650 8FB80018 */ lw $t8, 0x0018($sp)
/* 002B4 80A6E654 0C041AF2 */ jal func_80106BC8
/* 002B8 80A6E658 8FA4001C */ lw $a0, 0x001C($sp)
/* 002BC 80A6E65C 5040000D */ beql $v0, $zero, .L80A6E694
/* 002C0 80A6E660 8FB80018 */ lw $t8, 0x0018($sp)
/* 002C4 80A6E664 0C0222A8 */ jal func_80088AA0
/* 002C8 80A6E668 240400B4 */ addiu $a0, $zero, 0x00B4 ## $a0 = 000000B4
/* 002CC 80A6E66C 3C0580A7 */ lui $a1, %hi(func_80A6E6B0) ## $a1 = 80A70000
/* 002D0 80A6E670 24A5E6B0 */ addiu $a1, $a1, %lo(func_80A6E6B0) ## $a1 = 80A6E6B0
/* 002D4 80A6E674 0C29B8E8 */ jal func_80A6E3A0
/* 002D8 80A6E678 8FA40018 */ lw $a0, 0x0018($sp)
/* 002DC 80A6E67C 3C028016 */ lui $v0, %hi(gSaveContext)
/* 002E0 80A6E680 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 002E4 80A6E684 944E13FC */ lhu $t6, 0x13FC($v0) ## 8015FA5C
/* 002E8 80A6E688 31CFFFFE */ andi $t7, $t6, 0xFFFE ## $t7 = 00000000
/* 002EC 80A6E68C A44F13FC */ sh $t7, 0x13FC($v0) ## 8015FA5C
/* 002F0 80A6E690 8FB80018 */ lw $t8, 0x0018($sp)
.L80A6E694:
/* 002F4 80A6E694 971902A8 */ lhu $t9, 0x02A8($t8) ## 000002A8
/* 002F8 80A6E698 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001
/* 002FC 80A6E69C A70802A8 */ sh $t0, 0x02A8($t8) ## 000002A8
/* 00300 80A6E6A0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00304 80A6E6A4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00308 80A6E6A8 03E00008 */ jr $ra
/* 0030C 80A6E6AC 00000000 */ nop

View File

@ -1,11 +0,0 @@
glabel func_80A6E6B0
/* 00310 80A6E6B0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00314 80A6E6B4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00318 80A6E6B8 3C0780A7 */ lui $a3, %hi(func_80A6E5EC) ## $a3 = 80A70000
/* 0031C 80A6E6BC 24E7E5EC */ addiu $a3, $a3, %lo(func_80A6E5EC) ## $a3 = 80A6E5EC
/* 00320 80A6E6C0 0C29B94F */ jal func_80A6E53C
/* 00324 80A6E6C4 240610B6 */ addiu $a2, $zero, 0x10B6 ## $a2 = 000010B6
/* 00328 80A6E6C8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0032C 80A6E6CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00330 80A6E6D0 03E00008 */ jr $ra
/* 00334 80A6E6D4 00000000 */ nop

View File

@ -1,15 +0,0 @@
glabel func_80A6E6D8
/* 00338 80A6E6D8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0033C 80A6E6DC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00340 80A6E6E0 0C00BCCD */ jal func_8002F334
/* 00344 80A6E6E4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00348 80A6E6E8 10400004 */ beq $v0, $zero, .L80A6E6FC
/* 0034C 80A6E6EC 8FA40018 */ lw $a0, 0x0018($sp)
/* 00350 80A6E6F0 3C0580A7 */ lui $a1, %hi(func_80A6E9AC) ## $a1 = 80A70000
/* 00354 80A6E6F4 0C29B8E8 */ jal func_80A6E3A0
/* 00358 80A6E6F8 24A5E9AC */ addiu $a1, $a1, %lo(func_80A6E9AC) ## $a1 = 80A6E9AC
.L80A6E6FC:
/* 0035C 80A6E6FC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00360 80A6E700 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00364 80A6E704 03E00008 */ jr $ra
/* 00368 80A6E708 00000000 */ nop

View File

@ -1,15 +0,0 @@
glabel func_80A6E70C
/* 0036C 80A6E70C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00370 80A6E710 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00374 80A6E714 0C00BCCD */ jal func_8002F334
/* 00378 80A6E718 AFA40018 */ sw $a0, 0x0018($sp)
/* 0037C 80A6E71C 10400004 */ beq $v0, $zero, .L80A6E730
/* 00380 80A6E720 8FA40018 */ lw $a0, 0x0018($sp)
/* 00384 80A6E724 3C0580A7 */ lui $a1, %hi(func_80A6E9AC) ## $a1 = 80A70000
/* 00388 80A6E728 0C29B8E8 */ jal func_80A6E3A0
/* 0038C 80A6E72C 24A5E9AC */ addiu $a1, $a1, %lo(func_80A6E9AC) ## $a1 = 80A6E9AC
.L80A6E730:
/* 00390 80A6E730 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00394 80A6E734 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00398 80A6E738 03E00008 */ jr $ra
/* 0039C 80A6E73C 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_80A6E740
/* 003A0 80A6E740 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 003A4 80A6E744 AFBF0024 */ sw $ra, 0x0024($sp)
/* 003A8 80A6E748 AFB00020 */ sw $s0, 0x0020($sp)
/* 003AC 80A6E74C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003B0 80A6E750 0C00BD04 */ jal Actor_HasParent
/* 003B4 80A6E754 AFA5002C */ sw $a1, 0x002C($sp)
/* 003B8 80A6E758 10400008 */ beq $v0, $zero, .L80A6E77C
/* 003BC 80A6E75C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 003C0 80A6E760 3C0580A7 */ lui $a1, %hi(func_80A6E630) ## $a1 = 80A70000
/* 003C4 80A6E764 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
/* 003C8 80A6E768 24A5E630 */ addiu $a1, $a1, %lo(func_80A6E630) ## $a1 = 80A6E630
/* 003CC 80A6E76C 0C29B8E8 */ jal func_80A6E3A0
/* 003D0 80A6E770 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 003D4 80A6E774 1000000A */ beq $zero, $zero, .L80A6E7A0
/* 003D8 80A6E778 960E02A8 */ lhu $t6, 0x02A8($s0) ## 000002A8
.L80A6E77C:
/* 003DC 80A6E77C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 003E0 80A6E780 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 003E4 80A6E784 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000
/* 003E8 80A6E788 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000
/* 003EC 80A6E78C 8FA5002C */ lw $a1, 0x002C($sp)
/* 003F0 80A6E790 2406001F */ addiu $a2, $zero, 0x001F ## $a2 = 0000001F
/* 003F4 80A6E794 0C00BD0D */ jal func_8002F434
/* 003F8 80A6E798 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 003FC 80A6E79C 960E02A8 */ lhu $t6, 0x02A8($s0) ## 000002A8
.L80A6E7A0:
/* 00400 80A6E7A0 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00404 80A6E7A4 A60F02A8 */ sh $t7, 0x02A8($s0) ## 000002A8
/* 00408 80A6E7A8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0040C 80A6E7AC 8FB00020 */ lw $s0, 0x0020($sp)
/* 00410 80A6E7B0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00414 80A6E7B4 03E00008 */ jr $ra
/* 00418 80A6E7B8 00000000 */ nop

View File

@ -1,76 +0,0 @@
glabel func_80A6E7BC
/* 0041C 80A6E7BC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00420 80A6E7C0 AFB10028 */ sw $s1, 0x0028($sp)
/* 00424 80A6E7C4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00428 80A6E7C8 AFBF002C */ sw $ra, 0x002C($sp)
/* 0042C 80A6E7CC AFB00024 */ sw $s0, 0x0024($sp)
/* 00430 80A6E7D0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00434 80A6E7D4 0C042F6F */ jal func_8010BDBC
/* 00438 80A6E7D8 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 0043C 80A6E7DC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00440 80A6E7E0 54410033 */ bnel $v0, $at, .L80A6E8B0
/* 00444 80A6E7E4 962E02A8 */ lhu $t6, 0x02A8($s1) ## 000002A8
/* 00448 80A6E7E8 0C041AF2 */ jal func_80106BC8
/* 0044C 80A6E7EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00450 80A6E7F0 1040002E */ beq $v0, $zero, .L80A6E8AC
/* 00454 80A6E7F4 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
/* 00458 80A6E7F8 00501021 */ addu $v0, $v0, $s0
/* 0045C 80A6E7FC 904204BD */ lbu $v0, 0x04BD($v0) ## 000104BD
/* 00460 80A6E800 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00464 80A6E804 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00468 80A6E808 10400005 */ beq $v0, $zero, .L80A6E820
/* 0046C 80A6E80C 3C0580A7 */ lui $a1, %hi(func_80A6E740) ## $a1 = 80A70000
/* 00470 80A6E810 10410010 */ beq $v0, $at, .L80A6E854
/* 00474 80A6E814 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00478 80A6E818 10000014 */ beq $zero, $zero, .L80A6E86C
/* 0047C 80A6E81C 00000000 */ nop
.L80A6E820:
/* 00480 80A6E820 0C29B8E8 */ jal func_80A6E3A0
/* 00484 80A6E824 24A5E740 */ addiu $a1, $a1, %lo(func_80A6E740) ## $a1 = 80A6E740
/* 00488 80A6E828 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 0048C 80A6E82C 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 00490 80A6E830 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000
/* 00494 80A6E834 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000
/* 00498 80A6E838 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0049C 80A6E83C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 004A0 80A6E840 2406001F */ addiu $a2, $zero, 0x001F ## $a2 = 0000001F
/* 004A4 80A6E844 0C00BD0D */ jal func_8002F434
/* 004A8 80A6E848 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 004AC 80A6E84C 10000007 */ beq $zero, $zero, .L80A6E86C
/* 004B0 80A6E850 00000000 */ nop
.L80A6E854:
/* 004B4 80A6E854 0C042DC8 */ jal func_8010B720
/* 004B8 80A6E858 240510B4 */ addiu $a1, $zero, 0x10B4 ## $a1 = 000010B4
/* 004BC 80A6E85C 3C0580A7 */ lui $a1, %hi(func_80A6E70C) ## $a1 = 80A70000
/* 004C0 80A6E860 24A5E70C */ addiu $a1, $a1, %lo(func_80A6E70C) ## $a1 = 80A6E70C
/* 004C4 80A6E864 0C29B8E8 */ jal func_80A6E3A0
/* 004C8 80A6E868 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A6E86C:
/* 004CC 80A6E86C 3C100600 */ lui $s0, 0x0600 ## $s0 = 06000000
/* 004D0 80A6E870 261005C0 */ addiu $s0, $s0, 0x05C0 ## $s0 = 060005C0
/* 004D4 80A6E874 0C028800 */ jal SkelAnime_GetFrameCount
/* 004D8 80A6E878 02002025 */ or $a0, $s0, $zero ## $a0 = 060005C0
/* 004DC 80A6E87C 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 004E0 80A6E880 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 004E4 80A6E884 44815000 */ mtc1 $at, $f10 ## $f10 = 8.00
/* 004E8 80A6E888 46803220 */ cvt.s.w $f8, $f6
/* 004EC 80A6E88C 26240198 */ addiu $a0, $s1, 0x0198 ## $a0 = 00000198
/* 004F0 80A6E890 02002825 */ or $a1, $s0, $zero ## $a1 = 060005C0
/* 004F4 80A6E894 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 004F8 80A6E898 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 004FC 80A6E89C AFA00014 */ sw $zero, 0x0014($sp)
/* 00500 80A6E8A0 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 00504 80A6E8A4 0C029468 */ jal SkelAnime_ChangeAnim
/* 00508 80A6E8A8 E7AA0018 */ swc1 $f10, 0x0018($sp)
.L80A6E8AC:
/* 0050C 80A6E8AC 962E02A8 */ lhu $t6, 0x02A8($s1) ## 000002A8
.L80A6E8B0:
/* 00510 80A6E8B0 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00514 80A6E8B4 A62F02A8 */ sh $t7, 0x02A8($s1) ## 000002A8
/* 00518 80A6E8B8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0051C 80A6E8BC 8FB10028 */ lw $s1, 0x0028($sp)
/* 00520 80A6E8C0 8FB00024 */ lw $s0, 0x0024($sp)
/* 00524 80A6E8C4 03E00008 */ jr $ra
/* 00528 80A6E8C8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View File

@ -1,63 +0,0 @@
glabel func_80A6E8CC
/* 0052C 80A6E8CC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00530 80A6E8D0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00534 80A6E8D4 AFB00028 */ sw $s0, 0x0028($sp)
/* 00538 80A6E8D8 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 0053C 80A6E8DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00540 80A6E8E0 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00544 80A6E8E4 AFA5003C */ sw $a1, 0x003C($sp)
/* 00548 80A6E8E8 0C042F6F */ jal func_8010BDBC
/* 0054C 80A6E8EC AFAE0034 */ sw $t6, 0x0034($sp)
/* 00550 80A6E8F0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00554 80A6E8F4 5441001C */ bnel $v0, $at, .L80A6E968
/* 00558 80A6E8F8 860202AA */ lh $v0, 0x02AA($s0) ## 000002AA
/* 0055C 80A6E8FC 0C041AF2 */ jal func_80106BC8
/* 00560 80A6E900 8FA4003C */ lw $a0, 0x003C($sp)
/* 00564 80A6E904 10400017 */ beq $v0, $zero, .L80A6E964
/* 00568 80A6E908 8FA4003C */ lw $a0, 0x003C($sp)
/* 0056C 80A6E90C 0C042DC8 */ jal func_8010B720
/* 00570 80A6E910 240510B3 */ addiu $a1, $zero, 0x10B3 ## $a1 = 000010B3
/* 00574 80A6E914 3C0580A7 */ lui $a1, %hi(func_80A6E7BC) ## $a1 = 80A70000
/* 00578 80A6E918 24A5E7BC */ addiu $a1, $a1, %lo(func_80A6E7BC) ## $a1 = 80A6E7BC
/* 0057C 80A6E91C 0C29B8E8 */ jal func_80A6E3A0
/* 00580 80A6E920 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00584 80A6E924 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00588 80A6E928 0C028800 */ jal SkelAnime_GetFrameCount
/* 0058C 80A6E92C 24840528 */ addiu $a0, $a0, 0x0528 ## $a0 = 06000528
/* 00590 80A6E930 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00594 80A6E934 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00598 80A6E938 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00
/* 0059C 80A6E93C 468021A0 */ cvt.s.w $f6, $f4
/* 005A0 80A6E940 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 005A4 80A6E944 24A50528 */ addiu $a1, $a1, 0x0528 ## $a1 = 06000528
/* 005A8 80A6E948 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 005AC 80A6E94C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 005B0 80A6E950 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 005B4 80A6E954 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 005B8 80A6E958 AFA00014 */ sw $zero, 0x0014($sp)
/* 005BC 80A6E95C 0C029468 */ jal SkelAnime_ChangeAnim
/* 005C0 80A6E960 E7A80018 */ swc1 $f8, 0x0018($sp)
.L80A6E964:
/* 005C4 80A6E964 860202AA */ lh $v0, 0x02AA($s0) ## 000002AA
.L80A6E968:
/* 005C8 80A6E968 18400008 */ blez $v0, .L80A6E98C
/* 005CC 80A6E96C 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 005D0 80A6E970 A60F02AA */ sh $t7, 0x02AA($s0) ## 000002AA
/* 005D4 80A6E974 861802AA */ lh $t8, 0x02AA($s0) ## 000002AA
/* 005D8 80A6E978 8FA40034 */ lw $a0, 0x0034($sp)
/* 005DC 80A6E97C 57000004 */ bnel $t8, $zero, .L80A6E990
/* 005E0 80A6E980 961902A8 */ lhu $t9, 0x02A8($s0) ## 000002A8
/* 005E4 80A6E984 0C00BDF7 */ jal func_8002F7DC
/* 005E8 80A6E988 24052813 */ addiu $a1, $zero, 0x2813 ## $a1 = 00002813
.L80A6E98C:
/* 005EC 80A6E98C 961902A8 */ lhu $t9, 0x02A8($s0) ## 000002A8
.L80A6E990:
/* 005F0 80A6E990 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001
/* 005F4 80A6E994 A60802A8 */ sh $t0, 0x02A8($s0) ## 000002A8
/* 005F8 80A6E998 8FBF002C */ lw $ra, 0x002C($sp)
/* 005FC 80A6E99C 8FB00028 */ lw $s0, 0x0028($sp)
/* 00600 80A6E9A0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00604 80A6E9A4 03E00008 */ jr $ra
/* 00608 80A6E9A8 00000000 */ nop

View File

@ -1,89 +0,0 @@
glabel func_80A6E9AC
/* 0060C 80A6E9AC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00610 80A6E9B0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00614 80A6E9B4 AFB00028 */ sw $s0, 0x0028($sp)
/* 00618 80A6E9B8 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 0061C 80A6E9BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00620 80A6E9C0 AFA5003C */ sw $a1, 0x003C($sp)
/* 00624 80A6E9C4 0C00BC65 */ jal func_8002F194
/* 00628 80A6E9C8 AFAE0034 */ sw $t6, 0x0034($sp)
/* 0062C 80A6E9CC 1040002B */ beq $v0, $zero, .L80A6EA7C
/* 00630 80A6E9D0 8FA5003C */ lw $a1, 0x003C($sp)
/* 00634 80A6E9D4 0C00BCDA */ jal func_8002F368
/* 00638 80A6E9D8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0063C 80A6E9DC 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 00640 80A6E9E0 1441001E */ bne $v0, $at, .L80A6EA5C
/* 00644 80A6E9E4 240810B1 */ addiu $t0, $zero, 0x10B1 ## $t0 = 000010B1
/* 00648 80A6E9E8 8FB80034 */ lw $t8, 0x0034($sp)
/* 0064C 80A6E9EC 240F10B2 */ addiu $t7, $zero, 0x10B2 ## $t7 = 000010B2
/* 00650 80A6E9F0 3C0580A7 */ lui $a1, %hi(func_80A6E8CC) ## $a1 = 80A70000
/* 00654 80A6E9F4 24A5E8CC */ addiu $a1, $a1, %lo(func_80A6E8CC) ## $a1 = 80A6E8CC
/* 00658 80A6E9F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0065C 80A6E9FC 0C29B8E8 */ jal func_80A6E3A0
/* 00660 80A6EA00 A70F010E */ sh $t7, 0x010E($t8) ## 0000010E
/* 00664 80A6EA04 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00668 80A6EA08 0C028800 */ jal SkelAnime_GetFrameCount
/* 0066C 80A6EA0C 24840304 */ addiu $a0, $a0, 0x0304 ## $a0 = 06000304
/* 00670 80A6EA10 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00674 80A6EA14 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00678 80A6EA18 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00
/* 0067C 80A6EA1C 468021A0 */ cvt.s.w $f6, $f4
/* 00680 80A6EA20 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00684 80A6EA24 24A50304 */ addiu $a1, $a1, 0x0304 ## $a1 = 06000304
/* 00688 80A6EA28 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 0068C 80A6EA2C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00690 80A6EA30 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00694 80A6EA34 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00698 80A6EA38 AFA00014 */ sw $zero, 0x0014($sp)
/* 0069C 80A6EA3C 0C029468 */ jal SkelAnime_ChangeAnim
/* 006A0 80A6EA40 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 006A4 80A6EA44 24190028 */ addiu $t9, $zero, 0x0028 ## $t9 = 00000028
/* 006A8 80A6EA48 A61902AA */ sh $t9, 0x02AA($s0) ## 000002AA
/* 006AC 80A6EA4C 0C01E221 */ jal func_80078884
/* 006B0 80A6EA50 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
/* 006B4 80A6EA54 10000022 */ beq $zero, $zero, .L80A6EAE0
/* 006B8 80A6EA58 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6EA5C:
/* 006BC 80A6EA5C 8FA90034 */ lw $t1, 0x0034($sp)
/* 006C0 80A6EA60 3C0580A7 */ lui $a1, %hi(func_80A6E6D8) ## $a1 = 80A70000
/* 006C4 80A6EA64 24A5E6D8 */ addiu $a1, $a1, %lo(func_80A6E6D8) ## $a1 = 80A6E6D8
/* 006C8 80A6EA68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006CC 80A6EA6C 0C29B8E8 */ jal func_80A6E3A0
/* 006D0 80A6EA70 A528010E */ sh $t0, 0x010E($t1) ## 0000010E
/* 006D4 80A6EA74 1000001A */ beq $zero, $zero, .L80A6EAE0
/* 006D8 80A6EA78 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6EA7C:
/* 006DC 80A6EA7C 860A008A */ lh $t2, 0x008A($s0) ## 0000008A
/* 006E0 80A6EA80 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
/* 006E4 80A6EA84 240C10B1 */ addiu $t4, $zero, 0x10B1 ## $t4 = 000010B1
/* 006E8 80A6EA88 A60C010E */ sh $t4, 0x010E($s0) ## 0000010E
/* 006EC 80A6EA8C 014B1023 */ subu $v0, $t2, $t3
/* 006F0 80A6EA90 00021400 */ sll $v0, $v0, 16
/* 006F4 80A6EA94 00021403 */ sra $v0, $v0, 16
/* 006F8 80A6EA98 04400003 */ bltz $v0, .L80A6EAA8
/* 006FC 80A6EA9C 00021823 */ subu $v1, $zero, $v0
/* 00700 80A6EAA0 10000001 */ beq $zero, $zero, .L80A6EAA8
/* 00704 80A6EAA4 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A6EAA8:
/* 00708 80A6EAA8 28612151 */ slti $at, $v1, 0x2151
/* 0070C 80A6EAAC 1020000B */ beq $at, $zero, .L80A6EADC
/* 00710 80A6EAB0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00714 80A6EAB4 44810000 */ mtc1 $at, $f0 ## $f0 = 100.00
/* 00718 80A6EAB8 C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090
/* 0071C 80A6EABC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00720 80A6EAC0 4600503C */ c.lt.s $f10, $f0
/* 00724 80A6EAC4 00000000 */ nop
/* 00728 80A6EAC8 45020005 */ bc1fl .L80A6EAE0
/* 0072C 80A6EACC 8FBF002C */ lw $ra, 0x002C($sp)
/* 00730 80A6EAD0 44060000 */ mfc1 $a2, $f0
/* 00734 80A6EAD4 0C00BCA6 */ jal func_8002F298
/* 00738 80A6EAD8 24070007 */ addiu $a3, $zero, 0x0007 ## $a3 = 00000007
.L80A6EADC:
/* 0073C 80A6EADC 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6EAE0:
/* 00740 80A6EAE0 8FB00028 */ lw $s0, 0x0028($sp)
/* 00744 80A6EAE4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00748 80A6EAE8 03E00008 */ jr $ra
/* 0074C 80A6EAEC 00000000 */ nop

View File

@ -1,38 +0,0 @@
.late_rodata
glabel jtbl_80A6EE68
.word L80A6EC84
.word L80A6ECB0
.word func_80A6ECBC
.word func_80A6ECC8
.word func_80A6ECE8
.word 0x00000000
.text
glabel func_80A6EC58
/* 008B8 80A6EC58 24AEFFF7 */ addiu $t6, $a1, 0xFFF7 ## $t6 = FFFFFFF7
/* 008BC 80A6EC5C 2DC10005 */ sltiu $at, $t6, 0x0005
/* 008C0 80A6EC60 AFA40000 */ sw $a0, 0x0000($sp)
/* 008C4 80A6EC64 10200028 */ beq $at, $zero, .L80A6ED08
/* 008C8 80A6EC68 AFA7000C */ sw $a3, 0x000C($sp)
/* 008CC 80A6EC6C 000E7080 */ sll $t6, $t6, 2
/* 008D0 80A6EC70 3C0180A7 */ lui $at, %hi(jtbl_80A6EE68) ## $at = 80A70000
/* 008D4 80A6EC74 002E0821 */ addu $at, $at, $t6
/* 008D8 80A6EC78 8C2EEE68 */ lw $t6, %lo(jtbl_80A6EE68)($at)
/* 008DC 80A6EC7C 01C00008 */ jr $t6
/* 008E0 80A6EC80 00000000 */ nop
glabel L80A6EC84
/* 008E4 80A6EC84 8FA20014 */ lw $v0, 0x0014($sp)
/* 008E8 80A6EC88 8FA30010 */ lw $v1, 0x0010($sp)
/* 008EC 80A6EC8C 8458029E */ lh $t8, 0x029E($v0) ## 0000029E
/* 008F0 80A6EC90 846F0000 */ lh $t7, 0x0000($v1) ## 00000000
/* 008F4 80A6EC94 84680004 */ lh $t0, 0x0004($v1) ## 00000004
/* 008F8 80A6EC98 01F8C821 */ addu $t9, $t7, $t8
/* 008FC 80A6EC9C A4790000 */ sh $t9, 0x0000($v1) ## 00000000
/* 00900 80A6ECA0 8449029C */ lh $t1, 0x029C($v0) ## 0000029C
/* 00904 80A6ECA4 01095021 */ addu $t2, $t0, $t1
/* 00908 80A6ECA8 10000017 */ beq $zero, $zero, .L80A6ED08
/* 0090C 80A6ECAC A46A0004 */ sh $t2, 0x0004($v1) ## 00000004
glabel L80A6ECB0
/* 00910 80A6ECB0 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
/* 00914 80A6ECB4 03E00008 */ jr $ra
/* 00918 80A6ECB8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,4 +0,0 @@
glabel func_80A6ECBC
/* 0091C 80A6ECBC ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
/* 00920 80A6ECC0 03E00008 */ jr $ra
/* 00924 80A6ECC4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,9 +0,0 @@
glabel func_80A6ECC8
/* 00928 80A6ECC8 8FA20014 */ lw $v0, 0x0014($sp)
/* 0092C 80A6ECCC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00930 80A6ECD0 844B001C */ lh $t3, 0x001C($v0) ## 0000001C
/* 00934 80A6ECD4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00938 80A6ECD8 5561000C */ bnel $t3, $at, .L80A6ED0C
/* 0093C 80A6ECDC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00940 80A6ECE0 03E00008 */ jr $ra
/* 00944 80A6ECE4 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000

View File

@ -1,14 +0,0 @@
glabel func_80A6ECE8
/* 00948 80A6ECE8 8FA20014 */ lw $v0, 0x0014($sp)
/* 0094C 80A6ECEC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00950 80A6ECF0 844C001C */ lh $t4, 0x001C($v0) ## 0000001C
/* 00954 80A6ECF4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00958 80A6ECF8 55810004 */ bnel $t4, $at, .L80A6ED0C
/* 0095C 80A6ECFC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00960 80A6ED00 03E00008 */ jr $ra
/* 00964 80A6ED04 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
.L80A6ED08:
/* 00968 80A6ED08 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A6ED0C:
/* 0096C 80A6ED0C 03E00008 */ jr $ra
/* 00970 80A6ED10 00000000 */ nop

View File

@ -1,18 +0,0 @@
glabel func_80A6ED14
/* 00974 80A6ED14 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00978 80A6ED18 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
/* 0097C 80A6ED1C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00980 80A6ED20 AFA40018 */ sw $a0, 0x0018($sp)
/* 00984 80A6ED24 AFA60020 */ sw $a2, 0x0020($sp)
/* 00988 80A6ED28 14A10006 */ bne $a1, $at, .L80A6ED44
/* 0098C 80A6ED2C AFA70024 */ sw $a3, 0x0024($sp)
/* 00990 80A6ED30 8FA50028 */ lw $a1, 0x0028($sp)
/* 00994 80A6ED34 3C0480A7 */ lui $a0, %hi(D_80A6EDFC) ## $a0 = 80A70000
/* 00998 80A6ED38 2484EDFC */ addiu $a0, $a0, %lo(D_80A6EDFC) ## $a0 = 80A6EDFC
/* 0099C 80A6ED3C 0C0346BD */ jal Matrix_MultVec3f
/* 009A0 80A6ED40 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
.L80A6ED44:
/* 009A4 80A6ED44 8FBF0014 */ lw $ra, 0x0014($sp)
/* 009A8 80A6ED48 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 009AC 80A6ED4C 03E00008 */ jr $ra
/* 009B0 80A6ED50 00000000 */ nop

View File

@ -1,22 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel En_Hs_InitVars
.word 0x013F0400, 0x00000009, 0x01280000, 0x000002B0
.word EnHs_Init
.word EnHs_Destroy
.word EnHs_Update
.word EnHs_Draw
glabel D_80A6EDD0
.word 0x0A001139, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x00280028, 0x00000000, 0x00000000
glabel D_80A6EDFC
.word 0x43960000, 0x447A0000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80A6EE80
.incbin "baserom/ovl_En_Hs", 0xAE0, 0x00000120

3
spec
View File

@ -2533,8 +2533,7 @@ endseg
beginseg
name "ovl_En_Hs"
include "build/src/overlays/actors/ovl_En_Hs/z_en_hs.o"
include "build/data/overlays/actors/z_en_hs.data.o"
include "build/data/overlays/actors/z_en_hs.reloc.o"
include "build/src/overlays/actors/ovl_En_Hs/ovl_En_Hs_reloc.o"
endseg
beginseg

View File

@ -1,4 +1,11 @@
/*
* File: z_en_hs.c
* Overlay: ovl_En_Hs
* Description: Carpenter's Son
*/
#include "z_en_hs.h"
#include "vt.h"
#define FLAGS 0x00000009
@ -9,12 +16,9 @@ void EnHs_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnHs_Update(Actor* thisx, GlobalContext* globalCtx);
void EnHs_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06000304;
extern UNK_TYPE D_06000528;
extern UNK_TYPE D_060005C0;
extern UNK_TYPE D_06006260;
void func_80A6E9AC(EnHs* this, GlobalContext* globalCtx);
void func_80A6E6B0(EnHs* this, GlobalContext* globalCtx);
/*
const ActorInit En_Hs_InitVars = {
ACTOR_EN_HS,
ACTORTYPE_NPC,
@ -26,43 +30,261 @@ const ActorInit En_Hs_InitVars = {
(ActorFunc)EnHs_Update,
(ActorFunc)EnHs_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E3A0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Init.s")
static ColliderCylinderInit sCylinderInit = {
{ COLTYPE_UNK10, 0x00, 0x11, 0x39, 0x10, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
{ 40, 40, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Destroy.s")
extern AnimationHeader D_06000304;
extern AnimationHeader D_06000528;
extern AnimationHeader D_060005C0;
extern FlexSkeletonHeader D_06006260;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E53C.s")
void func_80A6E3A0(EnHs* this, EnHsActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E5EC.s")
void EnHs_Init(Actor* thisx, GlobalContext* globalCtx) {
EnHs* this = THIS;
s32 pad;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E630.s")
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006260, &D_060005C0, this->limbDrawTable,
this->transitionDrawTable, 16);
SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060005C0);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = 0xFF;
Actor_SetScale(&this->actor, 0.01f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E6B0.s")
if (LINK_IS_CHILD) {
this->actor.params = 0;
} else {
this->actor.params = 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E6D8.s")
if (this->actor.params == 1) {
// chicken shop (adult era)
osSyncPrintf(VT_FGCOL(CYAN) " ヒヨコの店(大人の時) \n" VT_RST);
func_80A6E3A0(this, func_80A6E9AC);
if (gSaveContext.itemGetInf[3] & 1) {
// chicken shop closed
osSyncPrintf(VT_FGCOL(CYAN) " ヒヨコ屋閉店 \n" VT_RST);
Actor_Kill(&this->actor);
}
} else {
// chicken shop (child era)
osSyncPrintf(VT_FGCOL(CYAN) " ヒヨコの店(子人の時) \n" VT_RST);
func_80A6E3A0(this, func_80A6E9AC);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E70C.s")
this->unk_2A8 = 0;
this->actor.unk_1F = 6;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E740.s")
void EnHs_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnHs* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E7BC.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E8CC.s")
s32 func_80A6E53C(EnHs* this, GlobalContext* globalCtx, u16 textId, EnHsActionFunc actionFunc) {
s16 yawDiff;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6E9AC.s")
if (func_8002F194(&this->actor, globalCtx)) {
func_80A6E3A0(this, actionFunc);
return 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Update.s")
this->actor.textId = textId;
yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y;
if ((ABS(yawDiff) <= 0x2150) && (this->actor.xzDistFromLink < 100.0f)) {
this->unk_2A8 |= 1;
func_8002F2CC(&this->actor, globalCtx, 100.0f);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6EC58.s")
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6ECBC.s")
void func_80A6E5EC(EnHs* this, GlobalContext* globalCtx) {
if (func_8002F334(&this->actor, globalCtx)) {
func_80A6E3A0(this, func_80A6E6B0);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6ECC8.s")
this->unk_2A8 |= 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6ECE8.s")
void func_80A6E630(EnHs* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && func_80106BC8(globalCtx)) {
func_80088AA0(180);
func_80A6E3A0(this, func_80A6E6B0);
gSaveContext.eventInf[1] &= ~1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/func_80A6ED14.s")
this->unk_2A8 |= 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Draw.s")
void func_80A6E6B0(EnHs* this, GlobalContext* globalCtx) {
func_80A6E53C(this, globalCtx, 0x10B6, func_80A6E5EC);
}
void func_80A6E6D8(EnHs* this, GlobalContext* globalCtx) {
if (func_8002F334(&this->actor, globalCtx)) {
func_80A6E3A0(this, func_80A6E9AC);
}
}
void func_80A6E70C(EnHs* this, GlobalContext* globalCtx) {
if (func_8002F334(&this->actor, globalCtx)) {
func_80A6E3A0(this, func_80A6E9AC);
}
}
void func_80A6E740(EnHs* this, GlobalContext* globalCtx) {
if (Actor_HasParent(&this->actor, globalCtx)) {
this->actor.parent = NULL;
func_80A6E3A0(this, func_80A6E630);
} else {
func_8002F434(&this->actor, globalCtx, GI_ODD_MUSHROOM, 10000.0f, 50.0f);
}
this->unk_2A8 |= 1;
}
void func_80A6E7BC(EnHs* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && func_80106BC8(globalCtx)) {
switch (globalCtx->msgCtx.choiceIndex) {
case 0:
func_80A6E3A0(this, func_80A6E740);
func_8002F434(&this->actor, globalCtx, GI_ODD_MUSHROOM, 10000.0f, 50.0f);
break;
case 1:
func_8010B720(globalCtx, 0x10B4);
func_80A6E3A0(this, func_80A6E70C);
break;
}
SkelAnime_ChangeAnim(&this->skelAnime, &D_060005C0, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060005C0), 0, 8.0f);
}
this->unk_2A8 |= 1;
}
void func_80A6E8CC(EnHs* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && func_80106BC8(globalCtx)) {
func_8010B720(globalCtx, 0x10B3);
func_80A6E3A0(this, func_80A6E7BC);
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000528, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000528), 0, 8.0f);
}
if (this->unk_2AA > 0) {
this->unk_2AA--;
if (this->unk_2AA == 0) {
func_8002F7DC(&player->actor, NA_SE_EV_CHICKEN_CRY_M);
}
}
this->unk_2A8 |= 1;
}
void func_80A6E9AC(EnHs* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s16 yawDiff;
if (func_8002F194(&this->actor, globalCtx)) {
if (func_8002F368(globalCtx) == 7) {
player->actor.textId = 0x10B2;
func_80A6E3A0(this, func_80A6E8CC);
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000304, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000304), 0,
8.0f);
this->unk_2AA = 40;
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
} else {
player->actor.textId = 0x10B1;
func_80A6E3A0(this, func_80A6E6D8);
}
} else {
yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y;
this->actor.textId = 0x10B1;
if ((ABS(yawDiff) <= 0x2150) && (this->actor.xzDistFromLink < 100.0f)) {
func_8002F298(&this->actor, globalCtx, 100.0f, 7);
}
}
}
void EnHs_Update(Actor* thisx, GlobalContext* globalCtx) {
EnHs* this = THIS;
s32 pad;
Collider_CylinderUpdate(thisx, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
this->skelAnime.animCurrentFrame = 0.0f;
}
this->actionFunc(this, globalCtx);
if (this->unk_2A8 & 1) {
func_80038290(globalCtx, &this->actor, &this->unk_29C, &this->unk_2A2, this->actor.posRot2.pos);
this->unk_2A8 &= ~1;
} else {
Math_SmoothScaleMaxMinS(&this->unk_29C.x, 12800, 6, 6200, 100);
Math_SmoothScaleMaxMinS(&this->unk_29C.y, 0, 6, 6200, 100);
Math_SmoothScaleMaxMinS(&this->unk_2A2.x, 0, 6, 6200, 100);
Math_SmoothScaleMaxMinS(&this->unk_2A2.y, 0, 6, 6200, 100);
}
}
s32 EnHs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
EnHs* this = THIS;
switch (limbIndex) {
case 9:
rot->x += this->unk_29C.y;
rot->z += this->unk_29C.x;
break;
case 10:
*dList = NULL;
return 0;
case 11:
*dList = NULL;
return 0;
case 12:
if (this->actor.params == 1) {
*dList = NULL;
return 0;
}
break;
case 13:
if (this->actor.params == 1) {
*dList = NULL;
return 0;
}
break;
}
return 0;
}
void EnHs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
static Vec3f D_80A6EDFC = { 300.0f, 1000.0f, 0.0f };
EnHs* this = THIS;
if (limbIndex == 9) {
Matrix_MultVec3f(&D_80A6EDFC, &this->actor.posRot2.pos);
}
}
void EnHs_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHs* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
EnHs_OverrideLimbDraw, EnHs_PostLimbDraw, this);
}

View File

@ -6,9 +6,19 @@
struct EnHs;
typedef void (*EnHsActionFunc)(struct EnHs*, GlobalContext*);
typedef struct EnHs {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x164];
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
/* 0x01DC */ Vec3s limbDrawTable[16];
/* 0x023C */ Vec3s transitionDrawTable[16];
/* 0x029C */ Vec3s unk_29C;
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ u16 unk_2A8;
/* 0x02AA */ s16 unk_2AA;
/* 0x02AC */ EnHsActionFunc actionFunc;
} EnHs; // size = 0x02B0
extern const ActorInit En_Hs_InitVars;