mirror of
https://github.com/zeldaret/oot.git
synced 2025-04-06 14:46:21 +00:00
z_en_takara_man OK (#380)
* started * Decompiled z_en_takara_man, added CHOICE_NO and CHOICE_YES defines * use generated reloc * Removed choice index define due to inconsistencies * Made suggested changes
This commit is contained in:
parent
0dca636f4a
commit
7c7d292730
17 changed files with 219 additions and 660 deletions
|
@ -1,4 +0,0 @@
|
|||
glabel EnTakaraMan_Destroy
|
||||
/* 00000 80B17560 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00004 80B17564 03E00008 */ jr $ra
|
||||
/* 00008 80B17568 AFA50004 */ sw $a1, 0x0004($sp)
|
|
@ -1,75 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80B17E40
|
||||
.asciz "../z_en_takara_man.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B17E58
|
||||
.asciz "../z_en_takara_man.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnTakaraMan_Draw
|
||||
/* 00750 80B17CB0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00754 80B17CB4 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00758 80B17CB8 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 0075C 80B17CBC AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 00760 80B17CC0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00764 80B17CC4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00768 80B17CC8 3C0680B1 */ lui $a2, %hi(D_80B17E40) ## $a2 = 80B10000
|
||||
/* 0076C 80B17CCC 24C67E40 */ addiu $a2, $a2, %lo(D_80B17E40) ## $a2 = 80B17E40
|
||||
/* 00770 80B17CD0 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
|
||||
/* 00774 80B17CD4 24070210 */ addiu $a3, $zero, 0x0210 ## $a3 = 00000210
|
||||
/* 00778 80B17CD8 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 0077C 80B17CDC AFA50048 */ sw $a1, 0x0048($sp)
|
||||
/* 00780 80B17CE0 8FAF0054 */ lw $t7, 0x0054($sp)
|
||||
/* 00784 80B17CE4 0C024F46 */ jal func_80093D18
|
||||
/* 00788 80B17CE8 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 0078C 80B17CEC 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 00790 80B17CF0 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
|
||||
/* 00794 80B17CF4 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
|
||||
/* 00798 80B17CF8 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
|
||||
/* 0079C 80B17CFC 3C0480B1 */ lui $a0, %hi(D_80B17DD4) ## $a0 = 80B10000
|
||||
/* 007A0 80B17D00 3C0E8016 */ lui $t6, %hi(gSegments)
|
||||
/* 007A4 80B17D04 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
|
||||
/* 007A8 80B17D08 ACB802C0 */ sw $t8, 0x02C0($a1) ## 000002C0
|
||||
/* 007AC 80B17D0C AC790000 */ sw $t9, 0x0000($v1) ## 00000000
|
||||
/* 007B0 80B17D10 8608020E */ lh $t0, 0x020E($s0) ## 0000020E
|
||||
/* 007B4 80B17D14 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 007B8 80B17D18 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 007BC 80B17D1C 00084880 */ sll $t1, $t0, 2
|
||||
/* 007C0 80B17D20 00892021 */ addu $a0, $a0, $t1
|
||||
/* 007C4 80B17D24 8C847DD4 */ lw $a0, %lo(D_80B17DD4)($a0)
|
||||
/* 007C8 80B17D28 3C1980B1 */ lui $t9, %hi(func_80B17C4C) ## $t9 = 80B10000
|
||||
/* 007CC 80B17D2C 27397C4C */ addiu $t9, $t9, %lo(func_80B17C4C) ## $t9 = 80B17C4C
|
||||
/* 007D0 80B17D30 00045900 */ sll $t3, $a0, 4
|
||||
/* 007D4 80B17D34 000B6702 */ srl $t4, $t3, 28
|
||||
/* 007D8 80B17D38 000C6880 */ sll $t5, $t4, 2
|
||||
/* 007DC 80B17D3C 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 007E0 80B17D40 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
|
||||
/* 007E4 80B17D44 00815024 */ and $t2, $a0, $at
|
||||
/* 007E8 80B17D48 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 007EC 80B17D4C 014E7821 */ addu $t7, $t2, $t6
|
||||
/* 007F0 80B17D50 01E1C021 */ addu $t8, $t7, $at
|
||||
/* 007F4 80B17D54 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
|
||||
/* 007F8 80B17D58 92070152 */ lbu $a3, 0x0152($s0) ## 00000152
|
||||
/* 007FC 80B17D5C 8E060170 */ lw $a2, 0x0170($s0) ## 00000170
|
||||
/* 00800 80B17D60 8E050154 */ lw $a1, 0x0154($s0) ## 00000154
|
||||
/* 00804 80B17D64 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00808 80B17D68 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 0080C 80B17D6C AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00810 80B17D70 0C0286B2 */ jal SkelAnime_DrawSV
|
||||
/* 00814 80B17D74 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00818 80B17D78 8FA80054 */ lw $t0, 0x0054($sp)
|
||||
/* 0081C 80B17D7C 3C0680B1 */ lui $a2, %hi(D_80B17E58) ## $a2 = 80B10000
|
||||
/* 00820 80B17D80 24C67E58 */ addiu $a2, $a2, %lo(D_80B17E58) ## $a2 = 80B17E58
|
||||
/* 00824 80B17D84 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
|
||||
/* 00828 80B17D88 24070220 */ addiu $a3, $zero, 0x0220 ## $a3 = 00000220
|
||||
/* 0082C 80B17D8C 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00830 80B17D90 8D050000 */ lw $a1, 0x0000($t0) ## 00000000
|
||||
/* 00834 80B17D94 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00838 80B17D98 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 0083C 80B17D9C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 00840 80B17DA0 03E00008 */ jr $ra
|
||||
/* 00844 80B17DA4 00000000 */ nop
|
||||
/* 00848 80B17DA8 00000000 */ nop
|
||||
/* 0084C 80B17DAC 00000000 */ nop
|
|
@ -1,115 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80B17DE0
|
||||
.asciz "\x1b[32m☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B17E10
|
||||
.asciz "\n\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B17E14
|
||||
.asciz "\x1b[35m☆☆☆☆☆ ばぅん! ☆☆☆☆☆ %x\n\x1b[m"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnTakaraMan_Init
|
||||
/* 0000C 80B1756C 3C0280B1 */ lui $v0, %hi(D_80B17DD0) ## $v0 = 80B10000
|
||||
/* 00010 80B17570 24427DD0 */ addiu $v0, $v0, %lo(D_80B17DD0) ## $v0 = 80B17DD0
|
||||
/* 00014 80B17574 904E0000 */ lbu $t6, 0x0000($v0) ## 80B17DD0
|
||||
/* 00018 80B17578 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 0001C 80B1757C AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00020 80B17580 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00024 80B17584 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00028 80B17588 11C00008 */ beq $t6, $zero, .L80B175AC
|
||||
/* 0002C 80B1758C AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00030 80B17590 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00034 80B17594 00000000 */ nop
|
||||
/* 00038 80B17598 3C0480B1 */ lui $a0, %hi(D_80B17DE0) ## $a0 = 80B10000
|
||||
/* 0003C 80B1759C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00040 80B175A0 24847DE0 */ addiu $a0, $a0, %lo(D_80B17DE0) ## $a0 = 80B17DE0
|
||||
/* 00044 80B175A4 1000004A */ beq $zero, $zero, .L80B176D0
|
||||
/* 00048 80B175A8 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80B175AC:
|
||||
/* 0004C 80B175AC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00050 80B175B0 3C0480B1 */ lui $a0, %hi(D_80B17E10) ## $a0 = 80B10000
|
||||
/* 00054 80B175B4 A04F0000 */ sb $t7, 0x0000($v0) ## 00000000
|
||||
/* 00058 80B175B8 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 0005C 80B175BC 24847E10 */ addiu $a0, $a0, %lo(D_80B17E10) ## $a0 = 80B17E10
|
||||
/* 00060 80B175C0 8FB80034 */ lw $t8, 0x0034($sp)
|
||||
/* 00064 80B175C4 3C0480B1 */ lui $a0, %hi(D_80B17E14) ## $a0 = 80B10000
|
||||
/* 00068 80B175C8 24847E14 */ addiu $a0, $a0, %lo(D_80B17E14) ## $a0 = 80B17E14
|
||||
/* 0006C 80B175CC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00070 80B175D0 8F051D38 */ lw $a1, 0x1D38($t8) ## 00001D38
|
||||
/* 00074 80B175D4 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00078 80B175D8 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 0007C 80B175DC 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00080 80B175E0 AC801D38 */ sw $zero, 0x1D38($a0) ## 00001D38
|
||||
/* 00084 80B175E4 94481402 */ lhu $t0, 0x1402($v0) ## 8015FA62
|
||||
/* 00088 80B175E8 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 0008C 80B175EC 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 00090 80B175F0 00484821 */ addu $t1, $v0, $t0
|
||||
/* 00094 80B175F4 A13900BC */ sb $t9, 0x00BC($t1) ## 000000BC
|
||||
/* 00098 80B175F8 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
|
||||
/* 0009C 80B175FC 260A0194 */ addiu $t2, $s0, 0x0194 ## $t2 = 00000194
|
||||
/* 000A0 80B17600 260B01D0 */ addiu $t3, $s0, 0x01D0 ## $t3 = 000001D0
|
||||
/* 000A4 80B17604 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
|
||||
/* 000A8 80B17608 AFAC0018 */ sw $t4, 0x0018($sp)
|
||||
/* 000AC 80B1760C AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 000B0 80B17610 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 000B4 80B17614 24E70498 */ addiu $a3, $a3, 0x0498 ## $a3 = 06000498
|
||||
/* 000B8 80B17618 24C64FE0 */ addiu $a2, $a2, 0x4FE0 ## $a2 = 06004FE0
|
||||
/* 000BC 80B1761C 0C0291BE */ jal SkelAnime_InitSV
|
||||
/* 000C0 80B17620 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150
|
||||
/* 000C4 80B17624 26020024 */ addiu $v0, $s0, 0x0024 ## $v0 = 00000024
|
||||
/* 000C8 80B17628 8C4E0000 */ lw $t6, 0x0000($v0) ## 00000024
|
||||
/* 000CC 80B1762C 3C014305 */ lui $at, 0x4305 ## $at = 43050000
|
||||
/* 000D0 80B17630 44812000 */ mtc1 $at, $f4 ## $f4 = 133.00
|
||||
/* 000D4 80B17634 AE0E0038 */ sw $t6, 0x0038($s0) ## 00000038
|
||||
/* 000D8 80B17638 8C4D0004 */ lw $t5, 0x0004($v0) ## 00000028
|
||||
/* 000DC 80B1763C 3C01C140 */ lui $at, 0xC140 ## $at = C1400000
|
||||
/* 000E0 80B17640 44813000 */ mtc1 $at, $f6 ## $f6 = -12.00
|
||||
/* 000E4 80B17644 AE0D003C */ sw $t5, 0x003C($s0) ## 0000003C
|
||||
/* 000E8 80B17648 8C4E0008 */ lw $t6, 0x0008($v0) ## 0000002C
|
||||
/* 000EC 80B1764C 3C0142CC */ lui $at, 0x42CC ## $at = 42CC0000
|
||||
/* 000F0 80B17650 44814000 */ mtc1 $at, $f8 ## $f8 = 102.00
|
||||
/* 000F4 80B17654 AE0E0040 */ sw $t6, 0x0040($s0) ## 00000040
|
||||
/* 000F8 80B17658 8C580000 */ lw $t8, 0x0000($v0) ## 00000024
|
||||
/* 000FC 80B1765C 3C053C54 */ lui $a1, 0x3C54 ## $a1 = 3C540000
|
||||
/* 00100 80B17660 34A5FDF4 */ ori $a1, $a1, 0xFDF4 ## $a1 = 3C54FDF4
|
||||
/* 00104 80B17664 AE180220 */ sw $t8, 0x0220($s0) ## 00000220
|
||||
/* 00108 80B17668 8C4F0004 */ lw $t7, 0x0004($v0) ## 00000028
|
||||
/* 0010C 80B1766C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00110 80B17670 AE0F0224 */ sw $t7, 0x0224($s0) ## 00000224
|
||||
/* 00114 80B17674 8C580008 */ lw $t8, 0x0008($v0) ## 0000002C
|
||||
/* 00118 80B17678 E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 0011C 80B1767C E6060028 */ swc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 00120 80B17680 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 00124 80B17684 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00128 80B17688 AE180228 */ sw $t8, 0x0228($s0) ## 00000228
|
||||
/* 0012C 80B1768C 2409B1E0 */ addiu $t1, $zero, 0xB1E0 ## $t1 = FFFFB1E0
|
||||
/* 00130 80B17690 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
|
||||
/* 00134 80B17694 A60900B6 */ sh $t1, 0x00B6($s0) ## 000000B6
|
||||
/* 00138 80B17698 44815000 */ mtc1 $at, $f10 ## $f10 = 90.00
|
||||
/* 0013C 80B1769C 82080003 */ lb $t0, 0x0003($s0) ## 00000003
|
||||
/* 00140 80B176A0 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
|
||||
/* 00144 80B176A4 3C0C80B1 */ lui $t4, %hi(func_80B176E0) ## $t4 = 80B10000
|
||||
/* 00148 80B176A8 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 0014C 80B176AC 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 00150 80B176B0 258C76E0 */ addiu $t4, $t4, %lo(func_80B176E0) ## $t4 = 80B176E0
|
||||
/* 00154 80B176B4 A2190003 */ sb $t9, 0x0003($s0) ## 00000003
|
||||
/* 00158 80B176B8 A20B001F */ sb $t3, 0x001F($s0) ## 0000001F
|
||||
/* 0015C 80B176BC AE0C014C */ sw $t4, 0x014C($s0) ## 0000014C
|
||||
/* 00160 80B176C0 E60A021C */ swc1 $f10, 0x021C($s0) ## 0000021C
|
||||
/* 00164 80B176C4 A6080216 */ sh $t0, 0x0216($s0) ## 00000216
|
||||
/* 00168 80B176C8 A60A0032 */ sh $t2, 0x0032($s0) ## 00000032
|
||||
/* 0016C 80B176CC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80B176D0:
|
||||
/* 00170 80B176D0 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00174 80B176D4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00178 80B176D8 03E00008 */ jr $ra
|
||||
/* 0017C 80B176DC 00000000 */ nop
|
|
@ -1,60 +0,0 @@
|
|||
glabel EnTakaraMan_Update
|
||||
/* 00614 80B17B74 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00618 80B17B78 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 0061C 80B17B7C AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00620 80B17B80 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00624 80B17B84 84820210 */ lh $v0, 0x0210($a0) ## 00000210
|
||||
/* 00628 80B17B88 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0062C 80B17B8C 10400002 */ beq $v0, $zero, .L80B17B98
|
||||
/* 00630 80B17B90 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00634 80B17B94 A48E0210 */ sh $t6, 0x0210($a0) ## 00000210
|
||||
.L80B17B98:
|
||||
/* 00638 80B17B98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0063C 80B17B9C 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 00640 80B17BA0 8E05021C */ lw $a1, 0x021C($s0) ## 0000021C
|
||||
/* 00644 80B17BA4 8E180038 */ lw $t8, 0x0038($s0) ## 00000038
|
||||
/* 00648 80B17BA8 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 0064C 80B17BAC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00650 80B17BB0 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00654 80B17BB4 8E0F003C */ lw $t7, 0x003C($s0) ## 0000003C
|
||||
/* 00658 80B17BB8 2606022C */ addiu $a2, $s0, 0x022C ## $a2 = 0000022C
|
||||
/* 0065C 80B17BBC 26070232 */ addiu $a3, $s0, 0x0232 ## $a3 = 00000232
|
||||
/* 00660 80B17BC0 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00664 80B17BC4 8E180040 */ lw $t8, 0x0040($s0) ## 00000040
|
||||
/* 00668 80B17BC8 0C00E0A4 */ jal func_80038290
|
||||
/* 0066C 80B17BCC AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 00670 80B17BD0 86190210 */ lh $t9, 0x0210($s0) ## 00000210
|
||||
/* 00674 80B17BD4 57200011 */ bnel $t9, $zero, .L80B17C1C
|
||||
/* 00678 80B17BD8 86180212 */ lh $t8, 0x0212($s0) ## 00000212
|
||||
/* 0067C 80B17BDC 8608020E */ lh $t0, 0x020E($s0) ## 0000020E
|
||||
/* 00680 80B17BE0 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 00684 80B17BE4 A609020E */ sh $t1, 0x020E($s0) ## 0000020E
|
||||
/* 00688 80B17BE8 860A020E */ lh $t2, 0x020E($s0) ## 0000020E
|
||||
/* 0068C 80B17BEC 29410002 */ slti $at, $t2, 0x0002
|
||||
/* 00690 80B17BF0 14200009 */ bne $at, $zero, .L80B17C18
|
||||
/* 00694 80B17BF4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00698 80B17BF8 44816000 */ mtc1 $at, $f12 ## $f12 = 60.00
|
||||
/* 0069C 80B17BFC 0C00CFBE */ jal Math_Rand_ZeroFloat
|
||||
|
||||
/* 006A0 80B17C00 A600020E */ sh $zero, 0x020E($s0) ## 0000020E
|
||||
/* 006A4 80B17C04 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 006A8 80B17C08 440E2000 */ mfc1 $t6, $f4
|
||||
/* 006AC 80B17C0C 00000000 */ nop
|
||||
/* 006B0 80B17C10 25CF0014 */ addiu $t7, $t6, 0x0014 ## $t7 = 00000014
|
||||
/* 006B4 80B17C14 A60F0210 */ sh $t7, 0x0210($s0) ## 00000210
|
||||
.L80B17C18:
|
||||
/* 006B8 80B17C18 86180212 */ lh $t8, 0x0212($s0) ## 00000212
|
||||
.L80B17C1C:
|
||||
/* 006BC 80B17C1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 006C0 80B17C20 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 006C4 80B17C24 A6190212 */ sh $t9, 0x0212($s0) ## 00000212
|
||||
/* 006C8 80B17C28 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
|
||||
/* 006CC 80B17C2C 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 006D0 80B17C30 0320F809 */ jalr $ra, $t9
|
||||
/* 006D4 80B17C34 00000000 */ nop
|
||||
/* 006D8 80B17C38 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 006DC 80B17C3C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 006E0 80B17C40 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 006E4 80B17C44 03E00008 */ jr $ra
|
||||
/* 006E8 80B17C48 00000000 */ nop
|
|
@ -1,47 +0,0 @@
|
|||
glabel func_80B176E0
|
||||
/* 00180 80B176E0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00184 80B176E4 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00188 80B176E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0018C 80B176EC AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00190 80B176F0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00194 80B176F4 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00198 80B176F8 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 0019C 80B176FC 24840498 */ addiu $a0, $a0, 0x0498 ## $a0 = 06000498
|
||||
/* 001A0 80B17700 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 001A4 80B17704 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 001A8 80B17708 44819000 */ mtc1 $at, $f18 ## $f18 = -10.00
|
||||
/* 001AC 80B1770C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 001B0 80B17710 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 001B4 80B17714 24A50498 */ addiu $a1, $a1, 0x0498 ## $a1 = 06000498
|
||||
/* 001B8 80B17718 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
|
||||
/* 001BC 80B1771C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 001C0 80B17720 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 001C4 80B17724 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 001C8 80B17728 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 001CC 80B1772C E7B20018 */ swc1 $f18, 0x0018($sp)
|
||||
/* 001D0 80B17730 440F4000 */ mfc1 $t7, $f8
|
||||
/* 001D4 80B17734 00000000 */ nop
|
||||
/* 001D8 80B17738 000FC400 */ sll $t8, $t7, 16
|
||||
/* 001DC 80B1773C 0018CC03 */ sra $t9, $t8, 16
|
||||
/* 001E0 80B17740 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
|
||||
/* 001E4 80B17744 00000000 */ nop
|
||||
/* 001E8 80B17748 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 001EC 80B1774C 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 001F0 80B17750 E7B00010 */ swc1 $f16, 0x0010($sp)
|
||||
/* 001F4 80B17754 86080214 */ lh $t0, 0x0214($s0) ## 00000214
|
||||
/* 001F8 80B17758 3C0B80B1 */ lui $t3, %hi(func_80B1778C) ## $t3 = 80B10000
|
||||
/* 001FC 80B1775C 2409006D */ addiu $t1, $zero, 0x006D ## $t1 = 0000006D
|
||||
/* 00200 80B17760 15000004 */ bne $t0, $zero, .L80B17774
|
||||
/* 00204 80B17764 256B778C */ addiu $t3, $t3, %lo(func_80B1778C) ## $t3 = 80B1778C
|
||||
/* 00208 80B17768 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004
|
||||
/* 0020C 80B1776C A609010E */ sh $t1, 0x010E($s0) ## 0000010E
|
||||
/* 00210 80B17770 A60A020C */ sh $t2, 0x020C($s0) ## 0000020C
|
||||
.L80B17774:
|
||||
/* 00214 80B17774 AE0B014C */ sw $t3, 0x014C($s0) ## 0000014C
|
||||
/* 00218 80B17778 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 0021C 80B1777C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00220 80B17780 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00224 80B17784 03E00008 */ jr $ra
|
||||
/* 00228 80B17788 00000000 */ nop
|
|
@ -1,122 +0,0 @@
|
|||
glabel func_80B1778C
|
||||
/* 0022C 80B1778C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00230 80B17790 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00234 80B17794 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00238 80B17798 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0023C 80B1779C AFA70020 */ sw $a3, 0x0020($sp)
|
||||
/* 00240 80B177A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00244 80B177A4 24840150 */ addiu $a0, $a0, 0x0150 ## $a0 = 00000150
|
||||
/* 00248 80B177A8 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 0024C 80B177AC 0C00BC65 */ jal func_8002F194
|
||||
/* 00250 80B177B0 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00254 80B177B4 1040000F */ beq $v0, $zero, .L80B177F4
|
||||
/* 00258 80B177B8 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 0025C 80B177BC 84EE020C */ lh $t6, 0x020C($a3) ## 0000020C
|
||||
/* 00260 80B177C0 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 00264 80B177C4 50CE000C */ beql $a2, $t6, .L80B177F8
|
||||
/* 00268 80B177C8 8FA80024 */ lw $t0, 0x0024($sp)
|
||||
/* 0026C 80B177CC 84EF0214 */ lh $t7, 0x0214($a3) ## 00000214
|
||||
/* 00270 80B177D0 3C1980B1 */ lui $t9, %hi(func_80B17B14) ## $t9 = 80B10000
|
||||
/* 00274 80B177D4 3C1880B1 */ lui $t8, %hi(func_80B17934) ## $t8 = 80B10000
|
||||
/* 00278 80B177D8 15E00004 */ bne $t7, $zero, .L80B177EC
|
||||
/* 0027C 80B177DC 27397B14 */ addiu $t9, $t9, %lo(func_80B17B14) ## $t9 = 80B17B14
|
||||
/* 00280 80B177E0 27187934 */ addiu $t8, $t8, %lo(func_80B17934) ## $t8 = 80B17934
|
||||
/* 00284 80B177E4 1000004F */ beq $zero, $zero, .L80B17924
|
||||
/* 00288 80B177E8 ACF8014C */ sw $t8, 0x014C($a3) ## 0000014C
|
||||
.L80B177EC:
|
||||
/* 0028C 80B177EC 1000004D */ beq $zero, $zero, .L80B17924
|
||||
/* 00290 80B177F0 ACF9014C */ sw $t9, 0x014C($a3) ## 0000014C
|
||||
.L80B177F4:
|
||||
/* 00294 80B177F4 8FA80024 */ lw $t0, 0x0024($sp)
|
||||
.L80B177F8:
|
||||
/* 00298 80B177F8 84E9008A */ lh $t1, 0x008A($a3) ## 0000008A
|
||||
/* 0029C 80B177FC 84EA00B6 */ lh $t2, 0x00B6($a3) ## 000000B6
|
||||
/* 002A0 80B17800 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 002A4 80B17804 01014021 */ addu $t0, $t0, $at
|
||||
/* 002A8 80B17808 810B1CBC */ lb $t3, 0x1CBC($t0) ## 00001CBC
|
||||
/* 002AC 80B1780C 012A1823 */ subu $v1, $t1, $t2
|
||||
/* 002B0 80B17810 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 002B4 80B17814 00031C00 */ sll $v1, $v1, 16
|
||||
/* 002B8 80B17818 14CB0009 */ bne $a2, $t3, .L80B17840
|
||||
/* 002BC 80B1781C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 002C0 80B17820 84EC021A */ lh $t4, 0x021A($a3) ## 0000021A
|
||||
/* 002C4 80B17824 240D006E */ addiu $t5, $zero, 0x006E ## $t5 = 0000006E
|
||||
/* 002C8 80B17828 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 002CC 80B1782C 55800005 */ bnel $t4, $zero, .L80B17844
|
||||
/* 002D0 80B17830 84EF021A */ lh $t7, 0x021A($a3) ## 0000021A
|
||||
/* 002D4 80B17834 A4ED010E */ sh $t5, 0x010E($a3) ## 0000010E
|
||||
/* 002D8 80B17838 A4EE021A */ sh $t6, 0x021A($a3) ## 0000021A
|
||||
/* 002DC 80B1783C A4E6020C */ sh $a2, 0x020C($a3) ## 0000020C
|
||||
.L80B17840:
|
||||
/* 002E0 80B17840 84EF021A */ lh $t7, 0x021A($a3) ## 0000021A
|
||||
.L80B17844:
|
||||
/* 002E4 80B17844 15E00017 */ bne $t7, $zero, .L80B178A4
|
||||
/* 002E8 80B17848 00000000 */ nop
|
||||
/* 002EC 80B1784C 84F80214 */ lh $t8, 0x0214($a3) ## 00000214
|
||||
/* 002F0 80B17850 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 002F4 80B17854 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
|
||||
/* 002F8 80B17858 13000012 */ beq $t8, $zero, .L80B178A4
|
||||
/* 002FC 80B1785C 00000000 */ nop
|
||||
/* 00300 80B17860 A7A3001C */ sh $v1, 0x001C($sp)
|
||||
/* 00304 80B17864 AFA70020 */ sw $a3, 0x0020($sp)
|
||||
/* 00308 80B17868 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 0030C 80B1786C AFA80018 */ sw $t0, 0x0018($sp)
|
||||
/* 00310 80B17870 87A3001C */ lh $v1, 0x001C($sp)
|
||||
/* 00314 80B17874 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 00318 80B17878 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 0031C 80B1787C 10400006 */ beq $v0, $zero, .L80B17898
|
||||
/* 00320 80B17880 8FA80018 */ lw $t0, 0x0018($sp)
|
||||
/* 00324 80B17884 24190084 */ addiu $t9, $zero, 0x0084 ## $t9 = 00000084
|
||||
/* 00328 80B17888 24090005 */ addiu $t1, $zero, 0x0005 ## $t1 = 00000005
|
||||
/* 0032C 80B1788C A4F9010E */ sh $t9, 0x010E($a3) ## 0000010E
|
||||
/* 00330 80B17890 10000004 */ beq $zero, $zero, .L80B178A4
|
||||
/* 00334 80B17894 A4E9020C */ sh $t1, 0x020C($a3) ## 0000020C
|
||||
.L80B17898:
|
||||
/* 00338 80B17898 240A704C */ addiu $t2, $zero, 0x704C ## $t2 = 0000704C
|
||||
/* 0033C 80B1789C A4EA010E */ sh $t2, 0x010E($a3) ## 0000010E
|
||||
/* 00340 80B178A0 A4E6020C */ sh $a2, 0x020C($a3) ## 0000020C
|
||||
.L80B178A4:
|
||||
/* 00344 80B178A4 04600004 */ bltz $v1, .L80B178B8
|
||||
/* 00348 80B178A8 00031023 */ subu $v0, $zero, $v1
|
||||
/* 0034C 80B178AC 00031400 */ sll $v0, $v1, 16
|
||||
/* 00350 80B178B0 10000003 */ beq $zero, $zero, .L80B178C0
|
||||
/* 00354 80B178B4 00021403 */ sra $v0, $v0, 16
|
||||
.L80B178B8:
|
||||
/* 00358 80B178B8 00021400 */ sll $v0, $v0, 16
|
||||
/* 0035C 80B178BC 00021403 */ sra $v0, $v0, 16
|
||||
.L80B178C0:
|
||||
/* 00360 80B178C0 28414300 */ slti $at, $v0, 0x4300
|
||||
/* 00364 80B178C4 50200018 */ beql $at, $zero, .L80B17928
|
||||
/* 00368 80B178C8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0036C 80B178CC 84EB0216 */ lh $t3, 0x0216($a3) ## 00000216
|
||||
/* 00370 80B178D0 810C1CBC */ lb $t4, 0x1CBC($t0) ## 00001CBC
|
||||
/* 00374 80B178D4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00378 80B178D8 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
|
||||
/* 0037C 80B178DC 516C0008 */ beql $t3, $t4, .L80B17900
|
||||
/* 00380 80B178E0 84EF0218 */ lh $t7, 0x0218($a3) ## 00000218
|
||||
/* 00384 80B178E4 8CED0004 */ lw $t5, 0x0004($a3) ## 00000004
|
||||
/* 00388 80B178E8 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 0038C 80B178EC A4E00218 */ sh $zero, 0x0218($a3) ## 00000218
|
||||
/* 00390 80B178F0 01A17024 */ and $t6, $t5, $at
|
||||
/* 00394 80B178F4 1000000B */ beq $zero, $zero, .L80B17924
|
||||
/* 00398 80B178F8 ACEE0004 */ sw $t6, 0x0004($a3) ## 00000004
|
||||
/* 0039C 80B178FC 84EF0218 */ lh $t7, 0x0218($a3) ## 00000218
|
||||
.L80B17900:
|
||||
/* 003A0 80B17900 15E00006 */ bne $t7, $zero, .L80B1791C
|
||||
/* 003A4 80B17904 00000000 */ nop
|
||||
/* 003A8 80B17908 8CF80004 */ lw $t8, 0x0004($a3) ## 00000004
|
||||
/* 003AC 80B1790C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 003B0 80B17910 A4E90218 */ sh $t1, 0x0218($a3) ## 00000218
|
||||
/* 003B4 80B17914 37190001 */ ori $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 003B8 80B17918 ACF90004 */ sw $t9, 0x0004($a3) ## 00000004
|
||||
.L80B1791C:
|
||||
/* 003BC 80B1791C 0C00BCB3 */ jal func_8002F2CC
|
||||
/* 003C0 80B17920 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
.L80B17924:
|
||||
/* 003C4 80B17924 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80B17928:
|
||||
/* 003C8 80B17928 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 003CC 80B1792C 03E00008 */ jr $ra
|
||||
/* 003D0 80B17930 00000000 */ nop
|
|
@ -1,84 +0,0 @@
|
|||
glabel func_80B17934
|
||||
/* 003D4 80B17934 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 003D8 80B17938 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 003DC 80B1793C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 003E0 80B17940 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 003E4 80B17944 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 003E8 80B17948 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 003EC 80B1794C 0C042F6F */ jal func_8010BDBC
|
||||
/* 003F0 80B17950 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 003F4 80B17954 860E020C */ lh $t6, 0x020C($s0) ## 0000020C
|
||||
/* 003F8 80B17958 55C20040 */ bnel $t6, $v0, .L80B17A5C
|
||||
/* 003FC 80B1795C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00400 80B17960 0C041AF2 */ jal func_80106BC8
|
||||
/* 00404 80B17964 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00408 80B17968 1040003B */ beq $v0, $zero, .L80B17A58
|
||||
/* 0040C 80B1796C 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
|
||||
/* 00410 80B17970 00511021 */ addu $v0, $v0, $s1
|
||||
/* 00414 80B17974 904204BD */ lbu $v0, 0x04BD($v0) ## 000104BD
|
||||
/* 00418 80B17978 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 0041C 80B1797C 3C0F8016 */ lui $t7, %hi(gSaveContext+0x34)
|
||||
/* 00420 80B17980 10400005 */ beq $v0, $zero, .L80B17998
|
||||
/* 00424 80B17984 00000000 */ nop
|
||||
/* 00428 80B17988 10410027 */ beq $v0, $at, .L80B17A28
|
||||
/* 0042C 80B1798C 00000000 */ nop
|
||||
/* 00430 80B17990 10000032 */ beq $zero, $zero, .L80B17A5C
|
||||
/* 00434 80B17994 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B17998:
|
||||
/* 00438 80B17998 85EFE694 */ lh $t7, %lo(gSaveContext+0x34)($t7)
|
||||
/* 0043C 80B1799C 29E1000A */ slti $at, $t7, 0x000A
|
||||
/* 00440 80B179A0 14200014 */ bne $at, $zero, .L80B179F4
|
||||
/* 00444 80B179A4 00000000 */ nop
|
||||
/* 00448 80B179A8 0C041B33 */ jal func_80106CCC
|
||||
/* 0044C 80B179AC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00450 80B179B0 0C021CC3 */ jal Rupees_ChangeBy
|
||||
/* 00454 80B179B4 2404FFF6 */ addiu $a0, $zero, 0xFFF6 ## $a0 = FFFFFFF6
|
||||
/* 00458 80B179B8 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 0045C 80B179BC 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
|
||||
/* 00460 80B179C0 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 00464 80B179C4 A6180214 */ sh $t8, 0x0214($s0) ## 00000214
|
||||
/* 00468 80B179C8 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
|
||||
/* 0046C 80B179CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00470 80B179D0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00474 80B179D4 24060071 */ addiu $a2, $zero, 0x0071 ## $a2 = 00000071
|
||||
/* 00478 80B179D8 3C0744FA */ lui $a3, 0x44FA ## $a3 = 44FA0000
|
||||
/* 0047C 80B179DC 0C00BD0D */ jal func_8002F434
|
||||
/* 00480 80B179E0 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00484 80B179E4 3C1980B1 */ lui $t9, %hi(func_80B17A6C) ## $t9 = 80B10000
|
||||
/* 00488 80B179E8 27397A6C */ addiu $t9, $t9, %lo(func_80B17A6C) ## $t9 = 80B17A6C
|
||||
/* 0048C 80B179EC 1000001A */ beq $zero, $zero, .L80B17A58
|
||||
/* 00490 80B179F0 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C
|
||||
.L80B179F4:
|
||||
/* 00494 80B179F4 0C041B33 */ jal func_80106CCC
|
||||
/* 00498 80B179F8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0049C 80B179FC 24080085 */ addiu $t0, $zero, 0x0085 ## $t0 = 00000085
|
||||
/* 004A0 80B17A00 A608010E */ sh $t0, 0x010E($s0) ## 0000010E
|
||||
/* 004A4 80B17A04 3105FFFF */ andi $a1, $t0, 0xFFFF ## $a1 = 00000085
|
||||
/* 004A8 80B17A08 0C042DC8 */ jal func_8010B720
|
||||
/* 004AC 80B17A0C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 004B0 80B17A10 3C0A80B1 */ lui $t2, %hi(func_80B17B14) ## $t2 = 80B10000
|
||||
/* 004B4 80B17A14 24090005 */ addiu $t1, $zero, 0x0005 ## $t1 = 00000005
|
||||
/* 004B8 80B17A18 254A7B14 */ addiu $t2, $t2, %lo(func_80B17B14) ## $t2 = 80B17B14
|
||||
/* 004BC 80B17A1C A609020C */ sh $t1, 0x020C($s0) ## 0000020C
|
||||
/* 004C0 80B17A20 1000000D */ beq $zero, $zero, .L80B17A58
|
||||
/* 004C4 80B17A24 AE0A014C */ sw $t2, 0x014C($s0) ## 0000014C
|
||||
.L80B17A28:
|
||||
/* 004C8 80B17A28 0C041B33 */ jal func_80106CCC
|
||||
/* 004CC 80B17A2C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 004D0 80B17A30 240B002D */ addiu $t3, $zero, 0x002D ## $t3 = 0000002D
|
||||
/* 004D4 80B17A34 A60B010E */ sh $t3, 0x010E($s0) ## 0000010E
|
||||
/* 004D8 80B17A38 3165FFFF */ andi $a1, $t3, 0xFFFF ## $a1 = 0000002D
|
||||
/* 004DC 80B17A3C 0C042DC8 */ jal func_8010B720
|
||||
/* 004E0 80B17A40 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 004E4 80B17A44 3C0D80B1 */ lui $t5, %hi(func_80B17B14) ## $t5 = 80B10000
|
||||
/* 004E8 80B17A48 240C0005 */ addiu $t4, $zero, 0x0005 ## $t4 = 00000005
|
||||
/* 004EC 80B17A4C 25AD7B14 */ addiu $t5, $t5, %lo(func_80B17B14) ## $t5 = 80B17B14
|
||||
/* 004F0 80B17A50 A60C020C */ sh $t4, 0x020C($s0) ## 0000020C
|
||||
/* 004F4 80B17A54 AE0D014C */ sw $t5, 0x014C($s0) ## 0000014C
|
||||
.L80B17A58:
|
||||
/* 004F8 80B17A58 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B17A5C:
|
||||
/* 004FC 80B17A5C 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 00500 80B17A60 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 00504 80B17A64 03E00008 */ jr $ra
|
||||
/* 00508 80B17A68 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
@ -1,25 +0,0 @@
|
|||
glabel func_80B17A6C
|
||||
/* 0050C 80B17A6C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00510 80B17A70 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00514 80B17A74 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00518 80B17A78 0C00BD04 */ jal Actor_HasParent
|
||||
/* 0051C 80B17A7C AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00520 80B17A80 10400005 */ beq $v0, $zero, .L80B17A98
|
||||
/* 00524 80B17A84 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00528 80B17A88 3C0E80B1 */ lui $t6, %hi(func_80B17AC4) ## $t6 = 80B10000
|
||||
/* 0052C 80B17A8C 25CE7AC4 */ addiu $t6, $t6, %lo(func_80B17AC4) ## $t6 = 80B17AC4
|
||||
/* 00530 80B17A90 10000008 */ beq $zero, $zero, .L80B17AB4
|
||||
/* 00534 80B17A94 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
.L80B17A98:
|
||||
/* 00538 80B17A98 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 0053C 80B17A9C 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
|
||||
/* 00540 80B17AA0 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00544 80B17AA4 24060071 */ addiu $a2, $zero, 0x0071 ## $a2 = 00000071
|
||||
/* 00548 80B17AA8 3C0744FA */ lui $a3, 0x44FA ## $a3 = 44FA0000
|
||||
/* 0054C 80B17AAC 0C00BD0D */ jal func_8002F434
|
||||
/* 00550 80B17AB0 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
.L80B17AB4:
|
||||
/* 00554 80B17AB4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00558 80B17AB8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 0055C 80B17ABC 03E00008 */ jr $ra
|
||||
/* 00560 80B17AC0 00000000 */ nop
|
|
@ -1,23 +0,0 @@
|
|||
glabel func_80B17AC4
|
||||
/* 00564 80B17AC4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00568 80B17AC8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0056C 80B17ACC AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00570 80B17AD0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00574 80B17AD4 0C042F6F */ jal func_8010BDBC
|
||||
/* 00578 80B17AD8 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 0057C 80B17ADC 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 00580 80B17AE0 54410009 */ bnel $v0, $at, .L80B17B08
|
||||
/* 00584 80B17AE4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00588 80B17AE8 0C041AF2 */ jal func_80106BC8
|
||||
/* 0058C 80B17AEC 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00590 80B17AF0 10400004 */ beq $v0, $zero, .L80B17B04
|
||||
/* 00594 80B17AF4 8FAF0018 */ lw $t7, 0x0018($sp)
|
||||
/* 00598 80B17AF8 3C0E80B1 */ lui $t6, %hi(func_80B176E0) ## $t6 = 80B10000
|
||||
/* 0059C 80B17AFC 25CE76E0 */ addiu $t6, $t6, %lo(func_80B176E0) ## $t6 = 80B176E0
|
||||
/* 005A0 80B17B00 ADEE014C */ sw $t6, 0x014C($t7) ## 0000014C
|
||||
.L80B17B04:
|
||||
/* 005A4 80B17B04 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80B17B08:
|
||||
/* 005A8 80B17B08 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 005AC 80B17B0C 03E00008 */ jr $ra
|
||||
/* 005B0 80B17B10 00000000 */ nop
|
|
@ -1,26 +0,0 @@
|
|||
glabel func_80B17B14
|
||||
/* 005B4 80B17B14 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 005B8 80B17B18 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 005BC 80B17B1C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 005C0 80B17B20 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 005C4 80B17B24 0C042F6F */ jal func_8010BDBC
|
||||
/* 005C8 80B17B28 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 005CC 80B17B2C 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 005D0 80B17B30 85CF020C */ lh $t7, 0x020C($t6) ## 0000020C
|
||||
/* 005D4 80B17B34 55E2000C */ bnel $t7, $v0, .L80B17B68
|
||||
/* 005D8 80B17B38 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 005DC 80B17B3C 0C041AF2 */ jal func_80106BC8
|
||||
/* 005E0 80B17B40 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 005E4 80B17B44 50400008 */ beql $v0, $zero, .L80B17B68
|
||||
/* 005E8 80B17B48 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 005EC 80B17B4C 0C041B33 */ jal func_80106CCC
|
||||
/* 005F0 80B17B50 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 005F4 80B17B54 8FB90018 */ lw $t9, 0x0018($sp)
|
||||
/* 005F8 80B17B58 3C1880B1 */ lui $t8, %hi(func_80B176E0) ## $t8 = 80B10000
|
||||
/* 005FC 80B17B5C 271876E0 */ addiu $t8, $t8, %lo(func_80B176E0) ## $t8 = 80B176E0
|
||||
/* 00600 80B17B60 AF38014C */ sw $t8, 0x014C($t9) ## 0000014C
|
||||
/* 00604 80B17B64 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80B17B68:
|
||||
/* 00608 80B17B68 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0060C 80B17B6C 03E00008 */ jr $ra
|
||||
/* 00610 80B17B70 00000000 */ nop
|
|
@ -1,28 +0,0 @@
|
|||
glabel func_80B17C4C
|
||||
/* 006EC 80B17C4C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 006F0 80B17C50 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 006F4 80B17C54 AFA60008 */ sw $a2, 0x0008($sp)
|
||||
/* 006F8 80B17C58 14A10007 */ bne $a1, $at, .L80B17C78
|
||||
/* 006FC 80B17C5C AFA7000C */ sw $a3, 0x000C($sp)
|
||||
/* 00700 80B17C60 8FA20014 */ lw $v0, 0x0014($sp)
|
||||
/* 00704 80B17C64 8FA30010 */ lw $v1, 0x0010($sp)
|
||||
/* 00708 80B17C68 844F0234 */ lh $t7, 0x0234($v0) ## 00000234
|
||||
/* 0070C 80B17C6C 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
|
||||
/* 00710 80B17C70 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 00714 80B17C74 A4780000 */ sh $t8, 0x0000($v1) ## 00000000
|
||||
.L80B17C78:
|
||||
/* 00718 80B17C78 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
|
||||
/* 0071C 80B17C7C 8FA20014 */ lw $v0, 0x0014($sp)
|
||||
/* 00720 80B17C80 14A10009 */ bne $a1, $at, .L80B17CA8
|
||||
/* 00724 80B17C84 8FA30010 */ lw $v1, 0x0010($sp)
|
||||
/* 00728 80B17C88 84790000 */ lh $t9, 0x0000($v1) ## 00000000
|
||||
/* 0072C 80B17C8C 8448022E */ lh $t0, 0x022E($v0) ## 0000022E
|
||||
/* 00730 80B17C90 846A0004 */ lh $t2, 0x0004($v1) ## 00000004
|
||||
/* 00734 80B17C94 03284821 */ addu $t1, $t9, $t0
|
||||
/* 00738 80B17C98 A4690000 */ sh $t1, 0x0000($v1) ## 00000000
|
||||
/* 0073C 80B17C9C 844B0230 */ lh $t3, 0x0230($v0) ## 00000230
|
||||
/* 00740 80B17CA0 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 00744 80B17CA4 A46C0004 */ sh $t4, 0x0004($v1) ## 00000004
|
||||
.L80B17CA8:
|
||||
/* 00748 80B17CA8 03E00008 */ jr $ra
|
||||
/* 0074C 80B17CAC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
@ -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_Takara_Man_InitVars
|
||||
.word 0x017C0400, 0x08000039, 0x01550000, 0x00000238
|
||||
.word EnTakaraMan_Init
|
||||
.word EnTakaraMan_Destroy
|
||||
.word EnTakaraMan_Update
|
||||
.word EnTakaraMan_Draw
|
||||
glabel D_80B17DD0
|
||||
.word 0x00000000
|
||||
glabel D_80B17DD4
|
||||
.word 0x06000970, 0x06000D70, 0x00000000
|
||||
|
|
@ -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_80B17E70
|
||||
.incbin "baserom/ovl_En_Takara_Man", 0x910, 0x000000C0
|
3
spec
3
spec
|
@ -3158,8 +3158,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Takara_Man"
|
||||
include "build/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.o"
|
||||
include "build/data/overlays/actors/z_en_takara_man.data.o"
|
||||
include "build/data/overlays/actors/z_en_takara_man.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Takara_Man/ovl_En_Takara_Man_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_takara_man.h"
|
||||
#include <vt.h>
|
||||
|
||||
#define FLAGS 0x08000039
|
||||
|
||||
|
@ -15,7 +16,13 @@ void EnTakaraMan_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnTakaraMan_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnTakaraMan_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_80B176E0(EnTakaraMan* this, GlobalContext* globalCtx);
|
||||
void func_80B1778C(EnTakaraMan* this, GlobalContext* globalCtx);
|
||||
void func_80B17B14(EnTakaraMan* this, GlobalContext* globalCtx);
|
||||
void func_80B17934(EnTakaraMan* this, GlobalContext* globalCtx);
|
||||
void func_80B17A6C(EnTakaraMan* this, GlobalContext* globalCtx);
|
||||
void func_80B17AC4(EnTakaraMan* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Takara_Man_InitVars = {
|
||||
ACTOR_EN_TAKARA_MAN,
|
||||
ACTORTYPE_NPC,
|
||||
|
@ -27,25 +34,201 @@ const ActorInit En_Takara_Man_InitVars = {
|
|||
(ActorFunc)EnTakaraMan_Update,
|
||||
(ActorFunc)EnTakaraMan_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/EnTakaraMan_Destroy.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/EnTakaraMan_Init.s")
|
||||
static u8 sTakaraIsInitialized = false;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/func_80B176E0.s")
|
||||
extern SkeletonHeader D_06004FE0;
|
||||
extern AnimationHeader D_06000498;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/func_80B1778C.s")
|
||||
void EnTakaraMan_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/func_80B17934.s")
|
||||
void EnTakaraMan_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnTakaraMan* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/func_80B17A6C.s")
|
||||
if (sTakaraIsInitialized) {
|
||||
Actor_Kill(&this->actor);
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n" VT_RST); // "Already initialized"
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/func_80B17AC4.s")
|
||||
sTakaraIsInitialized = true;
|
||||
osSyncPrintf("\n\n");
|
||||
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ ばぅん! ☆☆☆☆☆ %x\n" VT_RST,
|
||||
globalCtx->actorCtx.flags.chest); // "Bun! %x" (needs a better translation)
|
||||
globalCtx->actorCtx.flags.chest = 0;
|
||||
gSaveContext.dungeonKeys[gSaveContext.mapIndex] = -1;
|
||||
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06004FE0, &D_06000498, this->limbDrawTbl, this->transitionDrawTbl,
|
||||
10);
|
||||
thisx->posRot2.pos = thisx->posRot.pos;
|
||||
this->pos = thisx->posRot.pos;
|
||||
thisx->posRot.pos.x = 133.0f;
|
||||
thisx->posRot.pos.y = -12.0f;
|
||||
thisx->posRot.pos.z = 102.0f;
|
||||
Actor_SetScale(&this->actor, 0.013f);
|
||||
this->height = 90.0f;
|
||||
this->originalRoomNum = thisx->room;
|
||||
thisx->room = -1;
|
||||
thisx->posRot.rot.y = thisx->shape.rot.y = -0x4E20;
|
||||
thisx->unk_1F = 1;
|
||||
this->actionFunc = func_80B176E0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/func_80B17B14.s")
|
||||
void func_80B176E0(EnTakaraMan* this, GlobalContext* globalCtx) {
|
||||
f32 frameCount = SkelAnime_GetFrameCount(&D_06000498.genericHeader);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/EnTakaraMan_Update.s")
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000498, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
|
||||
if (!this->unk_214) {
|
||||
this->actor.textId = 0x6D; // "Open the chest and..Surprise! ... 10 Rupees to play .. Yes/No"
|
||||
this->dialogState = 4;
|
||||
}
|
||||
this->actionFunc = func_80B1778C;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/func_80B17C4C.s")
|
||||
void func_80B1778C(EnTakaraMan* this, GlobalContext* globalCtx) {
|
||||
s16 absYawDiff;
|
||||
s16 yawDiff;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Takara_Man/EnTakaraMan_Draw.s")
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
if (func_8002F194(&this->actor, globalCtx) && this->dialogState != 6) {
|
||||
if (!this->unk_214) {
|
||||
this->actionFunc = func_80B17934;
|
||||
} else {
|
||||
this->actionFunc = func_80B17B14;
|
||||
}
|
||||
} else {
|
||||
yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y;
|
||||
if (globalCtx->roomCtx.curRoom.num == 6 && !this->unk_21A) {
|
||||
this->actor.textId = 0x6E; // "Great! You are a real gambler!"
|
||||
this->unk_21A = 1;
|
||||
this->dialogState = 6;
|
||||
}
|
||||
|
||||
if (!this->unk_21A && this->unk_214) {
|
||||
if (Flags_GetSwitch(globalCtx, 0x32)) {
|
||||
this->actor.textId = 0x84; // "Thanks a lot!"
|
||||
this->dialogState = 5;
|
||||
} else {
|
||||
this->actor.textId = 0x704C; // "With that key, proceed to the room ahead. Go, go!"
|
||||
this->dialogState = 6;
|
||||
}
|
||||
}
|
||||
|
||||
absYawDiff = ABS(yawDiff);
|
||||
if (absYawDiff < 0x4300) {
|
||||
if (globalCtx->roomCtx.curRoom.num != this->originalRoomNum) {
|
||||
this->actor.flags &= ~1;
|
||||
this->unk_218 = 0;
|
||||
} else {
|
||||
if (!this->unk_218) {
|
||||
this->actor.flags |= 1;
|
||||
this->unk_218 = 1;
|
||||
}
|
||||
func_8002F2CC(&this->actor, globalCtx, 100.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80B17934(EnTakaraMan* this, GlobalContext* globalCtx) {
|
||||
if (this->dialogState == func_8010BDBC(&globalCtx->msgCtx) && func_80106BC8(globalCtx)) {
|
||||
switch (globalCtx->msgCtx.choiceIndex) {
|
||||
case 0: // Yes
|
||||
if (gSaveContext.rupees >= 10) {
|
||||
func_80106CCC(globalCtx);
|
||||
Rupees_ChangeBy(-10);
|
||||
this->unk_214 = 1;
|
||||
this->actor.parent = NULL;
|
||||
func_8002F434(&this->actor, globalCtx, GI_DOOR_KEY, 2000.0f, 1000.0f);
|
||||
this->actionFunc = func_80B17A6C;
|
||||
} else {
|
||||
func_80106CCC(globalCtx);
|
||||
this->actor.textId = 0x85; // "You don't have enough Rupees!"
|
||||
func_8010B720(globalCtx, this->actor.textId);
|
||||
this->dialogState = 5;
|
||||
this->actionFunc = func_80B17B14;
|
||||
}
|
||||
break;
|
||||
case 1: // No
|
||||
func_80106CCC(globalCtx);
|
||||
this->actor.textId = 0x2D; // "All right. You don't have to play if you don't want to."
|
||||
func_8010B720(globalCtx, this->actor.textId);
|
||||
this->dialogState = 5;
|
||||
this->actionFunc = func_80B17B14;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80B17A6C(EnTakaraMan* this, GlobalContext* globalCtx) {
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actionFunc = func_80B17AC4;
|
||||
} else {
|
||||
func_8002F434(&this->actor, globalCtx, GI_DOOR_KEY, 2000.0f, 1000.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80B17AC4(EnTakaraMan* this, GlobalContext* globalCtx) {
|
||||
if (func_8010BDBC(&globalCtx->msgCtx) == 6 && func_80106BC8(globalCtx)) {
|
||||
this->actionFunc = func_80B176E0;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80B17B14(EnTakaraMan* this, GlobalContext* globalCtx) {
|
||||
if (this->dialogState == func_8010BDBC(&globalCtx->msgCtx) && func_80106BC8(globalCtx)) {
|
||||
func_80106CCC(globalCtx);
|
||||
this->actionFunc = func_80B176E0;
|
||||
}
|
||||
}
|
||||
|
||||
void EnTakaraMan_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnTakaraMan* this = THIS;
|
||||
|
||||
if (this->eyeTimer != 0) {
|
||||
this->eyeTimer--;
|
||||
}
|
||||
|
||||
Actor_SetHeight(&this->actor, this->height);
|
||||
func_80038290(globalCtx, &this->actor, &this->unk_22C, &this->unk_232, this->actor.posRot2.pos);
|
||||
if (this->eyeTimer == 0) {
|
||||
this->eyeTextureIdx++;
|
||||
if (this->eyeTextureIdx >= 2) {
|
||||
this->eyeTextureIdx = 0;
|
||||
this->eyeTimer = (s16)Math_Rand_ZeroFloat(60.0f) + 20;
|
||||
}
|
||||
}
|
||||
this->unk_212++;
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
s32 EnTakaraMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
|
||||
Actor* thisx) {
|
||||
EnTakaraMan* this = THIS;
|
||||
|
||||
if (limbIndex == 1) {
|
||||
rot->x += this->unk_232.y;
|
||||
}
|
||||
if (limbIndex == 8) {
|
||||
rot->x += this->unk_22C.y;
|
||||
rot->z += this->unk_22C.z;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnTakaraMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static UNK_PTR sTakaraEyeTextures[] = {
|
||||
0x06000970,
|
||||
0x06000D70,
|
||||
};
|
||||
|
||||
EnTakaraMan* this = THIS;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_takara_man.c", 528);
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sTakaraEyeTextures[this->eyeTextureIdx]));
|
||||
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
|
||||
EnTakaraMan_OverrideLimbDraw, NULL, &this->actor);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_takara_man.c", 544);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,26 @@
|
|||
|
||||
struct EnTakaraMan;
|
||||
|
||||
typedef void (*EnTakaraManActionFunc)(struct EnTakaraMan*, GlobalContext*);
|
||||
|
||||
typedef struct EnTakaraMan {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0xEC];
|
||||
/* 0x014C */ EnTakaraManActionFunc actionFunc;
|
||||
/* 0x0150 */ SkelAnime skelAnime;
|
||||
/* 0x0194 */ Vec3s limbDrawTbl[10];
|
||||
/* 0x01D0 */ Vec3s transitionDrawTbl[10];
|
||||
/* 0x020C */ s16 dialogState;
|
||||
/* 0x020E */ s16 eyeTextureIdx;
|
||||
/* 0x0210 */ s16 eyeTimer;
|
||||
/* 0x0212 */ s16 unk_212;
|
||||
/* 0x0214 */ s16 unk_214;
|
||||
/* 0x0216 */ s16 originalRoomNum;
|
||||
/* 0x0218 */ s16 unk_218;
|
||||
/* 0x021A */ s16 unk_21A;
|
||||
/* 0x022C */ f32 height;
|
||||
/* 0x0220 */ Vec3f pos;
|
||||
/* 0x022C */ Vec3s unk_22C;
|
||||
/* 0x0232 */ Vec3s unk_232;
|
||||
} EnTakaraMan; // size = 0x0238
|
||||
|
||||
extern const ActorInit En_Takara_Man_InitVars;
|
||||
|
|
|
@ -1081,5 +1081,9 @@ D_060055A8 = 0x060055A8;
|
|||
D_0601BFB0 = 0x0601BFB0;
|
||||
D_0601C160 = 0x0601C160;
|
||||
|
||||
// z_en_takara_man
|
||||
D_06004FE0 = 0x06004FE0;
|
||||
D_06000498 = 0x06000498;
|
||||
|
||||
// z_bg_menkuri_eye
|
||||
D_06002D20 = 0x06002D20;
|
||||
|
|
Loading…
Add table
Reference in a new issue