mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-14 05:19:36 +00:00
en_fu OK (#126)
* 1 function left * 1 function left * en_fu OK, still need to document * en_fu OK * spec comment * remove asm files * clang and final fixes * fix floormas formatting things * pr suggestions * pr suggestions 2
This commit is contained in:
parent
08d9fee6e4
commit
2a7bdc5c28
26 changed files with 305 additions and 929 deletions
|
@ -1,12 +0,0 @@
|
|||
glabel EnFu_Destroy
|
||||
/* 00114 80A1D924 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00118 80A1D928 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 0011C 80A1D92C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00120 80A1D930 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00124 80A1D934 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 00128 80A1D938 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
|
||||
/* 0012C 80A1D93C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00130 80A1D940 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00134 80A1D944 03E00008 */ jr $ra
|
||||
/* 00138 80A1D948 00000000 */ nop
|
|
@ -1,96 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A1E470
|
||||
.asciz "../z_en_fu.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A1E480
|
||||
.asciz "../z_en_fu.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnFu_Draw
|
||||
/* 00A9C 80A1E2AC 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
|
||||
/* 00AA0 80A1E2B0 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00AA4 80A1E2B4 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00AA8 80A1E2B8 AFA5005C */ sw $a1, 0x005C($sp)
|
||||
/* 00AAC 80A1E2BC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00AB0 80A1E2C0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00AB4 80A1E2C4 3C0680A2 */ lui $a2, %hi(D_80A1E470) ## $a2 = 80A20000
|
||||
/* 00AB8 80A1E2C8 24C6E470 */ addiu $a2, $a2, %lo(D_80A1E470) ## $a2 = 80A1E470
|
||||
/* 00ABC 80A1E2CC 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
|
||||
/* 00AC0 80A1E2D0 24070305 */ addiu $a3, $zero, 0x0305 ## $a3 = 00000305
|
||||
/* 00AC4 80A1E2D4 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00AC8 80A1E2D8 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00ACC 80A1E2DC 8FAF005C */ lw $t7, 0x005C($sp)
|
||||
/* 00AD0 80A1E2E0 0C0250F2 */ jal func_800943C8
|
||||
/* 00AD4 80A1E2E4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 00AD8 80A1E2E8 8FA8004C */ lw $t0, 0x004C($sp)
|
||||
/* 00ADC 80A1E2EC 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
|
||||
/* 00AE0 80A1E2F0 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
|
||||
/* 00AE4 80A1E2F4 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
|
||||
/* 00AE8 80A1E2F8 3C0480A2 */ lui $a0, %hi(D_80A1E458) ## $a0 = 80A20000
|
||||
/* 00AEC 80A1E2FC 3C068016 */ lui $a2, %hi(gSegments)
|
||||
/* 00AF0 80A1E300 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
|
||||
/* 00AF4 80A1E304 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
|
||||
/* 00AF8 80A1E308 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
|
||||
/* 00AFC 80A1E30C 960902AA */ lhu $t1, 0x02AA($s0) ## 000002AA
|
||||
/* 00B00 80A1E310 24C66FA8 */ addiu $a2, %lo(gSegments)
|
||||
/* 00B04 80A1E314 3C0500FF */ lui $a1, 0x00FF ## $a1 = 00FF0000
|
||||
/* 00B08 80A1E318 00095080 */ sll $t2, $t1, 2
|
||||
/* 00B0C 80A1E31C 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 00B10 80A1E320 8C84E458 */ lw $a0, %lo(D_80A1E458)($a0)
|
||||
/* 00B14 80A1E324 34A5FFFF */ ori $a1, $a1, 0xFFFF ## $a1 = 00FFFFFF
|
||||
/* 00B18 80A1E328 3C078000 */ lui $a3, 0x8000 ## $a3 = 80000000
|
||||
/* 00B1C 80A1E32C 00046100 */ sll $t4, $a0, 4
|
||||
/* 00B20 80A1E330 000C6F02 */ srl $t5, $t4, 28
|
||||
/* 00B24 80A1E334 000D7080 */ sll $t6, $t5, 2
|
||||
/* 00B28 80A1E338 00CE7821 */ addu $t7, $a2, $t6
|
||||
/* 00B2C 80A1E33C 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000
|
||||
/* 00B30 80A1E340 00855824 */ and $t3, $a0, $a1
|
||||
/* 00B34 80A1E344 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
|
||||
/* 00B38 80A1E348 0178C821 */ addu $t9, $t3, $t8
|
||||
/* 00B3C 80A1E34C 03274821 */ addu $t1, $t9, $a3
|
||||
/* 00B40 80A1E350 AC690004 */ sw $t1, 0x0004($v1) ## 00000004
|
||||
/* 00B44 80A1E354 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
|
||||
/* 00B48 80A1E358 358C0024 */ ori $t4, $t4, 0x0024 ## $t4 = DB060024
|
||||
/* 00B4C 80A1E35C 3C0480A2 */ lui $a0, %hi(D_80A1E460) ## $a0 = 80A20000
|
||||
/* 00B50 80A1E360 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
|
||||
/* 00B54 80A1E364 AD0A02C0 */ sw $t2, 0x02C0($t0) ## 000002C0
|
||||
/* 00B58 80A1E368 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
|
||||
/* 00B5C 80A1E36C 960D02AA */ lhu $t5, 0x02AA($s0) ## 000002AA
|
||||
/* 00B60 80A1E370 000D7080 */ sll $t6, $t5, 2
|
||||
/* 00B64 80A1E374 008E2021 */ addu $a0, $a0, $t6
|
||||
/* 00B68 80A1E378 8C84E460 */ lw $a0, %lo(D_80A1E460)($a0)
|
||||
/* 00B6C 80A1E37C 3C0E80A2 */ lui $t6, %hi(func_80A1E110) ## $t6 = 80A20000
|
||||
/* 00B70 80A1E380 25CEE110 */ addiu $t6, $t6, %lo(func_80A1E110) ## $t6 = 80A1E110
|
||||
/* 00B74 80A1E384 00045900 */ sll $t3, $a0, 4
|
||||
/* 00B78 80A1E388 000BC702 */ srl $t8, $t3, 28
|
||||
/* 00B7C 80A1E38C 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00B80 80A1E390 00D94821 */ addu $t1, $a2, $t9
|
||||
/* 00B84 80A1E394 8D2A0000 */ lw $t2, 0x0000($t1) ## 00000000
|
||||
/* 00B88 80A1E398 00857824 */ and $t7, $a0, $a1
|
||||
/* 00B8C 80A1E39C 3C0B80A2 */ lui $t3, %hi(func_80A1E26C) ## $t3 = 80A20000
|
||||
/* 00B90 80A1E3A0 01EA6021 */ addu $t4, $t7, $t2
|
||||
/* 00B94 80A1E3A4 01876821 */ addu $t5, $t4, $a3
|
||||
/* 00B98 80A1E3A8 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004
|
||||
/* 00B9C 80A1E3AC 9207019A */ lbu $a3, 0x019A($s0) ## 0000019A
|
||||
/* 00BA0 80A1E3B0 8E0601B8 */ lw $a2, 0x01B8($s0) ## 000001B8
|
||||
/* 00BA4 80A1E3B4 8E05019C */ lw $a1, 0x019C($s0) ## 0000019C
|
||||
/* 00BA8 80A1E3B8 256BE26C */ addiu $t3, $t3, %lo(func_80A1E26C) ## $t3 = 80A1E26C
|
||||
/* 00BAC 80A1E3BC AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 00BB0 80A1E3C0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00BB4 80A1E3C4 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00BB8 80A1E3C8 0C0286B2 */ jal SkelAnime_DrawSV
|
||||
/* 00BBC 80A1E3CC 8FA4005C */ lw $a0, 0x005C($sp)
|
||||
/* 00BC0 80A1E3D0 8FB8005C */ lw $t8, 0x005C($sp)
|
||||
/* 00BC4 80A1E3D4 3C0680A2 */ lui $a2, %hi(D_80A1E480) ## $a2 = 80A20000
|
||||
/* 00BC8 80A1E3D8 24C6E480 */ addiu $a2, $a2, %lo(D_80A1E480) ## $a2 = 80A1E480
|
||||
/* 00BCC 80A1E3DC 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
|
||||
/* 00BD0 80A1E3E0 24070317 */ addiu $a3, $zero, 0x0317 ## $a3 = 00000317
|
||||
/* 00BD4 80A1E3E4 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00BD8 80A1E3E8 8F050000 */ lw $a1, 0x0000($t8) ## 00000000
|
||||
/* 00BDC 80A1E3EC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00BE0 80A1E3F0 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00BE4 80A1E3F4 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
|
||||
/* 00BE8 80A1E3F8 03E00008 */ jr $ra
|
||||
/* 00BEC 80A1E3FC 00000000 */ nop
|
|
@ -1,76 +0,0 @@
|
|||
glabel EnFu_Init
|
||||
/* 00000 80A1D810 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00004 80A1D814 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00008 80A1D818 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0000C 80A1D81C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00010 80A1D820 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00014 80A1D824 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 00018 80A1D828 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 0001C 80A1D82C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00020 80A1D830 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00024 80A1D834 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00028 80A1D838 3C074210 */ lui $a3, 0x4210 ## $a3 = 42100000
|
||||
/* 0002C 80A1D83C 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198
|
||||
/* 00030 80A1D840 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 00034 80A1D844 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
|
||||
/* 00038 80A1D848 260E01DC */ addiu $t6, $s0, 0x01DC ## $t6 = 000001DC
|
||||
/* 0003C 80A1D84C 260F023C */ addiu $t7, $s0, 0x023C ## $t7 = 0000023C
|
||||
/* 00040 80A1D850 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010
|
||||
/* 00044 80A1D854 AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 00048 80A1D858 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 0004C 80A1D85C AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00050 80A1D860 24E70B04 */ addiu $a3, $a3, 0x0B04 ## $a3 = 06000B04
|
||||
/* 00054 80A1D864 24C66C90 */ addiu $a2, $a2, 0x6C90 ## $a2 = 06006C90
|
||||
/* 00058 80A1D868 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 0005C 80A1D86C 0C0291BE */ jal SkelAnime_InitSV
|
||||
/* 00060 80A1D870 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00064 80A1D874 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00068 80A1D878 24A50B04 */ addiu $a1, $a1, 0x0B04 ## $a1 = 06000B04
|
||||
/* 0006C 80A1D87C 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
|
||||
/* 00070 80A1D880 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00074 80A1D884 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 00078 80A1D888 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 0007C 80A1D88C 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00080 80A1D890 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00084 80A1D894 3C0780A2 */ lui $a3, %hi(D_80A1E420) ## $a3 = 80A20000
|
||||
/* 00088 80A1D898 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 0008C 80A1D89C 24E7E420 */ addiu $a3, $a3, %lo(D_80A1E420) ## $a3 = 80A1E420
|
||||
/* 00090 80A1D8A0 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00094 80A1D8A4 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00098 80A1D8A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0009C 80A1D8AC 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
|
||||
/* 000A0 80A1D8B0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 000A4 80A1D8B4 A21900AE */ sb $t9, 0x00AE($s0) ## 000000AE
|
||||
/* 000A8 80A1D8B8 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 000AC 80A1D8BC 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 000B0 80A1D8C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 000B4 80A1D8C4 3C088016 */ lui $t0, %hi(gSaveContext+4)
|
||||
/* 000B8 80A1D8C8 8D08E664 */ lw $t0, %lo(gSaveContext+4)($t0)
|
||||
/* 000BC 80A1D8CC 3C0A80A2 */ lui $t2, %hi(func_80A1DE24) ## $t2 = 80A20000
|
||||
/* 000C0 80A1D8D0 254ADE24 */ addiu $t2, $t2, %lo(func_80A1DE24) ## $t2 = 80A1DE24
|
||||
/* 000C4 80A1D8D4 11000006 */ beq $t0, $zero, .L80A1D8F0
|
||||
/* 000C8 80A1D8D8 240C0006 */ addiu $t4, $zero, 0x0006 ## $t4 = 00000006
|
||||
/* 000CC 80A1D8DC 3C0980A2 */ lui $t1, %hi(func_80A1DA9C) ## $t1 = 80A20000
|
||||
/* 000D0 80A1D8E0 2529DA9C */ addiu $t1, $t1, %lo(func_80A1DA9C) ## $t1 = 80A1DA9C
|
||||
/* 000D4 80A1D8E4 AE0902AC */ sw $t1, 0x02AC($s0) ## 000002AC
|
||||
/* 000D8 80A1D8E8 10000007 */ beq $zero, $zero, .L80A1D908
|
||||
/* 000DC 80A1D8EC A60002AA */ sh $zero, 0x02AA($s0) ## 000002AA
|
||||
.L80A1D8F0:
|
||||
/* 000E0 80A1D8F0 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 000E4 80A1D8F4 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
|
||||
/* 000E8 80A1D8F8 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 000EC 80A1D8FC AE0A02AC */ sw $t2, 0x02AC($s0) ## 000002AC
|
||||
/* 000F0 80A1D900 A60B02AA */ sh $t3, 0x02AA($s0) ## 000002AA
|
||||
/* 000F4 80A1D904 E60401B4 */ swc1 $f4, 0x01B4($s0) ## 000001B4
|
||||
.L80A1D908:
|
||||
/* 000F8 80A1D908 A60002A8 */ sh $zero, 0x02A8($s0) ## 000002A8
|
||||
/* 000FC 80A1D90C A20C001F */ sb $t4, 0x001F($s0) ## 0000001F
|
||||
/* 00100 80A1D910 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00104 80A1D914 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00108 80A1D918 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 0010C 80A1D91C 03E00008 */ jr $ra
|
||||
/* 00110 80A1D920 00000000 */ nop
|
|
@ -1,119 +0,0 @@
|
|||
glabel EnFu_Update
|
||||
/* 0075C 80A1DF6C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00760 80A1DF70 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00764 80A1DF74 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00768 80A1DF78 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 0076C 80A1DF7C AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00770 80A1DF80 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
|
||||
/* 00774 80A1DF84 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000014C
|
||||
/* 00778 80A1DF88 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 0077C 80A1DF8C AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 00780 80A1DF90 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00784 80A1DF94 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00788 80A1DF98 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 0078C 80A1DF9C 8FA60030 */ lw $a2, 0x0030($sp)
|
||||
/* 00790 80A1DFA0 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 00794 80A1DFA4 00812821 */ addu $a1, $a0, $at
|
||||
/* 00798 80A1DFA8 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 0079C 80A1DFAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007A0 80A1DFB0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 007A4 80A1DFB4 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
|
||||
/* 007A8 80A1DFB8 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 007AC 80A1DFBC 44060000 */ mfc1 $a2, $f0
|
||||
/* 007B0 80A1DFC0 44070000 */ mfc1 $a3, $f0
|
||||
/* 007B4 80A1DFC4 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 007B8 80A1DFC8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 007BC 80A1DFCC 0C00B92D */ jal func_8002E4B4
|
||||
/* 007C0 80A1DFD0 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 007C4 80A1DFD4 960F02A8 */ lhu $t7, 0x02A8($s0) ## 000002A8
|
||||
/* 007C8 80A1DFD8 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
|
||||
/* 007CC 80A1DFDC 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
|
||||
/* 007D0 80A1DFE0 57000014 */ bnel $t8, $zero, .L80A1E034
|
||||
/* 007D4 80A1DFE4 8E1902AC */ lw $t9, 0x02AC($s0) ## 000002AC
|
||||
/* 007D8 80A1DFE8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 007DC 80A1DFEC AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 007E0 80A1DFF0 50400010 */ beql $v0, $zero, .L80A1E034
|
||||
/* 007E4 80A1DFF4 8E1902AC */ lw $t9, 0x02AC($s0) ## 000002AC
|
||||
/* 007E8 80A1DFF8 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 007EC 80A1DFFC 8E0401A0 */ lw $a0, 0x01A0($s0) ## 000001A0
|
||||
/* 007F0 80A1E000 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 007F4 80A1E004 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 007F8 80A1E008 8E0501A0 */ lw $a1, 0x01A0($s0) ## 000001A0
|
||||
/* 007FC 80A1E00C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00800 80A1E010 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 00804 80A1E014 44070000 */ mfc1 $a3, $f0
|
||||
/* 00808 80A1E018 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 0080C 80A1E01C 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 00810 80A1E020 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00814 80A1E024 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00818 80A1E028 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 0081C 80A1E02C E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 00820 80A1E030 8E1902AC */ lw $t9, 0x02AC($s0) ## 000002AC
|
||||
.L80A1E034:
|
||||
/* 00824 80A1E034 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00828 80A1E038 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 0082C 80A1E03C 0320F809 */ jalr $ra, $t9
|
||||
/* 00830 80A1E040 00000000 */ nop
|
||||
/* 00834 80A1E044 960802A8 */ lhu $t0, 0x02A8($s0) ## 000002A8
|
||||
/* 00838 80A1E048 2604029C */ addiu $a0, $s0, 0x029C ## $a0 = 0000029C
|
||||
/* 0083C 80A1E04C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00840 80A1E050 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000
|
||||
/* 00844 80A1E054 1120001E */ beq $t1, $zero, .L80A1E0D0
|
||||
/* 00848 80A1E058 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 0084C 80A1E05C 240A0064 */ addiu $t2, $zero, 0x0064 ## $t2 = 00000064
|
||||
/* 00850 80A1E060 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 00854 80A1E064 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00858 80A1E068 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
|
||||
/* 0085C 80A1E06C 240B0064 */ addiu $t3, $zero, 0x0064 ## $t3 = 00000064
|
||||
/* 00860 80A1E070 AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 00864 80A1E074 2604029E */ addiu $a0, $s0, 0x029E ## $a0 = 0000029E
|
||||
/* 00868 80A1E078 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0086C 80A1E07C 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 00870 80A1E080 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00874 80A1E084 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
|
||||
/* 00878 80A1E088 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064
|
||||
/* 0087C 80A1E08C AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 00880 80A1E090 260402A2 */ addiu $a0, $s0, 0x02A2 ## $a0 = 000002A2
|
||||
/* 00884 80A1E094 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00888 80A1E098 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 0088C 80A1E09C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00890 80A1E0A0 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
|
||||
/* 00894 80A1E0A4 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
|
||||
/* 00898 80A1E0A8 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 0089C 80A1E0AC 260402A4 */ addiu $a0, $s0, 0x02A4 ## $a0 = 000002A4
|
||||
/* 008A0 80A1E0B0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 008A4 80A1E0B4 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 008A8 80A1E0B8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 008AC 80A1E0BC 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
|
||||
/* 008B0 80A1E0C0 960E02A8 */ lhu $t6, 0x02A8($s0) ## 000002A8
|
||||
/* 008B4 80A1E0C4 31CFFFFE */ andi $t7, $t6, 0xFFFE ## $t7 = 00000000
|
||||
/* 008B8 80A1E0C8 1000000C */ beq $zero, $zero, .L80A1E0FC
|
||||
/* 008BC 80A1E0CC A60F02A8 */ sh $t7, 0x02A8($s0) ## 000002A8
|
||||
.L80A1E0D0:
|
||||
/* 008C0 80A1E0D0 8E190038 */ lw $t9, 0x0038($s0) ## 00000038
|
||||
/* 008C4 80A1E0D4 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 008C8 80A1E0D8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 008CC 80A1E0DC AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 008D0 80A1E0E0 8E18003C */ lw $t8, 0x003C($s0) ## 0000003C
|
||||
/* 008D4 80A1E0E4 2606029C */ addiu $a2, $s0, 0x029C ## $a2 = 0000029C
|
||||
/* 008D8 80A1E0E8 260702A2 */ addiu $a3, $s0, 0x02A2 ## $a3 = 000002A2
|
||||
/* 008DC 80A1E0EC AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 008E0 80A1E0F0 8E190040 */ lw $t9, 0x0040($s0) ## 00000040
|
||||
/* 008E4 80A1E0F4 0C00E0A4 */ jal func_80038290
|
||||
/* 008E8 80A1E0F8 AFB90018 */ sw $t9, 0x0018($sp)
|
||||
.L80A1E0FC:
|
||||
/* 008EC 80A1E0FC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 008F0 80A1E100 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 008F4 80A1E104 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 008F8 80A1E108 03E00008 */ jr $ra
|
||||
/* 008FC 80A1E10C 00000000 */ nop
|
|
@ -1,53 +0,0 @@
|
|||
glabel func_80A1D94C
|
||||
/* 0013C 80A1D94C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00140 80A1D950 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00144 80A1D954 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00148 80A1D958 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 0014C 80A1D95C AFA70024 */ sw $a3, 0x0024($sp)
|
||||
/* 00150 80A1D960 0C00BC65 */ jal func_8002F194
|
||||
/* 00154 80A1D964 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00158 80A1D968 10400005 */ beq $v0, $zero, .L80A1D980
|
||||
/* 0015C 80A1D96C 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00160 80A1D970 8FAE0024 */ lw $t6, 0x0024($sp)
|
||||
/* 00164 80A1D974 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00168 80A1D978 1000001E */ beq $zero, $zero, .L80A1D9F4
|
||||
/* 0016C 80A1D97C AC8E02AC */ sw $t6, 0x02AC($a0) ## 000002AC
|
||||
.L80A1D980:
|
||||
/* 00170 80A1D980 8498008A */ lh $t8, 0x008A($a0) ## 0000008A
|
||||
/* 00174 80A1D984 849900B6 */ lh $t9, 0x00B6($a0) ## 000000B6
|
||||
/* 00178 80A1D988 97AF0022 */ lhu $t7, 0x0022($sp)
|
||||
/* 0017C 80A1D98C 03191023 */ subu $v0, $t8, $t9
|
||||
/* 00180 80A1D990 00021400 */ sll $v0, $v0, 16
|
||||
/* 00184 80A1D994 00021403 */ sra $v0, $v0, 16
|
||||
/* 00188 80A1D998 04400003 */ bltz $v0, .L80A1D9A8
|
||||
/* 0018C 80A1D99C A48F010E */ sh $t7, 0x010E($a0) ## 0000010E
|
||||
/* 00190 80A1D9A0 10000002 */ beq $zero, $zero, .L80A1D9AC
|
||||
/* 00194 80A1D9A4 00401825 */ or $v1, $v0, $zero ## $v1 = 00000001
|
||||
.L80A1D9A8:
|
||||
/* 00198 80A1D9A8 00021823 */ subu $v1, $zero, $v0
|
||||
.L80A1D9AC:
|
||||
/* 0019C 80A1D9AC 28612301 */ slti $at, $v1, 0x2301
|
||||
/* 001A0 80A1D9B0 1020000C */ beq $at, $zero, .L80A1D9E4
|
||||
/* 001A4 80A1D9B4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 001A8 80A1D9B8 44810000 */ mtc1 $at, $f0 ## $f0 = 100.00
|
||||
/* 001AC 80A1D9BC C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 001B0 80A1D9C0 4600203C */ c.lt.s $f4, $f0
|
||||
/* 001B4 80A1D9C4 00000000 */ nop
|
||||
/* 001B8 80A1D9C8 45020007 */ bc1fl .L80A1D9E8
|
||||
/* 001BC 80A1D9CC 948802A8 */ lhu $t0, 0x02A8($a0) ## 000002A8
|
||||
/* 001C0 80A1D9D0 44060000 */ mfc1 $a2, $f0
|
||||
/* 001C4 80A1D9D4 0C00BCB3 */ jal func_8002F2CC
|
||||
/* 001C8 80A1D9D8 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 001CC 80A1D9DC 10000005 */ beq $zero, $zero, .L80A1D9F4
|
||||
/* 001D0 80A1D9E0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A1D9E4:
|
||||
/* 001D4 80A1D9E4 948802A8 */ lhu $t0, 0x02A8($a0) ## 000002A8
|
||||
.L80A1D9E8:
|
||||
/* 001D8 80A1D9E8 35090001 */ ori $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 001DC 80A1D9EC A48902A8 */ sh $t1, 0x02A8($a0) ## 000002A8
|
||||
/* 001E0 80A1D9F0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A1D9F4:
|
||||
/* 001E4 80A1D9F4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 001E8 80A1D9F8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 001EC 80A1D9FC 03E00008 */ jr $ra
|
||||
/* 001F0 80A1DA00 00000000 */ nop
|
|
@ -1,42 +0,0 @@
|
|||
glabel func_80A1DA04
|
||||
/* 001F4 80A1DA04 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 001F8 80A1DA08 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 001FC 80A1DA0C AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00200 80A1DA10 0C00BCCD */ jal func_8002F334
|
||||
/* 00204 80A1DA14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00208 80A1DA18 1040001B */ beq $v0, $zero, .L80A1DA88
|
||||
/* 0020C 80A1DA1C 3C1880A2 */ lui $t8, %hi(func_80A1DA9C) ## $t8 = 80A20000
|
||||
/* 00210 80A1DA20 960E02A8 */ lhu $t6, 0x02A8($s0) ## 000002A8
|
||||
/* 00214 80A1DA24 8E0801A0 */ lw $t0, 0x01A0($s0) ## 000001A0
|
||||
/* 00218 80A1DA28 3C190600 */ lui $t9, 0x0600 ## $t9 = 06000000
|
||||
/* 0021C 80A1DA2C 2718DA9C */ addiu $t8, $t8, %lo(func_80A1DA9C) ## $t8 = 80A1DA9C
|
||||
/* 00220 80A1DA30 2739057C */ addiu $t9, $t9, 0x057C ## $t9 = 0600057C
|
||||
/* 00224 80A1DA34 31CFFFFD */ andi $t7, $t6, 0xFFFD ## $t7 = 00000000
|
||||
/* 00228 80A1DA38 A60F02A8 */ sh $t7, 0x02A8($s0) ## 000002A8
|
||||
/* 0022C 80A1DA3C 17280012 */ bne $t9, $t0, .L80A1DA88
|
||||
/* 00230 80A1DA40 AE1802AC */ sw $t8, 0x02AC($s0) ## 000002AC
|
||||
/* 00234 80A1DA44 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00238 80A1DA48 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 0023C 80A1DA4C 24840B04 */ addiu $a0, $a0, 0x0B04 ## $a0 = 06000B04
|
||||
/* 00240 80A1DA50 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00244 80A1DA54 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
|
||||
/* 00248 80A1DA58 44814000 */ mtc1 $at, $f8 ## $f8 = -4.00
|
||||
/* 0024C 80A1DA5C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00250 80A1DA60 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00254 80A1DA64 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
|
||||
/* 00258 80A1DA68 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 0025C 80A1DA6C 24A50B04 */ addiu $a1, $a1, 0x0B04 ## $a1 = 06000B04
|
||||
/* 00260 80A1DA70 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
|
||||
/* 00264 80A1DA74 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00268 80A1DA78 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 0026C 80A1DA7C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00270 80A1DA80 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00274 80A1DA84 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
.L80A1DA88:
|
||||
/* 00278 80A1DA88 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 0027C 80A1DA8C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00280 80A1DA90 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00284 80A1DA94 03E00008 */ jr $ra
|
||||
/* 00288 80A1DA98 00000000 */ nop
|
|
@ -1,54 +0,0 @@
|
|||
glabel func_80A1DA9C
|
||||
/* 0028C 80A1DA9C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00290 80A1DAA0 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00294 80A1DAA4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00298 80A1DAA8 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 0029C 80A1DAAC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 002A0 80A1DAB0 0C01B0D8 */ jal Text_GetFaceReaction
|
||||
/* 002A4 80A1DAB4 2405000B */ addiu $a1, $zero, 0x000B ## $a1 = 0000000B
|
||||
/* 002A8 80A1DAB8 14400009 */ bne $v0, $zero, .L80A1DAE0
|
||||
/* 002AC 80A1DABC 3046FFFF */ andi $a2, $v0, 0xFFFF ## $a2 = 00000000
|
||||
/* 002B0 80A1DAC0 3C0E8016 */ lui $t6, %hi(gSaveContext+0xee0)
|
||||
/* 002B4 80A1DAC4 95CEF540 */ lhu $t6, %lo(gSaveContext+0xee0)($t6)
|
||||
/* 002B8 80A1DAC8 24065032 */ addiu $a2, $zero, 0x5032 ## $a2 = 00005032
|
||||
/* 002BC 80A1DACC 31CF0080 */ andi $t7, $t6, 0x0080 ## $t7 = 00000000
|
||||
/* 002C0 80A1DAD0 11E00003 */ beq $t7, $zero, .L80A1DAE0
|
||||
/* 002C4 80A1DAD4 00000000 */ nop
|
||||
/* 002C8 80A1DAD8 10000001 */ beq $zero, $zero, .L80A1DAE0
|
||||
/* 002CC 80A1DADC 24065033 */ addiu $a2, $zero, 0x5033 ## $a2 = 00005033
|
||||
.L80A1DAE0:
|
||||
/* 002D0 80A1DAE0 3C0780A2 */ lui $a3, %hi(func_80A1DA04) ## $a3 = 80A20000
|
||||
/* 002D4 80A1DAE4 24E7DA04 */ addiu $a3, $a3, %lo(func_80A1DA04) ## $a3 = 80A1DA04
|
||||
/* 002D8 80A1DAE8 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 002DC 80A1DAEC 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 002E0 80A1DAF0 0C287653 */ jal func_80A1D94C
|
||||
/* 002E4 80A1DAF4 A7A6002E */ sh $a2, 0x002E($sp)
|
||||
/* 002E8 80A1DAF8 10400015 */ beq $v0, $zero, .L80A1DB50
|
||||
/* 002EC 80A1DAFC 97A6002E */ lhu $a2, 0x002E($sp)
|
||||
/* 002F0 80A1DB00 24015033 */ addiu $at, $zero, 0x5033 ## $at = 00005033
|
||||
/* 002F4 80A1DB04 14C10012 */ bne $a2, $at, .L80A1DB50
|
||||
/* 002F8 80A1DB08 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 002FC 80A1DB0C 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00300 80A1DB10 2484057C */ addiu $a0, $a0, 0x057C ## $a0 = 0600057C
|
||||
/* 00304 80A1DB14 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00308 80A1DB18 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
|
||||
/* 0030C 80A1DB1C 44814000 */ mtc1 $at, $f8 ## $f8 = -4.00
|
||||
/* 00310 80A1DB20 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00314 80A1DB24 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 00318 80A1DB28 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 0031C 80A1DB2C 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
|
||||
/* 00320 80A1DB30 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00324 80A1DB34 24A5057C */ addiu $a1, $a1, 0x057C ## $a1 = 0600057C
|
||||
/* 00328 80A1DB38 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 0032C 80A1DB3C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00330 80A1DB40 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00334 80A1DB44 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00338 80A1DB48 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 0033C 80A1DB4C 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
|
||||
.L80A1DB50:
|
||||
/* 00340 80A1DB50 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00344 80A1DB54 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00348 80A1DB58 03E00008 */ jr $ra
|
||||
/* 0034C 80A1DB5C 00000000 */ nop
|
|
@ -1,18 +0,0 @@
|
|||
glabel func_80A1DB60
|
||||
/* 00350 80A1DB60 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
|
||||
/* 00354 80A1DB64 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00358 80A1DB68 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 0035C 80A1DB6C 15C0000A */ bne $t6, $zero, .L80A1DB98
|
||||
/* 00360 80A1DB70 3C0F80A2 */ lui $t7, %hi(func_80A1DE24) ## $t7 = 80A20000
|
||||
/* 00364 80A1DB74 25EFDE24 */ addiu $t7, $t7, %lo(func_80A1DE24) ## $t7 = 80A1DE24
|
||||
/* 00368 80A1DB78 AC8F02AC */ sw $t7, 0x02AC($a0) ## 000002AC
|
||||
/* 0036C 80A1DB7C 94580EDE */ lhu $t8, 0x0EDE($v0) ## 8015F53E
|
||||
/* 00370 80A1DB80 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00374 80A1DB84 00250821 */ addu $at, $at, $a1
|
||||
/* 00378 80A1DB88 37190800 */ ori $t9, $t8, 0x0800 ## $t9 = 00000800
|
||||
/* 0037C 80A1DB8C A4590EDE */ sh $t9, 0x0EDE($v0) ## 8015F53E
|
||||
/* 00380 80A1DB90 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
|
||||
/* 00384 80A1DB94 A42804C6 */ sh $t0, 0x04C6($at) ## 000104C6
|
||||
.L80A1DB98:
|
||||
/* 00388 80A1DB98 03E00008 */ jr $ra
|
||||
/* 0038C 80A1DB9C 00000000 */ nop
|
|
@ -1,15 +0,0 @@
|
|||
glabel func_80A1DBA0
|
||||
/* 00390 80A1DBA0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00394 80A1DBA4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00398 80A1DBA8 0C00BCCD */ jal func_8002F334
|
||||
/* 0039C 80A1DBAC AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 003A0 80A1DBB0 10400004 */ beq $v0, $zero, .L80A1DBC4
|
||||
/* 003A4 80A1DBB4 8FAF0018 */ lw $t7, 0x0018($sp)
|
||||
/* 003A8 80A1DBB8 3C0E80A2 */ lui $t6, %hi(func_80A1DE24) ## $t6 = 80A20000
|
||||
/* 003AC 80A1DBBC 25CEDE24 */ addiu $t6, $t6, %lo(func_80A1DE24) ## $t6 = 80A1DE24
|
||||
/* 003B0 80A1DBC0 ADEE02AC */ sw $t6, 0x02AC($t7) ## 000002AC
|
||||
.L80A1DBC4:
|
||||
/* 003B4 80A1DBC4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003B8 80A1DBC8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003BC 80A1DBCC 03E00008 */ jr $ra
|
||||
/* 003C0 80A1DBD0 00000000 */ nop
|
|
@ -1,98 +0,0 @@
|
|||
glabel func_80A1DBD4
|
||||
/* 003C4 80A1DBD4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 003C8 80A1DBD8 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
|
||||
/* 003CC 80A1DBDC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 003D0 80A1DBE0 00451021 */ addu $v0, $v0, $a1
|
||||
/* 003D4 80A1DBE4 944204C6 */ lhu $v0, 0x04C6($v0) ## 000104C6
|
||||
/* 003D8 80A1DBE8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 003DC 80A1DBEC 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 003E0 80A1DBF0 28410004 */ slti $at, $v0, 0x0004
|
||||
/* 003E4 80A1DBF4 1420000E */ bne $at, $zero, .L80A1DC30
|
||||
/* 003E8 80A1DBF8 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
|
||||
/* 003EC 80A1DBFC 3C0E80A2 */ lui $t6, %hi(func_80A1DE24) ## $t6 = 80A20000
|
||||
/* 003F0 80A1DC00 25CEDE24 */ addiu $t6, $t6, %lo(func_80A1DE24) ## $t6 = 80A1DE24
|
||||
/* 003F4 80A1DC04 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 003F8 80A1DC08 AC8E02AC */ sw $t6, 0x02AC($a0) ## 000002AC
|
||||
/* 003FC 80A1DC0C 00250821 */ addu $at, $at, $a1
|
||||
/* 00400 80A1DC10 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00404 80A1DC14 A42F04C6 */ sh $t7, 0x04C6($at) ## 000104C6
|
||||
/* 00408 80A1DC18 8C980004 */ lw $t8, 0x0004($a0) ## 00000004
|
||||
/* 0040C 80A1DC1C 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
|
||||
/* 00410 80A1DC20 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
|
||||
/* 00414 80A1DC24 0301C824 */ and $t9, $t8, $at
|
||||
/* 00418 80A1DC28 10000042 */ beq $zero, $zero, .L80A1DD34
|
||||
/* 0041C 80A1DC2C AC990004 */ sw $t9, 0x0004($a0) ## 00000004
|
||||
.L80A1DC30:
|
||||
/* 00420 80A1DC30 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00424 80A1DC34 1441002C */ bne $v0, $at, .L80A1DCE8
|
||||
/* 00428 80A1DC38 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 0042C 80A1DC3C AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00430 80A1DC40 0C01E221 */ jal func_80078884
|
||||
/* 00434 80A1DC44 AFA7001C */ sw $a3, 0x001C($sp)
|
||||
/* 00438 80A1DC48 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 0043C 80A1DC4C 3C020201 */ lui $v0, 0x0201 ## $v0 = 02010000
|
||||
/* 00440 80A1DC50 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
|
||||
/* 00444 80A1DC54 8CC90004 */ lw $t1, 0x0004($a2) ## 00000004
|
||||
/* 00448 80A1DC58 2442E080 */ addiu $v0, $v0, 0xE080 ## $v0 = 0200E080
|
||||
/* 0044C 80A1DC5C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
|
||||
/* 00450 80A1DC60 00025900 */ sll $t3, $v0, 4
|
||||
/* 00454 80A1DC64 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00458 80A1DC68 3C0880A2 */ lui $t0, %hi(func_80A1DB60) ## $t0 = 80A20000
|
||||
/* 0045C 80A1DC6C 000B6702 */ srl $t4, $t3, 28
|
||||
/* 00460 80A1DC70 01215024 */ and $t2, $t1, $at
|
||||
/* 00464 80A1DC74 2508DB60 */ addiu $t0, $t0, %lo(func_80A1DB60) ## $t0 = 80A1DB60
|
||||
/* 00468 80A1DC78 000C6880 */ sll $t5, $t4, 2
|
||||
/* 0046C 80A1DC7C 3C0E8016 */ lui $t6, %hi(gSegments)
|
||||
/* 00470 80A1DC80 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 00474 80A1DC84 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 00478 80A1DC88 ACC802AC */ sw $t0, 0x02AC($a2) ## 000002AC
|
||||
/* 0047C 80A1DC8C ACCA0004 */ sw $t2, 0x0004($a2) ## 00000004
|
||||
/* 00480 80A1DC90 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
|
||||
/* 00484 80A1DC94 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 00488 80A1DC98 00417824 */ and $t7, $v0, $at
|
||||
/* 0048C 80A1DC9C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00490 80A1DCA0 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 00494 80A1DCA4 0301C821 */ addu $t9, $t8, $at
|
||||
/* 00498 80A1DCA8 3C018016 */ lui $at, %hi(gSaveContext+0x1414)
|
||||
/* 0049C 80A1DCAC 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 004A0 80A1DCB0 AC991D68 */ sw $t9, 0x1D68($a0) ## 00001D68
|
||||
/* 004A4 80A1DCB4 A028FA74 */ sb $t0, %lo(gSaveContext+0x1414)($at)
|
||||
/* 004A8 80A1DCB8 0C021344 */ jal Item_Give
|
||||
/* 004AC 80A1DCBC 24050065 */ addiu $a1, $zero, 0x0065 ## $a1 = 00000065
|
||||
/* 004B0 80A1DCC0 8FA7001C */ lw $a3, 0x001C($sp)
|
||||
/* 004B4 80A1DCC4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 004B8 80A1DCC8 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 004BC 80A1DCCC 00270821 */ addu $at, $at, $a3
|
||||
/* 004C0 80A1DCD0 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 004C4 80A1DCD4 A42004C6 */ sh $zero, 0x04C6($at) ## 000104C6
|
||||
/* 004C8 80A1DCD8 94490EE0 */ lhu $t1, 0x0EE0($v0) ## 8015F540
|
||||
/* 004CC 80A1DCDC 352A0020 */ ori $t2, $t1, 0x0020 ## $t2 = 00000020
|
||||
/* 004D0 80A1DCE0 10000014 */ beq $zero, $zero, .L80A1DD34
|
||||
/* 004D4 80A1DCE4 A44A0EE0 */ sh $t2, 0x0EE0($v0) ## 8015F540
|
||||
.L80A1DCE8:
|
||||
/* 004D8 80A1DCE8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 004DC 80A1DCEC 5441000B */ bnel $v0, $at, .L80A1DD1C
|
||||
/* 004E0 80A1DCF0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 004E4 80A1DCF4 8C6B0680 */ lw $t3, 0x0680($v1) ## 00000680
|
||||
/* 004E8 80A1DCF8 3C01FEFF */ lui $at, 0xFEFF ## $at = FEFF0000
|
||||
/* 004EC 80A1DCFC 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FEFFFFFF
|
||||
/* 004F0 80A1DD00 3C0D80A2 */ lui $t5, %hi(func_80A1DE24) ## $t5 = 80A20000
|
||||
/* 004F4 80A1DD04 01616024 */ and $t4, $t3, $at
|
||||
/* 004F8 80A1DD08 AC6C0680 */ sw $t4, 0x0680($v1) ## 00000680
|
||||
/* 004FC 80A1DD0C 25ADDE24 */ addiu $t5, $t5, %lo(func_80A1DE24) ## $t5 = 80A1DE24
|
||||
/* 00500 80A1DD10 10000008 */ beq $zero, $zero, .L80A1DD34
|
||||
/* 00504 80A1DD14 ACCD02AC */ sw $t5, 0x02AC($a2) ## 000002AC
|
||||
/* 00508 80A1DD18 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
.L80A1DD1C:
|
||||
/* 0050C 80A1DD1C 54410006 */ bnel $v0, $at, .L80A1DD38
|
||||
/* 00510 80A1DD20 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00514 80A1DD24 8C6E0680 */ lw $t6, 0x0680($v1) ## 00000680
|
||||
/* 00518 80A1DD28 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
||||
/* 0051C 80A1DD2C 01C17825 */ or $t7, $t6, $at ## $t7 = 00800000
|
||||
/* 00520 80A1DD30 AC6F0680 */ sw $t7, 0x0680($v1) ## 00000680
|
||||
.L80A1DD34:
|
||||
/* 00524 80A1DD34 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A1DD38:
|
||||
/* 00528 80A1DD38 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0052C 80A1DD3C 03E00008 */ jr $ra
|
||||
/* 00530 80A1DD40 00000000 */ nop
|
|
@ -1,27 +0,0 @@
|
|||
glabel func_80A1DD44
|
||||
/* 00534 80A1DD44 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00538 80A1DD48 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0053C 80A1DD4C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00540 80A1DD50 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00544 80A1DD54 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
||||
/* 00548 80A1DD58 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 0054C 80A1DD5C 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 00550 80A1DD60 01C17825 */ or $t7, $t6, $at ## $t7 = 00800000
|
||||
/* 00554 80A1DD64 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 00558 80A1DD68 0C042F6F */ jal func_8010BDBC
|
||||
/* 0055C 80A1DD6C AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00560 80A1DD70 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
/* 00564 80A1DD74 14410008 */ bne $v0, $at, .L80A1DD98
|
||||
/* 00568 80A1DD78 8FA6001C */ lw $a2, 0x001C($sp)
|
||||
/* 0056C 80A1DD7C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00570 80A1DD80 0C042F56 */ jal func_8010BD58
|
||||
/* 00574 80A1DD84 2405001A */ addiu $a1, $zero, 0x001A ## $a1 = 0000001A
|
||||
/* 00578 80A1DD88 8FB90018 */ lw $t9, 0x0018($sp)
|
||||
/* 0057C 80A1DD8C 3C1880A2 */ lui $t8, %hi(func_80A1DBD4) ## $t8 = 80A20000
|
||||
/* 00580 80A1DD90 2718DBD4 */ addiu $t8, $t8, %lo(func_80A1DBD4) ## $t8 = 80A1DBD4
|
||||
/* 00584 80A1DD94 AF3802AC */ sw $t8, 0x02AC($t9) ## 000002AC
|
||||
.L80A1DD98:
|
||||
/* 00588 80A1DD98 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0058C 80A1DD9C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00590 80A1DDA0 03E00008 */ jr $ra
|
||||
/* 00594 80A1DDA4 00000000 */ nop
|
|
@ -1,33 +0,0 @@
|
|||
glabel func_80A1DDA8
|
||||
/* 00598 80A1DDA8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0059C 80A1DDAC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 005A0 80A1DDB0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 005A4 80A1DDB4 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 005A8 80A1DDB8 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
||||
/* 005AC 80A1DDBC 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 005B0 80A1DDC0 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 005B4 80A1DDC4 01C17825 */ or $t7, $t6, $at ## $t7 = 00800000
|
||||
/* 005B8 80A1DDC8 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 005BC 80A1DDCC 0C042F6F */ jal func_8010BDBC
|
||||
/* 005C0 80A1DDD0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 005C4 80A1DDD4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 005C8 80A1DDD8 5441000F */ bnel $v0, $at, .L80A1DE18
|
||||
/* 005CC 80A1DDDC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 005D0 80A1DDE0 8FA20018 */ lw $v0, 0x0018($sp)
|
||||
/* 005D4 80A1DDE4 24040004 */ addiu $a0, $zero, 0x0004 ## $a0 = 00000004
|
||||
/* 005D8 80A1DDE8 945802A8 */ lhu $t8, 0x02A8($v0) ## 000002A8
|
||||
/* 005DC 80A1DDEC 3319FFFD */ andi $t9, $t8, 0xFFFD ## $t9 = 00000000
|
||||
/* 005E0 80A1DDF0 0C03B616 */ jal func_800ED858
|
||||
/* 005E4 80A1DDF4 A45902A8 */ sh $t9, 0x02A8($v0) ## 000002A8
|
||||
/* 005E8 80A1DDF8 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 005EC 80A1DDFC 0C042F56 */ jal func_8010BD58
|
||||
/* 005F0 80A1DE00 2405000D */ addiu $a1, $zero, 0x000D ## $a1 = 0000000D
|
||||
/* 005F4 80A1DE04 8FA90018 */ lw $t1, 0x0018($sp)
|
||||
/* 005F8 80A1DE08 3C0880A2 */ lui $t0, %hi(func_80A1DD44) ## $t0 = 80A20000
|
||||
/* 005FC 80A1DE0C 2508DD44 */ addiu $t0, $t0, %lo(func_80A1DD44) ## $t0 = 80A1DD44
|
||||
/* 00600 80A1DE10 AD2802AC */ sw $t0, 0x02AC($t1) ## 000002AC
|
||||
/* 00604 80A1DE14 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A1DE18:
|
||||
/* 00608 80A1DE18 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0060C 80A1DE1C 03E00008 */ jr $ra
|
||||
/* 00610 80A1DE20 00000000 */ nop
|
|
@ -1,90 +0,0 @@
|
|||
glabel func_80A1DE24
|
||||
/* 00614 80A1DE24 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00618 80A1DE28 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0061C 80A1DE2C AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00620 80A1DE30 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00624 80A1DE34 3C198016 */ lui $t9, %hi(gSaveContext+0xede)
|
||||
/* 00628 80A1DE38 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
|
||||
/* 0062C 80A1DE3C 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
|
||||
/* 00630 80A1DE40 9739F53E */ lhu $t9, %lo(gSaveContext+0xede)($t9)
|
||||
/* 00634 80A1DE44 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
|
||||
/* 00638 80A1DE48 3C0180A2 */ lui $at, %hi(D_80A1E590) ## $at = 80A20000
|
||||
/* 0063C 80A1DE4C 01CFC023 */ subu $t8, $t6, $t7
|
||||
/* 00640 80A1DE50 33280800 */ andi $t0, $t9, 0x0800 ## $t0 = 00000000
|
||||
/* 00644 80A1DE54 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00648 80A1DE58 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 0064C 80A1DE5C 11000007 */ beq $t0, $zero, .L80A1DE7C
|
||||
/* 00650 80A1DE60 A438E590 */ sh $t8, %lo(D_80A1E590)($at)
|
||||
/* 00654 80A1DE64 3C0780A2 */ lui $a3, %hi(func_80A1DBA0) ## $a3 = 80A20000
|
||||
/* 00658 80A1DE68 24E7DBA0 */ addiu $a3, $a3, %lo(func_80A1DBA0) ## $a3 = 80A1DBA0
|
||||
/* 0065C 80A1DE6C 0C287653 */ jal func_80A1D94C
|
||||
/* 00660 80A1DE70 2406508E */ addiu $a2, $zero, 0x508E ## $a2 = 0000508E
|
||||
/* 00664 80A1DE74 10000039 */ beq $zero, $zero, .L80A1DF5C
|
||||
/* 00668 80A1DE78 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A1DE7C:
|
||||
/* 0066C 80A1DE7C 8C690680 */ lw $t1, 0x0680($v1) ## 00000680
|
||||
/* 00670 80A1DE80 240B5035 */ addiu $t3, $zero, 0x5035 ## $t3 = 00005035
|
||||
/* 00674 80A1DE84 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00678 80A1DE88 000951C0 */ sll $t2, $t1, 7
|
||||
/* 0067C 80A1DE8C 0541000D */ bgez $t2, .L80A1DEC4
|
||||
/* 00680 80A1DE90 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00684 80A1DE94 A60B010E */ sh $t3, 0x010E($s0) ## 0000010E
|
||||
/* 00688 80A1DE98 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0068C 80A1DE9C 3165FFFF */ andi $a1, $t3, 0xFFFF ## $a1 = 00005035
|
||||
/* 00690 80A1DEA0 0C042DA0 */ jal func_8010B680
|
||||
/* 00694 80A1DEA4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00698 80A1DEA8 960D02A8 */ lhu $t5, 0x02A8($s0) ## 000002A8
|
||||
/* 0069C 80A1DEAC 3C0C80A2 */ lui $t4, %hi(func_80A1DDA8) ## $t4 = 80A20000
|
||||
/* 006A0 80A1DEB0 258CDDA8 */ addiu $t4, $t4, %lo(func_80A1DDA8) ## $t4 = 80A1DDA8
|
||||
/* 006A4 80A1DEB4 35AE0002 */ ori $t6, $t5, 0x0002 ## $t6 = 00000002
|
||||
/* 006A8 80A1DEB8 AE0C02AC */ sw $t4, 0x02AC($s0) ## 000002AC
|
||||
/* 006AC 80A1DEBC 10000026 */ beq $zero, $zero, .L80A1DF58
|
||||
/* 006B0 80A1DEC0 A60E02A8 */ sh $t6, 0x02A8($s0) ## 000002A8
|
||||
.L80A1DEC4:
|
||||
/* 006B4 80A1DEC4 0C00BC65 */ jal func_8002F194
|
||||
/* 006B8 80A1DEC8 AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 006BC 80A1DECC 10400005 */ beq $v0, $zero, .L80A1DEE4
|
||||
/* 006C0 80A1DED0 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
/* 006C4 80A1DED4 3C0F80A2 */ lui $t7, %hi(func_80A1DBA0) ## $t7 = 80A20000
|
||||
/* 006C8 80A1DED8 25EFDBA0 */ addiu $t7, $t7, %lo(func_80A1DBA0) ## $t7 = 80A1DBA0
|
||||
/* 006CC 80A1DEDC 1000001E */ beq $zero, $zero, .L80A1DF58
|
||||
/* 006D0 80A1DEE0 AE0F02AC */ sw $t7, 0x02AC($s0) ## 000002AC
|
||||
.L80A1DEE4:
|
||||
/* 006D4 80A1DEE4 3C1880A2 */ lui $t8, %hi(D_80A1E590) ## $t8 = 80A20000
|
||||
/* 006D8 80A1DEE8 8718E590 */ lh $t8, %lo(D_80A1E590)($t8)
|
||||
/* 006DC 80A1DEEC 3C0280A2 */ lui $v0, %hi(D_80A1E590) ## $v0 = 80A20000
|
||||
/* 006E0 80A1DEF0 07000003 */ bltz $t8, .L80A1DF00
|
||||
/* 006E4 80A1DEF4 00000000 */ nop
|
||||
/* 006E8 80A1DEF8 10000003 */ beq $zero, $zero, .L80A1DF08
|
||||
/* 006EC 80A1DEFC 03001025 */ or $v0, $t8, $zero ## $v0 = 80A20000
|
||||
.L80A1DF00:
|
||||
/* 006F0 80A1DF00 8442E590 */ lh $v0, %lo(D_80A1E590)($v0)
|
||||
/* 006F4 80A1DF04 00021023 */ subu $v0, $zero, $v0
|
||||
.L80A1DF08:
|
||||
/* 006F8 80A1DF08 28412301 */ slti $at, $v0, 0x2301
|
||||
/* 006FC 80A1DF0C 10200012 */ beq $at, $zero, .L80A1DF58
|
||||
/* 00700 80A1DF10 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00704 80A1DF14 44810000 */ mtc1 $at, $f0 ## $f0 = 100.00
|
||||
/* 00708 80A1DF18 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
|
||||
/* 0070C 80A1DF1C 24195034 */ addiu $t9, $zero, 0x5034 ## $t9 = 00005034
|
||||
/* 00710 80A1DF20 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00714 80A1DF24 4600203C */ c.lt.s $f4, $f0
|
||||
/* 00718 80A1DF28 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 0071C 80A1DF2C 4502000B */ bc1fl .L80A1DF5C
|
||||
/* 00720 80A1DF30 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00724 80A1DF34 A619010E */ sh $t9, 0x010E($s0) ## 0000010E
|
||||
/* 00728 80A1DF38 44060000 */ mfc1 $a2, $f0
|
||||
/* 0072C 80A1DF3C 0C00BCB3 */ jal func_8002F2CC
|
||||
/* 00730 80A1DF40 AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 00734 80A1DF44 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
/* 00738 80A1DF48 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
||||
/* 0073C 80A1DF4C 8C680680 */ lw $t0, 0x0680($v1) ## 00000680
|
||||
/* 00740 80A1DF50 01014825 */ or $t1, $t0, $at ## $t1 = 00800000
|
||||
/* 00744 80A1DF54 AC690680 */ sw $t1, 0x0680($v1) ## 00000680
|
||||
.L80A1DF58:
|
||||
/* 00748 80A1DF58 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A1DF5C:
|
||||
/* 0074C 80A1DF5C 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00750 80A1DF60 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00754 80A1DF64 03E00008 */ jr $ra
|
||||
/* 00758 80A1DF68 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
@ -1,96 +0,0 @@
|
|||
glabel func_80A1E110
|
||||
/* 00900 80A1E110 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00904 80A1E114 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 00908 80A1E118 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0090C 80A1E11C AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00910 80A1E120 AFA60038 */ sw $a2, 0x0038($sp)
|
||||
/* 00914 80A1E124 14A10003 */ bne $a1, $at, .L80A1E134
|
||||
/* 00918 80A1E128 AFA7003C */ sw $a3, 0x003C($sp)
|
||||
/* 0091C 80A1E12C 1000004B */ beq $zero, $zero, .L80A1E25C
|
||||
/* 00920 80A1E130 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A1E134:
|
||||
/* 00924 80A1E134 24040008 */ addiu $a0, $zero, 0x0008 ## $a0 = 00000008
|
||||
/* 00928 80A1E138 10A40010 */ beq $a1, $a0, .L80A1E17C
|
||||
/* 0092C 80A1E13C 8FA30044 */ lw $v1, 0x0044($sp)
|
||||
/* 00930 80A1E140 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
|
||||
/* 00934 80A1E144 10A10003 */ beq $a1, $at, .L80A1E154
|
||||
/* 00938 80A1E148 8FA20040 */ lw $v0, 0x0040($sp)
|
||||
/* 0093C 80A1E14C 1000000B */ beq $zero, $zero, .L80A1E17C
|
||||
/* 00940 80A1E150 8FA30044 */ lw $v1, 0x0044($sp)
|
||||
.L80A1E154:
|
||||
/* 00944 80A1E154 8FA30044 */ lw $v1, 0x0044($sp)
|
||||
/* 00948 80A1E158 844E0000 */ lh $t6, 0x0000($v0) ## 00000000
|
||||
/* 0094C 80A1E15C 84590004 */ lh $t9, 0x0004($v0) ## 00000004
|
||||
/* 00950 80A1E160 846F029E */ lh $t7, 0x029E($v1) ## 0000029E
|
||||
/* 00954 80A1E164 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 00958 80A1E168 A4580000 */ sh $t8, 0x0000($v0) ## 00000000
|
||||
/* 0095C 80A1E16C 8468029C */ lh $t0, 0x029C($v1) ## 0000029C
|
||||
/* 00960 80A1E170 03284821 */ addu $t1, $t9, $t0
|
||||
/* 00964 80A1E174 10000001 */ beq $zero, $zero, .L80A1E17C
|
||||
/* 00968 80A1E178 A4490004 */ sh $t1, 0x0004($v0) ## 00000004
|
||||
.L80A1E17C:
|
||||
/* 0096C 80A1E17C 946A02A8 */ lhu $t2, 0x02A8($v1) ## 000002A8
|
||||
/* 00970 80A1E180 314B0002 */ andi $t3, $t2, 0x0002 ## $t3 = 00000000
|
||||
/* 00974 80A1E184 15600003 */ bne $t3, $zero, .L80A1E194
|
||||
/* 00978 80A1E188 00000000 */ nop
|
||||
/* 0097C 80A1E18C 10000033 */ beq $zero, $zero, .L80A1E25C
|
||||
/* 00980 80A1E190 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A1E194:
|
||||
/* 00984 80A1E194 14A40030 */ bne $a1, $a0, .L80A1E258
|
||||
/* 00988 80A1E198 00051880 */ sll $v1, $a1, 2
|
||||
/* 0098C 80A1E19C 8FAC0030 */ lw $t4, 0x0030($sp)
|
||||
/* 00990 80A1E1A0 00651823 */ subu $v1, $v1, $a1
|
||||
/* 00994 80A1E1A4 000318C0 */ sll $v1, $v1, 3
|
||||
/* 00998 80A1E1A8 8D8D009C */ lw $t5, 0x009C($t4) ## 0000009C
|
||||
/* 0099C 80A1E1AC 00651821 */ addu $v1, $v1, $a1
|
||||
/* 009A0 80A1E1B0 00031840 */ sll $v1, $v1, 1
|
||||
/* 009A4 80A1E1B4 246E0814 */ addiu $t6, $v1, 0x0814 ## $t6 = 00000814
|
||||
/* 009A8 80A1E1B8 01AE0019 */ multu $t5, $t6
|
||||
/* 009AC 80A1E1BC AFA3001C */ sw $v1, 0x001C($sp)
|
||||
/* 009B0 80A1E1C0 00002012 */ mflo $a0
|
||||
/* 009B4 80A1E1C4 00042400 */ sll $a0, $a0, 16
|
||||
/* 009B8 80A1E1C8 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 009BC 80A1E1CC 00042403 */ sra $a0, $a0, 16
|
||||
/* 009C0 80A1E1D0 8FA20040 */ lw $v0, 0x0040($sp)
|
||||
/* 009C4 80A1E1D4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 009C8 80A1E1D8 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00
|
||||
/* 009CC 80A1E1DC 844F0002 */ lh $t7, 0x0002($v0) ## 00000002
|
||||
/* 009D0 80A1E1E0 8FA3001C */ lw $v1, 0x001C($sp)
|
||||
/* 009D4 80A1E1E4 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 009D8 80A1E1E8 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 009DC 80A1E1EC 246A0940 */ addiu $t2, $v1, 0x0940 ## $t2 = 00000940
|
||||
/* 009E0 80A1E1F0 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 009E4 80A1E1F4 460A3400 */ add.s $f16, $f6, $f10
|
||||
/* 009E8 80A1E1F8 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 009EC 80A1E1FC 44199000 */ mfc1 $t9, $f18
|
||||
/* 009F0 80A1E200 00000000 */ nop
|
||||
/* 009F4 80A1E204 A4590002 */ sh $t9, 0x0002($v0) ## 00000002
|
||||
/* 009F8 80A1E208 8FA80030 */ lw $t0, 0x0030($sp)
|
||||
/* 009FC 80A1E20C 8D09009C */ lw $t1, 0x009C($t0) ## 0000009C
|
||||
/* 00A00 80A1E210 012A0019 */ multu $t1, $t2
|
||||
/* 00A04 80A1E214 00002012 */ mflo $a0
|
||||
/* 00A08 80A1E218 00042400 */ sll $a0, $a0, 16
|
||||
/* 00A0C 80A1E21C 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 00A10 80A1E220 00042403 */ sra $a0, $a0, 16
|
||||
/* 00A14 80A1E224 8FA20040 */ lw $v0, 0x0040($sp)
|
||||
/* 00A18 80A1E228 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00A1C 80A1E22C 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
|
||||
/* 00A20 80A1E230 844B0004 */ lh $t3, 0x0004($v0) ## 00000004
|
||||
/* 00A24 80A1E234 46060282 */ mul.s $f10, $f0, $f6
|
||||
/* 00A28 80A1E238 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
|
||||
/* 00A2C 80A1E23C 00000000 */ nop
|
||||
/* 00A30 80A1E240 46802220 */ cvt.s.w $f8, $f4
|
||||
/* 00A34 80A1E244 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 00A38 80A1E248 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00A3C 80A1E24C 440D9000 */ mfc1 $t5, $f18
|
||||
/* 00A40 80A1E250 00000000 */ nop
|
||||
/* 00A44 80A1E254 A44D0004 */ sh $t5, 0x0004($v0) ## 00000004
|
||||
.L80A1E258:
|
||||
/* 00A48 80A1E258 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A1E25C:
|
||||
/* 00A4C 80A1E25C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00A50 80A1E260 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00A54 80A1E264 03E00008 */ jr $ra
|
||||
/* 00A58 80A1E268 00000000 */ nop
|
|
@ -1,18 +0,0 @@
|
|||
glabel func_80A1E26C
|
||||
/* 00A5C 80A1E26C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00A60 80A1E270 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
|
||||
/* 00A64 80A1E274 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00A68 80A1E278 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00A6C 80A1E27C AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00A70 80A1E280 14A10006 */ bne $a1, $at, .L80A1E29C
|
||||
/* 00A74 80A1E284 AFA70024 */ sw $a3, 0x0024($sp)
|
||||
/* 00A78 80A1E288 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00A7C 80A1E28C 3C0480A2 */ lui $a0, %hi(D_80A1E44C) ## $a0 = 80A20000
|
||||
/* 00A80 80A1E290 2484E44C */ addiu $a0, $a0, %lo(D_80A1E44C) ## $a0 = 80A1E44C
|
||||
/* 00A84 80A1E294 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00A88 80A1E298 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
|
||||
.L80A1E29C:
|
||||
/* 00A8C 80A1E29C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00A90 80A1E2A0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00A94 80A1E2A4 03E00008 */ jr $ra
|
||||
/* 00A98 80A1E2A8 00000000 */ nop
|
|
@ -1,12 +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
|
||||
|
||||
.bss
|
||||
|
||||
glabel D_80A1E590
|
||||
.space 0x10
|
||||
|
|
@ -1,24 +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_Fu_InitVars
|
||||
.word 0x01530400, 0x02000019, 0x01330000, 0x000002B0
|
||||
.word EnFu_Init
|
||||
.word EnFu_Destroy
|
||||
.word EnFu_Update
|
||||
.word EnFu_Draw
|
||||
glabel D_80A1E420
|
||||
.word 0x0A001139, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x001E0028, 0x00000000, 0x00000000
|
||||
glabel D_80A1E44C
|
||||
.word 0x442F0000, 0x442F0000, 0x00000000
|
||||
glabel D_80A1E458
|
||||
.word 0x06005F20, 0x06006320
|
||||
glabel D_80A1E460
|
||||
.word 0x06006720, 0x06006920, 0x00000000, 0x00000000
|
||||
|
|
@ -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_80A1E490
|
||||
|
||||
.incbin "baserom/ovl_En_Fu", 0xC80, 0x00000100
|
4
spec
4
spec
|
@ -2496,9 +2496,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Fu"
|
||||
include "build/src/overlays/actors/ovl_En_Fu/z_en_fu.o"
|
||||
include "build/data/overlays/actors/z_en_fu.data.o"
|
||||
include "build/data/overlays/actors/z_en_fu.bss.o"
|
||||
include "build/data/overlays/actors/z_en_fu.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Fu/z_en_fu_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -52,10 +52,10 @@ const ActorInit En_Floormas_InitVars = {
|
|||
FLAGS,
|
||||
OBJECT_WALLMASTER,
|
||||
sizeof(EnFloormas),
|
||||
EnFloormas_Init,
|
||||
EnFloormas_Destroy,
|
||||
EnFloormas_Update,
|
||||
EnFloormas_Draw,
|
||||
(ActorFunc)EnFloormas_Init,
|
||||
(ActorFunc)EnFloormas_Destroy,
|
||||
(ActorFunc)EnFloormas_Update,
|
||||
(ActorFunc)EnFloormas_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit cylinderInit = {
|
||||
|
@ -92,7 +92,7 @@ static Vec3f D_80A1A4DC = {
|
|||
static Vec3f dustPos = {
|
||||
0.0f,
|
||||
0.0f,
|
||||
0.0f
|
||||
0.0f,
|
||||
};
|
||||
|
||||
static Color_RGBA8 mergeColor = {
|
||||
|
@ -128,8 +128,8 @@ void EnFloormas_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 50.0f);
|
||||
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->limbDrawTable, &this->transitionDrawTable,
|
||||
25);
|
||||
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->limbDrawTable,
|
||||
&this->transitionDrawTable, 25);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &cylinderInit);
|
||||
func_80061ED4(&this->actor.colChkInfo, &damageTable, &colCheckInfoInit);
|
||||
|
@ -137,7 +137,7 @@ void EnFloormas_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
invisble = this->actor.params & SPAWN_INVISIBLE;
|
||||
|
||||
// s16 cast needed
|
||||
this->actor.params &= (s16)~(SPAWN_INVISIBLE);
|
||||
this->actor.params &= (s16) ~(SPAWN_INVISIBLE);
|
||||
if (invisble) {
|
||||
this->actor.flags |= 0x80;
|
||||
this->actor.draw = EnFloormas_DrawHighlighted;
|
||||
|
|
|
@ -10,12 +10,24 @@
|
|||
|
||||
#define THIS ((EnFu*)thisx)
|
||||
|
||||
#define FU_RESET_LOOK_ANGLE (1 << 0)
|
||||
#define FU_WAIT (1 << 1)
|
||||
|
||||
void EnFu_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnFu_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnFu_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnFu_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnFu_WaitChild(EnFu* this, GlobalContext* globalCtx);
|
||||
void func_80A1DA04(EnFu* this, GlobalContext* globalCtx);
|
||||
|
||||
void EnFu_WaitAdult(EnFu* this, GlobalContext* globalCtx);
|
||||
void EnFu_TeachSong(EnFu* this, GlobalContext* globalCtx);
|
||||
void EnFu_WaitForPlayback(EnFu* this, GlobalContext* globalCtx);
|
||||
void func_80A1DBA0(EnFu* this, GlobalContext* globalCtx);
|
||||
void func_80A1DBD4(EnFu* this, GlobalContext* globalCtx);
|
||||
void func_80A1DB60(EnFu* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Fu_InitVars = {
|
||||
ACTOR_EN_FU,
|
||||
ACTORTYPE_NPC,
|
||||
|
@ -27,33 +39,274 @@ const ActorInit En_Fu_InitVars = {
|
|||
(ActorFunc)EnFu_Update,
|
||||
(ActorFunc)EnFu_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/EnFu_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/EnFu_Destroy.s")
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x11, 0x39, 0x10, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
|
||||
{ 30, 40, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1D94C.s")
|
||||
static Vec3f sMtxSrc = {
|
||||
700.0f,
|
||||
700.0f,
|
||||
0.0f,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DA04.s")
|
||||
static UNK_PTR sEyesSegments[] = {
|
||||
0x06005F20,
|
||||
0x06006320,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DA9C.s")
|
||||
static UNK_PTR sMouthSegments[] = {
|
||||
0x06006720,
|
||||
0x06006920,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DB60.s")
|
||||
extern AnimationHeader D_0600057C;
|
||||
extern AnimationHeader D_06000B04;
|
||||
extern SkeletonHeader D_06006C90;
|
||||
extern UNK_TYPE D_0200E080;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DBA0.s")
|
||||
typedef enum {
|
||||
/* 0x00 */ FU_FACE_CALM,
|
||||
/* 0x01 */ FU_FACE_MAD,
|
||||
} EnFuFace;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DBD4.s")
|
||||
void EnFu_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFu* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DD44.s")
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f);
|
||||
SkelAnime_InitSV(globalCtx, &this->skelanime, &D_06006C90, &D_06000B04, this->limbDrawTable,
|
||||
this->transitionDrawTable, 16);
|
||||
SkelAnime_ChangeAnimDefaultRepeat(&this->skelanime, &D_06000B04);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
this->actor.colChkInfo.mass = 0xFF;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
if (LINK_IS_CHILD) {
|
||||
this->actionFunc = EnFu_WaitChild;
|
||||
this->facialExpression = FU_FACE_CALM;
|
||||
} else {
|
||||
this->actionFunc = EnFu_WaitAdult;
|
||||
this->facialExpression = FU_FACE_MAD;
|
||||
this->skelanime.animPlaybackSpeed = 2.0f;
|
||||
}
|
||||
this->behaviorFlags = 0;
|
||||
this->actor.unk_1F = 6;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DDA8.s")
|
||||
void EnFu_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFu* this = THIS;
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1DE24.s")
|
||||
s32 func_80A1D94C(EnFu* this, GlobalContext* globalCtx, u16 textID, EnFuActionFunc actionFunc) {
|
||||
s16 yawDiff;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/EnFu_Update.s")
|
||||
// func_8002F194 returns 1 if actor flags & 0x100 is set and unsets it
|
||||
if (func_8002F194(&this->actor, globalCtx)) {
|
||||
this->actionFunc = actionFunc;
|
||||
return true;
|
||||
}
|
||||
this->actor.textId = textID;
|
||||
yawDiff = this->actor.rotTowardsLinkY - this->actor.shape.rot.y;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1E110.s")
|
||||
if ((ABS(yawDiff) < 0x2301) && (this->actor.xzDistanceFromLink < 100.0f)) {
|
||||
func_8002F2CC(&this->actor, globalCtx, 100.0f);
|
||||
} else {
|
||||
this->behaviorFlags |= FU_RESET_LOOK_ANGLE;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/func_80A1E26C.s")
|
||||
void func_80A1DA04(EnFu* this, GlobalContext* globalCtx) {
|
||||
if (func_8002F334(&this->actor, globalCtx) != 0) {
|
||||
this->behaviorFlags &= ~FU_WAIT;
|
||||
this->actionFunc = EnFu_WaitChild;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fu/EnFu_Draw.s")
|
||||
if (this->skelanime.animCurrentSeg == &D_0600057C) {
|
||||
SkelAnime_ChangeAnim(&this->skelanime, &D_06000B04, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000B04), 2,
|
||||
-4.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnFu_WaitChild(EnFu* this, GlobalContext* globalCtx) {
|
||||
u16 textID;
|
||||
|
||||
textID = Text_GetFaceReaction(globalCtx, 0xB);
|
||||
if (textID == 0) {
|
||||
textID = (gSaveContext.eventChkInf[6] & 0x80) ? 0x5033 : 0x5032;
|
||||
// 0x5032: "Go around!..I'm so happy!..I'm trying to come up with a musical theme inspired by this windmill..."
|
||||
// 0x5033: "Go around, go around, go around... What? It's going way too fast!"
|
||||
}
|
||||
|
||||
// if actor flags & 0x100 is set and textID is 0x5033, change animation
|
||||
// if func_80A1D94C returns 1, actionFunc is set to func_80A1DA04
|
||||
if (func_80A1D94C(this, globalCtx, textID, func_80A1DA04)) {
|
||||
if (textID == 0x5033) {
|
||||
SkelAnime_ChangeAnim(&this->skelanime, &D_0600057C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600057C), 2,
|
||||
-4.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80A1DB60(EnFu* this, GlobalContext* globalCtx) {
|
||||
if (globalCtx->csCtx.state == 0) {
|
||||
this->actionFunc = EnFu_WaitAdult;
|
||||
gSaveContext.eventChkInf[5] |= 0x800;
|
||||
globalCtx->msgCtx.unk_E3EE = 4;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80A1DBA0(EnFu* this, GlobalContext* globalCtx) {
|
||||
// if dialog state is 2 set action to WaitAdult
|
||||
if (func_8002F334(this, globalCtx)) {
|
||||
this->actionFunc = EnFu_WaitAdult;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80A1DBD4(EnFu* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (globalCtx->msgCtx.unk_E3EE >= 4) {
|
||||
this->actionFunc = EnFu_WaitAdult;
|
||||
globalCtx->msgCtx.unk_E3EE = 4;
|
||||
this->actor.flags &= ~0x10000;
|
||||
} else if (globalCtx->msgCtx.unk_E3EE == 3) {
|
||||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||
this->actionFunc = func_80A1DB60;
|
||||
this->actor.flags &= ~0x10000;
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_0200E080);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
Item_Give(globalCtx, ITEM_SONG_STORMS);
|
||||
globalCtx->msgCtx.unk_E3EE = 0;
|
||||
gSaveContext.eventChkInf[6] |= 0x20;
|
||||
} else if (globalCtx->msgCtx.unk_E3EE == 2) {
|
||||
player->stateFlags2 &= ~0x1000000;
|
||||
this->actionFunc = EnFu_WaitAdult;
|
||||
} else if (globalCtx->msgCtx.unk_E3EE == 1) {
|
||||
player->stateFlags2 |= 0x800000;
|
||||
}
|
||||
}
|
||||
|
||||
void EnFu_WaitForPlayback(EnFu* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
player->stateFlags2 |= 0x800000;
|
||||
// if dialog state is 7, player has played back the song
|
||||
if (func_8010BDBC(&globalCtx->msgCtx) == 7) {
|
||||
func_8010BD58(globalCtx, 0x1A);
|
||||
this->actionFunc = func_80A1DBD4;
|
||||
}
|
||||
}
|
||||
|
||||
void EnFu_TeachSong(EnFu* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
player->stateFlags2 |= 0x800000;
|
||||
// if dialog state is 2, start song demonstration
|
||||
if (func_8010BDBC(&globalCtx->msgCtx) == 2) {
|
||||
this->behaviorFlags &= ~FU_WAIT;
|
||||
func_800ED858(4); // seems to be related to setting instrument type
|
||||
func_8010BD58(globalCtx, 0xD); // play song demonstration, song 0xD = SoS
|
||||
this->actionFunc = EnFu_WaitForPlayback;
|
||||
}
|
||||
}
|
||||
|
||||
void EnFu_WaitAdult(EnFu* this, GlobalContext* globalCtx) {
|
||||
static s16 yawDiff;
|
||||
Player* player = PLAYER;
|
||||
|
||||
yawDiff = this->actor.rotTowardsLinkY - this->actor.shape.rot.y;
|
||||
if ((gSaveContext.eventChkInf[5] & 0x800)) {
|
||||
func_80A1D94C(this, globalCtx, 0x508E, func_80A1DBA0);
|
||||
} else if (player->stateFlags2 & 0x1000000) {
|
||||
this->actor.textId = 0x5035;
|
||||
func_8010B680(globalCtx, this->actor.textId, 0);
|
||||
this->actionFunc = EnFu_TeachSong;
|
||||
this->behaviorFlags |= FU_WAIT;
|
||||
} else if (func_8002F194(&this->actor, globalCtx) != 0) {
|
||||
this->actionFunc = func_80A1DBA0;
|
||||
} else if (ABS(yawDiff) < 0x2301) {
|
||||
if (this->actor.xzDistanceFromLink < 100.0f) {
|
||||
this->actor.textId = 0x5034;
|
||||
func_8002F2CC(&this->actor, globalCtx, 100.0f);
|
||||
player->stateFlags2 |= 0x800000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnFu_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFu* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
|
||||
Actor_MoveForward(&this->actor);
|
||||
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
if ((!(this->behaviorFlags & FU_WAIT)) && (SkelAnime_FrameUpdateMatrix(&this->skelanime) != 0)) {
|
||||
SkelAnime_ChangeAnim(&this->skelanime, this->skelanime.animCurrentSeg, 1.0f, 0.0f,
|
||||
SkelAnime_GetFrameCount(this->skelanime.animCurrentSeg), 2, 0.0f);
|
||||
}
|
||||
this->actionFunc(this, globalCtx);
|
||||
if ((this->behaviorFlags & FU_RESET_LOOK_ANGLE)) {
|
||||
Math_SmoothScaleMaxMinS(&this->lookAngleOffset.x, 0, 6, 6200, 100);
|
||||
Math_SmoothScaleMaxMinS(&this->lookAngleOffset.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);
|
||||
this->behaviorFlags &= ~FU_RESET_LOOK_ANGLE;
|
||||
} else {
|
||||
func_80038290(globalCtx, &this->actor, &this->lookAngleOffset, &this->unk_2A2, this->actor.posRot2.pos);
|
||||
}
|
||||
}
|
||||
|
||||
s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
EnFu* this = THIS;
|
||||
s32 pad1;
|
||||
|
||||
if (limbIndex == 10) {
|
||||
return 0;
|
||||
}
|
||||
switch (limbIndex) {
|
||||
case 14:
|
||||
rot->x += this->lookAngleOffset.y;
|
||||
rot->z += this->lookAngleOffset.x;
|
||||
break;
|
||||
case 8:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!(this->behaviorFlags & FU_WAIT)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (limbIndex == 8) {
|
||||
rot->y += (Math_Sins((globalCtx->state.frames * (limbIndex * 50 + 0x814))) * 200.0f);
|
||||
rot->z += (Math_Coss((globalCtx->state.frames * (limbIndex * 50 + 0x940))) * 200.0f);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnFu_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
EnFu* this = THIS;
|
||||
|
||||
if (limbIndex == 14) {
|
||||
Matrix_MultVec3f(&sMtxSrc, &this->actor.posRot2.pos);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFu_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnFu* this = THIS;
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fu.c", 773);
|
||||
func_800943C8(globalCtx->state.gfxCtx);
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->facialExpression]));
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthSegments[this->facialExpression]));
|
||||
SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
|
||||
EnFu_OverrideLimbDraw, EnFu_PostLimbDraw, &this->actor);
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fu.c", 791);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,19 @@
|
|||
|
||||
struct EnFu;
|
||||
|
||||
typedef void (*EnFuActionFunc)(struct EnFu*, GlobalContext*);
|
||||
|
||||
typedef struct EnFu {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x164];
|
||||
/* 0x014C */ ColliderCylinder collider;
|
||||
/* 0x0198 */ SkelAnime skelanime;
|
||||
/* 0x01DC */ Vec3s limbDrawTable[16];
|
||||
/* 0x023C */ Vec3s transitionDrawTable[16];
|
||||
/* 0x029C */ Vec3s lookAngleOffset; // offset applied to neck rotation to look at link when he is close
|
||||
/* 0x02A2 */ Vec3s unk_2A2;
|
||||
/* 0x02A8 */ u16 behaviorFlags;
|
||||
/* 0x02AA */ u16 facialExpression;
|
||||
/* 0x02AC */ EnFuActionFunc actionFunc;
|
||||
} EnFu; // size = 0x02B0
|
||||
|
||||
extern const ActorInit En_Fu_InitVars;
|
||||
|
|
|
@ -87,8 +87,9 @@ void OceffWipe2_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
alpha = 0xFF;
|
||||
}
|
||||
|
||||
vtxPtr[1].v.cn[3] = vtxPtr[3].v.cn[3] = vtxPtr[5].v.cn[3] = vtxPtr[7].v.cn[3] = vtxPtr[9].v.cn[3] = vtxPtr[11].v.cn[3] =
|
||||
vtxPtr[13].v.cn[3] = vtxPtr[15].v.cn[3] = vtxPtr[16].v.cn[3] = vtxPtr[18].v.cn[3] = vtxPtr[20].v.cn[3] = alpha;
|
||||
vtxPtr[1].v.cn[3] = vtxPtr[3].v.cn[3] = vtxPtr[5].v.cn[3] = vtxPtr[7].v.cn[3] = vtxPtr[9].v.cn[3] =
|
||||
vtxPtr[11].v.cn[3] = vtxPtr[13].v.cn[3] = vtxPtr[15].v.cn[3] = vtxPtr[16].v.cn[3] = vtxPtr[18].v.cn[3] =
|
||||
vtxPtr[20].v.cn[3] = alpha;
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_oceff_wipe2.c", 390);
|
||||
|
|
|
@ -89,8 +89,9 @@ void OceffWipe3_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
alpha = 0xFF;
|
||||
}
|
||||
|
||||
vtxPtr[1].v.cn[3] = vtxPtr[3].v.cn[3] = vtxPtr[5].v.cn[3] = vtxPtr[7].v.cn[3] = vtxPtr[9].v.cn[3] = vtxPtr[11].v.cn[3] =
|
||||
vtxPtr[13].v.cn[3] = vtxPtr[15].v.cn[3] = vtxPtr[17].v.cn[3] = vtxPtr[19].v.cn[3] = vtxPtr[21].v.cn[3] = alpha;
|
||||
vtxPtr[1].v.cn[3] = vtxPtr[3].v.cn[3] = vtxPtr[5].v.cn[3] = vtxPtr[7].v.cn[3] = vtxPtr[9].v.cn[3] =
|
||||
vtxPtr[11].v.cn[3] = vtxPtr[13].v.cn[3] = vtxPtr[15].v.cn[3] = vtxPtr[17].v.cn[3] = vtxPtr[19].v.cn[3] =
|
||||
vtxPtr[21].v.cn[3] = alpha;
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_oceff_wipe3.c", 343);
|
||||
|
|
|
@ -83,8 +83,9 @@ void OceffWipe4_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
alpha = 0xFF;
|
||||
}
|
||||
|
||||
vtxPtr[1].v.cn[3] = vtxPtr[3].v.cn[3] = vtxPtr[5].v.cn[3] = vtxPtr[7].v.cn[3] = vtxPtr[9].v.cn[3] = vtxPtr[11].v.cn[3] =
|
||||
vtxPtr[13].v.cn[3] = vtxPtr[15].v.cn[3] = vtxPtr[17].v.cn[3] = vtxPtr[19].v.cn[3] = vtxPtr[21].v.cn[3] = alpha;
|
||||
vtxPtr[1].v.cn[3] = vtxPtr[3].v.cn[3] = vtxPtr[5].v.cn[3] = vtxPtr[7].v.cn[3] = vtxPtr[9].v.cn[3] =
|
||||
vtxPtr[11].v.cn[3] = vtxPtr[13].v.cn[3] = vtxPtr[15].v.cn[3] = vtxPtr[17].v.cn[3] = vtxPtr[19].v.cn[3] =
|
||||
vtxPtr[21].v.cn[3] = alpha;
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_oceff_wipe4.c", 314);
|
||||
|
|
|
@ -558,6 +558,12 @@ D_06005880 = 0x06005880;
|
|||
D_06002158 = 0x06002158;
|
||||
D_060039B0 = 0x060039B0;
|
||||
|
||||
// z_en_fu
|
||||
D_0600057C = 0x0600057C;
|
||||
D_06000B04 = 0x06000B04;
|
||||
D_06006C90 = 0x06006C90;
|
||||
D_0200E080 = 0x0200E080;
|
||||
|
||||
// z_oceff_wipe4
|
||||
D_04032C90 = 0x04032C90;
|
||||
|
||||
|
|
Loading…
Reference in a new issue