mirror of
https://github.com/zeldaret/oot.git
synced 2025-04-06 14:46:21 +00:00
En_Kz OK (#176)
* start kz * remove irrelevant file * kz progress * en_kz progress * match kz switch * progress * kz OK * kz OK * sync * kz done * delete asm files * pr suggestions 1
This commit is contained in:
parent
038ab888f6
commit
ac97807762
35 changed files with 479 additions and 1468 deletions
|
@ -1,12 +0,0 @@
|
|||
glabel EnKz_Destroy
|
||||
/* 00B48 80A9D098 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00B4C 80A9D09C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00B50 80A9D0A0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00B54 80A9D0A4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00B58 80A9D0A8 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 00B5C 80A9D0AC 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
|
||||
/* 00B60 80A9D0B0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00B64 80A9D0B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00B68 80A9D0B8 03E00008 */ jr $ra
|
||||
/* 00B6C 80A9D0BC 00000000 */ nop
|
|
@ -1,75 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A9D970
|
||||
.asciz "../z_en_kz.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A9D980
|
||||
.asciz "../z_en_kz.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnKz_Draw
|
||||
/* 01250 80A9D7A0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 01254 80A9D7A4 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 01258 80A9D7A8 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 0125C 80A9D7AC AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 01260 80A9D7B0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 01264 80A9D7B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01268 80A9D7B8 3C0680AA */ lui $a2, %hi(D_80A9D970) ## $a2 = 80AA0000
|
||||
/* 0126C 80A9D7BC 24C6D970 */ addiu $a2, $a2, %lo(D_80A9D970) ## $a2 = 80A9D970
|
||||
/* 01270 80A9D7C0 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
|
||||
/* 01274 80A9D7C4 240704EB */ addiu $a3, $zero, 0x04EB ## $a3 = 000004EB
|
||||
/* 01278 80A9D7C8 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 0127C 80A9D7CC AFA50048 */ sw $a1, 0x0048($sp)
|
||||
/* 01280 80A9D7D0 8FA80048 */ lw $t0, 0x0048($sp)
|
||||
/* 01284 80A9D7D4 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
|
||||
/* 01288 80A9D7D8 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020
|
||||
/* 0128C 80A9D7DC 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
|
||||
/* 01290 80A9D7E0 3C0480AA */ lui $a0, %hi(D_80A9D964) ## $a0 = 80AA0000
|
||||
/* 01294 80A9D7E4 3C0E8016 */ lui $t6, %hi(gSegments)
|
||||
/* 01298 80A9D7E8 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
|
||||
/* 0129C 80A9D7EC AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
|
||||
/* 012A0 80A9D7F0 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
|
||||
/* 012A4 80A9D7F4 86190210 */ lh $t9, 0x0210($s0) ## 00000210
|
||||
/* 012A8 80A9D7F8 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 012AC 80A9D7FC 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 012B0 80A9D800 00194880 */ sll $t1, $t9, 2
|
||||
/* 012B4 80A9D804 00892021 */ addu $a0, $a0, $t1
|
||||
/* 012B8 80A9D808 8C84D964 */ lw $a0, %lo(D_80A9D964)($a0)
|
||||
/* 012BC 80A9D80C 00045900 */ sll $t3, $a0, 4
|
||||
/* 012C0 80A9D810 000B6702 */ srl $t4, $t3, 28
|
||||
/* 012C4 80A9D814 000C6880 */ sll $t5, $t4, 2
|
||||
/* 012C8 80A9D818 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 012CC 80A9D81C 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
|
||||
/* 012D0 80A9D820 00815024 */ and $t2, $a0, $at
|
||||
/* 012D4 80A9D824 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 012D8 80A9D828 014E7821 */ addu $t7, $t2, $t6
|
||||
/* 012DC 80A9D82C 01E1C021 */ addu $t8, $t7, $at
|
||||
/* 012E0 80A9D830 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
|
||||
/* 012E4 80A9D834 8FB90054 */ lw $t9, 0x0054($sp)
|
||||
/* 012E8 80A9D838 0C0250F2 */ jal func_800943C8
|
||||
/* 012EC 80A9D83C 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
|
||||
/* 012F0 80A9D840 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
|
||||
/* 012F4 80A9D844 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
||||
/* 012F8 80A9D848 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
|
||||
/* 012FC 80A9D84C 3C0980AA */ lui $t1, %hi(func_80A9D670) ## $t1 = 80AA0000
|
||||
/* 01300 80A9D850 3C0B80AA */ lui $t3, %hi(func_80A9D744) ## $t3 = 80AA0000
|
||||
/* 01304 80A9D854 256BD744 */ addiu $t3, $t3, %lo(func_80A9D744) ## $t3 = 80A9D744
|
||||
/* 01308 80A9D858 2529D670 */ addiu $t1, $t1, %lo(func_80A9D670) ## $t1 = 80A9D670
|
||||
/* 0130C 80A9D85C AFA90010 */ sw $t1, 0x0010($sp)
|
||||
/* 01310 80A9D860 AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 01314 80A9D864 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 01318 80A9D868 0C0286B2 */ jal SkelAnime_DrawSV
|
||||
/* 0131C 80A9D86C 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 01320 80A9D870 8FAC0054 */ lw $t4, 0x0054($sp)
|
||||
/* 01324 80A9D874 3C0680AA */ lui $a2, %hi(D_80A9D980) ## $a2 = 80AA0000
|
||||
/* 01328 80A9D878 24C6D980 */ addiu $a2, $a2, %lo(D_80A9D980) ## $a2 = 80A9D980
|
||||
/* 0132C 80A9D87C 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
|
||||
/* 01330 80A9D880 24070501 */ addiu $a3, $zero, 0x0501 ## $a3 = 00000501
|
||||
/* 01334 80A9D884 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 01338 80A9D888 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
|
||||
/* 0133C 80A9D88C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 01340 80A9D890 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 01344 80A9D894 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 01348 80A9D898 03E00008 */ jr $ra
|
||||
/* 0134C 80A9D89C 00000000 */ nop
|
|
@ -1,108 +0,0 @@
|
|||
glabel EnKz_Init
|
||||
/* 009BC 80A9CF0C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 009C0 80A9CF10 AFB00034 */ sw $s0, 0x0034($sp)
|
||||
/* 009C4 80A9CF14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 009C8 80A9CF18 AFB10038 */ sw $s1, 0x0038($sp)
|
||||
/* 009CC 80A9CF1C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 009D0 80A9CF20 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 009D4 80A9CF24 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 009D8 80A9CF28 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 009DC 80A9CF2C 260E0216 */ addiu $t6, $s0, 0x0216 ## $t6 = 00000216
|
||||
/* 009E0 80A9CF30 260F025E */ addiu $t7, $s0, 0x025E ## $t7 = 0000025E
|
||||
/* 009E4 80A9CF34 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
|
||||
/* 009E8 80A9CF38 2418000C */ addiu $t8, $zero, 0x000C ## $t8 = 0000000C
|
||||
/* 009EC 80A9CF3C AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 009F0 80A9CF40 24C686D0 */ addiu $a2, $a2, 0x86D0 ## $a2 = 060086D0
|
||||
/* 009F4 80A9CF44 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 009F8 80A9CF48 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 009FC 80A9CF4C AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00A00 80A9CF50 0C0291BE */ jal SkelAnime_InitSV
|
||||
/* 00A04 80A9CF54 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00A08 80A9CF58 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00A0C 80A9CF5C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00A10 80A9CF60 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00A14 80A9CF64 44050000 */ mfc1 $a1, $f0
|
||||
/* 00A18 80A9CF68 44070000 */ mfc1 $a3, $f0
|
||||
/* 00A1C 80A9CF6C 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00A20 80A9CF70 00000000 */ nop
|
||||
/* 00A24 80A9CF74 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 00A28 80A9CF78 AFA50040 */ sw $a1, 0x0040($sp)
|
||||
/* 00A2C 80A9CF7C 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00A30 80A9CF80 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00A34 80A9CF84 3C0780AA */ lui $a3, %hi(D_80A9D8C0) ## $a3 = 80AA0000
|
||||
/* 00A38 80A9CF88 8FA50040 */ lw $a1, 0x0040($sp)
|
||||
/* 00A3C 80A9CF8C 24E7D8C0 */ addiu $a3, $a3, %lo(D_80A9D8C0) ## $a3 = 80A9D8C0
|
||||
/* 00A40 80A9CF90 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00A44 80A9CF94 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00A48 80A9CF98 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00A4C 80A9CF9C 3C0680AA */ lui $a2, %hi(D_80A9D8EC) ## $a2 = 80AA0000
|
||||
/* 00A50 80A9CFA0 24C6D8EC */ addiu $a2, $a2, %lo(D_80A9D8EC) ## $a2 = 80A9D8EC
|
||||
/* 00A54 80A9CFA4 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
||||
/* 00A58 80A9CFA8 0C0187BF */ jal func_80061EFC
|
||||
/* 00A5C 80A9CFAC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00A60 80A9CFB0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 00A64 80A9CFB4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 00A68 80A9CFB8 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00A6C 80A9CFBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A70 80A9CFC0 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
|
||||
/* 00A74 80A9CFC4 A219001F */ sb $t9, 0x001F($s0) ## 0000001F
|
||||
/* 00A78 80A9CFC8 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
|
||||
/* 00A7C 80A9CFCC 3C0580AA */ lui $a1, %hi(D_80A9D8F8) ## $a1 = 80AA0000
|
||||
/* 00A80 80A9CFD0 24A5D8F8 */ addiu $a1, $a1, %lo(D_80A9D8F8) ## $a1 = 80A9D8F8
|
||||
/* 00A84 80A9CFD4 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00A88 80A9CFD8 0C00D3B0 */ jal func_80034EC0
|
||||
/* 00A8C 80A9CFDC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00A90 80A9CFE0 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00A94 80A9CFE4 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00A98 80A9CFE8 94480EDA */ lhu $t0, 0x0EDA($v0) ## 8015F53A
|
||||
/* 00A9C 80A9CFEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AA0 80A9CFF0 31090008 */ andi $t1, $t0, 0x0008 ## $t1 = 00000000
|
||||
/* 00AA4 80A9CFF4 51200006 */ beql $t1, $zero, .L80A9D010
|
||||
/* 00AA8 80A9CFF8 8C4A0004 */ lw $t2, 0x0004($v0) ## 8015E664
|
||||
/* 00AAC 80A9CFFC 0C2A7391 */ jal func_80A9CE44
|
||||
/* 00AB0 80A9D000 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00AB4 80A9D004 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00AB8 80A9D008 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00ABC 80A9D00C 8C4A0004 */ lw $t2, 0x0004($v0) ## 8015E664
|
||||
.L80A9D010:
|
||||
/* 00AC0 80A9D010 3C0F80AA */ lui $t7, %hi(func_80A9D0C0) ## $t7 = 80AA0000
|
||||
/* 00AC4 80A9D014 25EFD0C0 */ addiu $t7, $t7, %lo(func_80A9D0C0) ## $t7 = 80A9D0C0
|
||||
/* 00AC8 80A9D018 5540001A */ bnel $t2, $zero, .L80A9D084
|
||||
/* 00ACC 80A9D01C AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
|
||||
/* 00AD0 80A9D020 944B0F1E */ lhu $t3, 0x0F1E($v0) ## 8015F57E
|
||||
/* 00AD4 80A9D024 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 00AD8 80A9D028 316C0100 */ andi $t4, $t3, 0x0100 ## $t4 = 00000000
|
||||
/* 00ADC 80A9D02C 15800010 */ bne $t4, $zero, .L80A9D070
|
||||
/* 00AE0 80A9D030 00000000 */ nop
|
||||
/* 00AE4 80A9D034 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00AE8 80A9D038 240D04FF */ addiu $t5, $zero, 0x04FF ## $t5 = 000004FF
|
||||
/* 00AEC 80A9D03C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00AF0 80A9D040 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00AF4 80A9D044 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 00AF8 80A9D048 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
|
||||
/* 00AFC 80A9D04C 240700EF */ addiu $a3, $zero, 0x00EF ## $a3 = 000000EF
|
||||
/* 00B00 80A9D050 E7A60014 */ swc1 $f6, 0x0014($sp)
|
||||
/* 00B04 80A9D054 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 00B08 80A9D058 AFAD0028 */ sw $t5, 0x0028($sp)
|
||||
/* 00B0C 80A9D05C AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00B10 80A9D060 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00B14 80A9D064 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00B18 80A9D068 0C00C916 */ jal Actor_SpawnAttached
|
||||
|
||||
/* 00B1C 80A9D06C E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
.L80A9D070:
|
||||
/* 00B20 80A9D070 3C0E80AA */ lui $t6, %hi(func_80A9D42C) ## $t6 = 80AA0000
|
||||
/* 00B24 80A9D074 25CED42C */ addiu $t6, $t6, %lo(func_80A9D42C) ## $t6 = 80A9D42C
|
||||
/* 00B28 80A9D078 10000002 */ beq $zero, $zero, .L80A9D084
|
||||
/* 00B2C 80A9D07C AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
|
||||
/* 00B30 80A9D080 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
|
||||
.L80A9D084:
|
||||
/* 00B34 80A9D084 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 00B38 80A9D088 8FB00034 */ lw $s0, 0x0034($sp)
|
||||
/* 00B3C 80A9D08C 8FB10038 */ lw $s1, 0x0038($sp)
|
||||
/* 00B40 80A9D090 03E00008 */ jr $ra
|
||||
/* 00B44 80A9D094 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,54 +0,0 @@
|
|||
glabel EnKz_Update
|
||||
/* 01064 80A9D5B4 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 01068 80A9D5B8 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 0106C 80A9D5BC 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
|
||||
/* 01070 80A9D5C0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 01074 80A9D5C4 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 01078 80A9D5C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0107C 80A9D5CC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 01080 80A9D5D0 15C00006 */ bne $t6, $zero, .L80A9D5EC
|
||||
/* 01084 80A9D5D4 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 01088 80A9D5D8 94620F1E */ lhu $v0, 0x0F1E($v1) ## 8015F57E
|
||||
/* 0108C 80A9D5DC 304F0100 */ andi $t7, $v0, 0x0100 ## $t7 = 00000000
|
||||
/* 01090 80A9D5E0 15E00002 */ bne $t7, $zero, .L80A9D5EC
|
||||
/* 01094 80A9D5E4 34580100 */ ori $t8, $v0, 0x0100 ## $t8 = 00000100
|
||||
/* 01098 80A9D5E8 A4780F1E */ sh $t8, 0x0F1E($v1) ## 8015F57E
|
||||
.L80A9D5EC:
|
||||
/* 0109C 80A9D5EC 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
/* 010A0 80A9D5F0 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
|
||||
/* 010A4 80A9D5F4 AFA60024 */ sw $a2, 0x0024($sp)
|
||||
/* 010A8 80A9D5F8 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 010AC 80A9D5FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010B0 80A9D600 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 010B4 80A9D604 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 010B8 80A9D608 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 010BC 80A9D60C 8FA60024 */ lw $a2, 0x0024($sp)
|
||||
/* 010C0 80A9D610 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 010C4 80A9D614 00812821 */ addu $a1, $a0, $at
|
||||
/* 010C8 80A9D618 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 010CC 80A9D61C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 010D0 80A9D620 0C2A7239 */ jal func_80A9C8E4
|
||||
/* 010D4 80A9D624 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010D8 80A9D628 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 010DC 80A9D62C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010E0 80A9D630 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
|
||||
/* 010E4 80A9D634 3C1980AA */ lui $t9, %hi(func_80A9D520) ## $t9 = 80AA0000
|
||||
/* 010E8 80A9D638 2739D520 */ addiu $t9, $t9, %lo(func_80A9D520) ## $t9 = 80A9D520
|
||||
/* 010EC 80A9D63C 13220004 */ beq $t9, $v0, .L80A9D650
|
||||
/* 010F0 80A9D640 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010F4 80A9D644 0C2A72C6 */ jal func_80A9CB18
|
||||
/* 010F8 80A9D648 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 010FC 80A9D64C 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
|
||||
.L80A9D650:
|
||||
/* 01100 80A9D650 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01104 80A9D654 0040F809 */ jalr $ra, $v0
|
||||
/* 01108 80A9D658 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 0110C 80A9D65C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01110 80A9D660 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 01114 80A9D664 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 01118 80A9D668 03E00008 */ jr $ra
|
||||
/* 0111C 80A9D66C 00000000 */ nop
|
|
@ -1,28 +0,0 @@
|
|||
glabel func_80A9C550
|
||||
/* 00000 80A9C550 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00004 80A9C554 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00008 80A9C558 3C0E8012 */ lui $t6, %hi(gBitFlags+0x50)
|
||||
/* 0000C 80A9C55C 8DCE7170 */ lw $t6, %lo(gBitFlags+0x50)($t6)
|
||||
/* 00010 80A9C560 8C4F00A4 */ lw $t7, 0x00A4($v0) ## 8015E704
|
||||
/* 00014 80A9C564 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00018 80A9C568 8C831C44 */ lw $v1, 0x1C44($a0) ## 00001C44
|
||||
/* 0001C 80A9C56C 01CFC024 */ and $t8, $t6, $t7
|
||||
/* 00020 80A9C570 53000004 */ beql $t8, $zero, .L80A9C584
|
||||
/* 00024 80A9C574 94590EDA */ lhu $t9, 0x0EDA($v0) ## 8015F53A
|
||||
/* 00028 80A9C578 03E00008 */ jr $ra
|
||||
/* 0002C 80A9C57C 2402402B */ addiu $v0, $zero, 0x402B ## $v0 = 0000402B
|
||||
.L80A9C580:
|
||||
/* 00030 80A9C580 94590EDA */ lhu $t9, 0x0EDA($v0) ## 00004F05
|
||||
.L80A9C584:
|
||||
/* 00034 80A9C584 2409001D */ addiu $t1, $zero, 0x001D ## $t1 = 0000001D
|
||||
/* 00038 80A9C588 2402401A */ addiu $v0, $zero, 0x401A ## $v0 = 0000401A
|
||||
/* 0003C 80A9C58C 33280008 */ andi $t0, $t9, 0x0008 ## $t0 = 00000000
|
||||
/* 00040 80A9C590 51000004 */ beql $t0, $zero, .L80A9C5A4
|
||||
/* 00044 80A9C594 A0690693 */ sb $t1, 0x0693($v1) ## 00000693
|
||||
/* 00048 80A9C598 03E00008 */ jr $ra
|
||||
/* 0004C 80A9C59C 2402401C */ addiu $v0, $zero, 0x401C ## $v0 = 0000401C
|
||||
.L80A9C5A0:
|
||||
/* 00050 80A9C5A0 A0690693 */ sb $t1, 0x0693($v1) ## 00000693
|
||||
.L80A9C5A4:
|
||||
/* 00054 80A9C5A4 03E00008 */ jr $ra
|
||||
/* 00058 80A9C5A8 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
glabel func_80A9C5AC
|
||||
/* 0005C 80A9C5AC 3C0E8012 */ lui $t6, %hi(gItemSlots+0x2d)
|
||||
/* 00060 80A9C5B0 91CE7491 */ lbu $t6, %lo(gItemSlots+0x2d)($t6)
|
||||
/* 00064 80A9C5B4 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00068 80A9C5B8 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 0006C 80A9C5BC 004E7821 */ addu $t7, $v0, $t6
|
||||
/* 00070 80A9C5C0 91F80074 */ lbu $t8, 0x0074($t7) ## 00000074
|
||||
/* 00074 80A9C5C4 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00078 80A9C5C8 8C831C44 */ lw $v1, 0x1C44($a0) ## 00001C44
|
||||
/* 0007C 80A9C5CC 2B010035 */ slti $at, $t8, 0x0035
|
||||
/* 00080 80A9C5D0 1420001D */ bne $at, $zero, .L80A9C648
|
||||
/* 00084 80A9C5D4 2419000C */ addiu $t9, $zero, 0x000C ## $t9 = 0000000C
|
||||
/* 00088 80A9C5D8 94590F1E */ lhu $t9, 0x0F1E($v0) ## 8015F57E
|
||||
/* 0008C 80A9C5DC 3C098012 */ lui $t1, %hi(gBitFlags+8)
|
||||
/* 00090 80A9C5E0 3C0A8012 */ lui $t2, %hi(gEquipShifts+2)
|
||||
/* 00094 80A9C5E4 33280200 */ andi $t0, $t9, 0x0200 ## $t0 = 00000000
|
||||
/* 00098 80A9C5E8 1500000C */ bne $t0, $zero, .L80A9C61C
|
||||
/* 0009C 80A9C5EC 3C0E8012 */ lui $t6, %hi(gBitFlags+0x20)
|
||||
/* 000A0 80A9C5F0 8D297128 */ lw $t1, %lo(gBitFlags+8)($t1)
|
||||
/* 000A4 80A9C5F4 914A71F2 */ lbu $t2, %lo(gEquipShifts+2)($t2)
|
||||
/* 000A8 80A9C5F8 944C009C */ lhu $t4, 0x009C($v0) ## 8015E6FC
|
||||
/* 000AC 80A9C5FC 01495804 */ sllv $t3, $t1, $t2
|
||||
/* 000B0 80A9C600 016C6824 */ and $t5, $t3, $t4
|
||||
/* 000B4 80A9C604 11A00003 */ beq $t5, $zero, .L80A9C614
|
||||
/* 000B8 80A9C608 00000000 */ nop
|
||||
/* 000BC 80A9C60C 03E00008 */ jr $ra
|
||||
/* 000C0 80A9C610 2402401F */ addiu $v0, $zero, 0x401F ## $v0 = 0000401F
|
||||
.L80A9C614:
|
||||
/* 000C4 80A9C614 03E00008 */ jr $ra
|
||||
/* 000C8 80A9C618 24024012 */ addiu $v0, $zero, 0x4012 ## $v0 = 00004012
|
||||
.L80A9C61C:
|
||||
/* 000CC 80A9C61C 8DCE7140 */ lw $t6, %lo(gBitFlags+0x20)($t6)
|
||||
/* 000D0 80A9C620 8C4F00A4 */ lw $t7, 0x00A4($v0) ## 000040B6
|
||||
/* 000D4 80A9C624 2403401A */ addiu $v1, $zero, 0x401A ## $v1 = 0000401A
|
||||
/* 000D8 80A9C628 01CFC024 */ and $t8, $t6, $t7
|
||||
/* 000DC 80A9C62C 13000004 */ beq $t8, $zero, .L80A9C640
|
||||
/* 000E0 80A9C630 00000000 */ nop
|
||||
/* 000E4 80A9C634 24034045 */ addiu $v1, $zero, 0x4045 ## $v1 = 00004045
|
||||
/* 000E8 80A9C638 03E00008 */ jr $ra
|
||||
/* 000EC 80A9C63C 3062FFFF */ andi $v0, $v1, 0xFFFF ## $v0 = 00004045
|
||||
.L80A9C640:
|
||||
/* 000F0 80A9C640 03E00008 */ jr $ra
|
||||
/* 000F4 80A9C644 3062FFFF */ andi $v0, $v1, 0xFFFF ## $v0 = 00004045
|
||||
.L80A9C648:
|
||||
/* 000F8 80A9C648 A0790693 */ sb $t9, 0x0693($v1) ## 000046D8
|
||||
/* 000FC 80A9C64C 24024012 */ addiu $v0, $zero, 0x4012 ## $v0 = 00004012
|
||||
/* 00100 80A9C650 03E00008 */ jr $ra
|
||||
/* 00104 80A9C654 00000000 */ nop
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_80A9C658
|
||||
/* 00108 80A9C658 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0010C 80A9C65C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00110 80A9C660 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00114 80A9C664 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
|
||||
/* 00118 80A9C668 0C01B0D8 */ jal Text_GetFaceReaction
|
||||
/* 0011C 80A9C66C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00120 80A9C670 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00124 80A9C674 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00128 80A9C678 10400003 */ beq $v0, $zero, .L80A9C688
|
||||
/* 0012C 80A9C67C 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000
|
||||
/* 00130 80A9C680 1000000B */ beq $zero, $zero, .L80A9C6B0
|
||||
/* 00134 80A9C684 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
.L80A9C688:
|
||||
/* 00138 80A9C688 3C0E8016 */ lui $t6, %hi(gSaveContext+4)
|
||||
/* 0013C 80A9C68C 8DCEE664 */ lw $t6, %lo(gSaveContext+4)($t6)
|
||||
/* 00140 80A9C690 15C00005 */ bne $t6, $zero, .L80A9C6A8
|
||||
/* 00144 80A9C694 00000000 */ nop
|
||||
/* 00148 80A9C698 0C2A716B */ jal func_80A9C5AC
|
||||
/* 0014C 80A9C69C 00000000 */ nop
|
||||
/* 00150 80A9C6A0 10000004 */ beq $zero, $zero, .L80A9C6B4
|
||||
/* 00154 80A9C6A4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A9C6A8:
|
||||
/* 00158 80A9C6A8 0C2A7154 */ jal func_80A9C550
|
||||
/* 0015C 80A9C6AC 00000000 */ nop
|
||||
.L80A9C6B0:
|
||||
/* 00160 80A9C6B0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A9C6B4:
|
||||
/* 00164 80A9C6B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00168 80A9C6B8 03E00008 */ jr $ra
|
||||
/* 0016C 80A9C6BC 00000000 */ nop
|
|
@ -1,167 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_80A9D990
|
||||
.word L80A9C8D0
|
||||
.word L80A9C8D0
|
||||
.word L80A9C8D0
|
||||
.word L80A9C794
|
||||
.word L80A9C844
|
||||
.word L80A9C8B8
|
||||
.word L80A9C710
|
||||
.word L80A9C8D0
|
||||
.word L80A9C8D0
|
||||
.word L80A9C8D0
|
||||
|
||||
.text
|
||||
glabel func_80A9C6C0
|
||||
/* 00170 80A9C6C0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00174 80A9C6C4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00178 80A9C6C8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 0017C 80A9C6CC 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00180 80A9C6D0 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00184 80A9C6D4 A7A80022 */ sh $t0, 0x0022($sp)
|
||||
/* 00188 80A9C6D8 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 0018C 80A9C6DC 0C042F6F */ jal func_8010BDBC
|
||||
/* 00190 80A9C6E0 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
|
||||
/* 00194 80A9C6E4 2C41000A */ sltiu $at, $v0, 0x000A
|
||||
/* 00198 80A9C6E8 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 0019C 80A9C6EC 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 001A0 80A9C6F0 10200077 */ beq $at, $zero, .L80A9C8D0
|
||||
/* 001A4 80A9C6F4 87A80022 */ lh $t0, 0x0022($sp)
|
||||
/* 001A8 80A9C6F8 00027080 */ sll $t6, $v0, 2
|
||||
/* 001AC 80A9C6FC 3C0180AA */ lui $at, %hi(jtbl_80A9D990) ## $at = 80AA0000
|
||||
/* 001B0 80A9C700 002E0821 */ addu $at, $at, $t6
|
||||
/* 001B4 80A9C704 8C2ED990 */ lw $t6, %lo(jtbl_80A9D990)($at)
|
||||
/* 001B8 80A9C708 01C00008 */ jr $t6
|
||||
/* 001BC 80A9C70C 00000000 */ nop
|
||||
glabel L80A9C710
|
||||
/* 001C0 80A9C710 8FAF002C */ lw $t7, 0x002C($sp)
|
||||
/* 001C4 80A9C714 24014012 */ addiu $at, $zero, 0x4012 ## $at = 00004012
|
||||
/* 001C8 80A9C718 00004025 */ or $t0, $zero, $zero ## $t0 = 00000000
|
||||
/* 001CC 80A9C71C 95E2010E */ lhu $v0, 0x010E($t7) ## 0000010E
|
||||
/* 001D0 80A9C720 10410007 */ beq $v0, $at, .L80A9C740
|
||||
/* 001D4 80A9C724 2401401B */ addiu $at, $zero, 0x401B ## $at = 0000401B
|
||||
/* 001D8 80A9C728 1041000C */ beq $v0, $at, .L80A9C75C
|
||||
/* 001DC 80A9C72C 2401401F */ addiu $at, $zero, 0x401F ## $at = 0000401F
|
||||
/* 001E0 80A9C730 10410012 */ beq $v0, $at, .L80A9C77C
|
||||
/* 001E4 80A9C734 00000000 */ nop
|
||||
/* 001E8 80A9C738 10000066 */ beq $zero, $zero, .L80A9C8D4
|
||||
/* 001EC 80A9C73C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A9C740:
|
||||
/* 001F0 80A9C740 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 001F4 80A9C744 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 001F8 80A9C748 94580F1E */ lhu $t8, 0x0F1E($v0) ## 8015F57E
|
||||
/* 001FC 80A9C74C 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
|
||||
/* 00200 80A9C750 37190200 */ ori $t9, $t8, 0x0200 ## $t9 = 00000200
|
||||
/* 00204 80A9C754 1000005E */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 00208 80A9C758 A4590F1E */ sh $t9, 0x0F1E($v0) ## 8015F57E
|
||||
.L80A9C75C:
|
||||
/* 0020C 80A9C75C 0C041AF2 */ jal func_80106BC8
|
||||
/* 00210 80A9C760 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00214 80A9C764 14400003 */ bne $v0, $zero, .L80A9C774
|
||||
/* 00218 80A9C768 00000000 */ nop
|
||||
/* 0021C 80A9C76C 10000058 */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 00220 80A9C770 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
.L80A9C774:
|
||||
/* 00224 80A9C774 10000056 */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 00228 80A9C778 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
|
||||
.L80A9C77C:
|
||||
/* 0022C 80A9C77C 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00230 80A9C780 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00234 80A9C784 94490F1E */ lhu $t1, 0x0F1E($v0) ## 8015F57E
|
||||
/* 00238 80A9C788 352A0200 */ ori $t2, $t1, 0x0200 ## $t2 = 00000200
|
||||
/* 0023C 80A9C78C 10000050 */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 00240 80A9C790 A44A0F1E */ sh $t2, 0x0F1E($v0) ## 8015F57E
|
||||
glabel L80A9C794
|
||||
/* 00244 80A9C794 9462010E */ lhu $v0, 0x010E($v1) ## 0000010E
|
||||
/* 00248 80A9C798 24014014 */ addiu $at, $zero, 0x4014 ## $at = 00004014
|
||||
/* 0024C 80A9C79C 10410016 */ beq $v0, $at, .L80A9C7F8
|
||||
/* 00250 80A9C7A0 2401401B */ addiu $at, $zero, 0x401B ## $at = 0000401B
|
||||
/* 00254 80A9C7A4 5441004B */ bnel $v0, $at, .L80A9C8D4
|
||||
/* 00258 80A9C7A8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0025C 80A9C7AC 906B0208 */ lbu $t3, 0x0208($v1) ## 00000208
|
||||
/* 00260 80A9C7B0 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 00264 80A9C7B4 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 00268 80A9C7B8 15600045 */ bne $t3, $zero, .L80A9C8D0
|
||||
/* 0026C 80A9C7BC 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 00270 80A9C7C0 3C0C8013 */ lui $t4, %hi(D_801333E8)
|
||||
/* 00274 80A9C7C4 258C33E8 */ addiu $t4, %lo(D_801333E8)
|
||||
/* 00278 80A9C7C8 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 0027C 80A9C7CC 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 00280 80A9C7D0 AFAC0014 */ sw $t4, 0x0014($sp)
|
||||
/* 00284 80A9C7D4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00288 80A9C7D8 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 0028C 80A9C7DC 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00290 80A9C7E0 A7A80022 */ sh $t0, 0x0022($sp)
|
||||
/* 00294 80A9C7E4 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 00298 80A9C7E8 87A80022 */ lh $t0, 0x0022($sp)
|
||||
/* 0029C 80A9C7EC 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 002A0 80A9C7F0 10000037 */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 002A4 80A9C7F4 A06D0208 */ sb $t5, 0x0208($v1) ## 00000208
|
||||
.L80A9C7F8:
|
||||
/* 002A8 80A9C7F8 906E0208 */ lbu $t6, 0x0208($v1) ## 00000208
|
||||
/* 002AC 80A9C7FC 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 002B0 80A9C800 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 002B4 80A9C804 15C00032 */ bne $t6, $zero, .L80A9C8D0
|
||||
/* 002B8 80A9C808 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
|
||||
/* 002BC 80A9C80C 3C0F8013 */ lui $t7, %hi(D_801333E8)
|
||||
/* 002C0 80A9C810 25EF33E8 */ addiu $t7, %lo(D_801333E8)
|
||||
/* 002C4 80A9C814 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 002C8 80A9C818 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 002CC 80A9C81C AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 002D0 80A9C820 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 002D4 80A9C824 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 002D8 80A9C828 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 002DC 80A9C82C A7A80022 */ sh $t0, 0x0022($sp)
|
||||
/* 002E0 80A9C830 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 002E4 80A9C834 87A80022 */ lh $t0, 0x0022($sp)
|
||||
/* 002E8 80A9C838 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 002EC 80A9C83C 10000024 */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 002F0 80A9C840 A0780208 */ sb $t8, 0x0208($v1) ## 00000208
|
||||
glabel L80A9C844
|
||||
/* 002F4 80A9C844 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 002F8 80A9C848 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 002FC 80A9C84C 0C041AF2 */ jal func_80106BC8
|
||||
/* 00300 80A9C850 A7A80022 */ sh $t0, 0x0022($sp)
|
||||
/* 00304 80A9C854 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 00308 80A9C858 1040001D */ beq $v0, $zero, .L80A9C8D0
|
||||
/* 0030C 80A9C85C 87A80022 */ lh $t0, 0x0022($sp)
|
||||
/* 00310 80A9C860 8FA7002C */ lw $a3, 0x002C($sp)
|
||||
/* 00314 80A9C864 24014014 */ addiu $at, $zero, 0x4014 ## $at = 00004014
|
||||
/* 00318 80A9C868 3C090001 */ lui $t1, 0x0001 ## $t1 = 00010000
|
||||
/* 0031C 80A9C86C 94F9010E */ lhu $t9, 0x010E($a3) ## 0000010E
|
||||
/* 00320 80A9C870 01264821 */ addu $t1, $t1, $a2
|
||||
/* 00324 80A9C874 57210017 */ bnel $t9, $at, .L80A9C8D4
|
||||
/* 00328 80A9C878 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0032C 80A9C87C 912904BD */ lbu $t1, 0x04BD($t1) ## 000104BD
|
||||
/* 00330 80A9C880 240A4016 */ addiu $t2, $zero, 0x4016 ## $t2 = 00004016
|
||||
/* 00334 80A9C884 3145FFFF */ andi $a1, $t2, 0xFFFF ## $a1 = 00004016
|
||||
/* 00338 80A9C888 15200006 */ bne $t1, $zero, .L80A9C8A4
|
||||
/* 0033C 80A9C88C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00340 80A9C890 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00344 80A9C894 0C2A7524 */ jal func_80A9D490
|
||||
/* 00348 80A9C898 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
|
||||
/* 0034C 80A9C89C 1000000C */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 00350 80A9C8A0 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
|
||||
.L80A9C8A4:
|
||||
/* 00354 80A9C8A4 A4EA010E */ sh $t2, 0x010E($a3) ## 0000010E
|
||||
/* 00358 80A9C8A8 0C042DC8 */ jal func_8010B720
|
||||
/* 0035C 80A9C8AC A7A80022 */ sh $t0, 0x0022($sp)
|
||||
/* 00360 80A9C8B0 10000007 */ beq $zero, $zero, .L80A9C8D0
|
||||
/* 00364 80A9C8B4 87A80022 */ lh $t0, 0x0022($sp)
|
||||
glabel L80A9C8B8
|
||||
/* 00368 80A9C8B8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 0036C 80A9C8BC 0C041AF2 */ jal func_80106BC8
|
||||
/* 00370 80A9C8C0 A7A80022 */ sh $t0, 0x0022($sp)
|
||||
/* 00374 80A9C8C4 10400002 */ beq $v0, $zero, .L80A9C8D0
|
||||
/* 00378 80A9C8C8 87A80022 */ lh $t0, 0x0022($sp)
|
||||
/* 0037C 80A9C8CC 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
|
||||
glabel L80A9C8D0
|
||||
.L80A9C8D0:
|
||||
/* 00380 80A9C8D0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A9C8D4:
|
||||
/* 00384 80A9C8D4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00388 80A9C8D8 01001025 */ or $v0, $t0, $zero ## $v0 = 00000002
|
||||
/* 0038C 80A9C8DC 03E00008 */ jr $ra
|
||||
/* 00390 80A9C8E0 00000000 */ nop
|
|
@ -1,35 +0,0 @@
|
|||
glabel func_80A9C8E4
|
||||
/* 00394 80A9C8E4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00398 80A9C8E8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0039C 80A9C8EC 8482020C */ lh $v0, 0x020C($a0) ## 0000020C
|
||||
/* 003A0 80A9C8F0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 003A4 80A9C8F4 14400003 */ bne $v0, $zero, .L80A9C904
|
||||
/* 003A8 80A9C8F8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 003AC 80A9C8FC 10000003 */ beq $zero, $zero, .L80A9C90C
|
||||
/* 003B0 80A9C900 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L80A9C904:
|
||||
/* 003B4 80A9C904 A4CE020C */ sh $t6, 0x020C($a2) ## 0000020C
|
||||
/* 003B8 80A9C908 84C3020C */ lh $v1, 0x020C($a2) ## 0000020C
|
||||
.L80A9C90C:
|
||||
/* 003BC 80A9C90C 54600010 */ bnel $v1, $zero, .L80A9C950
|
||||
/* 003C0 80A9C910 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003C4 80A9C914 84CF0210 */ lh $t7, 0x0210($a2) ## 00000210
|
||||
/* 003C8 80A9C918 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
|
||||
/* 003CC 80A9C91C 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
|
||||
/* 003D0 80A9C920 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 003D4 80A9C924 A4D80210 */ sh $t8, 0x0210($a2) ## 00000210
|
||||
/* 003D8 80A9C928 84D90210 */ lh $t9, 0x0210($a2) ## 00000210
|
||||
/* 003DC 80A9C92C 2B210003 */ slti $at, $t9, 0x0003
|
||||
/* 003E0 80A9C930 54200007 */ bnel $at, $zero, .L80A9C950
|
||||
/* 003E4 80A9C934 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003E8 80A9C938 0C01DF64 */ jal Math_Rand_S16Offset
|
||||
|
||||
/* 003EC 80A9C93C AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 003F0 80A9C940 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 003F4 80A9C944 A4C2020C */ sh $v0, 0x020C($a2) ## 0000020C
|
||||
/* 003F8 80A9C948 A4C00210 */ sh $zero, 0x0210($a2) ## 00000210
|
||||
/* 003FC 80A9C94C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A9C950:
|
||||
/* 00400 80A9C950 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00404 80A9C954 03E00008 */ jr $ra
|
||||
/* 00408 80A9C958 00000000 */ nop
|
|
@ -1,129 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A9D9B8
|
||||
.word 0x44CCC000
|
||||
glabel D_80A9D9BC
|
||||
.word 0x43848000
|
||||
|
||||
.text
|
||||
glabel func_80A9C95C
|
||||
/* 0040C 80A9C95C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00410 80A9C960 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00414 80A9C964 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00418 80A9C968 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 0041C 80A9C96C AFA60040 */ sw $a2, 0x0040($sp)
|
||||
/* 00420 80A9C970 AFA70044 */ sw $a3, 0x0044($sp)
|
||||
/* 00424 80A9C974 8C8E1C44 */ lw $t6, 0x1C44($a0) ## 00001C44
|
||||
/* 00428 80A9C978 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 0042C 80A9C97C 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
||||
/* 00430 80A9C980 AFA50038 */ sw $a1, 0x0038($sp)
|
||||
/* 00434 80A9C984 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00438 80A9C988 0C00BC65 */ jal func_8002F194
|
||||
/* 0043C 80A9C98C AFAE0034 */ sw $t6, 0x0034($sp)
|
||||
/* 00440 80A9C990 10400005 */ beq $v0, $zero, .L80A9C9A8
|
||||
/* 00444 80A9C994 8FA30040 */ lw $v1, 0x0040($sp)
|
||||
/* 00448 80A9C998 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 0044C 80A9C99C A46F0000 */ sh $t7, 0x0000($v1) ## 00000000
|
||||
/* 00450 80A9C9A0 10000058 */ beq $zero, $zero, .L80A9CB04
|
||||
/* 00454 80A9C9A4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80A9C9A8:
|
||||
/* 00458 80A9C9A8 84780000 */ lh $t8, 0x0000($v1) ## 00000000
|
||||
/* 0045C 80A9C9AC 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00460 80A9C9B0 8FB9004C */ lw $t9, 0x004C($sp)
|
||||
/* 00464 80A9C9B4 13000008 */ beq $t8, $zero, .L80A9C9D8
|
||||
/* 00468 80A9C9B8 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 0046C 80A9C9BC 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
/* 00470 80A9C9C0 0320F809 */ jalr $ra, $t9
|
||||
/* 00474 80A9C9C4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00478 80A9C9C8 8FA30040 */ lw $v1, 0x0040($sp)
|
||||
/* 0047C 80A9C9CC A4620000 */ sh $v0, 0x0000($v1) ## 00000000
|
||||
/* 00480 80A9C9D0 1000004C */ beq $zero, $zero, .L80A9CB04
|
||||
/* 00484 80A9C9D4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A9C9D8:
|
||||
/* 00488 80A9C9D8 26040008 */ addiu $a0, $s0, 0x0008 ## $a0 = 00000008
|
||||
/* 0048C 80A9C9DC AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 00490 80A9C9E0 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00494 80A9C9E4 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 00498 80A9C9E8 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
|
||||
/* 0049C 80A9C9EC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 004A0 80A9C9F0 3C0180AA */ lui $at, %hi(D_80A9D9B8) ## $at = 80AA0000
|
||||
/* 004A4 80A9C9F4 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
|
||||
/* 004A8 80A9C9F8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 004AC 80A9C9FC C430D9B8 */ lwc1 $f16, %lo(D_80A9D9B8)($at)
|
||||
/* 004B0 80A9CA00 3C0180AA */ lui $at, %hi(D_80A9D9BC) ## $at = 80AA0000
|
||||
/* 004B4 80A9CA04 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 004B8 80A9CA08 460A3081 */ sub.s $f2, $f6, $f10
|
||||
/* 004BC 80A9CA0C 46001005 */ abs.s $f0, $f2
|
||||
/* 004C0 80A9CA10 4600803C */ c.lt.s $f16, $f0
|
||||
/* 004C4 80A9CA14 00000000 */ nop
|
||||
/* 004C8 80A9CA18 45030009 */ bc1tl .L80A9CA40
|
||||
/* 004CC 80A9CA1C 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
|
||||
/* 004D0 80A9CA20 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090
|
||||
/* 004D4 80A9CA24 C424D9BC */ lwc1 $f4, %lo(D_80A9D9BC)($at)
|
||||
/* 004D8 80A9CA28 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 004DC 80A9CA2C 4604903C */ c.lt.s $f18, $f4
|
||||
/* 004E0 80A9CA30 00000000 */ nop
|
||||
/* 004E4 80A9CA34 45020008 */ bc1fl .L80A9CA58
|
||||
/* 004E8 80A9CA38 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004
|
||||
/* 004EC 80A9CA3C 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
|
||||
.L80A9CA40:
|
||||
/* 004F0 80A9CA40 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 004F4 80A9CA44 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 004F8 80A9CA48 01215024 */ and $t2, $t1, $at
|
||||
/* 004FC 80A9CA4C 1000002D */ beq $zero, $zero, .L80A9CB04
|
||||
/* 00500 80A9CA50 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
|
||||
/* 00504 80A9CA54 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004
|
||||
.L80A9CA58:
|
||||
/* 00508 80A9CA58 27A60032 */ addiu $a2, $sp, 0x0032 ## $a2 = FFFFFFFA
|
||||
/* 0050C 80A9CA5C 27A70030 */ addiu $a3, $sp, 0x0030 ## $a3 = FFFFFFF8
|
||||
/* 00510 80A9CA60 356C0001 */ ori $t4, $t3, 0x0001 ## $t4 = 00000001
|
||||
/* 00514 80A9CA64 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004
|
||||
/* 00518 80A9CA68 0C00BCDD */ jal func_8002F374
|
||||
/* 0051C 80A9CA6C 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
/* 00520 80A9CA70 87A20032 */ lh $v0, 0x0032($sp)
|
||||
/* 00524 80A9CA74 2841FFE2 */ slti $at, $v0, 0xFFE2
|
||||
/* 00528 80A9CA78 14200008 */ bne $at, $zero, .L80A9CA9C
|
||||
/* 0052C 80A9CA7C 28410169 */ slti $at, $v0, 0x0169
|
||||
/* 00530 80A9CA80 10200006 */ beq $at, $zero, .L80A9CA9C
|
||||
/* 00534 80A9CA84 87A20030 */ lh $v0, 0x0030($sp)
|
||||
/* 00538 80A9CA88 2841FFF6 */ slti $at, $v0, 0xFFF6
|
||||
/* 0053C 80A9CA8C 14200003 */ bne $at, $zero, .L80A9CA9C
|
||||
/* 00540 80A9CA90 284100F1 */ slti $at, $v0, 0x00F1
|
||||
/* 00544 80A9CA94 54200004 */ bnel $at, $zero, .L80A9CAA8
|
||||
/* 00548 80A9CA98 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
|
||||
.L80A9CA9C:
|
||||
/* 0054C 80A9CA9C 10000019 */ beq $zero, $zero, .L80A9CB04
|
||||
/* 00550 80A9CAA0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00554 80A9CAA4 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
|
||||
.L80A9CAA8:
|
||||
/* 00558 80A9CAA8 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0055C 80A9CAAC 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00560 80A9CAB0 0C01E00A */ jal Math_Vec3f_DistXZ
|
||||
|
||||
/* 00564 80A9CAB4 E7A8002C */ swc1 $f8, 0x002C($sp)
|
||||
/* 00568 80A9CAB8 E6000090 */ swc1 $f0, 0x0090($s0) ## 00000090
|
||||
/* 0056C 80A9CABC 8FA60044 */ lw $a2, 0x0044($sp)
|
||||
/* 00570 80A9CAC0 8FA50038 */ lw $a1, 0x0038($sp)
|
||||
/* 00574 80A9CAC4 0C00BCB3 */ jal func_8002F2CC
|
||||
/* 00578 80A9CAC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0057C 80A9CACC 14400005 */ bne $v0, $zero, .L80A9CAE4
|
||||
/* 00580 80A9CAD0 C7AA002C */ lwc1 $f10, 0x002C($sp)
|
||||
/* 00584 80A9CAD4 C7A6002C */ lwc1 $f6, 0x002C($sp)
|
||||
/* 00588 80A9CAD8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 0058C 80A9CADC 10000009 */ beq $zero, $zero, .L80A9CB04
|
||||
/* 00590 80A9CAE0 E6060090 */ swc1 $f6, 0x0090($s0) ## 00000090
|
||||
.L80A9CAE4:
|
||||
/* 00594 80A9CAE4 E60A0090 */ swc1 $f10, 0x0090($s0) ## 00000090
|
||||
/* 00598 80A9CAE8 8FB90048 */ lw $t9, 0x0048($sp)
|
||||
/* 0059C 80A9CAEC 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
/* 005A0 80A9CAF0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 005A4 80A9CAF4 0320F809 */ jalr $ra, $t9
|
||||
/* 005A8 80A9CAF8 00000000 */ nop
|
||||
/* 005AC 80A9CAFC A602010E */ sh $v0, 0x010E($s0) ## 0000010E
|
||||
/* 005B0 80A9CB00 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A9CB04:
|
||||
/* 005B4 80A9CB04 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 005B8 80A9CB08 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 005BC 80A9CB0C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 005C0 80A9CB10 03E00008 */ jr $ra
|
||||
/* 005C4 80A9CB14 00000000 */ nop
|
|
@ -1,124 +0,0 @@
|
|||
glabel func_80A9CB18
|
||||
/* 005C8 80A9CB18 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 005CC 80A9CB1C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 005D0 80A9CB20 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
||||
/* 005D4 80A9CB24 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 005D8 80A9CB28 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 005DC 80A9CB2C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 005E0 80A9CB30 3C0F80AA */ lui $t7, %hi(func_80A9C658) ## $t7 = 80AA0000
|
||||
/* 005E4 80A9CB34 8C881C44 */ lw $t0, 0x1C44($a0) ## 00001C44
|
||||
/* 005E8 80A9CB38 3C1880AA */ lui $t8, %hi(func_80A9C6C0) ## $t8 = 80AA0000
|
||||
/* 005EC 80A9CB3C 2718C6C0 */ addiu $t8, $t8, %lo(func_80A9C6C0) ## $t8 = 80A9C6C0
|
||||
/* 005F0 80A9CB40 25EFC658 */ addiu $t7, $t7, %lo(func_80A9C658) ## $t7 = 80A9C658
|
||||
/* 005F4 80A9CB44 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 005F8 80A9CB48 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 005FC 80A9CB4C AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00600 80A9CB50 24A601E0 */ addiu $a2, $a1, 0x01E0 ## $a2 = 000001E0
|
||||
/* 00604 80A9CB54 3C0743AA */ lui $a3, 0x43AA ## $a3 = 43AA0000
|
||||
/* 00608 80A9CB58 0C2A7257 */ jal func_80A9C95C
|
||||
/* 0060C 80A9CB5C AFA80024 */ sw $t0, 0x0024($sp)
|
||||
/* 00610 80A9CB60 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00614 80A9CB64 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00618 80A9CB68 10400057 */ beq $v0, $zero, .L80A9CCC8
|
||||
/* 0061C 80A9CB6C 8FA80024 */ lw $t0, 0x0024($sp)
|
||||
/* 00620 80A9CB70 94B9010E */ lhu $t9, 0x010E($a1) ## 0000010E
|
||||
/* 00624 80A9CB74 2401401A */ addiu $at, $zero, 0x401A ## $at = 0000401A
|
||||
/* 00628 80A9CB78 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 0062C 80A9CB7C 17210015 */ bne $t9, $at, .L80A9CBD4
|
||||
/* 00630 80A9CB80 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 00634 80A9CB84 94690EDA */ lhu $t1, 0x0EDA($v1) ## 8015F53A
|
||||
/* 00638 80A9CB88 312A0008 */ andi $t2, $t1, 0x0008 ## $t2 = 00000000
|
||||
/* 0063C 80A9CB8C 15400011 */ bne $t2, $zero, .L80A9CBD4
|
||||
/* 00640 80A9CB90 00000000 */ nop
|
||||
/* 00644 80A9CB94 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00648 80A9CB98 0C00BCDA */ jal func_8002F368
|
||||
/* 0064C 80A9CB9C AFA80024 */ sw $t0, 0x0024($sp)
|
||||
/* 00650 80A9CBA0 2401001D */ addiu $at, $zero, 0x001D ## $at = 0000001D
|
||||
/* 00654 80A9CBA4 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00658 80A9CBA8 14410005 */ bne $v0, $at, .L80A9CBC0
|
||||
/* 0065C 80A9CBAC 8FA80024 */ lw $t0, 0x0024($sp)
|
||||
/* 00660 80A9CBB0 240B401B */ addiu $t3, $zero, 0x401B ## $t3 = 0000401B
|
||||
/* 00664 80A9CBB4 A4AB010E */ sh $t3, 0x010E($a1) ## 0000010E
|
||||
/* 00668 80A9CBB8 10000003 */ beq $zero, $zero, .L80A9CBC8
|
||||
/* 0066C 80A9CBBC A0A00208 */ sb $zero, 0x0208($a1) ## 00000208
|
||||
.L80A9CBC0:
|
||||
/* 00670 80A9CBC0 240C401A */ addiu $t4, $zero, 0x401A ## $t4 = 0000401A
|
||||
/* 00674 80A9CBC4 A4AC010E */ sh $t4, 0x010E($a1) ## 0000010E
|
||||
.L80A9CBC8:
|
||||
/* 00678 80A9CBC8 94AD010E */ lhu $t5, 0x010E($a1) ## 0000010E
|
||||
/* 0067C 80A9CBCC 1000003E */ beq $zero, $zero, .L80A9CCC8
|
||||
/* 00680 80A9CBD0 A50D010E */ sh $t5, 0x010E($t0) ## 0000010E
|
||||
.L80A9CBD4:
|
||||
/* 00684 80A9CBD4 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 00688 80A9CBD8 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 0068C 80A9CBDC 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
|
||||
/* 00690 80A9CBE0 3C0F8012 */ lui $t7, %hi(gItemSlots+0x2d)
|
||||
/* 00694 80A9CBE4 55C00039 */ bnel $t6, $zero, .L80A9CCCC
|
||||
/* 00698 80A9CBE8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0069C 80A9CBEC 91EF7491 */ lbu $t7, %lo(gItemSlots+0x2d)($t7)
|
||||
/* 006A0 80A9CBF0 24010034 */ addiu $at, $zero, 0x0034 ## $at = 00000034
|
||||
/* 006A4 80A9CBF4 006FC021 */ addu $t8, $v1, $t7
|
||||
/* 006A8 80A9CBF8 93190074 */ lbu $t9, 0x0074($t8) ## 00000074
|
||||
/* 006AC 80A9CBFC 57210012 */ bnel $t9, $at, .L80A9CC48
|
||||
/* 006B0 80A9CC00 A0A00209 */ sb $zero, 0x0209($a1) ## 00000209
|
||||
/* 006B4 80A9CC04 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 006B8 80A9CC08 0C00BCDA */ jal func_8002F368
|
||||
/* 006BC 80A9CC0C AFA80024 */ sw $t0, 0x0024($sp)
|
||||
/* 006C0 80A9CC10 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 006C4 80A9CC14 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
|
||||
/* 006C8 80A9CC18 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 006CC 80A9CC1C 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 006D0 80A9CC20 14410008 */ bne $v0, $at, .L80A9CC44
|
||||
/* 006D4 80A9CC24 8FA80024 */ lw $t0, 0x0024($sp)
|
||||
/* 006D8 80A9CC28 240A4014 */ addiu $t2, $zero, 0x4014 ## $t2 = 00004014
|
||||
/* 006DC 80A9CC2C A4AA010E */ sh $t2, 0x010E($a1) ## 0000010E
|
||||
/* 006E0 80A9CC30 A0A00208 */ sb $zero, 0x0208($a1) ## 00000208
|
||||
/* 006E4 80A9CC34 A50A010E */ sh $t2, 0x010E($t0) ## 0000010E
|
||||
/* 006E8 80A9CC38 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 006EC 80A9CC3C 10000022 */ beq $zero, $zero, .L80A9CCC8
|
||||
/* 006F0 80A9CC40 A0AB0209 */ sb $t3, 0x0209($a1) ## 00000209
|
||||
.L80A9CC44:
|
||||
/* 006F4 80A9CC44 A0A00209 */ sb $zero, 0x0209($a1) ## 00000209
|
||||
.L80A9CC48:
|
||||
/* 006F8 80A9CC48 946C0F1E */ lhu $t4, 0x0F1E($v1) ## 8015F57E
|
||||
/* 006FC 80A9CC4C 3C0E8012 */ lui $t6, %hi(gBitFlags+0x20)
|
||||
/* 00700 80A9CC50 3C0B8012 */ lui $t3, %hi(gBitFlags+8)
|
||||
/* 00704 80A9CC54 318D0200 */ andi $t5, $t4, 0x0200 ## $t5 = 00000000
|
||||
/* 00708 80A9CC58 11A0000E */ beq $t5, $zero, .L80A9CC94
|
||||
/* 0070C 80A9CC5C 3C0C8012 */ lui $t4, %hi(gEquipShifts+2)
|
||||
/* 00710 80A9CC60 8DCE7140 */ lw $t6, %lo(gBitFlags+0x20)($t6)
|
||||
/* 00714 80A9CC64 8C6F00A4 */ lw $t7, 0x00A4($v1) ## 8015E704
|
||||
/* 00718 80A9CC68 2409401A */ addiu $t1, $zero, 0x401A ## $t1 = 0000401A
|
||||
/* 0071C 80A9CC6C 24194045 */ addiu $t9, $zero, 0x4045 ## $t9 = 00004045
|
||||
/* 00720 80A9CC70 01CFC024 */ and $t8, $t6, $t7
|
||||
/* 00724 80A9CC74 53000004 */ beql $t8, $zero, .L80A9CC88
|
||||
/* 00728 80A9CC78 A4A9010E */ sh $t1, 0x010E($a1) ## 0000010E
|
||||
/* 0072C 80A9CC7C 10000002 */ beq $zero, $zero, .L80A9CC88
|
||||
/* 00730 80A9CC80 A4B9010E */ sh $t9, 0x010E($a1) ## 0000010E
|
||||
/* 00734 80A9CC84 A4A9010E */ sh $t1, 0x010E($a1) ## 0000010E
|
||||
.L80A9CC88:
|
||||
/* 00738 80A9CC88 94AA010E */ lhu $t2, 0x010E($a1) ## 0000010E
|
||||
/* 0073C 80A9CC8C 1000000E */ beq $zero, $zero, .L80A9CCC8
|
||||
/* 00740 80A9CC90 A50A010E */ sh $t2, 0x010E($t0) ## 0000010E
|
||||
.L80A9CC94:
|
||||
/* 00744 80A9CC94 8D6B7128 */ lw $t3, %lo(gBitFlags+8)($t3)
|
||||
/* 00748 80A9CC98 918C71F2 */ lbu $t4, %lo(gEquipShifts+2)($t4)
|
||||
/* 0074C 80A9CC9C 946E009C */ lhu $t6, 0x009C($v1) ## 8015E6FC
|
||||
/* 00750 80A9CCA0 24194012 */ addiu $t9, $zero, 0x4012 ## $t9 = 00004012
|
||||
/* 00754 80A9CCA4 018B6804 */ sllv $t5, $t3, $t4
|
||||
/* 00758 80A9CCA8 01AE7824 */ and $t7, $t5, $t6
|
||||
/* 0075C 80A9CCAC 11E00003 */ beq $t7, $zero, .L80A9CCBC
|
||||
/* 00760 80A9CCB0 2418401F */ addiu $t8, $zero, 0x401F ## $t8 = 0000401F
|
||||
/* 00764 80A9CCB4 10000002 */ beq $zero, $zero, .L80A9CCC0
|
||||
/* 00768 80A9CCB8 A4B8010E */ sh $t8, 0x010E($a1) ## 0000010E
|
||||
.L80A9CCBC:
|
||||
/* 0076C 80A9CCBC A4B9010E */ sh $t9, 0x010E($a1) ## 0000010E
|
||||
.L80A9CCC0:
|
||||
/* 00770 80A9CCC0 94A9010E */ lhu $t1, 0x010E($a1) ## 0000010E
|
||||
/* 00774 80A9CCC4 A509010E */ sh $t1, 0x010E($t0) ## 0000010E
|
||||
.L80A9CCC8:
|
||||
/* 00778 80A9CCC8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A9CCCC:
|
||||
/* 0077C 80A9CCCC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00780 80A9CCD0 03E00008 */ jr $ra
|
||||
/* 00784 80A9CCD4 00000000 */ nop
|
|
@ -1,101 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A9D9C0
|
||||
.word 0x4622F983
|
||||
|
||||
.text
|
||||
glabel func_80A9CCD8
|
||||
/* 00788 80A9CCD8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 0078C 80A9CCDC AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00790 80A9CCE0 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00794 80A9CCE4 8486001C */ lh $a2, 0x001C($a0) ## 0000001C
|
||||
/* 00798 80A9CCE8 3401FF00 */ ori $at, $zero, 0xFF00 ## $at = 0000FF00
|
||||
/* 0079C 80A9CCEC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 007A0 80A9CCF0 30C6FF00 */ andi $a2, $a2, 0xFF00 ## $a2 = 00000000
|
||||
/* 007A4 80A9CCF4 14C10003 */ bne $a2, $at, .L80A9CD04
|
||||
/* 007A8 80A9CCF8 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
|
||||
/* 007AC 80A9CCFC 1000004C */ beq $zero, $zero, .L80A9CE30
|
||||
/* 007B0 80A9CD00 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A9CD04:
|
||||
/* 007B4 80A9CD04 01C57021 */ addu $t6, $t6, $a1
|
||||
/* 007B8 80A9CD08 8DCE1E08 */ lw $t6, 0x1E08($t6) ## 00011E08
|
||||
/* 007BC 80A9CD0C 00067A03 */ sra $t7, $a2, 8
|
||||
/* 007C0 80A9CD10 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 007C4 80A9CD14 01D82021 */ addu $a0, $t6, $t8
|
||||
/* 007C8 80A9CD18 8C830004 */ lw $v1, 0x0004($a0) ## 00000004
|
||||
/* 007CC 80A9CD1C 3C0A8016 */ lui $t2, %hi(gSegments)
|
||||
/* 007D0 80A9CD20 860C020A */ lh $t4, 0x020A($s0) ## 0000020A
|
||||
/* 007D4 80A9CD24 0003C900 */ sll $t9, $v1, 4
|
||||
/* 007D8 80A9CD28 00194702 */ srl $t0, $t9, 28
|
||||
/* 007DC 80A9CD2C 00084880 */ sll $t1, $t0, 2
|
||||
/* 007E0 80A9CD30 01495021 */ addu $t2, $t2, $t1
|
||||
/* 007E4 80A9CD34 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 007E8 80A9CD38 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
|
||||
/* 007EC 80A9CD3C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 007F0 80A9CD40 00615824 */ and $t3, $v1, $at
|
||||
/* 007F4 80A9CD44 000C6880 */ sll $t5, $t4, 2
|
||||
/* 007F8 80A9CD48 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 007FC 80A9CD4C 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 00800 80A9CD50 014B1021 */ addu $v0, $t2, $t3
|
||||
/* 00804 80A9CD54 00411021 */ addu $v0, $v0, $at
|
||||
/* 00808 80A9CD58 000D6840 */ sll $t5, $t5, 1
|
||||
/* 0080C 80A9CD5C 004D1021 */ addu $v0, $v0, $t5
|
||||
/* 00810 80A9CD60 844F0000 */ lh $t7, 0x0000($v0) ## 00000000
|
||||
/* 00814 80A9CD64 844E0004 */ lh $t6, 0x0004($v0) ## 00000004
|
||||
/* 00818 80A9CD68 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 0081C 80A9CD6C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 00820 80A9CD70 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00
|
||||
/* 00824 80A9CD74 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
|
||||
/* 00828 80A9CD78 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0082C 80A9CD7C AFA40034 */ sw $a0, 0x0034($sp)
|
||||
/* 00830 80A9CD80 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00834 80A9CD84 46083301 */ sub.s $f12, $f6, $f8
|
||||
/* 00838 80A9CD88 46128381 */ sub.s $f14, $f16, $f18
|
||||
/* 0083C 80A9CD8C E7AC002C */ swc1 $f12, 0x002C($sp)
|
||||
/* 00840 80A9CD90 0C03F494 */ jal Math_atan2f
|
||||
/* 00844 80A9CD94 E7AE0028 */ swc1 $f14, 0x0028($sp)
|
||||
/* 00848 80A9CD98 3C0180AA */ lui $at, %hi(D_80A9D9C0) ## $at = 80AA0000
|
||||
/* 0084C 80A9CD9C C424D9C0 */ lwc1 $f4, %lo(D_80A9D9C0)($at)
|
||||
/* 00850 80A9CDA0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 00854 80A9CDA4 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00858 80A9CDA8 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 0085C 80A9CDAC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 00860 80A9CDB0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00864 80A9CDB4 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
|
||||
/* 00868 80A9CDB8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 0086C 80A9CDBC 44054000 */ mfc1 $a1, $f8
|
||||
/* 00870 80A9CDC0 00000000 */ nop
|
||||
/* 00874 80A9CDC4 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00878 80A9CDC8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 0087C 80A9CDCC 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00880 80A9CDD0 C7AC002C */ lwc1 $f12, 0x002C($sp)
|
||||
/* 00884 80A9CDD4 C7AE0028 */ lwc1 $f14, 0x0028($sp)
|
||||
/* 00888 80A9CDD8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0088C 80A9CDDC 460C6282 */ mul.s $f10, $f12, $f12
|
||||
/* 00890 80A9CDE0 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
||||
/* 00894 80A9CDE4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00898 80A9CDE8 460E7402 */ mul.s $f16, $f14, $f14
|
||||
/* 0089C 80A9CDEC 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 008A0 80A9CDF0 4604903C */ c.lt.s $f18, $f4
|
||||
/* 008A4 80A9CDF4 00000000 */ nop
|
||||
/* 008A8 80A9CDF8 4500000D */ bc1f .L80A9CE30
|
||||
/* 008AC 80A9CDFC 00000000 */ nop
|
||||
/* 008B0 80A9CE00 8608020A */ lh $t0, 0x020A($s0) ## 0000020A
|
||||
/* 008B4 80A9CE04 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 008B8 80A9CE08 A609020A */ sh $t1, 0x020A($s0) ## 0000020A
|
||||
/* 008BC 80A9CE0C 8FAB0034 */ lw $t3, 0x0034($sp)
|
||||
/* 008C0 80A9CE10 860A020A */ lh $t2, 0x020A($s0) ## 0000020A
|
||||
/* 008C4 80A9CE14 916C0000 */ lbu $t4, 0x0000($t3) ## 00000000
|
||||
/* 008C8 80A9CE18 014C082A */ slt $at, $t2, $t4
|
||||
/* 008CC 80A9CE1C 14200002 */ bne $at, $zero, .L80A9CE28
|
||||
/* 008D0 80A9CE20 00000000 */ nop
|
||||
/* 008D4 80A9CE24 A600020A */ sh $zero, 0x020A($s0) ## 0000020A
|
||||
.L80A9CE28:
|
||||
/* 008D8 80A9CE28 10000001 */ beq $zero, $zero, .L80A9CE30
|
||||
/* 008DC 80A9CE2C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80A9CE30:
|
||||
/* 008E0 80A9CE30 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 008E4 80A9CE34 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 008E8 80A9CE38 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 008EC 80A9CE3C 03E00008 */ jr $ra
|
||||
/* 008F0 80A9CE40 00000000 */ nop
|
|
@ -1,52 +0,0 @@
|
|||
glabel func_80A9CE44
|
||||
/* 008F4 80A9CE44 8483001C */ lh $v1, 0x001C($a0) ## 0000001C
|
||||
/* 008F8 80A9CE48 3401FF00 */ ori $at, $zero, 0xFF00 ## $at = 0000FF00
|
||||
/* 008FC 80A9CE4C 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 00900 80A9CE50 3063FF00 */ andi $v1, $v1, 0xFF00 ## $v1 = 00000000
|
||||
/* 00904 80A9CE54 14610003 */ bne $v1, $at, .L80A9CE64
|
||||
/* 00908 80A9CE58 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
|
||||
/* 0090C 80A9CE5C 03E00008 */ jr $ra
|
||||
/* 00910 80A9CE60 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A9CE64:
|
||||
/* 00914 80A9CE64 01C67021 */ addu $t6, $t6, $a2
|
||||
/* 00918 80A9CE68 8DCE1E08 */ lw $t6, 0x1E08($t6) ## 00011E08
|
||||
/* 0091C 80A9CE6C 00037A03 */ sra $t7, $v1, 8
|
||||
/* 00920 80A9CE70 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 00924 80A9CE74 01D82821 */ addu $a1, $t6, $t8
|
||||
/* 00928 80A9CE78 8CA80004 */ lw $t0, 0x0004($a1) ## 00000004
|
||||
/* 0092C 80A9CE7C 3C0B8016 */ lui $t3, %hi(gSegments)
|
||||
/* 00930 80A9CE80 90AD0000 */ lbu $t5, 0x0000($a1) ## 00000000
|
||||
/* 00934 80A9CE84 0008C900 */ sll $t9, $t0, 4
|
||||
/* 00938 80A9CE88 00194F02 */ srl $t1, $t9, 28
|
||||
/* 0093C 80A9CE8C 00095080 */ sll $t2, $t1, 2
|
||||
/* 00940 80A9CE90 016A5821 */ addu $t3, $t3, $t2
|
||||
/* 00944 80A9CE94 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 00948 80A9CE98 8D6B6FA8 */ lw $t3, %lo(gSegments)($t3)
|
||||
/* 0094C 80A9CE9C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 00950 80A9CEA0 01016024 */ and $t4, $t0, $at
|
||||
/* 00954 80A9CEA4 000D7880 */ sll $t7, $t5, 2
|
||||
/* 00958 80A9CEA8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 0095C 80A9CEAC 01ED7823 */ subu $t7, $t7, $t5
|
||||
/* 00960 80A9CEB0 016C3821 */ addu $a3, $t3, $t4
|
||||
/* 00964 80A9CEB4 00E13821 */ addu $a3, $a3, $at
|
||||
/* 00968 80A9CEB8 000F7840 */ sll $t7, $t7, 1
|
||||
/* 0096C 80A9CEBC 00EF3821 */ addu $a3, $a3, $t7
|
||||
/* 00970 80A9CEC0 84EEFFFA */ lh $t6, -0x0006($a3) ## FFFFFFFA
|
||||
/* 00974 80A9CEC4 24E7FFFA */ addiu $a3, $a3, 0xFFFA ## $a3 = FFFFFFFA
|
||||
/* 00978 80A9CEC8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 0097C 80A9CECC 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
|
||||
/* 00980 80A9CED0 00000000 */ nop
|
||||
/* 00984 80A9CED4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00988 80A9CED8 E4860024 */ swc1 $f6, 0x0024($a0) ## 00000024
|
||||
/* 0098C 80A9CEDC 84F80002 */ lh $t8, 0x0002($a3) ## FFFFFFFC
|
||||
/* 00990 80A9CEE0 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
|
||||
/* 00994 80A9CEE4 00000000 */ nop
|
||||
/* 00998 80A9CEE8 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0099C 80A9CEEC E48A0028 */ swc1 $f10, 0x0028($a0) ## 00000028
|
||||
/* 009A0 80A9CEF0 84F90004 */ lh $t9, 0x0004($a3) ## FFFFFFFE
|
||||
/* 009A4 80A9CEF4 44998000 */ mtc1 $t9, $f16 ## $f16 = 0.00
|
||||
/* 009A8 80A9CEF8 00000000 */ nop
|
||||
/* 009AC 80A9CEFC 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 009B0 80A9CF00 E492002C */ swc1 $f18, 0x002C($a0) ## 0000002C
|
||||
/* 009B4 80A9CF04 03E00008 */ jr $ra
|
||||
/* 009B8 80A9CF08 00000000 */ nop
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_80A9D0C0
|
||||
/* 00B70 80A9D0C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00B74 80A9D0C4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00B78 80A9D0C8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00B7C 80A9D0CC AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00B80 80A9D0D0 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 00B84 80A9D0D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B88 80A9D0D8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00B8C 80A9D0DC 15C1000B */ bne $t6, $at, .L80A9D10C
|
||||
/* 00B90 80A9D0E0 260502A6 */ addiu $a1, $s0, 0x02A6 ## $a1 = 000002A6
|
||||
/* 00B94 80A9D0E4 3C0580AA */ lui $a1, %hi(D_80A9D8F8) ## $a1 = 80AA0000
|
||||
/* 00B98 80A9D0E8 24A5D8F8 */ addiu $a1, $a1, %lo(D_80A9D8F8) ## $a1 = 80A9D8F8
|
||||
/* 00B9C 80A9D0EC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00BA0 80A9D0F0 0C00D3B0 */ jal func_80034EC0
|
||||
/* 00BA4 80A9D0F4 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00BA8 80A9D0F8 3C0F80AA */ lui $t7, %hi(func_80A9D130) ## $t7 = 80AA0000
|
||||
/* 00BAC 80A9D0FC 25EFD130 */ addiu $t7, $t7, %lo(func_80A9D130) ## $t7 = 80A9D130
|
||||
/* 00BB0 80A9D100 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
|
||||
/* 00BB4 80A9D104 10000005 */ beq $zero, $zero, .L80A9D11C
|
||||
/* 00BB8 80A9D108 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
|
||||
.L80A9D10C:
|
||||
/* 00BBC 80A9D10C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00BC0 80A9D110 260602BE */ addiu $a2, $s0, 0x02BE ## $a2 = 000002BE
|
||||
/* 00BC4 80A9D114 0C00D3D5 */ jal func_80034F54
|
||||
/* 00BC8 80A9D118 2407000C */ addiu $a3, $zero, 0x000C ## $a3 = 0000000C
|
||||
.L80A9D11C:
|
||||
/* 00BCC 80A9D11C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00BD0 80A9D120 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00BD4 80A9D124 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00BD8 80A9D128 03E00008 */ jr $ra
|
||||
/* 00BDC 80A9D12C 00000000 */ nop
|
|
@ -1,81 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A9D9C4
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_80A9D130
|
||||
/* 00BE0 80A9D130 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00BE4 80A9D134 3C0F80AA */ lui $t7, %hi(D_80A9D940) ## $t7 = 80AA0000
|
||||
/* 00BE8 80A9D138 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00BEC 80A9D13C AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00BF0 80A9D140 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00BF4 80A9D144 25EFD940 */ addiu $t7, $t7, %lo(D_80A9D940) ## $t7 = 80A9D940
|
||||
/* 00BF8 80A9D148 8DF90000 */ lw $t9, 0x0000($t7) ## 80A9D940
|
||||
/* 00BFC 80A9D14C 27AE003C */ addiu $t6, $sp, 0x003C ## $t6 = FFFFFFF4
|
||||
/* 00C00 80A9D150 8DF80004 */ lw $t8, 0x0004($t7) ## 80A9D944
|
||||
/* 00C04 80A9D154 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
|
||||
/* 00C08 80A9D158 8DF90008 */ lw $t9, 0x0008($t7) ## 80A9D948
|
||||
/* 00C0C 80A9D15C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00C10 80A9D160 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00C14 80A9D164 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00C18 80A9D168 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
|
||||
/* 00C1C 80A9D16C 0C03008C */ jal Gameplay_CreateSubCamera
|
||||
/* 00C20 80A9D170 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
|
||||
/* 00C24 80A9D174 A6020212 */ sh $v0, 0x0212($s0) ## 00000212
|
||||
/* 00C28 80A9D178 862807A0 */ lh $t0, 0x07A0($s1) ## 000007A0
|
||||
/* 00C2C 80A9D17C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00C30 80A9D180 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00C34 80A9D184 A6080214 */ sh $t0, 0x0214($s0) ## 00000214
|
||||
/* 00C38 80A9D188 0C0300C5 */ jal Gameplay_ChangeCameraStatus
|
||||
/* 00C3C 80A9D18C 86050214 */ lh $a1, 0x0214($s0) ## 00000214
|
||||
/* 00C40 80A9D190 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00C44 80A9D194 86050212 */ lh $a1, 0x0212($s0) ## 00000212
|
||||
/* 00C48 80A9D198 0C0300C5 */ jal Gameplay_ChangeCameraStatus
|
||||
/* 00C4C 80A9D19C 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 00C50 80A9D1A0 8E0A0024 */ lw $t2, 0x0024($s0) ## 00000024
|
||||
/* 00C54 80A9D1A4 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFE8
|
||||
/* 00C58 80A9D1A8 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFDC
|
||||
/* 00C5C 80A9D1AC ACCA0000 */ sw $t2, 0x0000($a2) ## FFFFFFE8
|
||||
/* 00C60 80A9D1B0 8E090028 */ lw $t1, 0x0028($s0) ## 00000028
|
||||
/* 00C64 80A9D1B4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00C68 80A9D1B8 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
|
||||
/* 00C6C 80A9D1BC ACC90004 */ sw $t1, 0x0004($a2) ## FFFFFFEC
|
||||
/* 00C70 80A9D1C0 8E0A002C */ lw $t2, 0x002C($s0) ## 0000002C
|
||||
/* 00C74 80A9D1C4 3C01C2C8 */ lui $at, 0xC2C8 ## $at = C2C80000
|
||||
/* 00C78 80A9D1C8 44818000 */ mtc1 $at, $f16 ## $f16 = -100.00
|
||||
/* 00C7C 80A9D1CC ACCA0008 */ sw $t2, 0x0008($a2) ## FFFFFFF0
|
||||
/* 00C80 80A9D1D0 8E0C0008 */ lw $t4, 0x0008($s0) ## 00000008
|
||||
/* 00C84 80A9D1D4 3C014382 */ lui $at, 0x4382 ## $at = 43820000
|
||||
/* 00C88 80A9D1D8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00C8C 80A9D1DC ACEC0000 */ sw $t4, 0x0000($a3) ## FFFFFFDC
|
||||
/* 00C90 80A9D1E0 8E0B000C */ lw $t3, 0x000C($s0) ## 0000000C
|
||||
/* 00C94 80A9D1E4 ACEB0004 */ sw $t3, 0x0004($a3) ## FFFFFFE0
|
||||
/* 00C98 80A9D1E8 8E0C0010 */ lw $t4, 0x0010($s0) ## 00000010
|
||||
/* 00C9C 80A9D1EC ACEC0008 */ sw $t4, 0x0008($a3) ## FFFFFFE4
|
||||
/* 00CA0 80A9D1F0 C7A40034 */ lwc1 $f4, 0x0034($sp)
|
||||
/* 00CA4 80A9D1F4 C7AA0028 */ lwc1 $f10, 0x0028($sp)
|
||||
/* 00CA8 80A9D1F8 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00CAC 80A9D1FC 44813000 */ mtc1 $at, $f6 ## $f6 = 260.00
|
||||
/* 00CB0 80A9D200 C7A4002C */ lwc1 $f4, 0x002C($sp)
|
||||
/* 00CB4 80A9D204 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00CB8 80A9D208 E7A80034 */ swc1 $f8, 0x0034($sp)
|
||||
/* 00CBC 80A9D20C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00CC0 80A9D210 E7B20028 */ swc1 $f18, 0x0028($sp)
|
||||
/* 00CC4 80A9D214 E7A8002C */ swc1 $f8, 0x002C($sp)
|
||||
/* 00CC8 80A9D218 0C030136 */ jal func_800C04D8
|
||||
/* 00CCC 80A9D21C 86050212 */ lh $a1, 0x0212($s0) ## 00000212
|
||||
/* 00CD0 80A9D220 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00CD4 80A9D224 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00CD8 80A9D228 0C00B7D5 */ jal func_8002DF54
|
||||
/* 00CDC 80A9D22C 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
|
||||
/* 00CE0 80A9D230 3C0180AA */ lui $at, %hi(D_80A9D9C4) ## $at = 80AA0000
|
||||
/* 00CE4 80A9D234 C42AD9C4 */ lwc1 $f10, %lo(D_80A9D9C4)($at)
|
||||
/* 00CE8 80A9D238 3C0D80AA */ lui $t5, %hi(func_80A9D25C) ## $t5 = 80AA0000
|
||||
/* 00CEC 80A9D23C 25ADD25C */ addiu $t5, $t5, %lo(func_80A9D25C) ## $t5 = 80A9D25C
|
||||
/* 00CF0 80A9D240 AE0D0190 */ sw $t5, 0x0190($s0) ## 00000190
|
||||
/* 00CF4 80A9D244 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
|
||||
/* 00CF8 80A9D248 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00CFC 80A9D24C 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00D00 80A9D250 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00D04 80A9D254 03E00008 */ jr $ra
|
||||
/* 00D08 80A9D258 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
|
@ -1,96 +0,0 @@
|
|||
glabel func_80A9D25C
|
||||
/* 00D0C 80A9D25C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00D10 80A9D260 3C0F80AA */ lui $t7, %hi(D_80A9D94C) ## $t7 = 80AA0000
|
||||
/* 00D14 80A9D264 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00D18 80A9D268 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00D1C 80A9D26C AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00D20 80A9D270 25EFD94C */ addiu $t7, $t7, %lo(D_80A9D94C) ## $t7 = 80A9D94C
|
||||
/* 00D24 80A9D274 8DF90000 */ lw $t9, 0x0000($t7) ## 80A9D94C
|
||||
/* 00D28 80A9D278 27AE003C */ addiu $t6, $sp, 0x003C ## $t6 = FFFFFFF4
|
||||
/* 00D2C 80A9D27C 8DF80004 */ lw $t8, 0x0004($t7) ## 80A9D950
|
||||
/* 00D30 80A9D280 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
|
||||
/* 00D34 80A9D284 8DF90008 */ lw $t9, 0x0008($t7) ## 80A9D954
|
||||
/* 00D38 80A9D288 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
|
||||
/* 00D3C 80A9D28C 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFE8
|
||||
/* 00D40 80A9D290 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
|
||||
/* 00D44 80A9D294 8C890024 */ lw $t1, 0x0024($a0) ## 00000024
|
||||
/* 00D48 80A9D298 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFDC
|
||||
/* 00D4C 80A9D29C 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00D50 80A9D2A0 ACC90000 */ sw $t1, 0x0000($a2) ## FFFFFFE8
|
||||
/* 00D54 80A9D2A4 8C880028 */ lw $t0, 0x0028($a0) ## 00000028
|
||||
/* 00D58 80A9D2A8 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
|
||||
/* 00D5C 80A9D2AC 3C01C2C8 */ lui $at, 0xC2C8 ## $at = C2C80000
|
||||
/* 00D60 80A9D2B0 ACC80004 */ sw $t0, 0x0004($a2) ## FFFFFFEC
|
||||
/* 00D64 80A9D2B4 8C89002C */ lw $t1, 0x002C($a0) ## 0000002C
|
||||
/* 00D68 80A9D2B8 44818000 */ mtc1 $at, $f16 ## $f16 = -100.00
|
||||
/* 00D6C 80A9D2BC 3C014382 */ lui $at, 0x4382 ## $at = 43820000
|
||||
/* 00D70 80A9D2C0 ACC90008 */ sw $t1, 0x0008($a2) ## FFFFFFF0
|
||||
/* 00D74 80A9D2C4 8C8B0008 */ lw $t3, 0x0008($a0) ## 00000008
|
||||
/* 00D78 80A9D2C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00D7C 80A9D2CC ACEB0000 */ sw $t3, 0x0000($a3) ## FFFFFFDC
|
||||
/* 00D80 80A9D2D0 8C8A000C */ lw $t2, 0x000C($a0) ## 0000000C
|
||||
/* 00D84 80A9D2D4 ACEA0004 */ sw $t2, 0x0004($a3) ## FFFFFFE0
|
||||
/* 00D88 80A9D2D8 8C8B0010 */ lw $t3, 0x0010($a0) ## 00000010
|
||||
/* 00D8C 80A9D2DC ACEB0008 */ sw $t3, 0x0008($a3) ## FFFFFFE4
|
||||
/* 00D90 80A9D2E0 C7A40034 */ lwc1 $f4, 0x0034($sp)
|
||||
/* 00D94 80A9D2E4 C7AA0028 */ lwc1 $f10, 0x0028($sp)
|
||||
/* 00D98 80A9D2E8 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00D9C 80A9D2EC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00DA0 80A9D2F0 44813000 */ mtc1 $at, $f6 ## $f6 = 260.00
|
||||
/* 00DA4 80A9D2F4 C7A4002C */ lwc1 $f4, 0x002C($sp)
|
||||
/* 00DA8 80A9D2F8 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00DAC 80A9D2FC E7A80034 */ swc1 $f8, 0x0034($sp)
|
||||
/* 00DB0 80A9D300 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00DB4 80A9D304 E7B20028 */ swc1 $f18, 0x0028($sp)
|
||||
/* 00DB8 80A9D308 E7A8002C */ swc1 $f8, 0x002C($sp)
|
||||
/* 00DBC 80A9D30C 0C030136 */ jal func_800C04D8
|
||||
/* 00DC0 80A9D310 86050212 */ lh $a1, 0x0212($s0) ## 00000212
|
||||
/* 00DC4 80A9D314 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DC8 80A9D318 0C2A7336 */ jal func_80A9CCD8
|
||||
/* 00DCC 80A9D31C 8FA5004C */ lw $a1, 0x004C($sp)
|
||||
/* 00DD0 80A9D320 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00DD4 80A9D324 5441001A */ bnel $v0, $at, .L80A9D390
|
||||
/* 00DD8 80A9D328 3C014150 */ lui $at, 0x4150 ## $at = 41500000
|
||||
/* 00DDC 80A9D32C 860C020A */ lh $t4, 0x020A($s0) ## 0000020A
|
||||
/* 00DE0 80A9D330 3C0580AA */ lui $a1, %hi(D_80A9D8F8) ## $a1 = 80AA0000
|
||||
/* 00DE4 80A9D334 24A5D8F8 */ addiu $a1, $a1, %lo(D_80A9D8F8) ## $a1 = 80A9D8F8
|
||||
/* 00DE8 80A9D338 15800014 */ bne $t4, $zero, .L80A9D38C
|
||||
/* 00DEC 80A9D33C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00DF0 80A9D340 0C00D3B0 */ jal func_80034EC0
|
||||
/* 00DF4 80A9D344 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00DF8 80A9D348 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00DFC 80A9D34C 2405001B */ addiu $a1, $zero, 0x001B ## $a1 = 0000001B
|
||||
/* 00E00 80A9D350 0C021A79 */ jal Inventory_ReplaceItem
|
||||
/* 00E04 80A9D354 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 00E08 80A9D358 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E0C 80A9D35C 0C2A7391 */ jal func_80A9CE44
|
||||
/* 00E10 80A9D360 8FA5004C */ lw $a1, 0x004C($sp)
|
||||
/* 00E14 80A9D364 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 00E18 80A9D368 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 00E1C 80A9D36C 946D0EDA */ lhu $t5, 0x0EDA($v1) ## 8015F53A
|
||||
/* 00E20 80A9D370 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 00E24 80A9D374 3C0F80AA */ lui $t7, %hi(func_80A9D3C8) ## $t7 = 80AA0000
|
||||
/* 00E28 80A9D378 35AE0008 */ ori $t6, $t5, 0x0008 ## $t6 = 00000008
|
||||
/* 00E2C 80A9D37C A46E0EDA */ sh $t6, 0x0EDA($v1) ## 8015F53A
|
||||
/* 00E30 80A9D380 25EFD3C8 */ addiu $t7, $t7, %lo(func_80A9D3C8) ## $t7 = 80A9D3C8
|
||||
/* 00E34 80A9D384 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
|
||||
/* 00E38 80A9D388 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
|
||||
.L80A9D38C:
|
||||
/* 00E3C 80A9D38C 3C014150 */ lui $at, 0x4150 ## $at = 41500000
|
||||
.L80A9D390:
|
||||
/* 00E40 80A9D390 44818000 */ mtc1 $at, $f16 ## $f16 = 13.00
|
||||
/* 00E44 80A9D394 C6120164 */ lwc1 $f18, 0x0164($s0) ## 00000164
|
||||
/* 00E48 80A9D398 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E4C 80A9D39C 46128032 */ c.eq.s $f16, $f18
|
||||
/* 00E50 80A9D3A0 00000000 */ nop
|
||||
/* 00E54 80A9D3A4 45020004 */ bc1fl .L80A9D3B8
|
||||
/* 00E58 80A9D3A8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00E5C 80A9D3AC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00E60 80A9D3B0 2405687A */ addiu $a1, $zero, 0x687A ## $a1 = 0000687A
|
||||
/* 00E64 80A9D3B4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A9D3B8:
|
||||
/* 00E68 80A9D3B8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00E6C 80A9D3BC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00E70 80A9D3C0 03E00008 */ jr $ra
|
||||
/* 00E74 80A9D3C4 00000000 */ nop
|
|
@ -1,26 +0,0 @@
|
|||
glabel func_80A9D3C8
|
||||
/* 00E78 80A9D3C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00E7C 80A9D3CC AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00E80 80A9D3D0 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00E84 80A9D3D4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00E88 80A9D3D8 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00E8C 80A9D3DC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00E90 80A9D3E0 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 00E94 80A9D3E4 0C0300C5 */ jal Gameplay_ChangeCameraStatus
|
||||
/* 00E98 80A9D3E8 85C50214 */ lh $a1, 0x0214($t6) ## 00000214
|
||||
/* 00E9C 80A9D3EC 8FAF0018 */ lw $t7, 0x0018($sp)
|
||||
/* 00EA0 80A9D3F0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00EA4 80A9D3F4 0C0300E1 */ jal Gameplay_ClearCamera
|
||||
/* 00EA8 80A9D3F8 85E50212 */ lh $a1, 0x0212($t7) ## 00000212
|
||||
/* 00EAC 80A9D3FC 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00EB0 80A9D400 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00EB4 80A9D404 0C00B7D5 */ jal func_8002DF54
|
||||
/* 00EB8 80A9D408 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 00EBC 80A9D40C 8FB90018 */ lw $t9, 0x0018($sp)
|
||||
/* 00EC0 80A9D410 3C1880AA */ lui $t8, %hi(func_80A9D42C) ## $t8 = 80AA0000
|
||||
/* 00EC4 80A9D414 2718D42C */ addiu $t8, $t8, %lo(func_80A9D42C) ## $t8 = 80A9D42C
|
||||
/* 00EC8 80A9D418 AF380190 */ sw $t8, 0x0190($t9) ## 00000190
|
||||
/* 00ECC 80A9D41C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00ED0 80A9D420 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00ED4 80A9D424 03E00008 */ jr $ra
|
||||
/* 00ED8 80A9D428 00000000 */ nop
|
|
@ -1,28 +0,0 @@
|
|||
glabel func_80A9D42C
|
||||
/* 00EDC 80A9D42C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00EE0 80A9D430 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00EE4 80A9D434 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00EE8 80A9D438 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00EEC 80A9D43C 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 00EF0 80A9D440 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00EF4 80A9D444 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00EF8 80A9D448 15C10008 */ bne $t6, $at, .L80A9D46C
|
||||
/* 00EFC 80A9D44C 260502A6 */ addiu $a1, $s0, 0x02A6 ## $a1 = 000002A6
|
||||
/* 00F00 80A9D450 3C0F80AA */ lui $t7, %hi(func_80A9D490) ## $t7 = 80AA0000
|
||||
/* 00F04 80A9D454 25EFD490 */ addiu $t7, $t7, %lo(func_80A9D490) ## $t7 = 80A9D490
|
||||
/* 00F08 80A9D458 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
|
||||
/* 00F0C 80A9D45C 0C2A7524 */ jal func_80A9D490
|
||||
/* 00F10 80A9D460 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00F14 80A9D464 10000006 */ beq $zero, $zero, .L80A9D480
|
||||
/* 00F18 80A9D468 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A9D46C:
|
||||
/* 00F1C 80A9D46C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00F20 80A9D470 260602BE */ addiu $a2, $s0, 0x02BE ## $a2 = 000002BE
|
||||
/* 00F24 80A9D474 0C00D3D5 */ jal func_80034F54
|
||||
/* 00F28 80A9D478 2407000C */ addiu $a3, $zero, 0x000C ## $a3 = 0000000C
|
||||
/* 00F2C 80A9D47C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A9D480:
|
||||
/* 00F30 80A9D480 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00F34 80A9D484 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00F38 80A9D488 03E00008 */ jr $ra
|
||||
/* 00F3C 80A9D48C 00000000 */ nop
|
|
@ -1,40 +0,0 @@
|
|||
glabel func_80A9D490
|
||||
/* 00F40 80A9D490 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00F44 80A9D494 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00F48 80A9D498 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00F4C 80A9D49C 0C00BD04 */ jal func_8002F410
|
||||
/* 00F50 80A9D4A0 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00F54 80A9D4A4 10400008 */ beq $v0, $zero, .L80A9D4C8
|
||||
/* 00F58 80A9D4A8 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00F5C 80A9D4AC 3C0F80AA */ lui $t7, %hi(func_80A9D520) ## $t7 = 80AA0000
|
||||
/* 00F60 80A9D4B0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00F64 80A9D4B4 25EFD520 */ addiu $t7, $t7, %lo(func_80A9D520) ## $t7 = 80A9D520
|
||||
/* 00F68 80A9D4B8 AC800118 */ sw $zero, 0x0118($a0) ## 00000118
|
||||
/* 00F6C 80A9D4BC A48E01E0 */ sh $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 00F70 80A9D4C0 10000013 */ beq $zero, $zero, .L80A9D510
|
||||
/* 00F74 80A9D4C4 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
|
||||
.L80A9D4C8:
|
||||
/* 00F78 80A9D4C8 90980209 */ lbu $t8, 0x0209($a0) ## 00000209
|
||||
/* 00F7C 80A9D4CC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00F80 80A9D4D0 2406002D */ addiu $a2, $zero, 0x002D ## $a2 = 0000002D
|
||||
/* 00F84 80A9D4D4 17010003 */ bne $t8, $at, .L80A9D4E4
|
||||
/* 00F88 80A9D4D8 00000000 */ nop
|
||||
/* 00F8C 80A9D4DC 10000001 */ beq $zero, $zero, .L80A9D4E4
|
||||
/* 00F90 80A9D4E0 24060024 */ addiu $a2, $zero, 0x0024 ## $a2 = 00000024
|
||||
.L80A9D4E4:
|
||||
/* 00F94 80A9D4E4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00F98 80A9D4E8 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 00F9C 80A9D4EC C4800094 */ lwc1 $f0, 0x0094($a0) ## 00000094
|
||||
/* 00FA0 80A9D4F0 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 00FA4 80A9D4F4 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00FA8 80A9D4F8 46000005 */ abs.s $f0, $f0
|
||||
/* 00FAC 80A9D4FC 460C2080 */ add.s $f2, $f4, $f12
|
||||
/* 00FB0 80A9D500 460C0180 */ add.s $f6, $f0, $f12
|
||||
/* 00FB4 80A9D504 44071000 */ mfc1 $a3, $f2
|
||||
/* 00FB8 80A9D508 0C00BD0D */ jal func_8002F434
|
||||
/* 00FBC 80A9D50C E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
.L80A9D510:
|
||||
/* 00FC0 80A9D510 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00FC4 80A9D514 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00FC8 80A9D518 03E00008 */ jr $ra
|
||||
/* 00FCC 80A9D51C 00000000 */ nop
|
|
@ -1,41 +0,0 @@
|
|||
glabel func_80A9D520
|
||||
/* 00FD0 80A9D520 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00FD4 80A9D524 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00FD8 80A9D528 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00FDC 80A9D52C AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00FE0 80A9D530 0C042F6F */ jal func_8010BDBC
|
||||
/* 00FE4 80A9D534 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 00FE8 80A9D538 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 00FEC 80A9D53C 5441001A */ bnel $v0, $at, .L80A9D5A8
|
||||
/* 00FF0 80A9D540 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00FF4 80A9D544 0C041AF2 */ jal func_80106BC8
|
||||
/* 00FF8 80A9D548 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00FFC 80A9D54C 10400015 */ beq $v0, $zero, .L80A9D5A4
|
||||
/* 01000 80A9D550 3C0E8012 */ lui $t6, %hi(gItemSlots+0x2d)
|
||||
/* 01004 80A9D554 91CE7491 */ lbu $t6, %lo(gItemSlots+0x2d)($t6)
|
||||
/* 01008 80A9D558 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 0100C 80A9D55C 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 01010 80A9D560 004E7821 */ addu $t7, $v0, $t6
|
||||
/* 01014 80A9D564 91F80074 */ lbu $t8, 0x0074($t7) ## 00000074
|
||||
/* 01018 80A9D568 24010035 */ addiu $at, $zero, 0x0035 ## $at = 00000035
|
||||
/* 0101C 80A9D56C 57010009 */ bnel $t8, $at, .L80A9D594
|
||||
/* 01020 80A9D570 8FA20018 */ lw $v0, 0x0018($sp)
|
||||
/* 01024 80A9D574 0C0222A8 */ jal func_80088AA0
|
||||
/* 01028 80A9D578 240400B4 */ addiu $a0, $zero, 0x00B4 ## $a0 = 000000B4
|
||||
/* 0102C 80A9D57C 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 01030 80A9D580 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 01034 80A9D584 945913FC */ lhu $t9, 0x13FC($v0) ## 8015FA5C
|
||||
/* 01038 80A9D588 3328FFFE */ andi $t0, $t9, 0xFFFE ## $t0 = 00000000
|
||||
/* 0103C 80A9D58C A44813FC */ sh $t0, 0x13FC($v0) ## 8015FA5C
|
||||
/* 01040 80A9D590 8FA20018 */ lw $v0, 0x0018($sp)
|
||||
.L80A9D594:
|
||||
/* 01044 80A9D594 3C0980AA */ lui $t1, %hi(func_80A9D42C) ## $t1 = 80AA0000
|
||||
/* 01048 80A9D598 2529D42C */ addiu $t1, $t1, %lo(func_80A9D42C) ## $t1 = 80A9D42C
|
||||
/* 0104C 80A9D59C A44001E0 */ sh $zero, 0x01E0($v0) ## 8015E840
|
||||
/* 01050 80A9D5A0 AC490190 */ sw $t1, 0x0190($v0) ## 8015E7F0
|
||||
.L80A9D5A4:
|
||||
/* 01054 80A9D5A4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A9D5A8:
|
||||
/* 01058 80A9D5A8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0105C 80A9D5AC 03E00008 */ jr $ra
|
||||
/* 01060 80A9D5B0 00000000 */ nop
|
|
@ -1,58 +0,0 @@
|
|||
glabel func_80A9D670
|
||||
/* 01120 80A9D670 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 01124 80A9D674 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
|
||||
/* 01128 80A9D678 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0112C 80A9D67C AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 01130 80A9D680 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 01134 80A9D684 10A10006 */ beq $a1, $at, .L80A9D6A0
|
||||
/* 01138 80A9D688 AFA70034 */ sw $a3, 0x0034($sp)
|
||||
/* 0113C 80A9D68C 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
|
||||
/* 01140 80A9D690 10A10003 */ beq $a1, $at, .L80A9D6A0
|
||||
/* 01144 80A9D694 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 01148 80A9D698 54A10026 */ bnel $a1, $at, .L80A9D734
|
||||
/* 0114C 80A9D69C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A9D6A0:
|
||||
/* 01150 80A9D6A0 8FAE003C */ lw $t6, 0x003C($sp)
|
||||
/* 01154 80A9D6A4 00057840 */ sll $t7, $a1, 1
|
||||
/* 01158 80A9D6A8 01CF1821 */ addu $v1, $t6, $t7
|
||||
/* 0115C 80A9D6AC 846402A6 */ lh $a0, 0x02A6($v1) ## 000002A6
|
||||
/* 01160 80A9D6B0 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 01164 80A9D6B4 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 01168 80A9D6B8 AFA3001C */ sw $v1, 0x001C($sp)
|
||||
/* 0116C 80A9D6BC 8FA20038 */ lw $v0, 0x0038($sp)
|
||||
/* 01170 80A9D6C0 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 01174 80A9D6C4 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00
|
||||
/* 01178 80A9D6C8 84580002 */ lh $t8, 0x0002($v0) ## 00000002
|
||||
/* 0117C 80A9D6CC 8FA3001C */ lw $v1, 0x001C($sp)
|
||||
/* 01180 80A9D6D0 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 01184 80A9D6D4 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
|
||||
/* 01188 80A9D6D8 00000000 */ nop
|
||||
/* 0118C 80A9D6DC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 01190 80A9D6E0 460A3400 */ add.s $f16, $f6, $f10
|
||||
/* 01194 80A9D6E4 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 01198 80A9D6E8 44089000 */ mfc1 $t0, $f18
|
||||
/* 0119C 80A9D6EC 00000000 */ nop
|
||||
/* 011A0 80A9D6F0 A4480002 */ sh $t0, 0x0002($v0) ## 00000002
|
||||
/* 011A4 80A9D6F4 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 011A8 80A9D6F8 846402BE */ lh $a0, 0x02BE($v1) ## 000002BE
|
||||
/* 011AC 80A9D6FC 8FA20038 */ lw $v0, 0x0038($sp)
|
||||
/* 011B0 80A9D700 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 011B4 80A9D704 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
|
||||
/* 011B8 80A9D708 84490004 */ lh $t1, 0x0004($v0) ## 00000004
|
||||
/* 011BC 80A9D70C 46060282 */ mul.s $f10, $f0, $f6
|
||||
/* 011C0 80A9D710 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
|
||||
/* 011C4 80A9D714 00000000 */ nop
|
||||
/* 011C8 80A9D718 46802220 */ cvt.s.w $f8, $f4
|
||||
/* 011CC 80A9D71C 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 011D0 80A9D720 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 011D4 80A9D724 440B9000 */ mfc1 $t3, $f18
|
||||
/* 011D8 80A9D728 00000000 */ nop
|
||||
/* 011DC 80A9D72C A44B0004 */ sh $t3, 0x0004($v0) ## 00000004
|
||||
/* 011E0 80A9D730 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A9D734:
|
||||
/* 011E4 80A9D734 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 011E8 80A9D738 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 011EC 80A9D73C 03E00008 */ jr $ra
|
||||
/* 011F0 80A9D740 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel func_80A9D744
|
||||
/* 011F4 80A9D744 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 011F8 80A9D748 3C0E80AA */ lui $t6, %hi(D_80A9D958) ## $t6 = 80AA0000
|
||||
/* 011FC 80A9D74C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01200 80A9D750 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 01204 80A9D754 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 01208 80A9D758 AFA70034 */ sw $a3, 0x0034($sp)
|
||||
/* 0120C 80A9D75C 25CED958 */ addiu $t6, $t6, %lo(D_80A9D958) ## $t6 = 80A9D958
|
||||
/* 01210 80A9D760 8DD80000 */ lw $t8, 0x0000($t6) ## 80A9D958
|
||||
/* 01214 80A9D764 27A40018 */ addiu $a0, $sp, 0x0018 ## $a0 = FFFFFFF0
|
||||
/* 01218 80A9D768 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
/* 0121C 80A9D76C AC980000 */ sw $t8, 0x0000($a0) ## FFFFFFF0
|
||||
/* 01220 80A9D770 8DCF0004 */ lw $t7, 0x0004($t6) ## 80A9D95C
|
||||
/* 01224 80A9D774 AC8F0004 */ sw $t7, 0x0004($a0) ## FFFFFFF4
|
||||
/* 01228 80A9D778 8DD80008 */ lw $t8, 0x0008($t6) ## 80A9D960
|
||||
/* 0122C 80A9D77C 14A10004 */ bne $a1, $at, .L80A9D790
|
||||
/* 01230 80A9D780 AC980008 */ sw $t8, 0x0008($a0) ## FFFFFFF8
|
||||
/* 01234 80A9D784 8FA50038 */ lw $a1, 0x0038($sp)
|
||||
/* 01238 80A9D788 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 0123C 80A9D78C 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
|
||||
.L80A9D790:
|
||||
/* 01240 80A9D790 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01244 80A9D794 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 01248 80A9D798 03E00008 */ jr $ra
|
||||
/* 0124C 80A9D79C 00000000 */ nop
|
|
@ -1,32 +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_Kz_InitVars
|
||||
.word 0x01640400, 0x00000009, 0x00FF0000, 0x000002D8
|
||||
.word EnKz_Init
|
||||
.word EnKz_Destroy
|
||||
.word EnKz_Update
|
||||
.word EnKz_Draw
|
||||
glabel D_80A9D8C0
|
||||
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00500078, 0x00000000, 0x00000000
|
||||
glabel D_80A9D8EC
|
||||
.word 0x00000000, 0x00000000, 0xFF000000
|
||||
glabel D_80A9D8F8
|
||||
.word 0x0600075C, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x0600075C, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC1200000, 0x0600046C, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC1200000
|
||||
glabel D_80A9D940
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80A9D94C
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80A9D958
|
||||
.word 0x45228000, 0x00000000, 0x00000000
|
||||
glabel D_80A9D964
|
||||
.word 0x06001470, 0x06001870, 0x06001C70
|
||||
|
|
@ -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_80A9D9D0
|
||||
.incbin "baserom/ovl_En_Kz", 0x1480, 0x00000170
|
|
@ -1073,6 +1073,7 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange);
|
|||
void func_80087680(GlobalContext* globalCtx);
|
||||
void func_800876C8(GlobalContext* globalCtx);
|
||||
s32 func_80087708(GlobalContext* globalCtx, s16 arg1, s16 arg2);
|
||||
void func_80088AA0(s16 seconds);
|
||||
void func_80088B34(s16 arg0);
|
||||
void Interface_Draw(GlobalContext* globalCtx);
|
||||
void Interface_Update(GlobalContext* globalCtx);
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
#define ALL_EQUIP_VALUE(equip) ((s32)(gSaveContext.equipment & gEquipMasks[equip]) >> gEquipShifts[equip])
|
||||
#define CUR_EQUIP_VALUE(equip) ((s32)(gSaveContext.equips.equipment & gEquipMasks[equip]) >> gEquipShifts[equip])
|
||||
#define CHECK_OWNED_EQUIP(equip, value) ((gBitFlags[value] << gEquipShifts[equip]) & gSaveContext.equipment)
|
||||
|
||||
#define CUR_UPG_VALUE(upg) ((s32)(gSaveContext.upgrades & gUpgradeMasks[upg]) >> gUpgradeShifts[upg])
|
||||
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
|
||||
|
|
|
@ -28,6 +28,8 @@ typedef struct {
|
|||
} CollisionPoly; // size = 0x10
|
||||
|
||||
typedef void (*ActorFunc)(struct Actor*, struct GlobalContext*);
|
||||
typedef u16 (*callback1_800343CC)(struct GlobalContext*, struct Actor*);
|
||||
typedef s16 (*callback2_800343CC)(struct GlobalContext*, struct Actor*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 id;
|
||||
|
|
|
@ -371,4 +371,6 @@ typedef enum {
|
|||
/* 0x7D */ GI_TEXT_0 // no model appears over Link, shows text id 0 (pocket egg)
|
||||
} GetItemID;
|
||||
|
||||
#define ITEM_TRADE_ADULT ITEM_POCKET_EGG
|
||||
|
||||
#endif
|
||||
|
|
3
spec
3
spec
|
@ -2845,8 +2845,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Kz"
|
||||
include "build/src/overlays/actors/ovl_En_Kz/z_en_kz.o"
|
||||
include "build/data/overlays/actors/z_en_kz.data.o"
|
||||
include "build/data/overlays/actors/z_en_kz.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Kz/z_en_kz_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -3637,8 +3637,8 @@ Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx) {
|
|||
return func_8002EB44(object, &globalCtx->view.eye, &lightDir, globalCtx->state.gfxCtx);
|
||||
}
|
||||
|
||||
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
|
||||
s16 (*unkFunc2)(GlobalContext*, Actor*)) {
|
||||
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, callback1_800343CC unkFunc1,
|
||||
callback2_800343CC unkFunc2) {
|
||||
s16 sp26;
|
||||
s16 sp24;
|
||||
|
||||
|
|
|
@ -478,9 +478,8 @@ void func_8001E5C8(EnItem00* this, GlobalContext* globalCtx) {
|
|||
|
||||
this->actor.posRot.pos.y += 40.0f + Math_Sins(this->unk_15A * 15000) * (this->unk_15A * 0.3f);
|
||||
|
||||
if
|
||||
LINK_IS_ADULT
|
||||
this->actor.posRot.pos.y += 20.0f;
|
||||
if LINK_IS_ADULT
|
||||
this->actor.posRot.pos.y += 20.0f;
|
||||
}
|
||||
|
||||
extern s32 D_80157D90;
|
||||
|
|
|
@ -3554,7 +3554,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
|||
|
||||
// Revert any spoiling trade quest items
|
||||
for (phi_s3 = 0; phi_s3 < ARRAY_COUNT(gSpoilingItems); phi_s3++) {
|
||||
if (INV_CONTENT(ITEM_POCKET_EGG) == gSpoilingItems[phi_s3]) {
|
||||
if (INV_CONTENT(ITEM_TRADE_ADULT) == gSpoilingItems[phi_s3]) {
|
||||
gSaveContext.eventInf[0] &= 0x7F80;
|
||||
osSyncPrintf("EVENT_INF=%x\n", gSaveContext.eventInf[0]);
|
||||
globalCtx->nextEntranceIndex = sSpoilingItemEntrances[phi_s3];
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_en_kz.c
|
||||
* Overlay: ovl_En_Kz
|
||||
* Description: King Zora
|
||||
*/
|
||||
|
||||
#include "z_en_kz.h"
|
||||
|
||||
#define FLAGS 0x00000009
|
||||
|
@ -9,7 +15,14 @@ void EnKz_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnKz_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnKz_PreMweepWait(EnKz* this, GlobalContext* globalCtx);
|
||||
void EnKz_SetupMweep(EnKz* this, GlobalContext* globalCtx);
|
||||
void EnKz_Mweep(EnKz* this, GlobalContext* globalCtx);
|
||||
void EnKz_StopMweep(EnKz* this, GlobalContext* globalCtx);
|
||||
void EnKz_Wait(EnKz* this, GlobalContext* globalCtx);
|
||||
void EnKz_SetupGetItem(EnKz* this, GlobalContext* globalCtx);
|
||||
void EnKz_StartTimer(EnKz* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Kz_InitVars = {
|
||||
ACTOR_EN_KZ,
|
||||
ACTORTYPE_NPC,
|
||||
|
@ -21,47 +34,456 @@ const ActorInit En_Kz_InitVars = {
|
|||
(ActorFunc)EnKz_Update,
|
||||
(ActorFunc)EnKz_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C550.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C5AC.s")
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x20, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
|
||||
{ 80, 120, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C658.s")
|
||||
static CollisionCheckInfoInit2 sColChkInfoInit = {
|
||||
0x00, 0x0000, 0x0000, 0x0000, 0xFF,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C6C0.s")
|
||||
static struct_80034EC0_Entry sAnimations[] = {
|
||||
{ 0x0600075C, 1.0f, 0.0f, -1.0f, 0x00, 0.0f },
|
||||
{ 0x0600075C, 1.0f, 0.0f, -1.0f, 0x00, -10.0f },
|
||||
{ 0x0600046C, 1.0f, 0.0f, -1.0f, 0x00, -10.0f },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C8E4.s")
|
||||
extern SkeletonHeader D_060086D0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9C95C.s")
|
||||
u16 EnKz_GetTextNoMaskChild(GlobalContext* globalCtx, EnKz* this) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CB18.s")
|
||||
if (CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) {
|
||||
return 0x402B;
|
||||
} else if (gSaveContext.eventChkInf[3] & 8) {
|
||||
return 0x401C;
|
||||
} else {
|
||||
player->exchangeItemId = 0x1D;
|
||||
return 0x401A;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CCD8.s")
|
||||
u16 EnKz_GetTextNoMaskAdult(GlobalContext* globalCtx, EnKz* this) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9CE44.s")
|
||||
if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_FROG) {
|
||||
if (!(gSaveContext.infTable[19] & 0x200)) {
|
||||
if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2)) {
|
||||
return 0x401F;
|
||||
} else {
|
||||
return 0x4012;
|
||||
}
|
||||
} else {
|
||||
return CHECK_QUEST_ITEM(QUEST_SONG_SERENADE) ? 0x4045 : 0x401A;
|
||||
}
|
||||
} else {
|
||||
player->exchangeItemId = 0xC;
|
||||
return 0x4012;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Init.s")
|
||||
u16 EnKz_GetText(GlobalContext* globalCtx, EnKz* this) {
|
||||
u16 reactionText = Text_GetFaceReaction(globalCtx, 0x1E);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Destroy.s")
|
||||
if (reactionText != 0) {
|
||||
return reactionText;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D0C0.s")
|
||||
if (LINK_IS_ADULT) {
|
||||
return EnKz_GetTextNoMaskAdult(globalCtx, this);
|
||||
} else {
|
||||
return EnKz_GetTextNoMaskChild(globalCtx, this);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D130.s")
|
||||
s16 func_80A9C6C0(GlobalContext* globalCtx, EnKz* this) {
|
||||
s32 pad;
|
||||
s16 ret = 1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D25C.s")
|
||||
switch (func_8010BDBC(&globalCtx->msgCtx)) {
|
||||
case 6:
|
||||
ret = 0;
|
||||
switch (this->actor.textId) {
|
||||
case 0x4012:
|
||||
gSaveContext.infTable[19] |= 0x200;
|
||||
ret = 2;
|
||||
break;
|
||||
case 0x401B:
|
||||
ret = func_80106BC8(globalCtx) == 0 ? 1 : 2;
|
||||
break;
|
||||
case 0x401F:
|
||||
gSaveContext.infTable[19] |= 0x200;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (this->actor.textId != 0x4014) {
|
||||
if (this->actor.textId == 0x401B && !this->sfxPlayed) {
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0,
|
||||
&D_801333E8);
|
||||
this->sfxPlayed = true;
|
||||
}
|
||||
} else if (!this->sfxPlayed) {
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_TRE_BOX_APPEAR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->sfxPlayed = true;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (func_80106BC8(globalCtx) == 0) {
|
||||
break;
|
||||
}
|
||||
if (this->actor.textId == 0x4014) {
|
||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||
EnKz_SetupGetItem(this, globalCtx);
|
||||
ret = 2;
|
||||
} else {
|
||||
this->actor.textId = 0x4016;
|
||||
func_8010B720(globalCtx, this->actor.textId);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (func_80106BC8(globalCtx) != 0) {
|
||||
ret = 2;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D3C8.s")
|
||||
void EnKz_UpdateEyes(EnKz* this) {
|
||||
if (DECR(this->blinkTimer) == 0) {
|
||||
this->eyeIdx += 1;
|
||||
if (this->eyeIdx >= 3) {
|
||||
this->blinkTimer = Math_Rand_S16Offset(30, 30);
|
||||
this->eyeIdx = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D42C.s")
|
||||
s32 func_80A9C95C(GlobalContext* globalCtx, EnKz* this, s16* arg2, f32 unkf, callback1_800343CC callback1,
|
||||
callback2_800343CC callback2) {
|
||||
Player* player = PLAYER;
|
||||
s16 sp32;
|
||||
s16 sp30;
|
||||
f32 xzDistanceFromLink;
|
||||
f32 yaw;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D490.s")
|
||||
if (func_8002F194(&this->actor, globalCtx) != 0) {
|
||||
*arg2 = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D520.s")
|
||||
if (*arg2 != 0) {
|
||||
*arg2 = callback2(globalCtx, this);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Update.s")
|
||||
yaw = Math_Vec3f_Yaw(&this->actor.initPosRot.pos, &player->actor.posRot.pos);
|
||||
yaw -= this->actor.shape.rot.y;
|
||||
if ((fabsf(yaw) > 1638.0f) || (this->actor.xzDistanceFromLink < 265.0f)) {
|
||||
this->actor.flags &= ~1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D670.s")
|
||||
this->actor.flags |= 1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/func_80A9D744.s")
|
||||
func_8002F374(globalCtx, &this->actor, &sp32, &sp30);
|
||||
if (!((sp32 >= -30) && (sp32 < 361) && (sp30 >= -10) && (sp30 < 241))) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kz/EnKz_Draw.s")
|
||||
xzDistanceFromLink = this->actor.xzDistanceFromLink;
|
||||
this->actor.xzDistanceFromLink = Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &player->actor.posRot.pos);
|
||||
if (func_8002F2CC(&this->actor, globalCtx, unkf) == 0) {
|
||||
this->actor.xzDistanceFromLink = xzDistanceFromLink;
|
||||
return 0;
|
||||
}
|
||||
this->actor.xzDistanceFromLink = xzDistanceFromLink;
|
||||
this->actor.textId = callback1(globalCtx, this);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_80A9CB18(EnKz* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (func_80A9C95C(globalCtx, this, &this->unk_1E0.unk_00, 340.0f, EnKz_GetText, func_80A9C6C0) != 0) {
|
||||
if ((this->actor.textId == 0x401A) && (!(gSaveContext.eventChkInf[3] & 8))) {
|
||||
if (func_8002F368(globalCtx) == 0x1D) {
|
||||
this->actor.textId = 0x401B;
|
||||
this->sfxPlayed = false;
|
||||
} else {
|
||||
this->actor.textId = 0x401A;
|
||||
}
|
||||
player->actor.textId = this->actor.textId;
|
||||
return;
|
||||
}
|
||||
if (LINK_IS_ADULT) {
|
||||
if ((INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_PRESCRIPTION) && (func_8002F368(globalCtx) == 0xC)) {
|
||||
this->actor.textId = 0x4014;
|
||||
this->sfxPlayed = false;
|
||||
player->actor.textId = this->actor.textId;
|
||||
this->isTrading = true;
|
||||
return;
|
||||
}
|
||||
this->isTrading = false;
|
||||
if (gSaveContext.infTable[19] & 0x200) {
|
||||
this->actor.textId = CHECK_QUEST_ITEM(QUEST_SONG_SERENADE) ? 0x4045 : 0x401A;
|
||||
player->actor.textId = this->actor.textId;
|
||||
return;
|
||||
}
|
||||
this->actor.textId = CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2) ? 0x401F : 0x4012;
|
||||
player->actor.textId = this->actor.textId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 EnKz_FollowPath(EnKz* this, GlobalContext* globalCtx) {
|
||||
Path* path;
|
||||
Vec3s* pointPos;
|
||||
f32 pathDiffX;
|
||||
f32 pathDiffZ;
|
||||
|
||||
if ((this->actor.params & 0xFF00) == 0xFF00) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
path = &globalCtx->setupPathList[(this->actor.params & 0xFF00) >> 8];
|
||||
pointPos = SEGMENTED_TO_VIRTUAL(path->points);
|
||||
pointPos += this->waypoint;
|
||||
|
||||
pathDiffX = pointPos->x - this->actor.posRot.pos.x;
|
||||
pathDiffZ = pointPos->z - this->actor.posRot.pos.z;
|
||||
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, (Math_atan2f(pathDiffX, pathDiffZ) * 10430.3779296875f), 0xA,
|
||||
0x3E8, 1);
|
||||
|
||||
if ((SQ(pathDiffX) + SQ(pathDiffZ)) < 10.0f) {
|
||||
this->waypoint++;
|
||||
if (this->waypoint >= path->count) {
|
||||
this->waypoint = 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 EnKz_SetMovedPos(EnKz* this, GlobalContext* globalCtx) {
|
||||
Path* path;
|
||||
Vec3s* lastPointPos;
|
||||
|
||||
if ((this->actor.params & 0xFF00) == 0xFF00) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
path = &globalCtx->setupPathList[(this->actor.params & 0xFF00) >> 8];
|
||||
lastPointPos = SEGMENTED_TO_VIRTUAL(path->points);
|
||||
lastPointPos += path->count - 1;
|
||||
|
||||
this->actor.posRot.pos.x = lastPointPos->x;
|
||||
this->actor.posRot.pos.y = lastPointPos->y;
|
||||
this->actor.posRot.pos.z = lastPointPos->z;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void EnKz_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnKz* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
SkelAnime_InitSV(globalCtx, &this->skelanime, &D_060086D0, NULL, &this->limbDrawTable, &this->transitionDrawTable,
|
||||
12);
|
||||
ActorShape_Init(&this->actor.shape, 0.0, NULL, 0.0);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
func_80061EFC(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
|
||||
Actor_SetScale(&this->actor, 0.01);
|
||||
this->actor.unk_1F = 3;
|
||||
this->unk_1E0.unk_00 = 0;
|
||||
func_80034EC0(&this->skelanime, sAnimations, 0);
|
||||
|
||||
if (gSaveContext.eventChkInf[3] & 8) {
|
||||
EnKz_SetMovedPos(this, globalCtx);
|
||||
}
|
||||
|
||||
if (LINK_IS_ADULT) {
|
||||
if (!(gSaveContext.infTable[19] & 0x100)) {
|
||||
Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_BG_ICE_SHELTER,
|
||||
this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 0,
|
||||
0x04FF);
|
||||
}
|
||||
this->actionFunc = EnKz_Wait;
|
||||
} else {
|
||||
this->actionFunc = EnKz_PreMweepWait;
|
||||
}
|
||||
}
|
||||
|
||||
void EnKz_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnKz* this = THIS;
|
||||
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
void EnKz_PreMweepWait(EnKz* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_1E0.unk_00 == 2) {
|
||||
func_80034EC0(&this->skelanime, sAnimations, 2);
|
||||
this->unk_1E0.unk_00 = 0;
|
||||
this->actionFunc = EnKz_SetupMweep;
|
||||
} else {
|
||||
func_80034F54(globalCtx, &this->unk_2A6, &this->unk_2BE, 12);
|
||||
}
|
||||
}
|
||||
|
||||
void EnKz_SetupMweep(EnKz* this, GlobalContext* globalCtx) {
|
||||
Vec3f unused = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f pos;
|
||||
Vec3f initPos;
|
||||
|
||||
this->cutsceneCamera = Gameplay_CreateSubCamera(globalCtx);
|
||||
this->gameplayCamera = globalCtx->activeCamera;
|
||||
Gameplay_ChangeCameraStatus(globalCtx, this->gameplayCamera, 1);
|
||||
Gameplay_ChangeCameraStatus(globalCtx, this->cutsceneCamera, 7);
|
||||
pos = this->actor.posRot.pos;
|
||||
initPos = this->actor.initPosRot.pos;
|
||||
pos.y += 60.0f;
|
||||
initPos.y += -100.0f;
|
||||
initPos.z += 260.0f;
|
||||
func_800C04D8(globalCtx, this->cutsceneCamera, &pos, &initPos);
|
||||
func_8002DF54(globalCtx, &this->actor, 8);
|
||||
this->actor.speedXZ = 0.1f;
|
||||
this->actionFunc = EnKz_Mweep;
|
||||
}
|
||||
|
||||
void EnKz_Mweep(EnKz* this, GlobalContext* globalCtx) {
|
||||
Vec3f unused = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f pos;
|
||||
Vec3f initPos;
|
||||
|
||||
pos = this->actor.posRot.pos;
|
||||
initPos = this->actor.initPosRot.pos;
|
||||
pos.y += 60.0f;
|
||||
initPos.y += -100.0f;
|
||||
initPos.z += 260.0f;
|
||||
func_800C04D8(globalCtx, this->cutsceneCamera, &pos, &initPos);
|
||||
if ((EnKz_FollowPath(this, globalCtx) == 1) && (this->waypoint == 0)) {
|
||||
func_80034EC0(&this->skelanime, sAnimations, 1);
|
||||
Inventory_ReplaceItem(globalCtx, ITEM_LETTER_RUTO, ITEM_BOTTLE);
|
||||
EnKz_SetMovedPos(this, globalCtx);
|
||||
gSaveContext.eventChkInf[3] |= 8;
|
||||
this->actor.speedXZ = 0.0;
|
||||
this->actionFunc = EnKz_StopMweep;
|
||||
}
|
||||
if (this->skelanime.animCurrentFrame == 13.0f) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_VO_KZ_MOVE);
|
||||
}
|
||||
}
|
||||
|
||||
void EnKz_StopMweep(EnKz* this, GlobalContext* globalCtx) {
|
||||
Gameplay_ChangeCameraStatus(globalCtx, this->gameplayCamera, 7);
|
||||
Gameplay_ClearCamera(globalCtx, this->cutsceneCamera);
|
||||
func_8002DF54(globalCtx, &this->actor, 7);
|
||||
this->actionFunc = EnKz_Wait;
|
||||
}
|
||||
|
||||
void EnKz_Wait(EnKz* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_1E0.unk_00 == 2) {
|
||||
this->actionFunc = EnKz_SetupGetItem;
|
||||
EnKz_SetupGetItem(this, globalCtx);
|
||||
} else {
|
||||
func_80034F54(globalCtx, &this->unk_2A6, &this->unk_2BE, 12);
|
||||
}
|
||||
}
|
||||
|
||||
void EnKz_SetupGetItem(EnKz* this, GlobalContext* globalCtx) {
|
||||
s32 getItemID;
|
||||
f32 xzRange;
|
||||
f32 yRange;
|
||||
|
||||
if (func_8002F410(this, globalCtx)) {
|
||||
this->actor.attachedA = NULL;
|
||||
this->unk_1E0.unk_00 = 1;
|
||||
this->actionFunc = EnKz_StartTimer;
|
||||
} else {
|
||||
getItemID = this->isTrading == true ? GI_FROG : GI_TUNIC_ZORA;
|
||||
yRange = fabsf(this->actor.yDistanceFromLink) + 1.0f;
|
||||
xzRange = this->actor.xzDistanceFromLink + 1.0f;
|
||||
func_8002F434(&this->actor, globalCtx, getItemID, xzRange, yRange);
|
||||
}
|
||||
}
|
||||
|
||||
void EnKz_StartTimer(EnKz* this, GlobalContext* globalCtx) {
|
||||
if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && (func_80106BC8(globalCtx))) {
|
||||
if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_FROG) {
|
||||
func_80088AA0(180); // start timer2 with 3 minutes
|
||||
gSaveContext.eventInf[1] &= ~1;
|
||||
}
|
||||
this->unk_1E0.unk_00 = 0;
|
||||
this->actionFunc = EnKz_Wait;
|
||||
}
|
||||
}
|
||||
|
||||
void EnKz_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnKz* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
if (LINK_IS_ADULT && !(gSaveContext.infTable[19] & 0x100)) {
|
||||
gSaveContext.infTable[19] |= 0x100;
|
||||
}
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelanime);
|
||||
EnKz_UpdateEyes(this);
|
||||
Actor_MoveForward(&this->actor);
|
||||
if (this->actionFunc != EnKz_StartTimer) {
|
||||
func_80A9CB18(this, globalCtx);
|
||||
}
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
s32 EnKz_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
s32 limb = limbIndex;
|
||||
|
||||
if (limb == 8 || limb == 9 || limb == 10) {
|
||||
rot->y += Math_Sins(THIS->unk_2A6[limb]) * 200.0f;
|
||||
rot->z += Math_Coss(THIS->unk_2BE[limb]) * 200.0f;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
s32 limb = limbIndex;
|
||||
Vec3f mult = { 2600.0f, 0.0f, 0.0f };
|
||||
|
||||
if (limb == 11) {
|
||||
Matrix_MultVec3f(&mult, &THIS->actor.posRot2.pos);
|
||||
}
|
||||
}
|
||||
|
||||
void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static UNK_PTR sEyeSegments[] = {
|
||||
0x06001470,
|
||||
0x06001870,
|
||||
0x06001C70,
|
||||
};
|
||||
EnKz* this = THIS;
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_kz.c", 1259);
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
|
||||
func_800943C8(globalCtx->state.gfxCtx);
|
||||
SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
|
||||
EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, &this->actor);
|
||||
Graph_CloseDisps(&dispRefs, globalCtx->state.gfxCtx, "../z_en_kz.c", 1281);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,26 @@
|
|||
|
||||
struct EnKz;
|
||||
|
||||
typedef void (*EnKzActionFunc)(struct EnKz*, GlobalContext*);
|
||||
|
||||
typedef struct EnKz {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x18C];
|
||||
/* 0x014C */ SkelAnime skelanime;
|
||||
/* 0x0190 */ EnKzActionFunc actionFunc;
|
||||
/* 0x0194 */ ColliderCylinder collider;
|
||||
/* 0x01E0 */ struct_80034A14_arg1 unk_1E0;
|
||||
/* 0x0208 */ u8 sfxPlayed;
|
||||
/* 0x0209 */ u8 isTrading;
|
||||
/* 0x020A */ s16 waypoint;
|
||||
/* 0x020C */ s16 blinkTimer;
|
||||
/* 0x020E */ char unk_20E[0x2];
|
||||
/* 0x0210 */ s16 eyeIdx;
|
||||
/* 0x0212 */ s16 cutsceneCamera;
|
||||
/* 0x0214 */ s16 gameplayCamera;
|
||||
/* 0x0216 */ Vec3s limbDrawTable[12];
|
||||
/* 0x025E */ Vec3s transitionDrawTable[12];
|
||||
/* 0x02A6 */ s16 unk_2A6[12];
|
||||
/* 0x02BE */ s16 unk_2BE[12];
|
||||
} EnKz; // size = 0x02D8
|
||||
|
||||
extern const ActorInit En_Kz_InitVars;
|
||||
|
|
|
@ -512,6 +512,9 @@ D_06001080 = 0x06001080;
|
|||
D_06004768 = 0x06004768;
|
||||
D_0600039C = 0x0600039C;
|
||||
|
||||
// z_en_kz
|
||||
D_060086D0 = 0x060086D0;
|
||||
|
||||
// z_bg_spot05_soko
|
||||
D_06000918 = 0x06000918;
|
||||
D_060012C0 = 0x060012C0;
|
||||
|
|
Loading…
Add table
Reference in a new issue