1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 09:03:36 +00:00
This commit is contained in:
shawlucas 2020-03-21 18:14:58 -07:00
commit 2029330e93
54 changed files with 832 additions and 1447 deletions

View File

@ -539,13 +539,13 @@ glabel func_800C5DC0
/* B3D1A8 800C6008 24090001 */ li $t1, 1
/* B3D1AC 800C600C 240C0004 */ li $t4, 4
/* B3D1B0 800C6010 AE090000 */ sw $t1, ($s0)
/* B3D1B4 800C6014 0C034B7C */ jal func_800D2DF0
/* B3D1B4 800C6014 0C034B7C */ jal SysUcode_GetUCodeBoot
/* B3D1B8 800C6018 AE0C0004 */ sw $t4, 4($s0)
/* B3D1BC 800C601C 0C034B7F */ jal func_800D2DFC
/* B3D1BC 800C601C 0C034B7F */ jal SysUcode_GetUcodeBootSize
/* B3D1C0 800C6020 AE020008 */ sw $v0, 8($s0)
/* B3D1C4 800C6024 0C034B85 */ jal func_800D2E14
/* B3D1C4 800C6024 0C034B85 */ jal SysUcode_GetUcode
/* B3D1C8 800C6028 AE02000C */ sw $v0, 0xc($s0)
/* B3D1CC 800C602C 0C034B88 */ jal func_800D2E20
/* B3D1CC 800C602C 0C034B88 */ jal SysUcode_GetUcodeData
/* B3D1D0 800C6030 AE020010 */ sw $v0, 0x10($s0)
/* B3D1D4 800C6034 3C0F801B */ lui $t7, %hi(gGfxSPTaskStack) # $t7, 0x801b
/* B3D1D8 800C6038 3C19801A */ lui $t9, %hi(gGfxSPTaskOutputBuffer) # $t9, 0x801a
@ -1056,7 +1056,7 @@ glabel func_800C61D8
.L800C67DC:
/* B3D97C 800C67DC 10800014 */ beqz $a0, .L800C6830
/* B3D980 800C67E0 3C048016 */ lui $a0, %hi(gAppNmiBufferPtr) # $a0, 0x8016
/* B3D984 800C67E4 0C01EFC2 */ jal func_8007BF08
/* B3D984 800C67E4 0C01EFC2 */ jal PreNmiBuff_IsResetting
/* B3D988 800C67E8 8C846660 */ lw $a0, %lo(gAppNmiBufferPtr)($a0)
/* B3D98C 800C67EC 10400010 */ beqz $v0, .L800C6830
/* B3D990 800C67F0 8FAE00CC */ lw $t6, 0xcc($sp)

View File

@ -1,17 +0,0 @@
glabel func_8006C360
/* AE3500 8006C360 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AE3504 8006C364 AFBF0014 */ sw $ra, 0x14($sp)
/* AE3508 8006C368 0C023C20 */ jal func_8008F080
/* AE350C 8006C36C AFA5001C */ sw $a1, 0x1c($sp)
/* AE3510 8006C370 8FAE001C */ lw $t6, 0x1c($sp)
/* AE3514 8006C374 0002C040 */ sll $t8, $v0, 1
/* AE3518 8006C378 8FBF0014 */ lw $ra, 0x14($sp)
/* AE351C 8006C37C 000E78C0 */ sll $t7, $t6, 3
/* AE3520 8006C380 01EE7821 */ addu $t7, $t7, $t6
/* AE3524 8006C384 000F7840 */ sll $t7, $t7, 1
/* AE3528 8006C388 01F8C821 */ addu $t9, $t7, $t8
/* AE352C 8006C38C 3C028012 */ lui $v0, %hi(D_8011F3F0)
/* AE3530 8006C390 00591021 */ addu $v0, $v0, $t9
/* AE3534 8006C394 9442F3F0 */ lhu $v0, %lo(D_8011F3F0)($v0)
/* AE3538 8006C398 03E00008 */ jr $ra
/* AE353C 8006C39C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,33 +0,0 @@
glabel func_8007BE60
/* AF3000 8007BE60 AC800000 */ sw $zero, ($a0)
/* AF3004 8007BE64 3C0E8000 */ lui $t6, %hi(osResetType) # $t6, 0x8000
/* AF3008 8007BE68 8DCE030C */ lw $t6, %lo(osResetType)($t6)
/* AF300C 8007BE6C 24180000 */ li $t8, 0
/* AF3010 8007BE70 24190000 */ li $t9, 0
/* AF3014 8007BE74 55C00006 */ bnezl $t6, .L8007BE90
/* AF3018 8007BE78 8C8F0004 */ lw $t7, 4($a0)
/* AF301C 8007BE7C AC800004 */ sw $zero, 4($a0)
/* AF3020 8007BE80 AC980008 */ sw $t8, 8($a0)
/* AF3024 8007BE84 1000000E */ b .L8007BEC0
/* AF3028 8007BE88 AC99000C */ sw $t9, 0xc($a0)
/* AF302C 8007BE8C 8C8F0004 */ lw $t7, 4($a0)
.L8007BE90:
/* AF3030 8007BE90 8C8B000C */ lw $t3, 0xc($a0)
/* AF3034 8007BE94 8C8D0014 */ lw $t5, 0x14($a0)
/* AF3038 8007BE98 8C8A0008 */ lw $t2, 8($a0)
/* AF303C 8007BE9C 25E80001 */ addiu $t0, $t7, 1
/* AF3040 8007BEA0 8C8C0010 */ lw $t4, 0x10($a0)
/* AF3044 8007BEA4 016D7821 */ addu $t7, $t3, $t5
/* AF3048 8007BEA8 01ED082B */ sltu $at, $t7, $t5
/* AF304C 8007BEAC 002A7021 */ addu $t6, $at, $t2
/* AF3050 8007BEB0 01CC7021 */ addu $t6, $t6, $t4
/* AF3054 8007BEB4 AC880004 */ sw $t0, 4($a0)
/* AF3058 8007BEB8 AC8E0008 */ sw $t6, 8($a0)
/* AF305C 8007BEBC AC8F000C */ sw $t7, 0xc($a0)
.L8007BEC0:
/* AF3060 8007BEC0 24180000 */ li $t8, 0
/* AF3064 8007BEC4 24190000 */ li $t9, 0
/* AF3068 8007BEC8 AC990014 */ sw $t9, 0x14($a0)
/* AF306C 8007BECC 03E00008 */ jr $ra
/* AF3070 8007BED0 AC980010 */ sw $t8, 0x10($a0)

View File

@ -1,30 +0,0 @@
glabel func_8007BF10
/* AF30B0 8007BF10 27BDFF60 */ addiu $sp, $sp, -0xa0
/* AF30B4 8007BF14 AFBF0014 */ sw $ra, 0x14($sp)
/* AF30B8 8007BF18 27A40020 */ addiu $a0, $sp, 0x20
/* AF30BC 8007BF1C 240E0003 */ li $t6, 3
/* AF30C0 8007BF20 AFA00038 */ sw $zero, 0x38($sp)
/* AF30C4 8007BF24 AFAE0040 */ sw $t6, 0x40($sp)
/* AF30C8 8007BF28 AFA40088 */ sw $a0, 0x88($sp)
/* AF30CC 8007BF2C AFA0008C */ sw $zero, 0x8c($sp)
/* AF30D0 8007BF30 AFA00044 */ sw $zero, 0x44($sp)
/* AF30D4 8007BF34 AFA00048 */ sw $zero, 0x48($sp)
/* AF30D8 8007BF38 27A5001C */ addiu $a1, $sp, 0x1c
/* AF30DC 8007BF3C 0C001874 */ jal osCreateMesgQueue
/* AF30E0 8007BF40 24060001 */ li $a2, 1
/* AF30E4 8007BF44 3C048016 */ lui $a0, %hi(gSchedContext+0x38) # $a0, 0x8016
/* AF30E8 8007BF48 248466A0 */ addiu $a0, %lo(gSchedContext+0x38) # addiu $a0, $a0, 0x66a0
/* AF30EC 8007BF4C 27A50038 */ addiu $a1, $sp, 0x38
/* AF30F0 8007BF50 0C000C18 */ jal osSendMesg
/* AF30F4 8007BF54 24060001 */ li $a2, 1
/* AF30F8 8007BF58 3C048016 */ lui $a0, %hi(gSchedContext) # $a0, 0x8016
/* AF30FC 8007BF5C 0C03257E */ jal func_800C95F8
/* AF3100 8007BF60 24846668 */ addiu $a0, %lo(gSchedContext) # addiu $a0, $a0, 0x6668
/* AF3104 8007BF64 27A40020 */ addiu $a0, $sp, 0x20
/* AF3108 8007BF68 00002825 */ move $a1, $zero
/* AF310C 8007BF6C 0C000CA0 */ jal osRecvMesg
/* AF3110 8007BF70 24060001 */ li $a2, 1
/* AF3114 8007BF74 8FBF0014 */ lw $ra, 0x14($sp)
/* AF3118 8007BF78 27BD00A0 */ addiu $sp, $sp, 0xa0
/* AF311C 8007BF7C 03E00008 */ jr $ra
/* AF3120 8007BF80 00000000 */ nop

View File

@ -25,10 +25,10 @@ glabel func_8006DE30
/* AE502C 8006DE8C 3C018012 */ lui $at, %hi(D_8011FA64) # $at, 0x8012
/* AE5030 8006DE90 AC20FA64 */ sw $zero, %lo(D_8011FA64)($at)
/* AE5034 8006DE94 AFA40028 */ sw $a0, 0x28($sp)
/* AE5038 8006DE98 0C034B7C */ jal func_800D2DF0
/* AE5038 8006DE98 0C034B7C */ jal SysUcode_GetUCodeBoot
/* AE503C 8006DE9C AFA30024 */ sw $v1, 0x24($sp)
/* AE5040 8006DEA0 3C018012 */ lui $at, %hi(D_8011FA68) # $at, 0x8012
/* AE5044 8006DEA4 0C034B7F */ jal func_800D2DFC
/* AE5044 8006DEA4 0C034B7F */ jal SysUcode_GetUcodeBootSize
/* AE5048 8006DEA8 AC22FA68 */ sw $v0, %lo(D_8011FA68)($at)
/* AE504C 8006DEAC 8FA30024 */ lw $v1, 0x24($sp)
/* AE5050 8006DEB0 8FA70028 */ lw $a3, 0x28($sp)

View File

@ -96,7 +96,7 @@ glabel func_8006E418
/* AE5620 8006E480 27A502B8 */ addiu $a1, $sp, 0x2b8
/* AE5624 8006E484 0C001874 */ jal osCreateMesgQueue
/* AE5628 8006E488 24060001 */ li $a2, 1
/* AE562C 8006E48C 0C01EFC4 */ jal func_8007BF10
/* AE562C 8006E48C 0C01EFC4 */ jal MsgEvent_SendNullTask
/* AE5630 8006E490 00000000 */ nop
/* AE5634 8006E494 0C001A78 */ jal osGetTime
/* AE5638 8006E498 00000000 */ nop

View File

@ -370,7 +370,7 @@ glabel func_800BEDD8
/* B364E4 800BF344 84430190 */ lh $v1, 0x190($v0)
/* B364E8 800BF348 5461000E */ bnel $v1, $at, .L800BF384
/* B364EC 800BF34C 28610004 */ slti $at, $v1, 4
/* B364F0 800BF350 0C01EFC4 */ jal func_8007BF10
/* B364F0 800BF350 0C01EFC4 */ jal MsgEvent_SendNullTask
/* B364F4 800BF354 00000000 */ nop
/* B364F8 800BF358 0C030DDC */ jal func_800C3770
/* B364FC 800BF35C 8FA4003C */ lw $a0, 0x3c($sp)

View File

@ -224,7 +224,7 @@ glabel func_80096B6C
/* B0E010 80096E70 AE0A02C0 */ sw $t2, 0x2c0($s0)
/* B0E014 80096E74 AF2B0000 */ sw $t3, ($t9)
/* B0E018 80096E78 AFB90058 */ sw $t9, 0x58($sp)
/* B0E01C 80096E7C 0C034B88 */ jal func_800D2E20
/* B0E01C 80096E7C 0C034B88 */ jal SysUcode_GetUcodeData
/* B0E020 80096E80 AFA80048 */ sw $t0, 0x48($sp)
/* B0E024 80096E84 8FA40058 */ lw $a0, 0x58($sp)
/* B0E028 80096E88 3C0DDD00 */ lui $t5, (0xDD0007FF >> 16) # lui $t5, 0xdd00
@ -234,7 +234,7 @@ glabel func_80096B6C
/* B0E038 80096E98 246C0008 */ addiu $t4, $v1, 8
/* B0E03C 80096E9C AE0C02C0 */ sw $t4, 0x2c0($s0)
/* B0E040 80096EA0 AC6D0000 */ sw $t5, ($v1)
/* B0E044 80096EA4 0C034B85 */ jal func_800D2E14
/* B0E044 80096EA4 0C034B85 */ jal SysUcode_GetUcode
/* B0E048 80096EA8 AFA30058 */ sw $v1, 0x58($sp)
/* B0E04C 80096EAC 8FA40058 */ lw $a0, 0x58($sp)
/* B0E050 80096EB0 8FA80048 */ lw $t0, 0x48($sp)

View File

@ -1,14 +0,0 @@
glabel EnDog_Destroy
/* 006CC 809FB69C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 006D0 809FB6A0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 006D4 809FB6A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 006D8 809FB6A8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 006DC 809FB6AC 0C0170EB */ jal ActorCollider_FreeCylinder
/* 006E0 809FB6B0 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
/* 006E4 809FB6B4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006E8 809FB6B8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006EC 809FB6BC 03E00008 */ jr $ra
/* 006F0 809FB6C0 00000000 */ nop

View File

@ -1,80 +0,0 @@
glabel EnDog_Draw
/* 00DE8 809FBDB8 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 00DEC 809FBDBC 3C0F80A0 */ lui $t7, %hi(D_809FC020) ## $t7 = 80A00000
/* 00DF0 809FBDC0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00DF4 809FBDC4 AFB00028 */ sw $s0, 0x0028($sp)
/* 00DF8 809FBDC8 AFA50064 */ sw $a1, 0x0064($sp)
/* 00DFC 809FBDCC 25EFC020 */ addiu $t7, $t7, %lo(D_809FC020) ## $t7 = 809FC020
/* 00E00 809FBDD0 8DF90000 */ lw $t9, 0x0000($t7) ## 809FC020
/* 00E04 809FBDD4 8DF80004 */ lw $t8, 0x0004($t7) ## 809FC024
/* 00E08 809FBDD8 27AE0054 */ addiu $t6, $sp, 0x0054 ## $t6 = FFFFFFF4
/* 00E0C 809FBDDC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 00E10 809FBDE0 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 00E14 809FBDE4 8FA90064 */ lw $t1, 0x0064($sp)
/* 00E18 809FBDE8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E1C 809FBDEC 3C0680A0 */ lui $a2, %hi(D_809FC030) ## $a2 = 80A00000
/* 00E20 809FBDF0 8D250000 */ lw $a1, 0x0000($t1) ## 00000000
/* 00E24 809FBDF4 24C6C030 */ addiu $a2, $a2, %lo(D_809FC030) ## $a2 = 809FC030
/* 00E28 809FBDF8 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE0
/* 00E2C 809FBDFC 240703CC */ addiu $a3, $zero, 0x03CC ## $a3 = 000003CC
/* 00E30 809FBE00 0C031AB1 */ jal func_800C6AC4
/* 00E34 809FBE04 AFA50050 */ sw $a1, 0x0050($sp)
/* 00E38 809FBE08 8FAA0064 */ lw $t2, 0x0064($sp)
/* 00E3C 809FBE0C 0C024F46 */ jal func_80093D18
/* 00E40 809FBE10 8D440000 */ lw $a0, 0x0000($t2) ## 00000000
/* 00E44 809FBE14 8FA80050 */ lw $t0, 0x0050($sp)
/* 00E48 809FBE18 3C0CE700 */ lui $t4, 0xE700 ## $t4 = E7000000
/* 00E4C 809FBE1C 3C0EFB00 */ lui $t6, 0xFB00 ## $t6 = FB000000
/* 00E50 809FBE20 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
/* 00E54 809FBE24 27A90054 */ addiu $t1, $sp, 0x0054 ## $t1 = FFFFFFF4
/* 00E58 809FBE28 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008
/* 00E5C 809FBE2C AD0B02C0 */ sw $t3, 0x02C0($t0) ## 000002C0
/* 00E60 809FBE30 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 00E64 809FBE34 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
/* 00E68 809FBE38 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
/* 00E6C 809FBE3C 246D0008 */ addiu $t5, $v1, 0x0008 ## $t5 = 00000008
/* 00E70 809FBE40 AD0D02C0 */ sw $t5, 0x02C0($t0) ## 000002C0
/* 00E74 809FBE44 AC6E0000 */ sw $t6, 0x0000($v1) ## 00000000
/* 00E78 809FBE48 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
/* 00E7C 809FBE4C 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000
/* 00E80 809FBE50 0018C880 */ sll $t9, $t8, 2
/* 00E84 809FBE54 03291021 */ addu $v0, $t9, $t1
/* 00E88 809FBE58 904D0000 */ lbu $t5, 0x0000($v0) ## 00000000
/* 00E8C 809FBE5C 904B0003 */ lbu $t3, 0x0003($v0) ## 00000003
/* 00E90 809FBE60 90590001 */ lbu $t9, 0x0001($v0) ## 00000001
/* 00E94 809FBE64 000D7600 */ sll $t6, $t5, 24
/* 00E98 809FBE68 904D0002 */ lbu $t5, 0x0002($v0) ## 00000002
/* 00E9C 809FBE6C 016E7825 */ or $t7, $t3, $t6 ## $t7 = FB000008
/* 00EA0 809FBE70 00194C00 */ sll $t1, $t9, 16
/* 00EA4 809FBE74 01E95025 */ or $t2, $t7, $t1 ## $t2 = FFFFFFFC
/* 00EA8 809FBE78 000D5A00 */ sll $t3, $t5, 8
/* 00EAC 809FBE7C 014B7025 */ or $t6, $t2, $t3 ## $t6 = FFFFFFFC
/* 00EB0 809FBE80 AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 00EB4 809FBE84 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
/* 00EB8 809FBE88 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
/* 00EBC 809FBE8C 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
/* 00EC0 809FBE90 3C1980A0 */ lui $t9, %hi(func_809FBDA4) ## $t9 = 80A00000
/* 00EC4 809FBE94 3C1880A0 */ lui $t8, %hi(func_809FBD8C) ## $t8 = 80A00000
/* 00EC8 809FBE98 2718BD8C */ addiu $t8, $t8, %lo(func_809FBD8C) ## $t8 = 809FBD8C
/* 00ECC 809FBE9C 2739BDA4 */ addiu $t9, $t9, %lo(func_809FBDA4) ## $t9 = 809FBDA4
/* 00ED0 809FBEA0 AFB90014 */ sw $t9, 0x0014($sp)
/* 00ED4 809FBEA4 AFB80010 */ sw $t8, 0x0010($sp)
/* 00ED8 809FBEA8 AFB00018 */ sw $s0, 0x0018($sp)
/* 00EDC 809FBEAC 0C0286B2 */ jal func_800A1AC8
/* 00EE0 809FBEB0 8FA40064 */ lw $a0, 0x0064($sp)
/* 00EE4 809FBEB4 8FAF0064 */ lw $t7, 0x0064($sp)
/* 00EE8 809FBEB8 3C0680A0 */ lui $a2, %hi(D_809FC040) ## $a2 = 80A00000
/* 00EEC 809FBEBC 24C6C040 */ addiu $a2, $a2, %lo(D_809FC040) ## $a2 = 809FC040
/* 00EF0 809FBEC0 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE0
/* 00EF4 809FBEC4 240703E2 */ addiu $a3, $zero, 0x03E2 ## $a3 = 000003E2
/* 00EF8 809FBEC8 0C031AD5 */ jal func_800C6B54
/* 00EFC 809FBECC 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
/* 00F00 809FBED0 8FBF002C */ lw $ra, 0x002C($sp)
/* 00F04 809FBED4 8FB00028 */ lw $s0, 0x0028($sp)
/* 00F08 809FBED8 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 00F0C 809FBEDC 03E00008 */ jr $ra
/* 00F10 809FBEE0 00000000 */ nop
/* 00F14 809FBEE4 00000000 */ nop
/* 00F18 809FBEE8 00000000 */ nop
/* 00F1C 809FBEEC 00000000 */ nop

View File

@ -1,169 +0,0 @@
glabel EnDog_Init
/* 0047C 809FB44C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00480 809FB450 AFB00028 */ sw $s0, 0x0028($sp)
/* 00484 809FB454 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00488 809FB458 AFBF002C */ sw $ra, 0x002C($sp)
/* 0048C 809FB45C AFA5004C */ sw $a1, 0x004C($sp)
/* 00490 809FB460 3C068003 */ lui $a2, 0x8003 ## $a2 = 80030000
/* 00494 809FB464 24C6B5EC */ addiu $a2, $a2, 0xB5EC ## $a2 = 8002B5EC
/* 00498 809FB468 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0049C 809FB46C 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
/* 004A0 809FB470 0C00AC78 */ jal ActorShape_Init
/* 004A4 809FB474 3C0741C0 */ lui $a3, 0x41C0 ## $a3 = 41C00000
/* 004A8 809FB478 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 004AC 809FB47C 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
/* 004B0 809FB480 260E01F4 */ addiu $t6, $s0, 0x01F4 ## $t6 = 000001F4
/* 004B4 809FB484 260F0242 */ addiu $t7, $s0, 0x0242 ## $t7 = 00000242
/* 004B8 809FB488 2418000D */ addiu $t8, $zero, 0x000D ## $t8 = 0000000D
/* 004BC 809FB48C AFB80018 */ sw $t8, 0x0018($sp)
/* 004C0 809FB490 AFAF0014 */ sw $t7, 0x0014($sp)
/* 004C4 809FB494 AFAE0010 */ sw $t6, 0x0010($sp)
/* 004C8 809FB498 24C67290 */ addiu $a2, $a2, 0x7290 ## $a2 = 06007290
/* 004CC 809FB49C AFA50034 */ sw $a1, 0x0034($sp)
/* 004D0 809FB4A0 8FA4004C */ lw $a0, 0x004C($sp)
/* 004D4 809FB4A4 0C0291BE */ jal func_800A46F8
/* 004D8 809FB4A8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 004DC 809FB4AC 3C0580A0 */ lui $a1, %hi(D_809FBF48) ## $a1 = 80A00000
/* 004E0 809FB4B0 24A5BF48 */ addiu $a1, $a1, %lo(D_809FBF48) ## $a1 = 809FBF48
/* 004E4 809FB4B4 8FA40034 */ lw $a0, 0x0034($sp)
/* 004E8 809FB4B8 0C00D3B0 */ jal func_80034EC0
/* 004EC 809FB4BC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 004F0 809FB4C0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 004F4 809FB4C4 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 004F8 809FB4C8 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
/* 004FC 809FB4CC 30598000 */ andi $t9, $v0, 0x8000 ## $t9 = 00000000
/* 00500 809FB4D0 17200008 */ bne $t9, $zero, .L809FB4F4
/* 00504 809FB4D4 3048F0FF */ andi $t0, $v0, 0xF0FF ## $t0 = 00000000
/* 00508 809FB4D8 30490F00 */ andi $t1, $v0, 0x0F00 ## $t1 = 00000000
/* 0050C 809FB4DC 00095203 */ sra $t2, $t1, 8
/* 00510 809FB4E0 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
/* 00514 809FB4E4 000B6200 */ sll $t4, $t3, 8
/* 00518 809FB4E8 010C6825 */ or $t5, $t0, $t4 ## $t5 = 00000000
/* 0051C 809FB4EC A60D001C */ sh $t5, 0x001C($s0) ## 0000001C
/* 00520 809FB4F0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L809FB4F4:
/* 00524 809FB4F4 8463FA24 */ lh $v1, -0x05DC($v1) ## 8015FA24
/* 00528 809FB4F8 304E0F00 */ andi $t6, $v0, 0x0F00 ## $t6 = 00000000
/* 0052C 809FB4FC 000E7A03 */ sra $t7, $t6, 8
/* 00530 809FB500 30630F00 */ andi $v1, $v1, 0x0F00 ## $v1 = 00000000
/* 00534 809FB504 00031A03 */ sra $v1, $v1, 8
/* 00538 809FB508 00031C00 */ sll $v1, $v1, 16
/* 0053C 809FB50C 00031C03 */ sra $v1, $v1, 16
/* 00540 809FB510 146F0007 */ bne $v1, $t7, .L809FB530
/* 00544 809FB514 30588000 */ andi $t8, $v0, 0x8000 ## $t8 = 00000000
/* 00548 809FB518 57000006 */ bnel $t8, $zero, .L809FB534
/* 0054C 809FB51C 8FA4004C */ lw $a0, 0x004C($sp)
/* 00550 809FB520 0C00B55C */ jal Actor_Kill
/* 00554 809FB524 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00558 809FB528 10000058 */ beq $zero, $zero, .L809FB68C
/* 0055C 809FB52C 8FBF002C */ lw $ra, 0x002C($sp)
.L809FB530:
/* 00560 809FB530 8FA4004C */ lw $a0, 0x004C($sp)
.L809FB534:
/* 00564 809FB534 0C0170D9 */ jal ActorCollider_AllocCylinder
/* 00568 809FB538 AFA50034 */ sw $a1, 0x0034($sp)
/* 0056C 809FB53C 3C0780A0 */ lui $a3, %hi(D_809FBF10) ## $a3 = 80A00000
/* 00570 809FB540 8FA50034 */ lw $a1, 0x0034($sp)
/* 00574 809FB544 24E7BF10 */ addiu $a3, $a3, %lo(D_809FBF10) ## $a3 = 809FBF10
/* 00578 809FB548 8FA4004C */ lw $a0, 0x004C($sp)
/* 0057C 809FB54C 0C01712B */ jal ActorCollider_InitCylinder
/* 00580 809FB550 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00584 809FB554 3C0680A0 */ lui $a2, %hi(D_809FBF3C) ## $a2 = 80A00000
/* 00588 809FB558 24C6BF3C */ addiu $a2, $a2, %lo(D_809FBF3C) ## $a2 = 809FBF3C
/* 0058C 809FB55C 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 00590 809FB560 0C0187BF */ jal func_80061EFC
/* 00594 809FB564 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00598 809FB568 3C053BF5 */ lui $a1, 0x3BF5 ## $a1 = 3BF50000
/* 0059C 809FB56C 34A5C28F */ ori $a1, $a1, 0xC28F ## $a1 = 3BF5C28F
/* 005A0 809FB570 0C00B58B */ jal Actor_SetScale
/* 005A4 809FB574 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005A8 809FB578 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 005AC 809FB57C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 005B0 809FB580 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
/* 005B4 809FB584 30A500F0 */ andi $a1, $a1, 0x00F0 ## $a1 = 00000000
/* 005B8 809FB588 00052903 */ sra $a1, $a1, 4
/* 005BC 809FB58C A60001E6 */ sh $zero, 0x01E6($s0) ## 000001E6
/* 005C0 809FB590 00052C00 */ sll $a1, $a1, 16
/* 005C4 809FB594 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 005C8 809FB598 8FA4004C */ lw $a0, 0x004C($sp)
/* 005CC 809FB59C 00052C03 */ sra $a1, $a1, 16
/* 005D0 809FB5A0 0C023938 */ jal func_8008E4E0
/* 005D4 809FB5A4 2406000F */ addiu $a2, $zero, 0x000F ## $a2 = 0000000F
/* 005D8 809FB5A8 AE0201E0 */ sw $v0, 0x01E0($s0) ## 000001E0
/* 005DC 809FB5AC 8FB9004C */ lw $t9, 0x004C($sp)
/* 005E0 809FB5B0 24010021 */ addiu $at, $zero, 0x0021 ## $at = 00000021
/* 005E4 809FB5B4 3C098016 */ lui $t1, 0x8016 ## $t1 = 80160000
/* 005E8 809FB5B8 872300A4 */ lh $v1, 0x00A4($t9) ## 000000A4
/* 005EC 809FB5BC 10610006 */ beq $v1, $at, .L809FB5D8
/* 005F0 809FB5C0 24010035 */ addiu $at, $zero, 0x0035 ## $at = 00000035
/* 005F4 809FB5C4 50610013 */ beql $v1, $at, .L809FB614
/* 005F8 809FB5C8 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 005FC 809FB5CC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00600 809FB5D0 10000022 */ beq $zero, $zero, .L809FB65C
/* 00604 809FB5D4 30428000 */ andi $v0, $v0, 0x8000 ## $v0 = 00000000
.L809FB5D8:
/* 00608 809FB5D8 9129FA7C */ lbu $t1, -0x0584($t1) ## 8015FA7C
/* 0060C 809FB5DC 5520000A */ bnel $t1, $zero, .L809FB608
/* 00610 809FB5E0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00614 809FB5E4 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
/* 00618 809FB5E8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0061C 809FB5EC 314B0F00 */ andi $t3, $t2, 0x0F00 ## $t3 = 00000000
/* 00620 809FB5F0 000B4203 */ sra $t0, $t3, 8
/* 00624 809FB5F4 55010004 */ bnel $t0, $at, .L809FB608
/* 00628 809FB5F8 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 0062C 809FB5FC 0C00B55C */ jal Actor_Kill
/* 00630 809FB600 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00634 809FB604 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L809FB608:
/* 00638 809FB608 10000014 */ beq $zero, $zero, .L809FB65C
/* 0063C 809FB60C 30428000 */ andi $v0, $v0, 0x8000 ## $v0 = 00000000
/* 00640 809FB610 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L809FB614:
/* 00644 809FB614 3C0C8016 */ lui $t4, 0x8016 ## $t4 = 80160000
/* 00648 809FB618 30428000 */ andi $v0, $v0, 0x8000 ## $v0 = 00000000
/* 0064C 809FB61C 1440000F */ bne $v0, $zero, .L809FB65C
/* 00650 809FB620 00000000 */ nop
/* 00654 809FB624 918CFA7C */ lbu $t4, -0x0584($t4) ## 8015FA7C
/* 00658 809FB628 3C0E80A0 */ lui $t6, %hi(func_809FBC6C) ## $t6 = 80A00000
/* 0065C 809FB62C 240D0003 */ addiu $t5, $zero, 0x0003 ## $t5 = 00000003
/* 00660 809FB630 15800006 */ bne $t4, $zero, .L809FB64C
/* 00664 809FB634 25CEBC6C */ addiu $t6, $t6, %lo(func_809FBC6C) ## $t6 = 809FBC6C
/* 00668 809FB638 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 0066C 809FB63C A60D01F0 */ sh $t5, 0x01F0($s0) ## 000001F0
/* 00670 809FB640 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
/* 00674 809FB644 10000010 */ beq $zero, $zero, .L809FB688
/* 00678 809FB648 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
.L809FB64C:
/* 0067C 809FB64C 0C00B55C */ jal Actor_Kill
/* 00680 809FB650 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00684 809FB654 1000000D */ beq $zero, $zero, .L809FB68C
/* 00688 809FB658 8FBF002C */ lw $ra, 0x002C($sp)
.L809FB65C:
/* 0068C 809FB65C 10400006 */ beq $v0, $zero, .L809FB678
/* 00690 809FB660 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 00694 809FB664 3C0F80A0 */ lui $t7, %hi(func_809FB940) ## $t7 = 80A00000
/* 00698 809FB668 25EFB940 */ addiu $t7, $t7, %lo(func_809FB940) ## $t7 = 809FB940
/* 0069C 809FB66C A60001F0 */ sh $zero, 0x01F0($s0) ## 000001F0
/* 006A0 809FB670 10000005 */ beq $zero, $zero, .L809FB688
/* 006A4 809FB674 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
.L809FB678:
/* 006A8 809FB678 3C1980A0 */ lui $t9, %hi(func_809FB858) ## $t9 = 80A00000
/* 006AC 809FB67C 2739B858 */ addiu $t9, $t9, %lo(func_809FB858) ## $t9 = 809FB858
/* 006B0 809FB680 A61801F0 */ sh $t8, 0x01F0($s0) ## 000001F0
/* 006B4 809FB684 AE190190 */ sw $t9, 0x0190($s0) ## 00000190
.L809FB688:
/* 006B8 809FB688 8FBF002C */ lw $ra, 0x002C($sp)
.L809FB68C:
/* 006BC 809FB68C 8FB00028 */ lw $s0, 0x0028($sp)
/* 006C0 809FB690 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 006C4 809FB694 03E00008 */ jr $ra
/* 006C8 809FB698 00000000 */ nop

View File

@ -1,57 +0,0 @@
glabel EnDog_Update
/* 00CF4 809FBCC4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00CF8 809FBCC8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00CFC 809FBCCC AFB00020 */ sw $s0, 0x0020($sp)
/* 00D00 809FBCD0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D04 809FBCD4 0C27EC42 */ jal func_809FB108
/* 00D08 809FBCD8 AFA5003C */ sw $a1, 0x003C($sp)
/* 00D0C 809FBCDC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00D10 809FBCE0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00D14 809FBCE4 860F01D6 */ lh $t7, 0x01D6($s0) ## 000001D6
/* 00D18 809FBCE8 860E01D4 */ lh $t6, 0x01D4($s0) ## 000001D4
/* 00D1C 809FBCEC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00D20 809FBCF0 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00
/* 00D24 809FBCF4 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
/* 00D28 809FBCF8 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 00D2C 809FBCFC 46803220 */ cvt.s.w $f8, $f6
/* 00D30 809FBD00 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00D34 809FBD04 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005
/* 00D38 809FBD08 AFB80014 */ sw $t8, 0x0014($sp)
/* 00D3C 809FBD0C 8FA4003C */ lw $a0, 0x003C($sp)
/* 00D40 809FBD10 46802120 */ cvt.s.w $f4, $f4
/* 00D44 809FBD14 460A4402 */ mul.s $f16, $f8, $f10
/* 00D48 809FBD18 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00D4C 809FBD1C E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00D50 809FBD20 44062000 */ mfc1 $a2, $f4
/* 00D54 809FBD24 44078000 */ mfc1 $a3, $f16
/* 00D58 809FBD28 0C00B92D */ jal func_8002E4B4
/* 00D5C 809FBD2C 00000000 */ nop
/* 00D60 809FBD30 0C00B638 */ jal Actor_MoveForward
/* 00D64 809FBD34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D68 809FBD38 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 00D6C 809FBD3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D70 809FBD40 8FA5003C */ lw $a1, 0x003C($sp)
/* 00D74 809FBD44 0320F809 */ jalr $ra, $t9
/* 00D78 809FBD48 00000000 */ nop
/* 00D7C 809FBD4C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
/* 00D80 809FBD50 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
/* 00D84 809FBD54 AFA6002C */ sw $a2, 0x002C($sp)
/* 00D88 809FBD58 0C0189B7 */ jal ActorCollider_Cylinder_Update
/* 00D8C 809FBD5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D90 809FBD60 8FA4003C */ lw $a0, 0x003C($sp)
/* 00D94 809FBD64 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00D98 809FBD68 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00D9C 809FBD6C 8FA6002C */ lw $a2, 0x002C($sp)
/* 00DA0 809FBD70 0C017713 */ jal Actor_CollisionCheck_SetOT
## CollisionCheck_setOT
/* 00DA4 809FBD74 00812821 */ addu $a1, $a0, $at
/* 00DA8 809FBD78 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00DAC 809FBD7C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00DB0 809FBD80 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00DB4 809FBD84 03E00008 */ jr $ra
/* 00DB8 809FBD88 00000000 */ nop

View File

@ -1,33 +0,0 @@
glabel func_809FAFD0
/* 00000 809FAFD0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00004 809FAFD4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00008 809FAFD8 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
/* 0000C 809FAFDC 3C0E0600 */ lui $t6, 0x0600 ## $t6 = 06000000
/* 00010 809FAFE0 25CE1368 */ addiu $t6, $t6, 0x1368 ## $t6 = 06001368
/* 00014 809FAFE4 15CF0010 */ bne $t6, $t7, .L809FB028
/* 00018 809FAFE8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0001C 809FAFEC C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 00020 809FAFF0 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 00024 809FAFF4 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 00028 809FAFF8 46002032 */ c.eq.s $f4, $f0
/* 0002C 809FAFFC 00000000 */ nop
/* 00030 809FB000 45010007 */ bc1t .L809FB020
/* 00034 809FB004 00000000 */ nop
/* 00038 809FB008 44813000 */ mtc1 $at, $f6 ## $f6 = 7.00
/* 0003C 809FB00C 00000000 */ nop
/* 00040 809FB010 46003032 */ c.eq.s $f6, $f0
/* 00044 809FB014 00000000 */ nop
/* 00048 809FB018 45020004 */ bc1fl .L809FB02C
/* 0004C 809FB01C 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FB020:
/* 00050 809FB020 0C00BE0A */ jal Audio_PlayActorSound2
/* 00054 809FB024 240528EF */ addiu $a1, $zero, 0x28EF ## $a1 = 000028EF
.L809FB028:
/* 00058 809FB028 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FB02C:
/* 0005C 809FB02C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00060 809FB030 03E00008 */ jr $ra
/* 00064 809FB034 00000000 */ nop

View File

@ -1,33 +0,0 @@
glabel func_809FB038
/* 00068 809FB038 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0006C 809FB03C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00070 809FB040 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
/* 00074 809FB044 3C0E0600 */ lui $t6, 0x0600 ## $t6 = 06000000
/* 00078 809FB048 25CE0D78 */ addiu $t6, $t6, 0x0D78 ## $t6 = 06000D78
/* 0007C 809FB04C 15CF0010 */ bne $t6, $t7, .L809FB090
/* 00080 809FB050 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00084 809FB054 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 00088 809FB058 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
/* 0008C 809FB05C 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00090 809FB060 46002032 */ c.eq.s $f4, $f0
/* 00094 809FB064 00000000 */ nop
/* 00098 809FB068 45010007 */ bc1t .L809FB088
/* 0009C 809FB06C 00000000 */ nop
/* 000A0 809FB070 44813000 */ mtc1 $at, $f6 ## $f6 = 4.00
/* 000A4 809FB074 00000000 */ nop
/* 000A8 809FB078 46003032 */ c.eq.s $f6, $f0
/* 000AC 809FB07C 00000000 */ nop
/* 000B0 809FB080 45020004 */ bc1fl .L809FB094
/* 000B4 809FB084 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FB088:
/* 000B8 809FB088 0C00BE0A */ jal Audio_PlayActorSound2
/* 000BC 809FB08C 240528EF */ addiu $a1, $zero, 0x28EF ## $a1 = 000028EF
.L809FB090:
/* 000C0 809FB090 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FB094:
/* 000C4 809FB094 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 000C8 809FB098 03E00008 */ jr $ra
/* 000CC 809FB09C 00000000 */ nop

View File

@ -1,33 +0,0 @@
glabel func_809FB0A0
/* 000D0 809FB0A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 000D4 809FB0A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 000D8 809FB0A8 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
/* 000DC 809FB0AC 3C0E0600 */ lui $t6, 0x0600 ## $t6 = 06000000
/* 000E0 809FB0B0 25CE0278 */ addiu $t6, $t6, 0x0278 ## $t6 = 06000278
/* 000E4 809FB0B4 15CF0010 */ bne $t6, $t7, .L809FB0F8
/* 000E8 809FB0B8 3C014150 */ lui $at, 0x4150 ## $at = 41500000
/* 000EC 809FB0BC C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 000F0 809FB0C0 44812000 */ mtc1 $at, $f4 ## $f4 = 13.00
/* 000F4 809FB0C4 3C014198 */ lui $at, 0x4198 ## $at = 41980000
/* 000F8 809FB0C8 46002032 */ c.eq.s $f4, $f0
/* 000FC 809FB0CC 00000000 */ nop
/* 00100 809FB0D0 45010007 */ bc1t .L809FB0F0
/* 00104 809FB0D4 00000000 */ nop
/* 00108 809FB0D8 44813000 */ mtc1 $at, $f6 ## $f6 = 19.00
/* 0010C 809FB0DC 00000000 */ nop
/* 00110 809FB0E0 46003032 */ c.eq.s $f6, $f0
/* 00114 809FB0E4 00000000 */ nop
/* 00118 809FB0E8 45020004 */ bc1fl .L809FB0FC
/* 0011C 809FB0EC 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FB0F0:
/* 00120 809FB0F0 0C00BE0A */ jal Audio_PlayActorSound2
/* 00124 809FB0F4 240528D8 */ addiu $a1, $zero, 0x28D8 ## $a1 = 000028D8
.L809FB0F8:
/* 00128 809FB0F8 8FBF0014 */ lw $ra, 0x0014($sp)
.L809FB0FC:
/* 0012C 809FB0FC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00130 809FB100 03E00008 */ jr $ra
/* 00134 809FB104 00000000 */ nop

View File

@ -1,122 +0,0 @@
glabel func_809FB108
/* 00138 809FB108 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0013C 809FB10C AFBF001C */ sw $ra, 0x001C($sp)
/* 00140 809FB110 AFB00018 */ sw $s0, 0x0018($sp)
/* 00144 809FB114 848301F2 */ lh $v1, 0x01F2($a0) ## 000001F2
/* 00148 809FB118 848201F0 */ lh $v0, 0x01F0($a0) ## 000001F0
/* 0014C 809FB11C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00150 809FB120 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00154 809FB124 50430029 */ beql $v0, $v1, .L809FB1CC
/* 00158 809FB128 2C610006 */ sltiu $at, $v1, 0x0006
/* 0015C 809FB12C 14410003 */ bne $v0, $at, .L809FB13C
/* 00160 809FB130 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
/* 00164 809FB134 A48E01F0 */ sh $t6, 0x01F0($a0) ## 000001F0
/* 00168 809FB138 848201F0 */ lh $v0, 0x01F0($a0) ## 000001F0
.L809FB13C:
/* 0016C 809FB13C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00170 809FB140 14410003 */ bne $v0, $at, .L809FB150
/* 00174 809FB144 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
/* 00178 809FB148 A60F01F0 */ sh $t7, 0x01F0($s0) ## 000001F0
/* 0017C 809FB14C 860201F0 */ lh $v0, 0x01F0($s0) ## 000001F0
.L809FB150:
/* 00180 809FB150 3058FFFF */ andi $t8, $v0, 0xFFFF ## $t8 = 00000000
/* 00184 809FB154 2F010006 */ sltiu $at, $t8, 0x0006
/* 00188 809FB158 10200015 */ beq $at, $zero, .L809FB1B0
/* 0018C 809FB15C A60201F2 */ sh $v0, 0x01F2($s0) ## 000001F2
/* 00190 809FB160 0018C080 */ sll $t8, $t8, 2
/* 00194 809FB164 3C0180A0 */ lui $at, %hi(jtbl_809FC050) ## $at = 80A00000
/* 00198 809FB168 00380821 */ addu $at, $at, $t8
/* 0019C 809FB16C 8C38C050 */ lw $t8, %lo(jtbl_809FC050)($at)
/* 001A0 809FB170 03000008 */ jr $t8
/* 001A4 809FB174 00000000 */ nop
glabel L809FB178
/* 001A8 809FB178 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 001AC 809FB17C 1000000C */ beq $zero, $zero, .L809FB1B0
/* 001B0 809FB180 AFB90024 */ sw $t9, 0x0024($sp)
glabel L809FB184
/* 001B4 809FB184 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 001B8 809FB188 10000009 */ beq $zero, $zero, .L809FB1B0
/* 001BC 809FB18C AFA80024 */ sw $t0, 0x0024($sp)
glabel L809FB190
/* 001C0 809FB190 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003
/* 001C4 809FB194 10000006 */ beq $zero, $zero, .L809FB1B0
/* 001C8 809FB198 AFA90024 */ sw $t1, 0x0024($sp)
glabel L809FB19C
/* 001CC 809FB19C 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004
/* 001D0 809FB1A0 10000003 */ beq $zero, $zero, .L809FB1B0
/* 001D4 809FB1A4 AFAA0024 */ sw $t2, 0x0024($sp)
glabel L809FB1A8
/* 001D8 809FB1A8 240B0006 */ addiu $t3, $zero, 0x0006 ## $t3 = 00000006
/* 001DC 809FB1AC AFAB0024 */ sw $t3, 0x0024($sp)
glabel L809FB1B0
.L809FB1B0:
/* 001E0 809FB1B0 3C0580A0 */ lui $a1, %hi(D_809FBF48) ## $a1 = 80A00000
/* 001E4 809FB1B4 24A5BF48 */ addiu $a1, $a1, %lo(D_809FBF48) ## $a1 = 809FBF48
/* 001E8 809FB1B8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 001EC 809FB1BC 0C00D3B0 */ jal func_80034EC0
/* 001F0 809FB1C0 8FA60024 */ lw $a2, 0x0024($sp)
/* 001F4 809FB1C4 860301F2 */ lh $v1, 0x01F2($s0) ## 000001F2
/* 001F8 809FB1C8 2C610006 */ sltiu $at, $v1, 0x0006
.L809FB1CC:
/* 001FC 809FB1CC 1020002E */ beq $at, $zero, .L809FB288
/* 00200 809FB1D0 00036080 */ sll $t4, $v1, 2
/* 00204 809FB1D4 3C0180A0 */ lui $at, %hi(jtbl_809FC068) ## $at = 80A00000
/* 00208 809FB1D8 002C0821 */ addu $at, $at, $t4
/* 0020C 809FB1DC 8C2CC068 */ lw $t4, %lo(jtbl_809FC068)($at)
/* 00210 809FB1E0 01800008 */ jr $t4
/* 00214 809FB1E4 00000000 */ nop
glabel L809FB1E8
/* 00218 809FB1E8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0021C 809FB1EC 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
/* 00220 809FB1F0 0C0295B2 */ jal func_800A56C8
/* 00224 809FB1F4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00228 809FB1F8 10400023 */ beq $v0, $zero, .L809FB288
/* 0022C 809FB1FC 8FA40020 */ lw $a0, 0x0020($sp)
/* 00230 809FB200 3C0580A0 */ lui $a1, %hi(D_809FBF48) ## $a1 = 80A00000
/* 00234 809FB204 24A5BF48 */ addiu $a1, $a1, %lo(D_809FBF48) ## $a1 = 809FBF48
/* 00238 809FB208 0C00D3B0 */ jal func_80034EC0
/* 0023C 809FB20C 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 00240 809FB210 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 00244 809FB214 A60D01F0 */ sh $t5, 0x01F0($s0) ## 000001F0
/* 00248 809FB218 860E01F0 */ lh $t6, 0x01F0($s0) ## 000001F0
/* 0024C 809FB21C 1000001A */ beq $zero, $zero, .L809FB288
/* 00250 809FB220 A60E01F2 */ sh $t6, 0x01F2($s0) ## 000001F2
glabel L809FB224
/* 00254 809FB224 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00258 809FB228 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
/* 0025C 809FB22C 0C0295B2 */ jal func_800A56C8
/* 00260 809FB230 AFA40020 */ sw $a0, 0x0020($sp)
/* 00264 809FB234 10400014 */ beq $v0, $zero, .L809FB288
/* 00268 809FB238 8FA40020 */ lw $a0, 0x0020($sp)
/* 0026C 809FB23C 3C0580A0 */ lui $a1, %hi(D_809FBF48) ## $a1 = 80A00000
/* 00270 809FB240 24A5BF48 */ addiu $a1, $a1, %lo(D_809FBF48) ## $a1 = 809FBF48
/* 00274 809FB244 0C00D3B0 */ jal func_80034EC0
/* 00278 809FB248 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
/* 0027C 809FB24C 240F0006 */ addiu $t7, $zero, 0x0006 ## $t7 = 00000006
/* 00280 809FB250 A60F01F0 */ sh $t7, 0x01F0($s0) ## 000001F0
/* 00284 809FB254 861801F0 */ lh $t8, 0x01F0($s0) ## 000001F0
/* 00288 809FB258 1000000B */ beq $zero, $zero, .L809FB288
/* 0028C 809FB25C A61801F2 */ sh $t8, 0x01F2($s0) ## 000001F2
glabel L809FB260
/* 00290 809FB260 0C27EBF4 */ jal func_809FAFD0
/* 00294 809FB264 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00298 809FB268 10000008 */ beq $zero, $zero, .L809FB28C
/* 0029C 809FB26C 8FBF001C */ lw $ra, 0x001C($sp)
glabel L809FB270
/* 002A0 809FB270 0C27EC0E */ jal func_809FB038
/* 002A4 809FB274 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002A8 809FB278 10000004 */ beq $zero, $zero, .L809FB28C
/* 002AC 809FB27C 8FBF001C */ lw $ra, 0x001C($sp)
glabel L809FB280
/* 002B0 809FB280 0C27EC28 */ jal func_809FB0A0
/* 002B4 809FB284 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
glabel L809FB288
.L809FB288:
/* 002B8 809FB288 8FBF001C */ lw $ra, 0x001C($sp)
.L809FB28C:
/* 002BC 809FB28C 8FB00018 */ lw $s0, 0x0018($sp)
/* 002C0 809FB290 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 002C4 809FB294 03E00008 */ jr $ra
/* 002C8 809FB298 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,42 +0,0 @@
glabel func_809FB29C
/* 002CC 809FB29C 908301A5 */ lbu $v1, 0x01A5($a0) ## 000001A5
/* 002D0 809FB2A0 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
/* 002D4 809FB2A4 306E0002 */ andi $t6, $v1, 0x0002 ## $t6 = 00000000
/* 002D8 809FB2A8 11C00003 */ beq $t6, $zero, .L809FB2B8
/* 002DC 809FB2AC 306FFFFD */ andi $t7, $v1, 0xFFFD ## $t7 = 00000000
/* 002E0 809FB2B0 03E00008 */ jr $ra
/* 002E4 809FB2B4 A08F01A5 */ sb $t7, 0x01A5($a0) ## 000001A5
.L809FB2B8:
/* 002E8 809FB2B8 84B800A4 */ lh $t8, 0x00A4($a1) ## 000000A4
/* 002EC 809FB2BC 24010020 */ addiu $at, $zero, 0x0020 ## $at = 00000020
/* 002F0 809FB2C0 57010004 */ bnel $t8, $at, .L809FB2D4
/* 002F4 809FB2C4 908201A7 */ lbu $v0, 0x01A7($a0) ## 000001A7
/* 002F8 809FB2C8 03E00008 */ jr $ra
/* 002FC 809FB2CC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L809FB2D0:
/* 00300 809FB2D0 908201A7 */ lbu $v0, 0x01A7($a0) ## 000001A7
.L809FB2D4:
/* 00304 809FB2D4 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00308 809FB2D8 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 0030C 809FB2DC 30590001 */ andi $t9, $v0, 0x0001 ## $t9 = 00000000
/* 00310 809FB2E0 1320000C */ beq $t9, $zero, .L809FB314
/* 00314 809FB2E4 3048FFFE */ andi $t0, $v0, 0xFFFE ## $t0 = 00000000
/* 00318 809FB2E8 A08801A7 */ sb $t0, 0x01A7($a0) ## 000001A7
/* 0031C 809FB2EC 846913C4 */ lh $t1, 0x13C4($v1) ## 8015FA24
/* 00320 809FB2F0 51200004 */ beql $t1, $zero, .L809FB304
/* 00324 809FB2F4 848A001C */ lh $t2, 0x001C($a0) ## 0000001C
/* 00328 809FB2F8 03E00008 */ jr $ra
/* 0032C 809FB2FC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L809FB300:
/* 00330 809FB300 848A001C */ lh $t2, 0x001C($a0) ## 0000001C
.L809FB304:
/* 00334 809FB304 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00338 809FB308 314B7FFF */ andi $t3, $t2, 0x7FFF ## $t3 = 00000000
/* 0033C 809FB30C 03E00008 */ jr $ra
/* 00340 809FB310 A46B13C4 */ sh $t3, 0x13C4($v1) ## 8015FA24
.L809FB314:
/* 00344 809FB314 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00348 809FB318 03E00008 */ jr $ra
/* 0034C 809FB31C 00000000 */ nop

View File

@ -1,44 +0,0 @@
glabel func_809FB320
/* 00350 809FB320 AFA50004 */ sw $a1, 0x0004($sp)
/* 00354 809FB324 8C8E01E0 */ lw $t6, 0x01E0($a0) ## 000001E0
/* 00358 809FB328 55C00004 */ bnel $t6, $zero, .L809FB33C
/* 0035C 809FB32C 908201E4 */ lbu $v0, 0x01E4($a0) ## 000001E4
/* 00360 809FB330 03E00008 */ jr $ra
/* 00364 809FB334 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L809FB338:
/* 00368 809FB338 908201E4 */ lbu $v0, 0x01E4($a0) ## 000001E4
.L809FB33C:
/* 0036C 809FB33C 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00370 809FB340 10400003 */ beq $v0, $zero, .L809FB350
/* 00374 809FB344 00000000 */ nop
/* 00378 809FB348 10000001 */ beq $zero, $zero, .L809FB350
/* 0037C 809FB34C 2403FFFF */ addiu $v1, $zero, 0xFFFF ## $v1 = FFFFFFFF
.L809FB350:
/* 00380 809FB350 848F01E6 */ lh $t7, 0x01E6($a0) ## 000001E6
/* 00384 809FB354 01E3C021 */ addu $t8, $t7, $v1
/* 00388 809FB358 10400009 */ beq $v0, $zero, .L809FB380
/* 0038C 809FB35C A49801E6 */ sh $t8, 0x01E6($a0) ## 000001E6
/* 00390 809FB360 849901E6 */ lh $t9, 0x01E6($a0) ## 000001E6
/* 00394 809FB364 0723000F */ bgezl $t9, .L809FB3A4
/* 00398 809FB368 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 0039C 809FB36C 8C8801E0 */ lw $t0, 0x01E0($a0) ## 000001E0
/* 003A0 809FB370 91090000 */ lbu $t1, 0x0000($t0) ## 00000000
/* 003A4 809FB374 252AFFFF */ addiu $t2, $t1, 0xFFFF ## $t2 = FFFFFFFF
/* 003A8 809FB378 10000009 */ beq $zero, $zero, .L809FB3A0
/* 003AC 809FB37C A48A01E6 */ sh $t2, 0x01E6($a0) ## 000001E6
.L809FB380:
/* 003B0 809FB380 8C8C01E0 */ lw $t4, 0x01E0($a0) ## 000001E0
/* 003B4 809FB384 848B01E6 */ lh $t3, 0x01E6($a0) ## 000001E6
/* 003B8 809FB388 918D0000 */ lbu $t5, 0x0000($t4) ## 00000000
/* 003BC 809FB38C 25AEFFFF */ addiu $t6, $t5, 0xFFFF ## $t6 = FFFFFFFF
/* 003C0 809FB390 01CB082A */ slt $at, $t6, $t3
/* 003C4 809FB394 50200003 */ beql $at, $zero, .L809FB3A4
/* 003C8 809FB398 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 003CC 809FB39C A48001E6 */ sh $zero, 0x01E6($a0) ## 000001E6
.L809FB3A0:
/* 003D0 809FB3A0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L809FB3A4:
/* 003D4 809FB3A4 03E00008 */ jr $ra
/* 003D8 809FB3A8 00000000 */ nop

View File

@ -1,46 +0,0 @@
glabel func_809FB3AC
/* 003DC 809FB3AC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 003E0 809FB3B0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 003E4 809FB3B4 AFB00020 */ sw $s0, 0x0020($sp)
/* 003E8 809FB3B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003EC 809FB3BC AFA50034 */ sw $a1, 0x0034($sp)
/* 003F0 809FB3C0 860601E6 */ lh $a2, 0x01E6($s0) ## 000001E6
/* 003F4 809FB3C4 8E0501E0 */ lw $a1, 0x01E0($s0) ## 000001E0
/* 003F8 809FB3C8 0C023948 */ jal func_8008E520
/* 003FC 809FB3CC 27A7002E */ addiu $a3, $sp, 0x002E ## $a3 = FFFFFFFE
/* 00400 809FB3D0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00404 809FB3D4 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00408 809FB3D8 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 0040C 809FB3DC 87A5002E */ lh $a1, 0x002E($sp)
/* 00410 809FB3E0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 00414 809FB3E4 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 00418 809FB3E8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 0041C 809FB3EC E7A00028 */ swc1 $f0, 0x0028($sp)
/* 00420 809FB3F0 C7A20028 */ lwc1 $f2, 0x0028($sp)
/* 00424 809FB3F4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00428 809FB3F8 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 0042C 809FB3FC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00430 809FB400 4602203C */ c.lt.s $f4, $f2
/* 00434 809FB404 00000000 */ nop
/* 00438 809FB408 4500000B */ bc1f .L809FB438
/* 0043C 809FB40C 00000000 */ nop
/* 00440 809FB410 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00
/* 00444 809FB414 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00448 809FB418 4606103C */ c.lt.s $f2, $f6
/* 0044C 809FB41C 00000000 */ nop
/* 00450 809FB420 45000005 */ bc1f .L809FB438
/* 00454 809FB424 00000000 */ nop
/* 00458 809FB428 0C27ECC8 */ jal func_809FB320
/* 0045C 809FB42C 8FA50034 */ lw $a1, 0x0034($sp)
/* 00460 809FB430 10000002 */ beq $zero, $zero, .L809FB43C
/* 00464 809FB434 8FBF0024 */ lw $ra, 0x0024($sp)
.L809FB438:
/* 00468 809FB438 8FBF0024 */ lw $ra, 0x0024($sp)
.L809FB43C:
/* 0046C 809FB43C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00470 809FB440 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00474 809FB444 03E00008 */ jr $ra
/* 00478 809FB448 00000000 */ nop

View File

@ -1,114 +0,0 @@
glabel func_809FB6C4
/* 006F4 809FB6C4 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 006F8 809FB6C8 3C0F80A0 */ lui $t7, %hi(D_809FC008) ## $t7 = 80A00000
/* 006FC 809FB6CC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00700 809FB6D0 AFB00020 */ sw $s0, 0x0020($sp)
/* 00704 809FB6D4 AFA50054 */ sw $a1, 0x0054($sp)
/* 00708 809FB6D8 25EFC008 */ addiu $t7, $t7, %lo(D_809FC008) ## $t7 = 809FC008
/* 0070C 809FB6DC 8DF90000 */ lw $t9, 0x0000($t7) ## 809FC008
/* 00710 809FB6E0 27AE0044 */ addiu $t6, $sp, 0x0044 ## $t6 = FFFFFFF4
/* 00714 809FB6E4 8DF80004 */ lw $t8, 0x0004($t7) ## 809FC00C
/* 00718 809FB6E8 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 0071C 809FB6EC 8DF90008 */ lw $t9, 0x0008($t7) ## 809FC010
/* 00720 809FB6F0 3C0980A0 */ lui $t1, %hi(D_809FC014) ## $t1 = 80A00000
/* 00724 809FB6F4 2529C014 */ addiu $t1, $t1, %lo(D_809FC014) ## $t1 = 809FC014
/* 00728 809FB6F8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 0072C 809FB6FC ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 00730 809FB700 8D2B0000 */ lw $t3, 0x0000($t1) ## 809FC014
/* 00734 809FB704 27A80038 */ addiu $t0, $sp, 0x0038 ## $t0 = FFFFFFE8
/* 00738 809FB708 8D2A0004 */ lw $t2, 0x0004($t1) ## 809FC018
/* 0073C 809FB70C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 00740 809FB710 8D2B0008 */ lw $t3, 0x0008($t1) ## 809FC01C
/* 00744 809FB714 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 00748 809FB718 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0074C 809FB71C AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 00750 809FB720 0C27ECA7 */ jal func_809FB29C
/* 00754 809FB724 8FA50054 */ lw $a1, 0x0054($sp)
/* 00758 809FB728 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0075C 809FB72C 14410003 */ bne $v0, $at, .L809FB73C
/* 00760 809FB730 3C0C80A0 */ lui $t4, %hi(func_809FB940) ## $t4 = 80A00000
/* 00764 809FB734 258CB940 */ addiu $t4, $t4, %lo(func_809FB940) ## $t4 = 809FB940
/* 00768 809FB738 AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
.L809FB73C:
/* 0076C 809FB73C 860201EC */ lh $v0, 0x01EC($s0) ## 000001EC
/* 00770 809FB740 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00774 809FB744 3C063ECC */ lui $a2, 0x3ECC ## $a2 = 3ECC0000
/* 00778 809FB748 14400003 */ bne $v0, $zero, .L809FB758
/* 0077C 809FB74C 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF
/* 00780 809FB750 10000003 */ beq $zero, $zero, .L809FB760
/* 00784 809FB754 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L809FB758:
/* 00788 809FB758 A60D01EC */ sh $t5, 0x01EC($s0) ## 000001EC
/* 0078C 809FB75C 860301EC */ lh $v1, 0x01EC($s0) ## 000001EC
.L809FB760:
/* 00790 809FB760 10600028 */ beq $v1, $zero, .L809FB804
/* 00794 809FB764 8FAC0054 */ lw $t4, 0x0054($sp)
/* 00798 809FB768 860E01F0 */ lh $t6, 0x01F0($s0) ## 000001F0
/* 0079C 809FB76C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 007A0 809FB770 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3ECCCCCD
/* 007A4 809FB774 15C00005 */ bne $t6, $zero, .L809FB78C
/* 007A8 809FB778 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 007AC 809FB77C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 007B0 809FB780 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 007B4 809FB784 10000005 */ beq $zero, $zero, .L809FB79C
/* 007B8 809FB788 44050000 */ mfc1 $a1, $f0
.L809FB78C:
/* 007BC 809FB78C 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 007C0 809FB790 44810000 */ mtc1 $at, $f0 ## $f0 = 4.00
/* 007C4 809FB794 00000000 */ nop
/* 007C8 809FB798 44050000 */ mfc1 $a1, $f0
.L809FB79C:
/* 007CC 809FB79C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 007D0 809FB7A0 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 007D4 809FB7A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007D8 809FB7A8 0C27ECEB */ jal func_809FB3AC
/* 007DC 809FB7AC 8FA50054 */ lw $a1, 0x0054($sp)
/* 007E0 809FB7B0 8A180030 */ lwl $t8, 0x0030($s0) ## 00000030
/* 007E4 809FB7B4 9A180033 */ lwr $t8, 0x0033($s0) ## 00000033
/* 007E8 809FB7B8 861901E6 */ lh $t9, 0x01E6($s0) ## 000001E6
/* 007EC 809FB7BC 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000
/* 007F0 809FB7C0 AA1800B4 */ swl $t8, 0x00B4($s0) ## 000000B4
/* 007F4 809FB7C4 BA1800B7 */ swr $t8, 0x00B7($s0) ## 000000B7
/* 007F8 809FB7C8 96180034 */ lhu $t8, 0x0034($s0) ## 00000034
/* 007FC 809FB7CC 2B210009 */ slti $at, $t9, 0x0009
/* 00800 809FB7D0 10200007 */ beq $at, $zero, .L809FB7F0
/* 00804 809FB7D4 A61800B8 */ sh $t8, 0x00B8($s0) ## 000000B8
/* 00808 809FB7D8 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000
/* 0080C 809FB7DC 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660
/* 00810 809FB7E0 94481400 */ lhu $t0, 0x1400($v0) ## 8015FA60
/* 00814 809FB7E4 35090001 */ ori $t1, $t0, 0x0001 ## $t1 = 00000001
/* 00818 809FB7E8 10000016 */ beq $zero, $zero, .L809FB844
/* 0081C 809FB7EC A4491400 */ sh $t1, 0x1400($v0) ## 8015FA60
.L809FB7F0:
/* 00820 809FB7F0 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015CCC0
/* 00824 809FB7F4 944A1400 */ lhu $t2, 0x1400($v0) ## 8015E0C0
/* 00828 809FB7F8 314BFFFE */ andi $t3, $t2, 0xFFFE ## $t3 = 00000000
/* 0082C 809FB7FC 10000011 */ beq $zero, $zero, .L809FB844
/* 00830 809FB800 A44B1400 */ sh $t3, 0x1400($v0) ## 8015E0C0
.L809FB804:
/* 00834 809FB804 8D83009C */ lw $v1, 0x009C($t4) ## 0000009C
/* 00838 809FB808 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0083C 809FB80C 27AE0044 */ addiu $t6, $sp, 0x0044 ## $t6 = FFFFFFF4
/* 00840 809FB810 0061001B */ divu $zero, $v1, $at
/* 00844 809FB814 00001810 */ mfhi $v1
/* 00848 809FB818 00036880 */ sll $t5, $v1, 2
/* 0084C 809FB81C 01AE1021 */ addu $v0, $t5, $t6
/* 00850 809FB820 8C4F0000 */ lw $t7, 0x0000($v0) ## 8015CCC0
/* 00854 809FB824 2404003C */ addiu $a0, $zero, 0x003C ## $a0 = 0000003C
/* 00858 809FB828 A60F01F0 */ sh $t7, 0x01F0($s0) ## 000001F0
/* 0085C 809FB82C 0C01DF64 */ jal Math_Rand_S16Offset
/* 00860 809FB830 84450002 */ lh $a1, 0x0002($v0) ## 8015CCC2
/* 00864 809FB834 3C1880A0 */ lui $t8, %hi(func_809FB858) ## $t8 = 80A00000
/* 00868 809FB838 2718B858 */ addiu $t8, $t8, %lo(func_809FB858) ## $t8 = 809FB858
/* 0086C 809FB83C A60201EC */ sh $v0, 0x01EC($s0) ## 000001EC
/* 00870 809FB840 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
.L809FB844:
/* 00874 809FB844 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00878 809FB848 8FB00020 */ lw $s0, 0x0020($sp)
/* 0087C 809FB84C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 00880 809FB850 03E00008 */ jr $ra
/* 00884 809FB854 00000000 */ nop

View File

@ -1,70 +0,0 @@
glabel func_809FB858
/* 00888 809FB858 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0088C 809FB85C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00890 809FB860 AFB00020 */ sw $s0, 0x0020($sp)
/* 00894 809FB864 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00898 809FB868 0C27ECA7 */ jal func_809FB29C
/* 0089C 809FB86C AFA5002C */ sw $a1, 0x002C($sp)
/* 008A0 809FB870 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 008A4 809FB874 14460003 */ bne $v0, $a2, .L809FB884
/* 008A8 809FB878 3C0E80A0 */ lui $t6, %hi(func_809FB940) ## $t6 = 80A00000
/* 008AC 809FB87C 25CEB940 */ addiu $t6, $t6, %lo(func_809FB940) ## $t6 = 809FB940
/* 008B0 809FB880 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
.L809FB884:
/* 008B4 809FB884 860201EC */ lh $v0, 0x01EC($s0) ## 000001EC
/* 008B8 809FB888 240400C8 */ addiu $a0, $zero, 0x00C8 ## $a0 = 000000C8
/* 008BC 809FB88C 14400003 */ bne $v0, $zero, .L809FB89C
/* 008C0 809FB890 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 008C4 809FB894 10000003 */ beq $zero, $zero, .L809FB8A4
/* 008C8 809FB898 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L809FB89C:
/* 008CC 809FB89C A60F01EC */ sh $t7, 0x01EC($s0) ## 000001EC
/* 008D0 809FB8A0 860301EC */ lh $v1, 0x01EC($s0) ## 000001EC
.L809FB8A4:
/* 008D4 809FB8A4 5460001A */ bnel $v1, $zero, .L809FB910
/* 008D8 809FB8A8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 008DC 809FB8AC 0C01DF64 */ jal Math_Rand_S16Offset
/* 008E0 809FB8B0 24050064 */ addiu $a1, $zero, 0x0064 ## $a1 = 00000064
/* 008E4 809FB8B4 A60201EC */ sh $v0, 0x01EC($s0) ## 000001EC
/* 008E8 809FB8B8 8FB8002C */ lw $t8, 0x002C($sp)
/* 008EC 809FB8BC 3C0C80A0 */ lui $t4, %hi(func_809FB6C4) ## $t4 = 80A00000
/* 008F0 809FB8C0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 008F4 809FB8C4 8F19009C */ lw $t9, 0x009C($t8) ## 0000009C
/* 008F8 809FB8C8 258CB6C4 */ addiu $t4, $t4, %lo(func_809FB6C4) ## $t4 = 809FB6C4
/* 008FC 809FB8CC 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000
/* 00900 809FB8D0 51000004 */ beql $t0, $zero, .L809FB8E4
/* 00904 809FB8D4 A60601F0 */ sh $a2, 0x01F0($s0) ## 000001F0
/* 00908 809FB8D8 10000002 */ beq $zero, $zero, .L809FB8E4
/* 0090C 809FB8DC A60001F0 */ sh $zero, 0x01F0($s0) ## 000001F0
/* 00910 809FB8E0 A60601F0 */ sh $a2, 0x01F0($s0) ## 000001F0
.L809FB8E4:
/* 00914 809FB8E4 860901F0 */ lh $t1, 0x01F0($s0) ## 000001F0
/* 00918 809FB8E8 54C90008 */ bnel $a2, $t1, .L809FB90C
/* 0091C 809FB8EC AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
/* 00920 809FB8F0 860A01EC */ lh $t2, 0x01EC($s0) ## 000001EC
/* 00924 809FB8F4 05410003 */ bgez $t2, .L809FB904
/* 00928 809FB8F8 000A5843 */ sra $t3, $t2, 1
/* 0092C 809FB8FC 25410001 */ addiu $at, $t2, 0x0001 ## $at = 00000001
/* 00930 809FB900 00015843 */ sra $t3, $at, 1
.L809FB904:
/* 00934 809FB904 A60B01EC */ sh $t3, 0x01EC($s0) ## 000001EC
/* 00938 809FB908 AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
.L809FB90C:
/* 0093C 809FB90C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
.L809FB910:
/* 00940 809FB910 3C063ECC */ lui $a2, 0x3ECC ## $a2 = 3ECC0000
/* 00944 809FB914 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3ECCCCCD
/* 00948 809FB918 44050000 */ mfc1 $a1, $f0
/* 0094C 809FB91C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00950 809FB920 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00954 809FB924 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00958 809FB928 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 0095C 809FB92C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00960 809FB930 8FB00020 */ lw $s0, 0x0020($sp)
/* 00964 809FB934 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00968 809FB938 03E00008 */ jr $ra
/* 0096C 809FB93C 00000000 */ nop

View File

@ -1,110 +0,0 @@
glabel func_809FB940
/* 00970 809FB940 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00974 809FB944 AFA5002C */ sw $a1, 0x002C($sp)
/* 00978 809FB948 3C058016 */ lui $a1, 0x8016 ## $a1 = 80160000
/* 0097C 809FB94C 24A5E660 */ addiu $a1, $a1, 0xE660 ## $a1 = 8015E660
/* 00980 809FB950 84AE13C4 */ lh $t6, 0x13C4($a1) ## 8015FA24
/* 00984 809FB954 AFB00020 */ sw $s0, 0x0020($sp)
/* 00988 809FB958 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0098C 809FB95C 15C00009 */ bne $t6, $zero, .L809FB984
/* 00990 809FB960 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00994 809FB964 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00998 809FB968 3C1880A0 */ lui $t8, %hi(func_809FBC6C) ## $t8 = 80A00000
/* 0099C 809FB96C 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
/* 009A0 809FB970 2718BC6C */ addiu $t8, $t8, %lo(func_809FBC6C) ## $t8 = 809FBC6C
/* 009A4 809FB974 A48F01F0 */ sh $t7, 0x01F0($a0) ## 000001F0
/* 009A8 809FB978 AC980190 */ sw $t8, 0x0190($a0) ## 00000190
/* 009AC 809FB97C 1000004A */ beq $zero, $zero, .L809FBAA8
/* 009B0 809FB980 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
.L809FB984:
/* 009B4 809FB984 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 009B8 809FB988 44813000 */ mtc1 $at, $f6 ## $f6 = 400.00
/* 009BC 809FB98C C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090
/* 009C0 809FB990 4600303C */ c.lt.s $f6, $f0
/* 009C4 809FB994 00000000 */ nop
/* 009C8 809FB998 4502000C */ bc1fl .L809FB9CC
/* 009CC 809FB99C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 009D0 809FB9A0 860201F0 */ lh $v0, 0x01F0($s0) ## 000001F0
/* 009D4 809FB9A4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 009D8 809FB9A8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 009DC 809FB9AC 10410004 */ beq $v0, $at, .L809FB9C0
/* 009E0 809FB9B0 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 009E4 809FB9B4 10410002 */ beq $v0, $at, .L809FB9C0
/* 009E8 809FB9B8 24030005 */ addiu $v1, $zero, 0x0005 ## $v1 = 00000005
/* 009EC 809FB9BC A60301F0 */ sh $v1, 0x01F0($s0) ## 000001F0
.L809FB9C0:
/* 009F0 809FB9C0 1000001F */ beq $zero, $zero, .L809FBA40
/* 009F4 809FB9C4 A4A013C4 */ sh $zero, 0x13C4($a1) ## 8015FA24
/* 009F8 809FB9C8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
.L809FB9CC:
/* 009FC 809FB9CC 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 00A00 809FB9D0 00000000 */ nop
/* 00A04 809FB9D4 4600403C */ c.lt.s $f8, $f0
/* 00A08 809FB9D8 00000000 */ nop
/* 00A0C 809FB9DC 45000005 */ bc1f .L809FB9F4
/* 00A10 809FB9E0 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00A14 809FB9E4 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00A18 809FB9E8 44810000 */ mtc1 $at, $f0 ## $f0 = 4.00
/* 00A1C 809FB9EC 10000014 */ beq $zero, $zero, .L809FBA40
/* 00A20 809FB9F0 A61901F0 */ sh $t9, 0x01F0($s0) ## 000001F0
.L809FB9F4:
/* 00A24 809FB9F4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00A28 809FB9F8 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00
/* 00A2C 809FB9FC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00A30 809FBA00 460A003C */ c.lt.s $f0, $f10
/* 00A34 809FBA04 00000000 */ nop
/* 00A38 809FBA08 4502000C */ bc1fl .L809FBA3C
/* 00A3C 809FBA0C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 00A40 809FBA10 860201F0 */ lh $v0, 0x01F0($s0) ## 000001F0
/* 00A44 809FBA14 24030005 */ addiu $v1, $zero, 0x0005 ## $v1 = 00000005
/* 00A48 809FBA18 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00A4C 809FBA1C 10620004 */ beq $v1, $v0, .L809FBA30
/* 00A50 809FBA20 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00A54 809FBA24 10410002 */ beq $v0, $at, .L809FBA30
/* 00A58 809FBA28 00000000 */ nop
/* 00A5C 809FBA2C A60301F0 */ sh $v1, 0x01F0($s0) ## 000001F0
.L809FBA30:
/* 00A60 809FBA30 10000004 */ beq $zero, $zero, .L809FBA44
/* 00A64 809FBA34 44050000 */ mfc1 $a1, $f0
/* 00A68 809FBA38 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00
.L809FBA3C:
/* 00A6C 809FBA3C A60001F0 */ sh $zero, 0x01F0($s0) ## 000001F0
.L809FBA40:
/* 00A70 809FBA40 44050000 */ mfc1 $a1, $f0
.L809FBA44:
/* 00A74 809FBA44 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000
/* 00A78 809FBA48 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A
/* 00A7C 809FBA4C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00A80 809FBA50 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00A84 809FBA54 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00A88 809FBA58 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 00A8C 809FBA5C 44818000 */ mtc1 $at, $f16 ## $f16 = 400.00
/* 00A90 809FBA60 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090
/* 00A94 809FBA64 4612803C */ c.lt.s $f16, $f18
/* 00A98 809FBA68 00000000 */ nop
/* 00A9C 809FBA6C 4503000F */ bc1tl .L809FBAAC
/* 00AA0 809FBA70 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00AA4 809FBA74 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00AA8 809FBA78 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00AAC 809FBA7C AFA80010 */ sw $t0, 0x0010($sp)
/* 00AB0 809FBA80 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00AB4 809FBA84 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 00AB8 809FBA88 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00ABC 809FBA8C 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 00AC0 809FBA90 8A0A0030 */ lwl $t2, 0x0030($s0) ## 00000030
/* 00AC4 809FBA94 9A0A0033 */ lwr $t2, 0x0033($s0) ## 00000033
/* 00AC8 809FBA98 AA0A00B4 */ swl $t2, 0x00B4($s0) ## 000000B4
/* 00ACC 809FBA9C BA0A00B7 */ swr $t2, 0x00B7($s0) ## 000000B7
/* 00AD0 809FBAA0 960A0034 */ lhu $t2, 0x0034($s0) ## 00000034
/* 00AD4 809FBAA4 A60A00B8 */ sh $t2, 0x00B8($s0) ## 000000B8
.L809FBAA8:
/* 00AD8 809FBAA8 8FBF0024 */ lw $ra, 0x0024($sp)
.L809FBAAC:
/* 00ADC 809FBAAC 8FB00020 */ lw $s0, 0x0020($sp)
/* 00AE0 809FBAB0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00AE4 809FBAB4 03E00008 */ jr $ra
/* 00AE8 809FBAB8 00000000 */ nop

View File

@ -1,49 +0,0 @@
glabel func_809FBABC
/* 00AEC 809FBABC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00AF0 809FBAC0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00AF4 809FBAC4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00AF8 809FBAC8 AFA5002C */ sw $a1, 0x002C($sp)
/* 00AFC 809FBACC 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00B00 809FBAD0 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 00B04 809FBAD4 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 00B08 809FBAD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B0C 809FBADC 3C0F80A0 */ lui $t7, %hi(func_809FBB64) ## $t7 = 80A00000
/* 00B10 809FBAE0 4606203C */ c.lt.s $f4, $f6
/* 00B14 809FBAE4 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 00B18 809FBAE8 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
/* 00B1C 809FBAEC 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000
/* 00B20 809FBAF0 45000010 */ bc1f .L809FBB34
/* 00B24 809FBAF4 25EFBB64 */ addiu $t7, $t7, %lo(func_809FBB64) ## $t7 = 809FBB64
/* 00B28 809FBAF8 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A
/* 00B2C 809FBAFC 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00B30 809FBB00 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00B34 809FBB04 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00B38 809FBB08 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00B3C 809FBB0C AFAE0010 */ sw $t6, 0x0010($sp)
/* 00B40 809FBB10 38A58000 */ xori $a1, $a1, 0x8000 ## $a1 = FFFF8000
/* 00B44 809FBB14 00052C00 */ sll $a1, $a1, 16
/* 00B48 809FBB18 00052C03 */ sra $a1, $a1, 16
/* 00B4C 809FBB1C 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00B50 809FBB20 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 00B54 809FBB24 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00B58 809FBB28 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 00B5C 809FBB2C 10000003 */ beq $zero, $zero, .L809FBB3C
/* 00B60 809FBB30 8A190030 */ lwl $t9, 0x0030($s0) ## 00000030
.L809FBB34:
/* 00B64 809FBB34 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
/* 00B68 809FBB38 8A190030 */ lwl $t9, 0x0030($s0) ## 00000030
.L809FBB3C:
/* 00B6C 809FBB3C 9A190033 */ lwr $t9, 0x0033($s0) ## 00000033
/* 00B70 809FBB40 AA1900B4 */ swl $t9, 0x00B4($s0) ## 000000B4
/* 00B74 809FBB44 BA1900B7 */ swr $t9, 0x00B7($s0) ## 000000B7
/* 00B78 809FBB48 96190034 */ lhu $t9, 0x0034($s0) ## 00000034
/* 00B7C 809FBB4C A61900B8 */ sh $t9, 0x00B8($s0) ## 000000B8
/* 00B80 809FBB50 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00B84 809FBB54 8FB00020 */ lw $s0, 0x0020($sp)
/* 00B88 809FBB58 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00B8C 809FBB5C 03E00008 */ jr $ra
/* 00B90 809FBB60 00000000 */ nop

View File

@ -1,74 +0,0 @@
glabel func_809FBB64
/* 00B94 809FBB64 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00B98 809FBB68 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B9C 809FBB6C AFB00020 */ sw $s0, 0x0020($sp)
/* 00BA0 809FBB70 AFA50034 */ sw $a1, 0x0034($sp)
/* 00BA4 809FBB74 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00BA8 809FBB78 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 00BAC 809FBB7C C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 00BB0 809FBB80 3C0B80A0 */ lui $t3, %hi(func_809FBABC) ## $t3 = 80A00000
/* 00BB4 809FBB84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00BB8 809FBB88 4604303E */ c.le.s $f6, $f4
/* 00BBC 809FBB8C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00BC0 809FBB90 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000
/* 00BC4 809FBB94 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00BC8 809FBB98 45000027 */ bc1f .L809FBC38
/* 00BCC 809FBB9C 256BBABC */ addiu $t3, $t3, %lo(func_809FBABC) ## $t3 = 809FBABC
/* 00BD0 809FBBA0 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 00BD4 809FBBA4 A48001F0 */ sh $zero, 0x01F0($a0) ## 000001F0
/* 00BD8 809FBBA8 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 00BDC 809FBBAC 44050000 */ mfc1 $a1, $f0
/* 00BE0 809FBBB0 44070000 */ mfc1 $a3, $f0
/* 00BE4 809FBBB4 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00BE8 809FBBB8 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A
/* 00BEC 809FBBBC 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
/* 00BF0 809FBBC0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00BF4 809FBBC4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00BF8 809FBBC8 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00BFC 809FBBCC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00C00 809FBBD0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 00C04 809FBBD4 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 00C08 809FBBD8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00C0C 809FBBDC A7AE002C */ sh $t6, 0x002C($sp)
/* 00C10 809FBBE0 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 00C14 809FBBE4 87B9002C */ lh $t9, 0x002C($sp)
/* 00C18 809FBBE8 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00C1C 809FBBEC 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
/* 00C20 809FBBF0 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 00C24 809FBBF4 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00
/* 00C28 809FBBF8 468040A0 */ cvt.s.w $f2, $f8
/* 00C2C 809FBBFC 3C0980A0 */ lui $t1, %hi(func_809FBC6C) ## $t1 = 80A00000
/* 00C30 809FBC00 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 00C34 809FBC04 2529BC6C */ addiu $t1, $t1, %lo(func_809FBC6C) ## $t1 = 809FBC6C
/* 00C38 809FBC08 46805420 */ cvt.s.w $f16, $f10
/* 00C3C 809FBC0C 46101081 */ sub.s $f2, $f2, $f16
/* 00C40 809FBC10 46001005 */ abs.s $f0, $f2
/* 00C44 809FBC14 4612003C */ c.lt.s $f0, $f18
/* 00C48 809FBC18 00000000 */ nop
/* 00C4C 809FBC1C 45020009 */ bc1fl .L809FBC44
/* 00C50 809FBC20 8A0D0030 */ lwl $t5, 0x0030($s0) ## 00000030
/* 00C54 809FBC24 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00C58 809FBC28 A60801F0 */ sh $t0, 0x01F0($s0) ## 000001F0
/* 00C5C 809FBC2C AE090190 */ sw $t1, 0x0190($s0) ## 00000190
/* 00C60 809FBC30 10000003 */ beq $zero, $zero, .L809FBC40
/* 00C64 809FBC34 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
.L809FBC38:
/* 00C68 809FBC38 A60A01F0 */ sh $t2, 0x01F0($s0) ## 000001F0
/* 00C6C 809FBC3C AE0B0190 */ sw $t3, 0x0190($s0) ## 00000190
.L809FBC40:
/* 00C70 809FBC40 8A0D0030 */ lwl $t5, 0x0030($s0) ## 00000030
.L809FBC44:
/* 00C74 809FBC44 9A0D0033 */ lwr $t5, 0x0033($s0) ## 00000033
/* 00C78 809FBC48 AA0D00B4 */ swl $t5, 0x00B4($s0) ## 000000B4
/* 00C7C 809FBC4C BA0D00B7 */ swr $t5, 0x00B7($s0) ## 000000B7
/* 00C80 809FBC50 960D0034 */ lhu $t5, 0x0034($s0) ## 00000034
/* 00C84 809FBC54 A60D00B8 */ sh $t5, 0x00B8($s0) ## 000000B8
/* 00C88 809FBC58 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00C8C 809FBC5C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00C90 809FBC60 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00C94 809FBC64 03E00008 */ jr $ra
/* 00C98 809FBC68 00000000 */ nop

View File

@ -1,26 +0,0 @@
glabel func_809FBC6C
/* 00C9C 809FBC6C AFA50004 */ sw $a1, 0x0004($sp)
/* 00CA0 809FBC70 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 00CA4 809FBC74 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 00CA8 809FBC78 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000
/* 00CAC 809FBC7C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00CB0 809FBC80 01CFC023 */ subu $t8, $t6, $t7
/* 00CB4 809FBC84 A49801E8 */ sh $t8, 0x01E8($a0) ## 000001E8
/* 00CB8 809FBC88 8739FA24 */ lh $t9, -0x05DC($t9) ## 8015FA24
/* 00CBC 809FBC8C 1320000B */ beq $t9, $zero, .L809FBCBC
/* 00CC0 809FBC90 00000000 */ nop
/* 00CC4 809FBC94 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 00CC8 809FBC98 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 00CCC 809FBC9C 3C0980A0 */ lui $t1, %hi(func_809FBABC) ## $t1 = 80A00000
/* 00CD0 809FBCA0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00CD4 809FBCA4 4606203C */ c.lt.s $f4, $f6
/* 00CD8 809FBCA8 2529BABC */ addiu $t1, $t1, %lo(func_809FBABC) ## $t1 = 809FBABC
/* 00CDC 809FBCAC 45000003 */ bc1f .L809FBCBC
/* 00CE0 809FBCB0 00000000 */ nop
/* 00CE4 809FBCB4 A48801F0 */ sh $t0, 0x01F0($a0) ## 000001F0
/* 00CE8 809FBCB8 AC890190 */ sw $t1, 0x0190($a0) ## 00000190
.L809FBCBC:
/* 00CEC 809FBCBC 03E00008 */ jr $ra
/* 00CF0 809FBCC0 00000000 */ nop

View File

@ -1,9 +0,0 @@
glabel func_809FBD8C
/* 00DBC 809FBD8C AFA40000 */ sw $a0, 0x0000($sp)
/* 00DC0 809FBD90 AFA50004 */ sw $a1, 0x0004($sp)
/* 00DC4 809FBD94 AFA60008 */ sw $a2, 0x0008($sp)
/* 00DC8 809FBD98 AFA7000C */ sw $a3, 0x000C($sp)
/* 00DCC 809FBD9C 03E00008 */ jr $ra
/* 00DD0 809FBDA0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,8 +0,0 @@
glabel func_809FBDA4
/* 00DD4 809FBDA4 AFA40000 */ sw $a0, 0x0000($sp)
/* 00DD8 809FBDA8 AFA50004 */ sw $a1, 0x0004($sp)
/* 00DDC 809FBDAC AFA60008 */ sw $a2, 0x0008($sp)
/* 00DE0 809FBDB0 03E00008 */ jr $ra
/* 00DE4 809FBDB4 AFA7000C */ sw $a3, 0x000C($sp)

View File

@ -620,13 +620,13 @@ glabel func_8081D398
/* 0A4BC 8081DCDC 8FB101CC */ lw $s1, 0x01CC($sp)
/* 0A4C0 8081DCE0 26390008 */ addiu $t9, $s1, 0x0008 ## $t9 = 0C000008
/* 0A4C4 8081DCE4 AFB901CC */ sw $t9, 0x01CC($sp)
/* 0A4C8 8081DCE8 0C034B88 */ jal func_800D2E20
/* 0A4C8 8081DCE8 0C034B88 */ jal SysUcode_GetUcodeData
/* 0A4CC 8081DCEC AE320000 */ sw $s2, 0x0000($s1) ## 0C000000
/* 0A4D0 8081DCF0 AE220004 */ sw $v0, 0x0004($s1) ## 0C000004
/* 0A4D4 8081DCF4 8FB101CC */ lw $s1, 0x01CC($sp)
/* 0A4D8 8081DCF8 262E0008 */ addiu $t6, $s1, 0x0008 ## $t6 = 0C000008
/* 0A4DC 8081DCFC AFAE01CC */ sw $t6, 0x01CC($sp)
/* 0A4E0 8081DD00 0C034B85 */ jal func_800D2E14
/* 0A4E0 8081DD00 0C034B85 */ jal SysUcode_GetUcode
/* 0A4E4 8081DD04 AE330000 */ sw $s3, 0x0000($s1) ## 0C000000
/* 0A4E8 8081DD08 AE220004 */ sw $v0, 0x0004($s1) ## 0C000004
/* 0A4EC 8081DD0C 8FB801CC */ lw $t8, 0x01CC($sp)

View File

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel D_8011F3F0
.incbin "baserom.z64", 0xB96590, 0x440

View File

@ -1,28 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel En_Dog_InitVars
.word 0x019B0400, 0x00000000, 0x016B0000, 0x00000290
.word EnDog_Init
.word EnDog_Destroy
.word EnDog_Update
.word EnDog_Draw
glabel D_809FBF10
.word 0x06000939, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x00100014, 0x00000000, 0x00000000
glabel D_809FBF3C
.word 0x00000000, 0x00000000, 0x32000000
glabel D_809FBF48
.word 0x06001368, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x06001368, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC0C00000, 0x06000D78, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC0C00000, 0x06000278, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC0C00000, 0x06001150, 0x3F800000, 0x00000000, 0x40800000, 0x02000000, 0xC0C00000, 0x06001150, 0x3F800000, 0x40A00000, 0x41C80000, 0x04000000, 0xC0C00000, 0x06000928, 0x3F800000, 0x00000000, 0x40C00000, 0x02000000, 0xC0C00000, 0x06000C28, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0xC0C00000
glabel D_809FC008
.word 0x00000003, 0x00000005, 0x00000002
glabel D_809FC014
.word 0x00000028, 0x00000050, 0x00000014
glabel D_809FC020
.word 0xFFFFC800, 0x96643200, 0x00000000, 0x00000000

View File

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_809FC080
.incbin "baserom/ovl_En_Dog", 0x10B0, 0x00000150

View File

@ -1,33 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_809FC030
.asciz "../z_en_dog.c"
.balign 4
glabel D_809FC040
.asciz "../z_en_dog.c"
.balign 4
glabel jtbl_809FC050
.word L809FB178
.word L809FB184
.word L809FB190
.word L809FB19C
.word L809FB1B0
.word L809FB1A8
glabel jtbl_809FC068
.word L809FB260
.word L809FB270
.word L809FB280
.word L809FB1E8
.word L809FB288
.word L809FB224

View File

@ -392,6 +392,7 @@ Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx);
s16 func_800347E8(s16 arg0);
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha);
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha);
void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2);
void Actor_Noop(Actor* actor, GlobalContext* globalCtx);
void Draw_DListOpa(GlobalContext* globalCtx, u32 dlist);
void Draw_DListXlu(GlobalContext* globalCtx, u32 dlist);
@ -921,10 +922,10 @@ u8 ZeldaArena_IsInitalized();
void MapMark_Init(GlobalContext* globalCtx);
void MapMark_ClearPointers(GlobalContext* globalCtx);
void MapMark_DrawConditionally(GlobalContext* globalCtx);
// ? func_8007BE60(?);
// ? func_8007BED4(?);
// ? func_8007BF08(?);
// ? func_8007BF10(?);
void PreNmiBuff_Init(PreNmiBuff* this);
void PreNmiBuff_SetReset(PreNmiBuff* this);
u32 PreNmiBuff_IsResetting(PreNmiBuff* this);
void MsgEvent_SendNullTask();
f32 func_8007BF90(Vec3f*, Vec3f*);
// ? func_8007C028(?);
// ? func_8007C058(?);
@ -987,6 +988,7 @@ s32 func_80087708(GlobalContext* globalCtx, s16 arg1, s16 arg2);
void func_80088B34(s16 arg0);
void Interface_Draw(GlobalContext* globalCtx);
void Interface_Update(GlobalContext* globalCtx);
f32 func_8008E520(Actor* actor, Path* path, s16, s16*);
// ? func_8008E6A0(?);
// ? func_8008E6AC(?);
// ? func_8008E750(?);
@ -1631,10 +1633,10 @@ void func_800D2264(MtxF* mf, Vec3s* vec, s32 flag);
void func_800D23FC(f32 f, Vec3f* vec, u8 mode);
MtxF* Matrix_CheckFloats(MtxF* mf, char* file, s32 line);
void func_800D2CEC(Mtx* mtx, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6);
// ? func_800D2DF0(?);
// ? func_800D2DFC(?);
// ? func_800D2E14(?);
// ? func_800D2E20(?);
// ? SysUcode_GetUCodeBoot(?);
// ? SysUcode_GetUcodeBootSize(?);
// ? SysUcode_GetUcode(?);
// ? SysUcode_GetUcodeData(?);
// ? func_800D2E30(?);
// ? func_800D3140(?);
// ? func_800D3140(?);

View File

@ -3,6 +3,16 @@
#include <global.h>
#define OS_SC_NEEDS_RDP 0x0001
#define OS_SC_NEEDS_RSP 0x0002
#define OS_SC_DRAM_DLIST 0x0004
#define OS_SC_PARALLEL_TASK 0x0010
#define OS_SC_LAST_TASK 0x0020
#define OS_SC_SWAPBUFFER 0x0040
#define OS_SC_RCP_MASK 0x0003
#define OS_SC_TYPE_MASK 0x0007
typedef struct OSScTask
{
/* 0x00 */ struct OSScTask* next;
@ -10,8 +20,8 @@ typedef struct OSScTask
/* 0x08 */ u32 flags;
/* 0x0C */ void* framebuffer;
/* 0x10 */ OSTask list;
/* 0x58 */ OSMesgQueue* msgQ;
/* 0x5C */ OSMesg msg;
/* 0x50 */ OSMesgQueue* msgQ;
/* 0x54 */ OSMesg msg;
} OSScTask;
typedef struct
@ -39,4 +49,6 @@ typedef struct
/* 0x0220 */ char unk_254[0x04];
} SchedContext; // size = 0x258
extern SchedContext gSchedContext;
#endif

View File

@ -76,9 +76,11 @@
*
**************************************************************************/
#define M_GFXTASK 1
#define M_AUDTASK 2
#define M_VIDTASK 3
#define M_NULTASK 0
#define M_GFXTASK 1
#define M_AUDTASK 2
#define M_VIDTASK 3
#define M_NJPEGTASK 4
#define M_HVQTASK 6
#define M_HVQMTASK 7

View File

@ -3573,7 +3573,7 @@ extern Color_RGBA8 D_801614B0;
//extern ? D_801665E0;
//extern ? D_801665F0;
//extern ? D_80166648;
extern u8* gAppNmiBufferPtr;
extern PreNmiBuff* gAppNmiBufferPtr;
//extern ? gSchedContext;
//extern u8 gPadMgr[];
extern u8 D_80166B68;

View File

@ -163,7 +163,9 @@ typedef struct
/* 0x1360 */ s32 scene_setup_index;
/* 0x1364 */ s32 respawn_flag; // "restart_flag"
/* 0x1368 */ RespawnData respawn[3]; // "restart_data"
/* 0x13BC */ char unk_13BC[0x000B];
/* 0x13BC */ char unk_13BC[0x0008];
/* 0x13C4 */ s16 dogParams;
/* 0x13C6 */ char unk_13C6[0x0001];
/* 0x13C7 */ u8 unk_13C7;
/* 0x13C8 */ u16 nayrus_love_timer;
/* 0x13CA */ char unk_13CA[0x0002];
@ -207,7 +209,7 @@ typedef struct
/* 0x1418 */ u8 fade_duration;
/* 0x1419 */ u8 unk_1419; // transition related
/* 0x141A */ u16 environment_time;
/* 0x141C */ u8 unk_141C;
/* 0x141C */ u8 dogIsLost;
/* 0x141D */ u8 transition_type;
/* 0x141E */ char unk_141E[0x0002];
/* 0x1420 */ s16 world_map_area;
@ -963,7 +965,7 @@ typedef struct GlobalContext
/* 0x11DFC */ UNK_PTR unk_11DFC;
/* 0x11E00 */ EntranceEntry* setupEntranceList;
/* 0x11E04 */ UNK_PTR setupExitList;
/* 0x11E08 */ UNK_PTR setupPathList;
/* 0x11E08 */ Path* setupPathList;
/* 0x11E0C */ UNK_PTR naviMsgSegment;
/* 0x11E10 */ char unk_11E10[0x4];
/* 0x11E14 */ u8 skyboxId;
@ -1019,6 +1021,17 @@ typedef struct LoadedParticleEntry
/* 0x005F */ u8 type;
} LoadedParticleEntry; // size = 0x60
// Some animation related structure
typedef struct
{
/* 0x00 */ u32 animation;
/* 0x04 */ f32 playbackSpeed;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 frameCount;
/* 0x10 */ u8 unk_10;
/* 0x14 */ f32 transitionRate;
} struct_80034EC0_Entry; // size = 0x18
typedef struct
{
/* 0x00 */ u8 limbCount;
@ -1026,7 +1039,7 @@ typedef struct
/* 0x02 */ u8 dListCount;
/* 0x03 */ char unk_03[0x01]; /* Probably Padding */
/* 0x04 */ u32 limbIndex;
/* 0x08 */ u32 animCurrent;
/* 0x08 */ u32* animCurrent;
/* 0x0C */ char unk_0C[0x04];
/* 0x10 */ f32 animFrameCount;
/* 0x14 */ f32 unk_14;
@ -1390,4 +1403,12 @@ typedef struct ListAlloc
/* 0x04 */ struct ListAlloc* next;
} ListAlloc; //size = 0x8
typedef struct
{
/* 0x00 */ u32 resetting;
/* 0x04 */ u32 resetCount;
/* 0x08 */ OSTime duration;
/* 0x10 */ OSTime resetTime;
} PreNmiBuff; //size = 0x18 (actually osAppNmiBuffer is 0x40 bytes large but the rest is unused)
#endif

View File

@ -390,6 +390,12 @@ typedef struct
s32 properties;
} WaterBoxHeader;
typedef struct
{
/* 0x00 */ u8 count; // Total number of points in the path for the actor to follow
/* 0x04 */ Vec3s* path; // Segment Address of the start of the path list
} Path; // size = 0x8
typedef union
{
SCmdBase base;

9
spec
View File

@ -316,7 +316,6 @@ beginseg
include "build/src/code/z_elf_message.o"
include "build/data/z_elf_message.data.o"
include "build/src/code/code_8006C360.o"
include "build/data/code_8006C360.data.o"
include "build/src/code/code_8006C3A0.o"
include "build/src/code/code_8006C510.o"
include "build/src/code/z_fcurve_data_skelanime.o"
@ -340,8 +339,8 @@ beginseg
include "build/src/code/z_malloc.o"
include "build/src/code/z_map_mark.o"
include "build/src/code/z_moji.o"
include "build/src/code/code_8007BE60.o"
include "build/src/code/code_8007BF10.o"
include "build/src/code/z_prenmi_buff.o"
include "build/src/code/z_msgevent.o"
include "build/src/code/code_8007BF90.o"
include "build/src/code/z_onepointdemo.o"
include "build/data/z_onepointdemo.data.o"
@ -2593,9 +2592,7 @@ endseg
beginseg
name "ovl_En_Dog"
include "build/src/overlays/actors/ovl_En_Dog/z_en_dog.o"
include "build/data/overlays/actors/z_en_dog.data.o"
include "build/data/overlays/actors/z_en_dog.rodata.o"
include "build/data/overlays/actors/z_en_dog.reloc.o"
include "build/src/overlays/actors/ovl_En_Dog/z_en_dog_reloc.o"
endseg
beginseg

View File

@ -1,5 +1,72 @@
#include <ultra64.h>
#include <global.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C360/func_8006C360.s")
u16 D_8011F3F0[60][9] =
{
{ 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 },
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
{ 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 },
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
{ 0x0000, 0x7128, 0x7129, 0x712B, 0x7128, 0x7128, 0x7128, 0x7129, 0x7128 },
{ 0x0000, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712F },
{ 0x0000, 0x712C, 0x712C, 0x712C, 0x712E, 0x712C, 0x712C, 0x712F, 0x712F },
{ 0x0000, 0x712C, 0x712C, 0x712C, 0x712F, 0x712C, 0x712C, 0x712F, 0x712F },
{ 0x0000, 0x7130, 0x7132, 0x7133, 0x7130, 0x7130, 0x7131, 0x7132, 0x7131 },
{ 0x0000, 0x7134, 0x7137, 0x7135, 0x7134, 0x7136, 0x7135, 0x7134, 0x7135 },
{ 0x0000, 0x7138, 0x713A, 0x7138, 0x7139, 0x713A, 0x7138, 0x7139, 0x713B },
{ 0x0000, 0x7144, 0x7146, 0x7144, 0x7146, 0x7147, 0x7145, 0x7145, 0x7147 },
{ 0x0000, 0x7148, 0x7149, 0x7149, 0x714A, 0x714A, 0x714B, 0x7149, 0x714B },
{ 0x0000, 0x714C, 0x714D, 0x714C, 0x714C, 0x714E, 0x714C, 0x714E, 0x714F },
{ 0x0000, 0x7150, 0x7153, 0x7152, 0x7150, 0x7151, 0x7153, 0x7153, 0x7151 },
{ 0x0000, 0x7155, 0x7156, 0x7157, 0x7154, 0x7156, 0x7156, 0x7156, 0x7156 },
{ 0x0000, 0x715A, 0x7159, 0x715B, 0x715A, 0x715A, 0x7158, 0x7158, 0x715B },
{ 0x0000, 0x715E, 0x715D, 0x715D, 0x715F, 0x715E, 0x715C, 0x715C, 0x715D },
{ 0x0000, 0x7163, 0x7162, 0x7160, 0x7163, 0x7160, 0x7161, 0x7161, 0x7160 },
{ 0x0000, 0x7164, 0x7166, 0x7164, 0x7167, 0x7164, 0x7164, 0x7164, 0x7167 },
{ 0x0000, 0x716B, 0x7169, 0x7168, 0x716B, 0x716A, 0x716B, 0x716B, 0x716A },
{ 0x0000, 0x716C, 0x716D, 0x716F, 0x716C, 0x716E, 0x716E, 0x716E, 0x716F },
{ 0x0000, 0x7171, 0x7173, 0x7170, 0x7172, 0x0000, 0x0000, 0x0000, 0x0000 },
{ 0x0000, 0x7176, 0x7177, 0x7174, 0x7174, 0x7175, 0x7174, 0x7174, 0x7177 },
{ 0x0000, 0x7178, 0x7179, 0x7179, 0x717B, 0x717A, 0x717B, 0x717A, 0x717B },
{ 0x0000, 0x717D, 0x717C, 0x717C, 0x717D, 0x717F, 0x717C, 0x717E, 0x717D },
{ 0x0000, 0x7183, 0x7181, 0x7180, 0x7183, 0x7182, 0x7183, 0x7181, 0x7183 },
{ 0x0000, 0x7184, 0x7186, 0x7185, 0x7186, 0x7184, 0x7187, 0x7186, 0x7184 },
{ 0x0000, 0x71A4, 0x71A6, 0x71A5, 0x0000, 0x71A6, 0x71A6, 0x71A6, 0x71A7 },
{ 0x0000, 0x7188, 0x7188, 0x7189, 0x7188, 0x7189, 0x718B, 0x718A, 0x7189 },
{ 0x0000, 0x718C, 0x718C, 0x718D, 0x718C, 0x718E, 0x718F, 0x718D, 0x718C },
{ 0x0000, 0x7190, 0x7190, 0x7191, 0x7192, 0x7191, 0x7193, 0x7190, 0x7191 },
{ 0x0000, 0x7196, 0x7194, 0x7195, 0x7196, 0x7197, 0x7194, 0x7196, 0x7195 },
{ 0x0000, 0x7199, 0x719A, 0x7198, 0x7198, 0x719A, 0x719A, 0x719B, 0x7198 },
{ 0x0000, 0x719D, 0x719C, 0x719E, 0x719D, 0x719D, 0x719C, 0x719F, 0x719E },
{ 0x0000, 0x71A1, 0x71A0, 0x71A1, 0x71A2, 0x71A1, 0x71A2, 0x71A3, 0x71A2 },
{ 0x0000, 0x711C, 0x711E, 0x711C, 0x711F, 0x711E, 0x711C, 0x711D, 0x711F },
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7107, 0x7105, 0x7106, 0x7107, 0x7107 },
{ 0x0000, 0x7107, 0x7105, 0x7107, 0x7107, 0x7106, 0x7107, 0x7107, 0x7105 },
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
{ 0x0000, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7111, 0x7113 },
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
{ 0x0000, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7113 },
{ 0x0000, 0x7101, 0x7100, 0x7102, 0x7103, 0x7101, 0x7100, 0x7102, 0x7103 },
{ 0x0000, 0x7100, 0x7102, 0x7100, 0x7100, 0x7100, 0x7100, 0x7100, 0x7102 },
{ 0x0000, 0x710A, 0x7109, 0x7109, 0x710A, 0x710B, 0x7108, 0x7109, 0x710B },
{ 0x0000, 0x7117, 0x7112, 0x7113, 0x7110, 0x710C, 0x7117, 0x710E, 0x7112 },
{ 0x0000, 0x710D, 0x710F, 0x710C, 0x7112, 0x710D, 0x710C, 0x710C, 0x710F },
{ 0x0000, 0x710A, 0x7109, 0x711A, 0x710A, 0x7109, 0x7108, 0x710B, 0x7109 },
{ 0x0000, 0x710C, 0x710F, 0x7113, 0x7110, 0x710D, 0x7112, 0x7116, 0x710D },
{ 0x0000, 0x7115, 0x7114, 0x7114, 0x7115, 0x7114, 0x7114, 0x7116, 0x7117 },
{ 0x0000, 0x7113, 0x710F, 0x7113, 0x7110, 0x710C, 0x711A, 0x710D, 0x7112 },
{ 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 },
{ 0x0000, 0x7112, 0x710E, 0x7112, 0x710E, 0x710D, 0x7112, 0x710E, 0x710F },
{ 0x0000, 0x7142, 0x7141, 0x7142, 0x7143, 0x7140, 0x7140, 0x7141, 0x7143 },
{ 0x0000, 0x713C, 0x713D, 0x713D, 0x713E, 0x713E, 0x713F, 0x713D, 0x713F },
{ 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 },
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x7105, 0x7105, 0x7107, 0x7107 },
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
};
u16 func_8006C360(GlobalContext* globalCtx, u32 idx)
{
u8 mask = func_8008F080(globalCtx);
return D_8011F3F0[idx][mask];
}

View File

@ -1,50 +0,0 @@
#include <ultra64.h>
#include <global.h>
extern u32 osResetType;
/*
void func_8007BE60(u32* a0)
{
u32 var1;
//*a0 = 0;
if (osResetType == 0)
{
a0[1] = 0;
a0[2] = 0;
a0[3] = 0;
}
else
{
var1 = a0[3] + a0[5];
a0[1]++;
a0[2] = (var1 < a0[5]) + a0[2] + a0[4];
a0[3] = var1;
}
a0[5] = 0;
a0[4] = 0;
}
*/
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BE60/func_8007BE60.s")
typedef struct
{
/* 0x00 */ u32 unk_00;
/* 0x04 */ char unk_04[0x0C];
/* 0x10 */ OSTime unk_10;
} struct_8007BED4;
void func_8007BED4(struct_8007BED4* arg0)
{
arg0->unk_00 = 1;
arg0->unk_10 = osGetTime();
}
u32 func_8007BF08(struct_8007BED4* arg0)
{
return arg0->unk_00;
}

View File

@ -1,5 +0,0 @@
#include <ultra64.h>
#include <global.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF10/func_8007BF10.s")

View File

@ -7,7 +7,7 @@ u32 gScreenWidth = SCREEN_WIDTH;
u32 gScreenHeight = SCREEN_HEIGHT;
u32 gSystemHeapSize = 0;
u8* gAppNmiBufferPtr;
PreNmiBuff* gAppNmiBufferPtr;
SchedContext gSchedContext;
PadMgr gPadMgr;
IrqMgr gIrqMgr;
@ -50,8 +50,8 @@ void Main(void* arg0)
osSyncPrintf("mainproc 実行開始\n"); //Start running
gScreenWidth = SCREEN_WIDTH;
gScreenHeight = SCREEN_HEIGHT;
gAppNmiBufferPtr = osAppNmiBuffer;
func_8007BE60(gAppNmiBufferPtr);
gAppNmiBufferPtr = (PreNmiBuff*)osAppNmiBuffer;
PreNmiBuff_Init(gAppNmiBufferPtr);
Fault_Start();
SysCfb_Init(0);
sysHeap = (u32)gSystemHeap;
@ -112,7 +112,7 @@ void Main(void* arg0)
if (*msg == OS_SC_PRE_NMI_MSG)
{
osSyncPrintf("main.c: リセットされたみたいだよ\n"); //Looks like it's been reset
func_8007BED4(gAppNmiBufferPtr);
PreNmiBuff_SetReset(gAppNmiBufferPtr);
}
}

View File

@ -1,21 +1,21 @@
#include <global.h>
u32 func_800D2DF0()
u32 SysUcode_GetUCodeBoot()
{
return &D_80009320;
}
u32 func_800D2DFC()
u32 SysUcode_GetUcodeBootSize()
{
return (u32)&D_800093F0 - (u32)&D_80009320;
}
u32 func_800D2E14()
u32 SysUcode_GetUcode()
{
return D_8012DBA0;
}
u32 func_800D2E20()
u32 SysUcode_GetUcodeData()
{
return D_8012DBA4;
}

View File

@ -4344,17 +4344,6 @@ s16 func_80034DD4(Actor* actor, GlobalContext* globalCtx, s16 arg2, f32 arg3)
return arg2;
}
// Some animation related structure
typedef struct
{
/* 0x00 */ u32 animation;
/* 0x04 */ f32 playbackSpeed;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 frameCount;
/* 0x10 */ u8 unk_10;
/* 0x14 */ f32 transitionRate;
} struct_80034EC0_Entry; // size = 0x18
void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2)
{
f32 frameCount;

View File

@ -14,7 +14,7 @@ void SaveContext_Init(void)
gSaveContext.chamber_cutscene_num = 0;
gSaveContext.next_day_time = 0xFFFF;
gSaveContext.environment_time = 0;
gSaveContext.unk_141C = 1;
gSaveContext.dogIsLost = 1;
gSaveContext.transition_type = 0xFF;
gSaveContext.unk_13EE = 50;
}

23
src/code/z_msgevent.c Normal file
View File

@ -0,0 +1,23 @@
#include <ultra64.h>
#include <global.h>
#include <sched.h>
void MsgEvent_SendNullTask()
{
u32 pad[4];
OSScTask task;
OSMesgQueue queue;
OSMesg msg;
u32 pad2[1];
task.next = NULL;
task.flags = OS_SC_RCP_MASK;
task.msgQ = &queue;
task.msg = NULL;
task.framebuffer = NULL;
task.list.t.type = M_NULTASK;
osCreateMesgQueue(task.msgQ, &msg, 1);
osSendMesg(&gSchedContext.cmdQ, &task, OS_MESG_BLOCK);
func_800C95F8(&gSchedContext); // osScKickEntryMsg
osRecvMesg(&queue, NULL, OS_MESG_BLOCK);
}

35
src/code/z_prenmi_buff.c Normal file
View File

@ -0,0 +1,35 @@
#include <ultra64.h>
#include <global.h>
#define COLD_RESET 0
#define NMI 1
void PreNmiBuff_Init(PreNmiBuff* this)
{
this->resetting = false;
if (osResetType == COLD_RESET)
{
this->resetCount = 0;
this->duration = 0;
}
else
{
this->resetCount++;
this->duration += this->resetTime;
}
this->resetTime = 0;
}
void PreNmiBuff_SetReset(PreNmiBuff* this)
{
this->resetting = true;
this->resetTime = osGetTime();
}
u32 PreNmiBuff_IsResetting(PreNmiBuff* this)
{
return this->resetting;
}

View File

@ -426,8 +426,8 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags)
gfxCtx->polyOpa.p = spA8;
}
// gSPLoadUcode(gfxCtx->polyOpa.p++, func_800D2E14(), func_800D2E20())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, func_800D2E14(), func_800D2E20(), 0x800);
// gSPLoadUcode(gfxCtx->polyOpa.p++, SysUcode_GetUcode(), SysUcode_GetUcodeData())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, SysUcode_GetUcode(), SysUcode_GetUcodeData(), 0x800);
}
}
@ -542,8 +542,8 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags)
gfxCtx->polyOpa.p = spA8;
}
// gSPLoadUcode(gfxCtx->polyOpa.p++, func_800D2E14(), func_800D2E20())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, func_800D2E14(), func_800D2E20(), 0x800);
// gSPLoadUcode(gfxCtx->polyOpa.p++, SysUcode_GetUcode(), SysUcode_GetUcodeData())?
gSPLoadUcodeEx(gfxCtx->polyOpa.p++, SysUcode_GetUcode(), SysUcode_GetUcodeData(), 0x800);
}
}

View File

@ -3,12 +3,18 @@
#define ROOM 0x00
#define FLAGS 0x00000000
void EnDog_Init(EnDog* this, GlobalContext* globalCtx);
void EnDog_Destroy(EnDog* this, GlobalContext* globalCtx);
void EnDog_Update(EnDog* this, GlobalContext* globalCtx);
void EnDog_Draw(EnDog* this, GlobalContext* globalCtx);
static void EnDog_Init(EnDog* this, GlobalContext* globalCtx);
static void EnDog_Destroy(EnDog* this, GlobalContext* globalCtx);
static void EnDog_Update(EnDog* this, GlobalContext* globalCtx);
static void EnDog_Draw(EnDog* this, GlobalContext* globalCtx);
static void EnDog_FollowPath(EnDog* this, GlobalContext* globalCtx);
static void EnDog_ChooseMovement(EnDog* this, GlobalContext* globalCtx);
static void EnDog_FollowLink(EnDog* this, GlobalContext* globalCtx);
static void EnDog_RunAway(EnDog* this, GlobalContext* globalCtx);
static void EnDog_FaceLink(EnDog* this, GlobalContext* globalCtx);
static void EnDog_Wait(EnDog* this, GlobalContext* globalCtx);
/*
const ActorInit En_Dog_InitVars =
{
ACTOR_EN_DOG,
@ -22,41 +28,576 @@ const ActorInit En_Dog_InitVars =
(ActorFunc)EnDog_Update,
(ActorFunc)EnDog_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FAFD0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB038.s")
static ColliderCylinderInit cylinderInit =
{
0x06, 0x00, 0x09, 0x39,
0x10, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00000000,
0x00, 0x00, 0x00, 0x00,
0xFFCFFFFF,
0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x01, 0x00,
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB0A0.s")
0x0010,
0x0014,
0x0000,
0x0000, 0x0000, 0x0000,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB108.s")
// There are multiple versions of sub98 init structs
// Keeping these local until z_collision_check is decompiled
typedef struct
{
/* 0x00 */ u8 health;
/* 0x02 */ s16 unk_10;
/* 0x04 */ s16 unk_12;
/* 0x06 */ u16 unk_14;
/* 0x08 */ u8 mass;
}sub98Init;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB29C.s")
static sub98Init sub98Data =
{
0x00, //health
0x0000, //unk_10
0x0000, //unk_12
0x0000, //unk_14
0x32, //mass
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB320.s")
static struct_80034EC0_Entry animations[]=
{
{0x06001368, 1.0f, 0.0f, -1.0f, 0x00, 0.0f},
{0x06001368, 1.0f, 0.0f, -1.0f, 0x00, -6.0f},
{0x06000D78, 1.0f, 0.0f, -1.0f, 0x00, -6.0f},
{0x06000278, 1.0f, 0.0f, -1.0f, 0x00, -6.0f},
{0x06001150, 1.0f, 0.0f, 4.0f, 0x02, -6.0f},
{0x06001150, 1.0f, 5.0f, 25.0f,0x04, -6.0f},
{0x06000928, 1.0f, 0.0f, 6.0f, 0x02, -6.0f},
{0x06000C28, 1.0f, 0.0f, -1.0f, 0x00, -6.0f},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB3AC.s")
// Bandaid fix for a lw vs lh issue in EnDog_FollowPath. Roman will look at it later.
typedef union
{
/* 0x00 */ s32 entry;
struct
{
s16 unk_0;
s16 unk_2;
};
}s16ArrEntry;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/EnDog_Init.s")
typedef enum
{
/* 0x00 */ DOG_WALK,
/* 0x01 */ DOG_RUN,
/* 0x02 */ DOG_BARK,
/* 0x03 */ DOG_SIT,
/* 0x04 */ DOG_SIT_2,
/* 0x05 */ DOG_BOW,
/* 0x06 */ DOG_BOW_2,
} DogBehavior;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/EnDog_Destroy.s")
extern UNK_PTR D_06007290;
extern UNK_PTR D_06001368;
extern UNK_PTR D_06000D78;
extern UNK_PTR D_06000278;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB6C4.s")
static void EnDog_PlayWalkSFX(EnDog* this)
{
u32* walk = &D_06001368;
if (this->skelAnime.animCurrent == walk)
{
if ((this->skelAnime.animCurrentFrame == 1.0f) || (this->skelAnime.animCurrentFrame == 7.0f))
{
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK);
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB858.s")
static void EnDog_PlayRunSFX(EnDog* this)
{
u32* run = &D_06000D78;
if (this->skelAnime.animCurrent == run)
{
if ((this->skelAnime.animCurrentFrame == 2.0f) || (this->skelAnime.animCurrentFrame == 4.0f))
{
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK);
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FB940.s")
static void EnDog_PlayBarkSFX(EnDog* this)
{
u32* bark = &D_06000278;
if (this->skelAnime.animCurrent == bark)
{
if ((this->skelAnime.animCurrentFrame == 13.0f) || (this->skelAnime.animCurrentFrame == 19.0f))
{
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FBABC.s")
static s32 EnDog_PlayAnimAndSFX(EnDog* this)
{
s32 animation;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FBB64.s")
if (this->behavior != this->nextBehavior)
{
if (this->nextBehavior == DOG_SIT_2)
{
this->nextBehavior = DOG_SIT;
}
if (this->nextBehavior == DOG_BOW_2)
{
this->nextBehavior = DOG_BOW;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FBC6C.s")
this->behavior = this->nextBehavior;
switch(this->behavior)
{
case DOG_WALK:
animation = 1;
break;
case DOG_RUN:
animation = 2;
break;
case DOG_BARK:
animation = 3;
break;
case DOG_SIT:
animation = 4;
break;
case DOG_BOW:
animation = 6;
break;
}
func_80034EC0(&this->skelAnime, &animations, animation);
}
switch(this->behavior)
{
case DOG_SIT:
if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0)
{
func_80034EC0(&this->skelAnime, &animations, 5);
this->behavior = this->nextBehavior = DOG_SIT_2;
}
break;
case DOG_BOW:
if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0)
{
func_80034EC0(&this->skelAnime, &animations, 7);
this->behavior = this->nextBehavior = DOG_BOW_2;
}
break;
case DOG_WALK:
EnDog_PlayWalkSFX(this);
break;
case DOG_RUN:
EnDog_PlayRunSFX(this);
break;
case DOG_BARK:
EnDog_PlayBarkSFX(this);
if (this){} // needed for regalloc
break;
}
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/EnDog_Update.s")
static s8 EnDog_CanFollow(EnDog* this, GlobalContext* globalCtx)
{
if ((this->collider.base.collideFlags & 2))
{
this->collider.base.collideFlags &= ~2;
return 2;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FBD8C.s")
if (globalCtx->sceneNum == SCENE_MARKET_DAY)
{
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/func_809FBDA4.s")
if ((this->collider.base.maskB & 1))
{
this->collider.base.maskB &= ~1;
if (gSaveContext.dogParams != 0)
{
return 0;
}
gSaveContext.dogParams = (this->actor.params & 0x7FFF);
return 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dog/EnDog_Draw.s")
return 0;
}
static EnDog_UpdateWaypoint(EnDog* this, GlobalContext* globalCtx)
{
s32 change;
if (this->path == NULL)
{
return 0;
}
if (this->reverse)
{
change = -1;
}
else
{
change = 1;
}
this->waypoint += change;
if (this->reverse)
{
if (this->waypoint < 0)
{
this->waypoint = this->path->count - 1;
}
}
else
{
if ((this->path->count - 1) < this->waypoint)
{
this->waypoint = 0;
}
}
return 1;
}
static s32 EnDog_Orient(EnDog* this, GlobalContext* globalCtx)
{
s16 targetYaw;
f32 waypointDistSq;
waypointDistSq = func_8008E520(&this->actor, this->path, this->waypoint, &targetYaw);
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, targetYaw, 10, 1000, 1);
if ((waypointDistSq > 0.0f) && (waypointDistSq < 1000.0f))
{
return EnDog_UpdateWaypoint(this, globalCtx);
}
else
{
return 0;
}
}
static void EnDog_Init(EnDog* this, GlobalContext* globalCtx)
{
SkelAnime* skelAnime;
s16 followingDog;
ColliderCylinderMain* collider;
collider = &this->collider;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 24.0f);
skelAnime = &this->skelAnime;
func_800A46F8(globalCtx, skelAnime, &D_06007290, 0, &this->unk_1F4, &this->unk_242, 13);
func_80034EC0(skelAnime, animations, 0);
if ((this->actor.params & 0x8000) == 0)
{
this->actor.params = (this->actor.params & 0xF0FF) | ((((this->actor.params & 0x0F00) >> 8) + 1) << 8);
}
followingDog = ((gSaveContext.dogParams & 0x0F00) >> 8);
if (followingDog == ((this->actor.params & 0x0F00) >> 8) && ((this->actor.params & 0x8000) == 0))
{
Actor_Kill(&this->actor);
return;
}
ActorCollider_AllocCylinder(globalCtx, collider);
ActorCollider_InitCylinder(globalCtx, collider, &this->actor, &cylinderInit);
func_80061EFC(&this->actor.sub_98, 0, &sub98Data);
Actor_SetScale(&this->actor, 0.0075f);
this->waypoint = 0;
this->actor.gravity = -1.0f;
this->path = func_8008E4E0(globalCtx, (s16)((this->actor.params & 0x00F0) >> 4), 0xF);
switch (globalCtx->sceneNum)
{
case SCENE_MARKET_NIGHT:
if ((!gSaveContext.dogIsLost) && (((this->actor.params & 0x0F00) >> 8) == 1))
{
Actor_Kill(&this->actor);
}
break;
case SCENE_IMPA: // Richard's Home
if ((u32)(this->actor.params & 0x8000) == 0)
{
if (!gSaveContext.dogIsLost)
{
this->nextBehavior = DOG_SIT;
this->actionFunc = EnDog_Wait;
this->actor.speedXZ = 0.0f;
return;
}
else
{
Actor_Kill(&this->actor);
return;
}
}
break;
}
if ((u32)(this->actor.params & 0x8000) != 0)
{
this->nextBehavior = DOG_WALK;
this->actionFunc = EnDog_FollowLink;
}
else
{
this->nextBehavior = DOG_SIT;
this->actionFunc = EnDog_ChooseMovement;
}
}
static void EnDog_Destroy(EnDog* this, GlobalContext* globalCtx)
{
ColliderCylinderMain* collider = &this->collider;
ActorCollider_FreeCylinder(globalCtx, collider);
}
static void EnDog_FollowPath(EnDog* this, GlobalContext* globalCtx)
{
s16ArrEntry behaviors[] = { DOG_SIT, DOG_BOW, DOG_BARK };
s16ArrEntry unused[] = { 40, 80, 20 };
f32 speed;
s32 frame;
if (EnDog_CanFollow(this, globalCtx) == 1)
{
this->actionFunc = EnDog_FollowLink;
}
if (DECR(this->behaviorTimer) != 0)
{
if (this->nextBehavior == DOG_WALK)
{
speed = 1.0f;
}
else
{
speed = 4.0f;
}
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, speed, 0.4f, 1.0f, 0.0f);
EnDog_Orient(this, globalCtx);
this->actor.shape.rot = this->actor.posRot.rot;
// Used to change between two text boxes for Richard's owner in the Market Day scene
// depending on where he is on his path. En_Hy checks these event flags.
if (this->waypoint < 9)
{
// Richard is close to her, text says something about his coat
gSaveContext.event_inf[3] |= 1;
}
else
{
// Richard is far, text says something about running fast
gSaveContext.event_inf[3] &= ~1;
}
}
else
{
frame = globalCtx->state.frames % 3;
this->nextBehavior = behaviors[frame].entry;
// no clue why they're using the action id to calculate timer. possibly meant to use the unused array?
this->behaviorTimer = Math_Rand_S16Offset(60, behaviors[frame].unk_2);
this->actionFunc = EnDog_ChooseMovement;
}
}
static void EnDog_ChooseMovement(EnDog* this, GlobalContext* globalCtx)
{
if (EnDog_CanFollow(this, globalCtx) == 1)
{
this->actionFunc = EnDog_FollowLink;
}
if (DECR(this->behaviorTimer) == 0)
{
this->behaviorTimer = Math_Rand_S16Offset(200, 100);
if (globalCtx->state.frames % 2)
{
this->nextBehavior = DOG_WALK;
}
else
{
this->nextBehavior = DOG_RUN;
}
if (this->nextBehavior == DOG_RUN)
{
this->behaviorTimer /= 2;
}
this->actionFunc = EnDog_FollowPath;
}
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 0.0f, 0.4f, 1.0f, 0.0f);
}
static void EnDog_FollowLink(EnDog* this, GlobalContext* globalCtx)
{
f32 speed;
if (gSaveContext.dogParams == 0)
{
this->nextBehavior = DOG_SIT;
this->actionFunc = EnDog_Wait;
this->actor.speedXZ = 0.0f;
return;
}
if (this->actor.xzDistanceFromLink > 400.0f)
{
if (this->nextBehavior != DOG_SIT && this->nextBehavior != DOG_SIT_2)
{
this->nextBehavior = DOG_BOW;
}
gSaveContext.dogParams = 0;
speed = 0.0f;
}
else if (this->actor.xzDistanceFromLink > 100.0f)
{
this->nextBehavior = DOG_RUN;
speed = 4.0f;
}
else if (this->actor.xzDistanceFromLink < 40.0f)
{
if (this->nextBehavior != DOG_BOW && this->nextBehavior != DOG_BOW_2)
{
this->nextBehavior = DOG_BOW;
}
speed = 0.0f;
}
else
{
this->nextBehavior = DOG_WALK;
speed = 1.0f;
}
Math_SmoothScaleMaxF(&this->actor.speedXZ, speed, 0.6f, 1.0f);
if (!(this->actor.xzDistanceFromLink > 400.0f))
{
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, this->actor.rotTowardsLinkY, 10, 1000, 1);
this->actor.shape.rot = this->actor.posRot.rot;
}
}
static void EnDog_RunAway(EnDog* this, GlobalContext* globalCtx)
{
if (this->actor.xzDistanceFromLink < 200.0f)
{
Math_SmoothScaleMaxF(&this->actor.speedXZ, 4.0f, 0.6f, 1.0f);
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, (this->actor.rotTowardsLinkY ^ 0x8000), 10, 1000, 1);
}
else
{
this->actionFunc = EnDog_FaceLink;
}
this->actor.shape.rot = this->actor.posRot.rot;
}
static void EnDog_FaceLink(EnDog* this, GlobalContext* globalCtx)
{
s16 rotTowardLink;
s16 prevRotY;
f32 absAngleDiff;
// if the dog is more than 200 units away from Link, turn to face him then wait
if (200.0f <= this->actor.xzDistanceFromLink)
{
this->nextBehavior = DOG_WALK;
Math_SmoothScaleMaxF(&this->actor.speedXZ, 1.0f, 0.6f, 1.0f);
rotTowardLink = this->actor.rotTowardsLinkY;
prevRotY = this->actor.posRot.rot.y;
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, rotTowardLink, 10, 1000, 1);
absAngleDiff = this->actor.posRot.rot.y;
absAngleDiff -= prevRotY;
absAngleDiff = fabsf(absAngleDiff);
if (absAngleDiff < 200.0f)
{
this->nextBehavior = DOG_SIT;
this->actionFunc = EnDog_Wait;
this->actor.speedXZ = 0.0f;
}
}
else
{
this->nextBehavior = DOG_RUN;
this->actionFunc = EnDog_RunAway;
}
this->actor.shape.rot = this->actor.posRot.rot;
}
static void EnDog_Wait(EnDog* this, GlobalContext* globalCtx)
{
this->unusedAngle = (this->actor.rotTowardsLinkY - this->actor.shape.rot.y);
// If another dog is following Link and he gets within 200 units of waiting dog, run away
if ((gSaveContext.dogParams != 0) && (this->actor.xzDistanceFromLink < 200.0f))
{
this->nextBehavior = DOG_RUN;
this->actionFunc = EnDog_RunAway;
}
}
static void EnDog_Update(EnDog* this, GlobalContext* globalCtx)
{
s32 pad1;
s32 pad2;
EnDog_PlayAnimAndSFX(this);
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
func_8002E4B4(globalCtx, &this->actor, this->collider.dim.radius,
this->collider.dim.height * 0.5f, 0.0f, 5);
Actor_MoveForward(&this->actor);
this->actionFunc(this, globalCtx);
ActorCollider_Cylinder_Update(&this->actor, &this->collider);
Actor_CollisionCheck_SetOT(globalCtx, &globalCtx->sub_11E60, &this->collider);
}
static UNK_TYPE EnDog_Callback1(UNK_TYPE unused1, UNK_TYPE unused2, UNK_TYPE unused3, UNK_TYPE unused4)
{
return 0;
}
static void EnDog_Callback2(UNK_TYPE unused1, UNK_TYPE unused2, UNK_TYPE unused3, UNK_TYPE unused4)
{
}
static void EnDog_Draw(EnDog* this, GlobalContext* globalCtx)
{
s32 pad;
Color_RGBA8 colors[] = { {0xFF, 0xFF, 0xC8, 0x00}, {0x96, 0x64, 0x32, 0x00} };
GraphicsContext* gfxCtx;
s32 pad2[2];
Gfx* gfxArr[2];
gfxCtx = globalCtx->state.gfxCtx;
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_en_dog.c", 972);
func_80093D18(globalCtx->state.gfxCtx);
gDPPipeSync(gfxCtx->polyOpa.p++);
gDPSetEnvColor(gfxCtx->polyOpa.p++,
colors[this->actor.params & 0xF].r, colors[this->actor.params & 0xF].g,
colors[this->actor.params & 0xF].b, colors[this->actor.params & 0xF].a);
func_800A1AC8(globalCtx, this->skelAnime.limbIndex, this->skelAnime.actorDrawTbl,
this->skelAnime.dListCount, EnDog_Callback1, EnDog_Callback2, &this->actor);
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_en_dog.c", 994);
}

View File

@ -7,7 +7,22 @@
typedef struct
{
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x144];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ ActorFunc actionFunc;
/* 0x0194 */ ColliderCylinderMain collider;
/* 0x01E0 */ Path* path;
/* 0x01E4 */ u8 reverse;
/* 0x01E6 */ s16 waypoint;
/* 0x01E8 */ s16 unusedAngle;
/* 0x01EA */ s16 pad1;
/* 0x01EC */ s16 behaviorTimer;
/* 0x01EE */ s16 pad2;
/* 0x01F0 */ s16 nextBehavior;
/* 0x01F2 */ s16 behavior;
/* 0x01F4 */ u8 unk_1F4; // I believe this and the rest below belong to something skelanime
/* 0x01F5 */ char unk_1F5[0x4D];
/* 0x0242 */ u8 unk_242;
/* 0x0243 */ char unk_243[0x4D];
} EnDog; // size = 0x0290
extern const ActorInit En_Dog_InitVars;

View File

@ -1,7 +0,0 @@
#!/bin/bash
OBJDUMP="${MIPS_BINUTILS_PREFIX}objdump -D -bbinary -mmips -EB"
OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))"
$OBJDUMP $OPTIONS baserom.z64 > baserom.dump
$OBJDUMP $OPTIONS zelda_ocarina_mq_dbg.z64 > zelda_ocarina_mq_dbg.dump
diff baserom.dump zelda_ocarina_mq_dbg.dump | colordiff

23
tools/regconvert.py Normal file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env python3
import argparse
GROUP_SIZE = 0x60
DATA_OFFSET = 0x14
REGISTER_NAMES = " SOPQMYDUIZCNKXcsiWAVHGmnBdkb"
def get_reg_macro(offset):
reg = (offset - DATA_OFFSET) // 2
group = reg // GROUP_SIZE
reg_in_group = reg % GROUP_SIZE
return "%cREG(%d)\n" % (REGISTER_NAMES[group], reg_in_group)
def main():
parser = argparse.ArgumentParser(description="Converts a GameInfo offset to a REG macro.")
parser.add_argument("offset", help="offset to GameInfo in hexadecimal")
args = parser.parse_args()
print(get_reg_macro(int(args.offset, 16)))
if __name__ == "__main__":
main()

View File

@ -393,5 +393,15 @@ D_0600A054 = 0x0600A054;
D_06008688 = 0x06008688;
D_04049210 = 0x04049210;
// z_en_lightbox
D_06000B70 = 0x06000B70;
D_06001F10 = 0x06001F10;
// z_en_dog
D_06007290 = 0x06007290;
D_06001368 = 0x06001368;
D_06000D78 = 0x06000D78;
D_06000278 = 0x06000278;
// z_obj_bombiwa
D_060009E0 = 0x060009E0;
D_060009E0 = 0x060009E0;